Repository: github/opensource.guide
Branch: main
Commit: 34e95e61ad7d
Files: 452
Total size: 5.8 MB
Directory structure:
gitextract_ovbw7cdz/
├── .devcontainer/
│ └── devcontainer.json
├── .github/
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── dependabot.yml
│ └── workflows/
│ ├── jekyll-preview.yml
│ ├── jekyll.yml
│ ├── stale.yml
│ └── tests.yml
├── .gitignore
├── .node-version
├── CNAME
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Gemfile
├── LICENSE
├── README.md
├── Rakefile
├── _articles/
│ ├── ar/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── best-practices.md
│ ├── bg/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── bn/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── building-community.md
│ ├── code-of-conduct.md
│ ├── de/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── el/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── es/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── fa/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── finding-users.md
│ ├── fr/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── getting-paid.md
│ ├── hi/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── how-to-contribute.md
│ ├── hu/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── id/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── it/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── ja/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── ko/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── leadership-and-governance.md
│ ├── legal.md
│ ├── maintaining-balance-for-open-source-maintainers.md
│ ├── metrics.md
│ ├── ms/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── nl/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── pcm/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── pl/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── pt/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── ro/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── ru/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── sa/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── security-best-practices-for-your-project.md
│ ├── starting-a-project.md
│ ├── sw/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── ta/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── tr/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ ├── zh-hans/
│ │ ├── best-practices.md
│ │ ├── building-community.md
│ │ ├── code-of-conduct.md
│ │ ├── finding-users.md
│ │ ├── getting-paid.md
│ │ ├── how-to-contribute.md
│ │ ├── index.html
│ │ ├── leadership-and-governance.md
│ │ ├── legal.md
│ │ ├── maintaining-balance-for-open-source-maintainers.md
│ │ ├── metrics.md
│ │ ├── security-best-practices-for-your-project.md
│ │ └── starting-a-project.md
│ └── zh-hant/
│ ├── README.md
│ ├── best-practices.md
│ ├── building-community.md
│ ├── code-of-conduct.md
│ ├── finding-users.md
│ ├── getting-paid.md
│ ├── how-to-contribute.md
│ ├── index.html
│ ├── leadership-and-governance.md
│ ├── legal.md
│ ├── maintaining-balance-for-open-source-maintainers.md
│ ├── metrics.md
│ ├── security-best-practices-for-your-project.md
│ └── starting-a-project.md
├── _config.yml
├── _data/
│ ├── fields.yml
│ └── locales/
│ ├── ar.yml
│ ├── bg.yml
│ ├── bn.yml
│ ├── de.yml
│ ├── el.yml
│ ├── en.yml
│ ├── es.yml
│ ├── fa.yml
│ ├── fr.yml
│ ├── hi.yml
│ ├── hu.yml
│ ├── id.yml
│ ├── it.yml
│ ├── ja.yml
│ ├── ko.yml
│ ├── ms.yml
│ ├── nl.yml
│ ├── pcm.yml
│ ├── pl.yml
│ ├── pt.yml
│ ├── ro.yml
│ ├── ru.yml
│ ├── sa.yml
│ ├── sw.yml
│ ├── ta.yml
│ ├── tr.yml
│ ├── zh-hans.yml
│ └── zh-hant.yml
├── _includes/
│ ├── footer.html
│ ├── head.html
│ ├── jekyll-toc.html
│ ├── nav.html
│ └── search-result.html
├── _layouts/
│ ├── article-alt.html
│ ├── article.html
│ ├── default.html
│ └── index.html
├── assets/
│ ├── css/
│ │ ├── anchor.scss
│ │ ├── button.scss
│ │ ├── covers.scss
│ │ ├── custom.scss
│ │ ├── index.scss
│ │ ├── toc.scss
│ │ └── translate.scss
│ └── js/
│ ├── button.js
│ ├── index.js
│ ├── locale.js
│ ├── search.js
│ ├── search_worker.js
│ └── toc.js
├── docs/
│ ├── content-model.md
│ ├── personas.md
│ ├── styleguide.md
│ └── translations.md
├── google19d329aaa468a71f.html
├── index.html
├── notices.md
├── package.json
├── script/
│ ├── bootstrap
│ ├── build
│ ├── html-proofer
│ ├── server
│ └── test
└── test/
├── _config.yml
├── dictionary.txt
├── helper.rb
├── lint_test.rb
├── package.json
└── prose
================================================
FILE CONTENTS
================================================
================================================
FILE: .devcontainer/devcontainer.json
================================================
{
"name": "Jekyll website",
"image": "mcr.microsoft.com/devcontainers/jekyll:latest",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"version": "22"
},
"ghcr.io/devcontainers/features/ruby:1": {
"version": "3.3.5"
}
},
"forwardPorts": [
// Jekyll server
4000,
// Live reload server
35729
],
"postCreateCommand": "bundle exec jekyll serve --incremental"
}
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
- [ ] Have you followed the [contributing guidelines](https://github.com/github/opensource.guide/blob/HEAD/CONTRIBUTING.md)?
- [ ] Have you explained what your changes do, and why they add value to the Guides?
**Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.**
-----
================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 99
rebase-strategy: disabled
commit-message:
prefix: "chore(deps)"
groups:
dependencies:
applies-to: version-updates
update-types:
- "minor"
- "patch"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 99
rebase-strategy: disabled
commit-message:
prefix: "chore(deps)"
groups:
dependencies:
applies-to: version-updates
update-types:
- "minor"
- "patch"
- package-ecosystem: bundler
directory: "/"
schedule:
interval: daily
versioning-strategy: increase
open-pull-requests-limit: 99
commit-message:
prefix: "chore(deps)"
groups:
dependencies:
applies-to: version-updates
update-types:
- "minor"
- "patch"
================================================
FILE: .github/workflows/jekyll-preview.yml
================================================
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages preview environment
on:
# Runs on pull requests targeting the default branch
pull_request_target:
branches: ["main"]
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment per PR, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages-preview @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: false
jobs:
# Build job
build:
environment:
name: "Pages Preview"
# Limit permissions of the GITHUB_TOKEN for untrusted code
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.2
with:
# For PRs make sure to checkout the PR branch
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Setup Pages
uses: actions/configure-pages@v5.0.0
- name: Build with Jekyll
uses: actions/jekyll-build-pages@44a6e6beabd48582f863aeeb6cb2151cc1716697 # v1
with:
source: ./
destination: ./_site
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v4.0.0
# Deployment job
deploy:
environment:
name: "Pages Preview"
url: ${{ steps.deployment.outputs.page_url }}
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4.0.5
with:
preview: "true"
================================================
FILE: .github/workflows/jekyll.yml
================================================
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.2
- name: Setup Pages
uses: actions/configure-pages@v5.0.0
- name: Build with Jekyll
uses: actions/jekyll-build-pages@44a6e6beabd48582f863aeeb6cb2151cc1716697 # v1
with:
source: ./
destination: ./_site
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v4.0.0
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4.0.5
================================================
FILE: .github/workflows/stale.yml
================================================
name: Mark stale PRs
on:
workflow_dispatch:
schedule:
- cron: "0 12 * * *"
permissions:
contents: read
issues: write
pull-requests: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v10.2.0
with:
stale-pr-message: >
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
stale-pr-label: "stale"
exempt-pr-labels: "pinned,security"
days-before-pr-stale: 30
days-before-pr-close: 7
ascending: true
operations-per-run: 100
================================================
FILE: .github/workflows/tests.yml
================================================
name: GitHub Actions CI
on:
push:
branches: master
pull_request:
merge_group:
permissions:
contents: read
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v6.0.2
- name: Set up Ruby
uses: ruby/setup-ruby@19a43a6a2428d455dbd1b85344698725179c9d8c # v1
with:
bundler-cache: true
- name: Set up Node
uses: actions/setup-node@v6.3.0
- name: Bootstrap
run: script/bootstrap
env:
SKIP_BUNDLER: true
- name: Tests
run: script/test
================================================
FILE: .gitignore
================================================
.DS_Store
.asset-downloads
.bundle
.jekyll-metadata
.ruby-version
.tool-versions
.sass-cache/
/vendor
_site/
bin
css/main.scss
test/node_modules
test/package-lock.json
================================================
FILE: .node-version
================================================
12.14.0
================================================
FILE: CNAME
================================================
opensource.guide
================================================
FILE: CODEOWNERS
================================================
* @github/communities-oss-reviewers
articles/legal.md @github/legal-oss
articles/leadership-and-governance.md @github/legal-oss
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting opensource@github.com, which is a shared team inbox. If the incident involves someone who receives that shared inbox, you can contact an individual maintainer (@bkeepers or @nayafia) at ```GitHub username``` + ```@github.com```. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [https://contributor-covenant.org/version/1/4][version]
[homepage]: https://contributor-covenant.org
[version]: https://contributor-covenant.org/version/1/4/
================================================
FILE: CONTRIBUTING.md
================================================
---
layout: default
---
# Contributing to Open Source Guides
Thanks for checking out the Open Source Guides! We're excited to hear and learn from you. Your experiences will benefit others who read and use these guides.
We've put together the following guidelines to help you figure out where you can best be helpful.
## Table of Contents
0. [Types of contributions we're looking for](#types-of-contributions-were-looking-for)
0. [Ground rules & expectations](#ground-rules--expectations)
0. [How to contribute](#how-to-contribute)
0. [Style guide](#style-guide)
0. [Setting up your environment](#setting-up-your-environment)
0. [Community](#community)
## Types of contributions we're looking for
There are many ways you can directly contribute to the guides (in descending order of need):
* Fix editorial inconsistencies or inaccuracies
* [Translate guides into other languages](docs/translations.md)
Interested in contributing to this Open Source Guide? Read on!
## Ground rules & expectations
Before we get started, here are a few things we expect from you (and that you should expect from others):
* Be kind and thoughtful in your conversations around this project. We all come from different backgrounds and projects, which means we likely have different perspectives on "how open source is done." Try to listen to others rather than convince them that your way is correct.
* Open Source Guides are released with a [Contributor Code of Conduct](./CODE_OF_CONDUCT.md). By participating in this project, you agree to abide by its terms.
* Please ensure that your contribution passes all tests if you open a pull request. If there are test failures, you will need to address them before we can merge your contribution.
* When adding content, please consider if it is widely valuable. Please don't add references or links to things you or your employer have created, as others will do so if they appreciate it.
## How to contribute
If you'd like to contribute, start by searching through the [pull requests](https://github.com/github/opensource.guide/pulls) to see whether someone else has raised a similar idea or question.
If you don't see your idea listed, and you think it fits into the goals of this guide, open a pull request.
## 💡 Quick Tip for Beginners
1. Always create a new branch for your changes.
2. Write clear commit messages.
3. Test your changes locally before submitting a PR.
4. Follow the style guide.
5. Be patient during reviews.
## Style guide
If you're writing content, see the [style guide](./docs/styleguide.md) to help your prose match the rest of the guides.
## Setting up your environment
This site is powered by [Jekyll](https://jekyllrb.com/). Running it on your local machine requires a working [Ruby](https://www.ruby-lang.org/en/) installation with [Bundler](https://bundler.io/) along with [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).
Once you have that set up:
1. Grant execution permissions to the scripts:
```bash
chmod +x script/bootstrap
chmod +x script/server
```
2. Execute the scripts:
```bash
./script/bootstrap
./script/server
```
…and open in your web browser.
## Community
Discussions about the Open Source Guides take place on this repository's [Pull Requests](https://github.com/github/opensource.guide/pulls) section. Anybody is welcome to join these conversations.
Wherever possible, do not take these conversations to private channels, including contacting the maintainers directly. Keeping communication public means everybody can benefit and learn from the conversation.
================================================
FILE: Gemfile
================================================
source "https://rubygems.org"
gem "github-pages", "~> 232", group: :jekyll_plugins
gem "nokogiri", ">= 1.18.3"
group :test do
gem "html-proofer"
gem "rake"
end
================================================
FILE: LICENSE
================================================
Attribution 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution 4.0 International Public License ("Public License"). To the
extent this Public License may be interpreted as a contract, You are
granted the Licensed Rights in consideration of Your acceptance of
these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the
Licensed Material available under these terms and conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
d. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
g. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
i. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's
License You apply must not prevent recipients of the Adapted
Material from complying with this Public License.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the "Licensor." The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.
================================================
FILE: README.md
================================================
# Open Source Guides
[](https://github.com/github/opensource.guide/actions)
Open Source Guides (https://opensource.guide/) are a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open-source project.
## Background
Open Source Guides were created and are curated by GitHub, along with input from outside community reviewers, but they are not exclusive to GitHub products. One reason we started this project is that we felt that there weren't enough resources for people creating open-source projects.
Our goal was to aggregate community best practices, *not* what GitHub (or any other individual or entity) thinks is best. Therefore, we used examples and quotations from others to illustrate our points.
## Contributing
This site is powered by [Jekyll](https://jekyllrb.com/). Check out our [contributing guidelines](/CONTRIBUTING.md) for ways to offer feedback and contribute.
## Licenses
Content is released under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/). See [notices](notices.md) for complete details, including attribution guidelines, contribution terms, and software and third-party licenses and permissions.
## Acknowledgments
The initial release of these guides was authored by **[@nayafia][1], [@bkeepers][2], [@stephbwills][3],** and **[@mlinksva][4]**.
Thanks to **[@aitchabee][5], [@benbalter][6], [@brettcannon][7], [@caabernathy][8], [@coralineada][9], [@dmleong][10], [@ericholscher][11], [@gr2m][12], [@janl][13], [@jessfraz][14], [@bluesomewhere][15], [@kfogel][16], [@kytrinyx][17], [@lee-dohm][18], [@mikeal][19], [@mikemcquaid][20], [@nathansobo][21], [@nruff][22], [@nsqe][23], [@orta][24], [@parkr][25], [@shazow][26], [@steveklabnik][27],** and **[@wooorm][28]** for lending their valuable input and expertise leading up to the initial release, and to **[@sophshep][29]** and **[@jeejkang][30]** for designing and illustrating the guides.
## Disclaimer
While we've got advice about running an open source project, we're not lawyers. Be sure to read our [disclaimer](notices.md#legal-disclaimer) before diving in.
[1]:https://github.com/nayafia
[2]:https://github.com/bkeepers
[3]:https://github.com/stephbwills
[4]:https://github.com/mlinksva
[5]:https://github.com/aitchabee
[6]:https://github.com/benbalter
[7]:https://github.com/brettcannon
[8]:https://github.com/caabernathy
[9]:https://github.com/CoralineAda
[10]:https://github.com/dmleong
[11]:https://github.com/ericholscher
[12]:https://github.com/gr2m
[13]:https://github.com/janl
[14]:https://github.com/jessfraz
[15]:https://github.com/bluesomewhere
[16]:https://github.com/kfogel
[17]:https://github.com/kytrinyx
[18]:https://github.com/lee-dohm
[19]:https://github.com/mikeal
[20]:https://github.com/MikeMcQuaid
[21]:https://github.com/nathansobo
[22]:https://github.com/nruff
[23]:https://github.com/nsqe
[24]:https://github.com/orta
[25]:https://github.com/parkr
[26]:https://github.com/shazow
[27]:https://github.com/steveklabnik
[28]:https://github.com/wooorm
[29]:https://github.com/sophshep
[30]:https://github.com/jeejkang
================================================
FILE: Rakefile
================================================
require "rake/testtask"
Rake::TestTask.new do |t|
t.libs << "test"
t.test_files = FileList["test/*_test.rb"]
t.warning = false
t.verbose = false
end
task default: :test
================================================
FILE: _articles/ar/best-practices.md
================================================
---
lang: ar
title: أفضل الممارسات للمشرفين
description: تسهيل حياتك كمشرف على مشروع مفتوح المصدر، من توثيق العمليات إلى الاستفادة من مجتمعك
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## ما معنى أن تكون مسؤول عن مشروع؟
إذا كنت مسؤولًا عن مشروع open source يستخدمه عدد كبير من الناس، فمن المؤكد أنك لاحظت أنك أصبحت تقوم بـ coding أقل، وتقضي وقتًا أكثر في الرد على issues المشاكل والبلاغات .
في بدايات المشروع، تكون لا تزال تجرب أفكارًا جديدة وتتخذ قرارات بناءً على ما ترغب فيه. ومع نمو المشروع وزيادة شعبيته، ستجد نفسك تعمل أكثر مع users و contributors
صيانة مشروع تتطلب أكثر من مجرد كتابة الكود. غالبًا ما تكون هذه المهام غير متوقعة، لكنها مهمة بنفس قدر أهمية المشروع قيد التطور. جمعنا بعض الطرق لتسهيل حياتك، من توثيق العمليات إلى الاستفادة من مجتمعك.
## وثّق الإجراءات الخاصة بك
إن تدوين الأمور يعد واحدًا من أهم الأشياء التي يمكنك القيام بها كـ maintainer.
الـ Documentation ليس فقط لتوضيح أفكارك لنفسك، بل يساعد أيضًا الآخرين على فهم ما تحتاجه أو تتوقعه منهم، حتى قبل أن يسألوا.
عندما تكون الأمور مكتوبة، يصبح من الأسهل عليك قول "لا" عندما لا تناسب مسألة معينة الـ scope الخاص بك. وفي الوقت نفسه، يصبح من الأسهل على الآخرين الدخول والمساعدة. فأنت لا تعرف من قد يقرأ أو يستخدم مشروعك.
حتى لو لم تكتب فقرات كاملة، فإن تدوينها كنقاط سريعة bullet points أفضل من عدم كتابة أي شيء على الإطلاق.
وتذكّر دائمًا أن تحافظ على الـ documentation محدثًا up-to-date. وإذا لم تتمكن من القيام بذلك دائمًا، فاحذف التوثيق القديم أو وضح أنه قديم outdated، حتى يعرف الـ contributors أن التحديثات مرحّب بها.
### اكتب رؤية مشروعك
ابدأ بكتابة أهداف مشروعك. أضفها في ملف الـ README، أو أنشئ ملفًا منفصلًا وسمّه VISION. إذا كانت هناك أي عناصر أخرى قد تساعد، مثل "خارطة طريق" للمشروع project roadmap، اجعلها public أيضًا.
عندما تمتلك رؤية واضحة ومكتوبة، فإن ذلك يجعلك مركّزًا ويساعدك على تجنّب ما يُعرف بـ "scope creep" الزحف بالنطاق الذي يحدث نتيجة مساهمات الآخرين.
كمثال، اكتشف @lord أن وجود رؤية للمشروع ساعده على تحديد أي الطلبات تستحق أن يقضي وقتَه عليها. وكـ maintainer جديد، ندم على عدم التزامه بـ scope مشروعه عندما تعامل مع أول feature request لمشروع [Slate](https://github.com/lord/slate).
### وضّح توقعاتك
كتابة القوانين Rules أمر مرهق أحيانًا. قد تشعر أحيانًا وكأنك "شرطي" يراقب تصرفات الآخرين أو أنك تفسد الجو المرح.
لكن الحقيقة أن القوانين الجيدة، عندما تُكتب وتُطبق بعدل، تمنح الـ maintainers القوة. فهي تمنعك من الانجرار للقيام بأمور لا ترغب فيها.
أغلب الأشخاص الذين يشاهدون مشروعك لا يعرفون عنك شيئًا أو عن ظروفك. قد يفترضون أنك تتقاضى أجرًا للعمل عليه، خصوصًا إذا كانوا يستخدمونه بشكل دائم ويعتمدون عليه. ربما كنت في السابق تخصص وقتًا كبيرًا لمشروعك، لكن الآن قد تكون مشغولًا بعمل آخر أو لديك التزامات عائلية.
كل هذا طبيعي وعادي جدًا، لكن المهم أن تتأكد أن الآخرين على علم بهذه الظروف.
إذا كانت إدارتك للمشروع part-time أو مجرد تطوع كامل volunteered، كن صريحًا بشأن مقدار الوقت المتاح لديك. هذا لا يعني الوقت الذي تعتقد أن المشروع يحتاجه، ولا الوقت الذي يريدك الآخرون أن تقضيه فيه.
إليك بعض القوانين التي يستحق كتابتها:
* كيفية مراجعة المساهمات contribution وقبولها:( هل تحتاج إلى tests ؟ هل يجب تعبئة issue template نموذج بلاغ ؟ )
* أنواع المساهمات التي تقبلها:( هل تريد المساعدة في جزء معين من كود المشروع فقط؟ )
* متى يكون من المقبول متابعتك أو تذكيرك:( مثلًا، "يمكن توقع رد من مسؤول المشروع خلال 7 أيام. إذا لم تسمع شيئًا بعد هذا الوقت، من المقبول تمامًا إرسال ping في النقاش." )
* مقدار الوقت الذي تخصصه للمشروع:( مثلًا، "نخصص حوالي 5 ساعات في الأسبوع لهذا المشروع." )
ومن الأمثلة للمشاريع التي لها قواعد أساسية للمحافظين والمساهمين :[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules) ,[Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md)
### اجعل التواصل عامًّا
لا تنسَ أن تعمل document لتفاعلاتك أيضًا. قدر ما تستطيع، اجعل التواصل الذي يخص مشروعك public. إذا حاول أحدهم التواصل معك على الخاص لمناقشة feature request أو احتاج support، فبكل أدب وجّهه إلى قناة تواصل علنية، مثل mailing list (قائمة بريدية) أو issue tracker (متتبّع البلاغات).
إذا جلست مع maintainers آخرين، أو اتخذتم قرارًا كبيرًا على الخاص، فقُم بتوثيق هذه النقاشات بشكل public، حتى ولو فقط بنشر notes الخاصة بك.
بهذه الطريقة، أي شخص جديد ينضم إلى الـ community الخاص بك سيحصل على نفس المعلومات التي يمتلكها الشخص الموجود منذ سنوات.
## تعلم قول لا {#تعلم-قول-لا}
لقد دونت الأمور مكتوبة. من الناحية المثالية، يجب أن يقرأ الجميع التوثيق الخاص بك، لكن في الواقع، ستضطر إلى تذكير الآخرين بوجود هذه المعرفة.
وجود كل شيء مكتوبًا يساعد على جعل المواقف أقل شخصية عندما تحتاج إلى تطبيق قواعدك.
قول لا ليس ممتعًا، لكن عبارة _"مساهمتك لا تتوافق مع معايير هذا المشروع"_ تبدو أقل شخصية من _"لا أحب مساهمتك"_.
قول لا ينطبق على العديد من المواقف التي ستواجهها كمحافظ على المشروع: طلبات ميزات لا تتناسب مع نطاق المشروع، شخص يشتت النقاش، القيام بأعمال غير ضرورية للآخرين.
### حافظ على ودية النقاش
أحد أهم الأماكن التي ستتدرب فيها على قول لا هو قائمة القضايا issue وطلبات السحب pull request. كمحافظ على المشروع، ستتلقى حتماً اقتراحات قد لا ترغب في قبولها.
ربما تغير المساهمة نطاق مشروعك أو لا تتوافق مع رؤيتك. ربما الفكرة جيدة، لكن التنفيذ ضعيف.
بغض النظر عن السبب، من الممكن التعامل بلباقة مع المساهمات التي لا تفي بمعايير مشروعك.
إذا تلقيت مساهمة لا ترغب في قبولها، قد تكون ردة فعلك الأولى هي تجاهلها أو التظاهر بعدم رؤيتها. القيام بذلك قد يجرح مشاعر الشخص الآخر، وربما يثبط أيضًا الآخرين المحتملين للمساهمة في مجتمعك.
لا تترك مساهمة لا ترغب بها مفتوحة فقط لأنك تشعر بالذنب أو بدافع اللطف. مع مرور الوقت، تراكم issues و PRs غير المردود عليها سيجعل العمل على مشروعك أكثر توترًا ويخلق شعورًا بالرهبة.
من الأفضل أن تقوم بإغلاق المساهمات التي تعلم مسبقًا أنك لن تقبلها، وبشكل فوري. وإذا كان مشروعك يعاني بالفعل من backlog كبير، فإن @steveklabnik يقدّم نصائح ممتازة حول [كيفية إجراء triage للـ issues بطريقة فعّالة](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
أيضًا، تجاهل المساهمات يرسل إشارة سلبية إلى الـ community. المشاركة في مشروع مفتوح المصدر قد تكون خطوة مخيفة، خصوصًا إذا كانت هذه أول تجربة للشخص. حتى إن لم تقبل المساهمة، فمن المهم الاعتراف بجهد صاحبها وشكره على اهتمامه، فمجرد مشاركته هو بمثابة مجاملة كبيرة للمشروع!
إذا لم تكن ترغب في قبول مساهمة معينة:
* **اشكرهم** على مساهمتهم.
* **اشرح لهم سبب عدم توافقها** مع نطاق المشروع **scope**، وقدّم اقتراحات واضحة للتحسين إن أمكن. كن لطيفًا، لكن حازمًا.
* **ضع رابطًا إلى التوثيق** المناسب **documentation** إن كان متوفرًا. إذا لاحظت وصول طلبات متكررة لأمور لا ترغب في قبولها، أضفها إلى التوثيق لتجنّب تكرار الشرح.
* **قم بإغلاق الطلب**.
لا تحتاج إلى أكثر من جملة أو جملتين للرد. على سبيل المثال، عندما أبلغ أحد مستخدمي [celery](https://github.com/celery/celery/) عن خطأ متعلق بـ Windows، قام **@berkerpeksag** بالرد بطريقة واضحة:

إذا كانت فكرة قول "لا" ترعبك، فأنت لست وحدك. كما قالت @jessfraz [هنا](https://blog.jessfraz.com/post/the-art-of-closing/):
> لقد تحدثت مع القائمين بالصيانة في عدة مشاريع مفتوحة المصدر مختلفة، مثل Mesos وKubernetes وChromium، وجميعهم يتفقون على أن أحد أصعب الأمور في كونك صيانياً هو قول "لا" للتحديثات (patches) التي لا ترغب بها.
لا تشعر بالذنب لعدم رغبتك في قبول مساهمة شخص ما، فالقاعدة الأولى في المصدر المفتوح وفقًا لما ذكره @shykes [هنا](https://twitter.com/solomonstre/status/715277134978113536) هي _"لا مؤقت، نعم دائم"_، ورفض المساهمة لا يعني رفض الشخص نفسه وراءها.
في النهاية، إذا لم تكن المساهمة جيدة بما يكفي، فلا يُلزمك قبولها. كن لطيفًا ومتجاوبًا عندما يساهم الناس في مشروعك، لكن اقبل فقط التغييرات التي تؤمن حقًا أنها ستحسن مشروعك. كلما مارست قول "لا" أكثر، أصبح الأمر أسهل. وعد.
### كُن مبادرًا
لتقليل كمية المساهمات غير المرغوب فيها من البداية، قم بشرح process مشروعك لتقديم وقبول المساهمات في ملف contributing guide دليل المساهمة.
إذا لاحظت وصول مساهمات low-quality بشكل متكرر، اجعل من الضروري أن يقوم contributors ببعض الخطوات المسبقة، مثل:
* تعبئة template للـ issue أو الـ PR، أو استخدام قائمة تدقيق.
* فتح issue قبل تقديم PR.
إذا لم يلتزموا بالقواعد، قم بإغلاق الـ issue فورًا ووجّههم إلى الـ documentation الخاص بك.
رغم أن هذه الطريقة قد تبدو unkind في البداية، إلا أن كونك proactive مفيد للطرفين. فهو يقلل من احتمال أن يضع شخص ما ساعات طويلة من العمل الضائع على pull request لن يتم قبوله، ويسهّل إدارة ضغط العمل الخاص بك.
أحيانًا، عندما تقول "لا"، قد يغضب المساهم المحتمل أو ينتقد قرارك. إذا أصبح سلوكه عدائيًا، [اتخذ خطوات لتهدئة الوضع](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) أو حتى قم بإزالته من الـcommunity الخاص بك، إذا لم يكن راغبًا في التعاون بشكل بنّاء.
### تبنَّ نهج الإشراف والتوجيه
قد يقوم أحد الأعضاء في الـ community بتقديم contributions متكررة لا تتماشى مع standards المشروع. هذا قد يكون محبطًا للطرفين بسبب تكرار حالات الرفض.
إذا لاحظت أن هذا الشخص متحمّس للمشروع ولكنه يحتاج إلى مزيد من polish، فتحلَّ بالصبر. اشرح له بوضوح في كل مرة سبب عدم توافق مساهمته مع expectations المشروع. حاول توجيهه نحو task أسهل أو أقل غموضًا، مثل issue تحمل وسم "good first issue" ليبدأ بالتدرّج. وإن كان لديك وقت، فكّر في منحه mentoring خلال أول مساهمة له، أو اطلب من أحد أعضاء الـ community مساعدته في ذلك.
## استفد من قوة الـمجتمع
لست مضطرًا للقيام بكل شيء بنفسك. وُجدت الـ community من أجل دعم المشروع! حتى لو لم يكن لديك مساهمون نشطون بعد، لكن لديك عدد كبير من users، فيمكن توجيههم للمساعدة.
### قسّم عبء العمل
إذا كنت تبحث عن من يساهم معك، ابدأ بطلب الدعم ممن حولك.
إحدى الطرق لجذب contributors جدد هي تحديد issues بسيطة مناسبة للمبتدئين عبر وضع label واضح عليها. عندها سيقوم GitHub بإبراز هذه issues في أماكن مختلفة، مما يزيد من visibility لها.
عندما تلاحظ contributors جدد يقدمون مساهمات متكررة، قدّر جهودهم من خلال منحهم responsibility أكبر. ولا تنسَ توثيق كيفية التطور داخل المشروع والوصول إلى leadership roles لمن يرغب بذلك.
تشجيع الآخرين على مشاركة ownership في المشروع يمكن أن يقلّل من workload عنك بشكل كبير، كما حدث مع المشروع p5.js الخاص بـ @lmccart.
إذا احتجت إلى الابتعاد عن مشروعك أو اضطررت إلى step away عن مشروعك، سواء لفترة hiatus مؤقتة أو بشكل permanently دائم، فلا يوجد أي شعور بالـ shame في أن تطلب من شخص آخر أن take over تولّي المسؤولية بدلاً منك.
إذا كان هناك من هو متحمّس لـ direction المشروع، يمكنك منحه commit access أو تسليم الـ control الإداري رسميًا لشخص آخر. وإذا قام أحدهم بعمل fork للمشروع ويقوم بـ maintaining نشط له في مكان آخر، فمن الجيد أن تضع link لهذا الـ fork من مشروعك الأصلي. من الرائع أن هناك أشخاصًا يريدون لمشروعك أن يبقى live on!
@progrium اكتشف أن توثيق الـ vision لمشروعه Dokku ساعد في استمرار تحقيق الأهداف حتى بعد ابتعاده عن المشروع:
> "كتبت صفحة wiki أوضّح فيها ما أريد ولماذا. ولدهشتي، بدأ الـ maintainers بتحريك المشروع في هذا الاتجاه! هل حدث تمامًا كما كنت سأفعله؟ ليس دائمًا. لكنه قرّب المشروع أكثر نحو الرؤية التي وضعتها."
### دع الآخرين يبنون الحلول التي يحتاجونها
إذا كان لدى مساهم محتمل رأي مختلف حول ما ينبغي أن يقوم به مشروعك، يمكنك "encourage" تشجيعه بلطف للعمل على fork خاص به.
الـ Forking ليس أمرًا سيئًا. القدرة على copy وmodify المشاريع هي واحدة من أقوى مزايا open source. تشجيع أعضاء الـ community على العمل في fork خاص بهم يمكن أن يوفر لهم creative outlet يحتاجونه، دون أن يتعارض مع vision مشروعك.
نفس الشيء ينطبق على المستخدم الذي يريد حلًا لا تمتلك الوقت لبنائه. تقديم واجهات برمجة التطبيقات وخيارات التخصيص يساعد الآخرين على تلبية احتياجاتهم دون تعديل المصدر مباشرة. [@orta وجد أن تشجيع الإضافات في CocoaPods أدى إلى "بعض من أكثر الأفكار إثارة للاهتمام"](https://artsy.github.io/blog/2016/07/03/handling-big-projects/).
> من الطبيعي تقريبًا أنه عندما يكبر المشروع، يجب على المسؤولين أن يكونوا أكثر حذرًا عند إضافة كود جديد. تصبح ماهرًا في قول "لا"، لكن الكثير من الناس لديهم احتياجات مشروعة. لذلك، ينتهي بك الأمر بتحويل أداتك إلى منصة.
## الاستعانة بالروبوتات
كما توجد مهام يمكن للآخرين مساعدتك فيها، هناك مهام أخرى لا ينبغي لأي إنسان القيام بها. الروبوتات صديقك، استخدمها لتسهيل حياتك كمشرف على المشروع.
### اطلب اختبارات وفحوصات أخرى لتحسين جودة الكود
إحدى أهم طرق أتمتة مشروعك هي إضافة tests.
تساعد tests المساهمين على الشعور بالثقة بعدم كسر أي شيء، كما تسهل عليك مراجعة وقبول المساهمات بسرعة. كلما كنت أكثر استجابة، كان مجتمعك أكثر تفاعلًا.
قم بإعداد automatic tests لتعمل على جميع المساهمات الواردة، وتأكد من أنه يمكن تشغيلها محليًا بسهولة من قبل المساهمين. اجعل كل مساهمة تمر عبر tests قبل تقديمها، لتضع معيارًا أدنى للجودة. تساعد required status checks على GitHub في ضمان عدم دمج أي تغيير دون اجتياز tests.
إذا أضفت tests، تأكد من شرح كيفية عملها في ملف CONTRIBUTING.
### استخدام الأدوات لأتمتة مهام الصيانة الأساسية
الأمر الجيد في إدارة مشروع مشهور هو أن مسؤولين آخرين ربما واجهوا مشاكل مشابهة ووجدوا لها حلولًا.
هناك [variety of tools](https://github.com/showcases/tools-for-open-source) متاحة لمساعدتك على أتمتة بعض جوانب عمل الصيانة. بعض الأمثلة:
* [semantic-release](https://github.com/semantic-release/semantic-release) لأتمتة الإصدارات
* [mention-bot](https://github.com/facebook/mention-bot) لذكر المراجعين المحتملين في pull requests
* [Danger](https://github.com/danger/danger) يساعد في أتمتة مراجعة الكود
* [no-response](https://github.com/probot/no-response) يغلق القضايا التي لم يرد فيها المؤلف على طلب معلومات إضافية
* [dependabot](https://github.com/dependabot) يتحقق يوميًا من ملفات الاعتماديات ويفتح pull requests لأي تحديثات قديمة
بالنسبة لتقارير الأخطاء والمساهمات الشائعة، لدى GitHub [Issue Templates and Pull Request Templates](https://github.com/blog/2111-issue-and-pull-request-templates) يمكنك إعدادها لتسهيل التواصل معك. @TalAter أنشأ [Choose Your Own Adventure guide](https://www.talater.com/open-source-templates/#/) لمساعدتك في كتابة هذه القوالب.
لإدارة إشعارات البريد الإلكتروني، يمكنك إعداد [email filters](https://github.com/blog/2203-email-updates-about-your-own-activity) لتنظيمها حسب الأولوية.
إذا أردت التقدم أكثر، يمكن لدلائل الأسلوب و linters توحيد مساهمات المشروع وجعل مراجعتها وقبولها أسهل.
لكن إذا كانت معاييرك معقدة جدًا، فقد تزيد من صعوبة المساهمة. تأكد من إضافة القواعد الضرورية فقط لتسهيل الأمور على الجميع.
إذا لم تكن متأكدًا من الأدوات المناسبة، انظر إلى ما يفعله المشاريع الشهيرة الأخرى، خصوصًا في نفس النظام البيئي الخاص بك. على سبيل المثال، كيف تبدو عملية المساهمة في وحدات Node الأخرى؟ استخدام أدوات مماثلة سيجعل عملية المساهمة أكثر ألفة للمساهمين المستهدفين.
## من المقبول أخذ استراحة
ربما كان العمل في open source مصدرًا للمتعة بالنسبة لك. ربما بدأ الآن يثير شعورًا بالتجنب أو الذنب.
قد تشعر بالإرهاق أو بالخوف عند التفكير في مشاريعك، وفي الوقت نفسه تتراكم القضايا وpull requests.
الإرهاق burnout قضية حقيقية وشائعة في العمل المفتوح المصدر، خاصة بين المسؤولين. كمحافظ على المشروع، سعادتك شرط أساسي لاستمرار أي مشروع open source.
وبالرغم من أن هذا بديهي، خذ استراحة! لا تنتظر حتى تشعر بالإرهاق لتأخذ عطلة. @brettcannon، مطور أساسي في Python، قرر أخذ [month-long vacation](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) بعد 14 سنة من العمل التطوعي فيOSS.
مثل أي عمل آخر، ستبقيك الاستراحات المنتظمة متجدد النشاط، سعيدًا، ومتحمسًا لمواصلة عملك.
أحيانًا يكون من الصعب أخذ استراحة من العمل في open source عندما تشعر أن الجميع يحتاج إليك. قد يحاول البعض حتى جعلك تشعر بالذنب إذا ابتعدت قليلًا.
ابذل جهدك لإيجاد الدعم لمستخدميك ولمجتمعك أثناء ابتعادك عن المشروع. وإذا لم تتمكن من العثور على الدعم الذي تحتاجه، خذ استراحة على أي حال. تأكد من إعلام الآخرين بعدم تواجدك، حتى لا يشعروا بالارتباك بسبب قلة استجابتك.
أخذ الاستراحات لا يقتصر على الإجازات فقط. إذا كنت لا ترغب في العمل على open source في عطلات نهاية الأسبوع أو خلال ساعات عملك، ضع هذه التوقعات بوضوح للآخرين حتى يعرفوا عدم إزعاجك.
## اهتم بنفسك أولًا!
إدارة مشروع مشهور تتطلب مهارات مختلفة عن مراحل النمو الأولى، لكنها ليست أقل مكافأة. كمحافظ على المشروع، ستكتسب خبرة في القيادة والمهارات الشخصية على مستوى نادر أن يحصل عليه معظم الناس. ورغم أن الأمر قد يكون صعبًا أحيانًا، فإن وضع حدود واضحة وأخذ فقط ما تستطيع تحمله سيساعدك على البقاء سعيدًا، متجدد النشاط، ومنتجًا.
================================================
FILE: _articles/ar/building-community.md
================================================
---
lang: ar
title: بناء مُجتمعات مُرحِّبة
description: إنشاء مجتمع يدعم مشاركة الناس في مشروعك، ويحفّزهم على استخدامه والمساهمة فيه والترويج له
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## تجهيز مشروعك للنجاح
لقد أطلقت مشروعك، وبدأت في نشره، والناس بدأوا يتعرفون عليه. رائع! لكن، كيف تجعلهم يبقون ويستمرون في المشاركة؟
وجود مجتمع مرحب يُعد استثمارًا في مستقبل مشروعك وسمعته. إذا كان مشروعك قد بدأ لِتوّه في استقبال أولى المساهمات، ابدأ بتوفير تجربة إيجابية للمساهمين الأوائل، واجعل من السهل عليهم العودة والمشاركة مرة أخرى.
### اجعل الناس يشعرون بالترحيب
إحدى الطرق لفهم مجتمع مشروعك هي ما يسميه @MikeMcQuaid بـ [قُمع المساهمين](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

أثناء بناء مجتمعك، ضع في اعتبارك كيف يمكن لشخص في أعلى القُمع (مستخدم محتمل) أن يتقدم تدريجيًا ليصبح في أسفل القُمع (مشرف نشط). هدفك هو تقليل العقبات في كل مرحلة من تجربة المساهم. عندما يحقق الناس إنجازات سهلة، سيشعرون بالحافز للقيام بالمزيد.
ابدأ بالـ documentation الخاصة بمشروعك
* **سهّل على أي شخص استخدام المشروع .** [ملف README سهل الاستخدام](../starting-a-project/#كتابة-ملف-README) وأمثلة كود واضحة تجعل من السهل على أي شخص يزور مشروعك أن يبدأ بسرعة.
* **اشرح بوضوح كيفية المساهمة،** استخدم [ملف CONTRIBUTING الخاص بك](../starting-a-project/#كتابة-ارشادات-المساهمة-الخاصة-بك) وحافظ على تحديث الـ issues باستمرار.
* **مهام أولية سهلة للمساهمين الجدد**: لمساعدة المساهمين الجدد على البدء، ضع تسميات واضحة على الـ issues التي يمكن للمبتدئين التعامل معها بسهولة ([وضع labels على الـ issues التي تكون بسيطة بما يكفي ليستطيع المبتدئون التعامل معها.](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels)). سيعرض GitHub هذه الـ issues في أماكن مختلفة على المنصة، مما يزيد المساهمات المفيدة ويقلل من friction عند التعامل مع مشاكل صعبة جدًا لمستوى المستخدم.
[استطلاع GitHub 2017 عن الـ Open Source](http://opensourcesurvey.org/2017/) أظهر أن الوثائق غير المكتملة أو المربكة هي أكبر مشكلة تواجه مستخدمي الـ open source. توثيق جيد يدعو الناس للتفاعل مع مشروعك. في النهاية، سيقوم شخص ما بفتح issue أو pull request. استخدم هذه التفاعلات كفرص لتحريكهم إلى أسفل القمع (funnel).
* **عندما يزور مشروعك شخص جديد، اشكره على اهتمامه!** تجربة سلبية واحدة فقط قد تجعل الشخص لا يريد العودة.
* **كن سريع الاستجابة (responsive).** إذا لم ترد على issue لمدة شهر، فالأرجح أنهم قد نسوا مشروعك بالفعل.
* **كن منفتحًا على أنواع المساهمات التي ستقبلها.** كثير من المساهمين يبدأون بتقرير عن bug أو تعديل صغير. هناك [طرق عديدة للمساهمة (contribute) في المشروع](../how-to-contribute/#ما-معنى-المساهمة) في المشروع. دع الناس يساعدون بالطريقة التي يريدونها.
* **إذا كانت هناك مساهمة لا توافق عليها،** اشكر صاحبها على الفكرة و[اشرح السبب](../best-practices/#تعلم-قول-لا) لعدم ملاءمتها لمجال المشروع، واربطها بالوثائق ذات الصلة إذا كانت موجودة.
الغالبية العظمى من المساهمين في الـ open source هم **"المساهمون غير المنتظمين"**: أشخاص يساهمون في المشروع بشكل متقطع فقط. قد لا يكون لدى المساهم العادي الوقت ليصبح على دراية كاملة بمشروعك، لذلك مهمتك هي جعل المساهمة سهلة بالنسبة لهم.
تشجيع المساهمين الآخرين هو استثمار في نفسك أيضًا. عندما تمكّن أكبر المعجبين بمشروعك من متابعة العمل الذي يحمسون له، يقل الضغط عليك للقيام بكل شيء بنفسك.
### وثّق كل شيء
عندما تبدأ مشروعًا جديدًا، قد تشعر أن من الطبيعي الاحتفاظ بعملك خاصًا. لكن مشاريع الـ open source تزدهر عندما تقوم بتوثيق عمليتك بشكل علني.
عندما تكتب الأمور، يمكن لعدد أكبر من الناس المشاركة في كل خطوة. قد تحصل على مساعدة في شيء لم تكن تعرف حتى أنك بحاجة إليه.
الكتابة لا تعني مجرد التوثيق التقني . في أي وقت تشعر بالرغبة في كتابة شيء أو مناقشة مشروعك بشكل خاص، اسأل نفسك هل يمكنك جعله public؟
كن شفافًا بشأن roadmap مشروعك، وأنواع المساهمات (contributions) التي تبحث عنها، وكيفية مراجعتها، ولماذا اتخذت قرارات معينة.
إذا لاحظت أن عدة مستخدمين يواجهون نفس المشكلة، قم بتوثيق الإجابات في الـ README.
بالنسبة للاجتماعات، فكر في نشر ملاحظاتك أو الاستنتاجات في issue مناسب. التغذية الراجعة التي ستحصل عليها من هذا المستوى من الشفافية قد تفاجئك.
توثيق كل شيء يشمل أيضًا عملك الحالي. إذا كنت تعمل على تحديث كبير لمشروعك، ضعه في pull request وعلم أنه مشروع قيد التنفيذ (WIP). بهذه الطريقة، يمكن للآخرين المشاركة في العملية منذ البداية.
### كن سريع الاستجابة
عندما تقوم بـ [الترويج لمشروعك](../finding-users)، سيكون لدى الناس ملاحظات لك. قد يكون لديهم أسئلة حول كيفية عمل الأشياء، أو يحتاجون للمساعدة في البدء.
حاول أن تكون responsive عندما يقدم شخص ما issue، أو pull request، أو يسأل سؤالًا عن مشروعك. عندما ترد بسرعة، سيشعر الناس أنهم جزء من حوار، وسيكونون أكثر حماسًا للمشاركة.
حتى إذا لم تتمكن من مراجعة الطلب فورًا، فإن الاعتراف المبكر به يزيد من التفاعل. هذا مثال على كيفية استجابة @tdreyno لطلب pull request على [Middleman](https://github.com/middleman/middleman/pull/1466):

[وجدت دراسة من Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) أن المساهمين الذين تلقوا code reviews خلال 48 ساعة لديهم معدل عودة ومساهمات متكررة أعلى بكثير.
قد تتم المناقشات حول مشروعك أيضًا في أماكن أخرى على الإنترنت، مثل Stack Overflow، Twitter، أو Reddit. يمكنك إعداد notifications في بعض هذه الأماكن ليتم تنبيهك عندما يذكر أحد مشروعك.
### امنح مجتمعك مكانًا للتجمع
هناك سببين لإعطاء مجتمعك مكانًا للتجمّع.
السبب الأول هو لهم. ساعد الناس على التعرف على بعضهم البعض. الأشخاص الذين لديهم اهتمامات مشتركة سيرغبون حتمًا في مكان للتحدث عنها. وعندما تكون الاتصالات public ومتاحة، يمكن لأي شخص قراءة الأرشيفات السابقة ليصبح على دراية ويشارك.
السبب الثاني هو لك. إذا لم توفر للناس مكانًا عامًّا للتحدث عن مشروعك، فغالبًا ما سيتواصلون معك مباشرة. في البداية، قد يبدو من السهل الرد على الرسائل الخاصة "هذه المرة فقط". لكن مع الوقت، خاصة إذا أصبح مشروعك مشهورًا، ستشعر بالإرهاق. قاوم الرغبة في التواصل مع الناس حول مشروعك بشكل خاص، وبدلاً من ذلك وجههم إلى قناة عامة designated.
يمكن أن تكون الاتصالات العامة بسيطة مثل توجيه الناس لفتح issue بدلاً من مراسلتك مباشرة أو التعليق على مدونتك. يمكنك أيضًا إنشاء mailing list، أو حساب Twitter، أو قناة Slack أو IRC ليتمكن الناس من التحدث عن مشروعك. أو جرب كل ما سبق!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) يخصص office hours كل أسبوعين لمساعدة أعضاء المجتمع:
> يخصص Kops وقتًا كل أسبوعين لتقديم المساعدة والإرشاد للمجتمع. وقد اتفق المسؤولون عن Kops على تخصيص هذا الوقت بشكل خاص للعمل مع المساهمين الجدد، ومساعدة في PRs، ومناقشة الميزات الجديدة.
استثناءات ملحوظة للاتصالات العامة هي: 1) مسائل الأمان (security issues) و 2) انتهاكات حساسة لمدونة السلوك (code of conduct). يجب أن يكون لديك دائمًا طريقة للإبلاغ عن هذه القضايا بشكل private. إذا لم ترغب في استخدام بريدك الشخصي، أنشئ عنوان بريد إلكتروني مخصص.
## نمو مجتمعك
المجتمعات قوية جدًا. هذه القوة يمكن أن تكون نعمة أو نقمة، اعتمادًا على كيفية إدارتك لها. مع نمو مجتمع مشروعك، هناك طرق لمساعدته على أن يصبح قوة بناء وليس هدم.
### لا تتسامح مع الأشخاص السلبيين {#لا-تتسامح-مع-الأشخاص-السلبيين}
أي مشروع مشهور سيجذب بلا شك أشخاصًا يضرون بالمجتمع بدلًا من مساعدته. قد يبدؤون مناقشات غير ضرورية، أو يجادلون حول ميزات تافهة، أو يسيئون للآخرين.
ابذل قصارى جهدك لتطبيق سياسة zero-tolerance تجاه هذا النوع من الأشخاص. إذا تُركوا دون رقابة، سيجعل الأشخاص السلبيون الآخرين في مجتمعك غير مرتاحين، وقد يغادرون حتى. أعلى بكثير.
النقاشات المستمرة حول جوانب تافهة من مشروعك تشتت انتباه الآخرين، بما فيهم أنت، عن التركيز على المهام المهمة. الأشخاص الجدد الذين يصلون إلى مشروعك قد يرون هذه المحادثات ولا يرغبون في المشاركة.
عندما تلاحظ سلوكًا سلبيًا يحدث في مشروعك، قم بالإشارة إليه بشكل علني. اشرح، بنبرة لطيفة ولكن حازمة، لماذا سلوكهم غير مقبول. إذا استمر المشكلة، قد تحتاج إلى [طلب مغادرتهم](../code-of-conduct/#تطبيق-مدونة-السلوك-الخاصة-بك). يمكن أن يكون [مدونة السلوك الخاصة بك](../code-of-conduct/) دليلًا بناءً لهذه المحادثات.
### قابل المساهمين حيث هم
التوثيق الجيد يصبح أكثر أهمية مع نمو مجتمعك. المساهمون الغير منتظمين (Casual contributors) ، الذين قد لا يكونون على دراية بمشروعك، يقرأون توثيقك للحصول بسرعة على السياق الذي يحتاجونه.
في ملف CONTRIBUTING الخاص بك، وضح بشكل صريح للمساهمين الجدد كيفية البدء. قد ترغب حتى في تخصيص قسم خاص لهذا الغرض. على سبيل المثال، [Django](https://github.com/django/django) لديه صفحة استقبال خاصة لاستقبال المساهمين الجدد.

في قائمة الـ issues، قم بوضع labels للأخطاء التي تناسب أنواعًا مختلفة من المساهمين: على سبيل المثال، [_"للمبتدئين فقط"_](https://kentcdodds.com/blog/first-timers-only)، _"good first issue"_، أو _"documentation"_. هذه [labels](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) تجعل من السهل على المساهم الجديد مسح الـ issues بسرعة والبدء بالمساهمة.
أخيرًا، استخدم توثيقك لجعل الناس يشعرون بالترحيب في كل خطوة.
لن تتفاعل أبدًا مع معظم الأشخاص الذين يصلون إلى مشروعك. قد يكون هناك مساهمات لم تتلقاها لأن شخصًا ما شعر بالخوف أو لم يعرف من أين يبدأ. حتى بضع كلمات لطيفة يمكن أن تمنع شخصًا من ترك مشروعك بالإحباط.
على سبيل المثال، إليك كيف يبدأ [Rubinius](https://github.com/rubinius/rubinius/) [دليل المساهمة الخاص به](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> نود أن نبدأ بشكركم على استخدام Rubinius. هذا المشروع هو عمل حب، ونحن نقدر جميع المستخدمين الذين يكتشفون الأخطاء، ويعملون على تحسين الأداء، ويساعدون في التوثيق. كل مساهمة لها قيمة، لذلك شكرًا لمشاركتكم. ومع ذلك، إليكم بعض الإرشادات التي نطلب منكم اتباعها لكي نتمكن من معالجة مشكلتكم بنجاح.
### شارك ملكية مشروعك {#شارك-ملكية-مشروعك}
يشعر الناس بالحماس للمساهمة في المشاريع عندما يشعرون بملكية فيها. هذا لا يعني أنه يجب عليك التخلي عن رؤية مشروعك أو قبول مساهمات لا تريدها. لكن كلما منحت الآخرين المزيد من التقدير ، زاد احتمال بقائهم ومشاركتهم.
حاول أن تجد طرقًا لمشاركة ملكية مشروعك (ownership) مع مجتمعك قدر الإمكان. إليك بعض الأفكار:
* **قاوم إصلاح الأخطاء السهلة (غير الحرجة).** بدلًا من ذلك، استخدمها كفرص لتجنيد مساهمين جدد، أو لتوجيه شخص يرغب في المساهمة. قد يبدو هذا غير طبيعي في البداية، لكن استثمارك سيؤتي ثماره مع الوقت. على سبيل المثال، طلب @michaeljoseph من أحد المساهمين تقديم pull request على issue في [Cookiecutter](https://github.com/audreyr/cookiecutter) بدلًا من إصلاحه بنفسه.

* **ابدأ بملف CONTRIBUTORS أو AUTHORS في مشروعك** يسرد جميع من ساهم في مشروعك، كما يفعل [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* إذا كان لديك مجتمع كبير، **أرسل newsletter أو اكتب مدونة** لشكر المساهمين. أمثلة جيدة على ذلك: Rust's [This Week in Rust](https://this-week-in-rust.org/) و Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html).
* **امنح كل مساهم صلاحية commit.** وجد @felixge أن هذا جعل الناس [أكثر حماسًا لتحسين التعديلات الخاصة بهم](https://felixge.de/2013/03/11/the-pull-request-hack.html)، وحتى وجد مساهمين جدد لمشاريع لم يعمل عليها منذ فترة.
* إذا كان مشروعك على GitHub، **انقل مشروعك من حسابك الشخصي إلى [Organization](https://help.github.com/articles/creating-a-new-organization-account/)** وأضف على الأقل مشرفًا احتياطيًا واحدًا. الـ Organizations تسهل العمل على المشاريع مع مساهمين خارجيين.
الواقع هو أن [معظم المشاريع](https://peerj.com/preprints/1233/) لديها مشرف أو مشرفان يقومان بمعظم العمل. كلما كان مشروعك ومجتمعك أكبر، كان العثور على المساعدة أسهل.
حتى لو لم تجد دائمًا من يلبّي الدعوة، فإن إرسال إشارة يزيد من فرص مشاركة الآخرين. وكلما بدأت مبكرًا، كلما تمكن الناس من المساعدة مبكرًا.
## حل النزاعات
في المراحل الأولى من مشروعك، اتخاذ القرارات الكبرى يكون سهلًا. عندما تريد فعل شيء، ببساطة تقوم به.
مع زيادة شعبية مشروعك، سيهتم المزيد من الأشخاص بالقرارات التي تتخذها. حتى لو لم يكن لديك مجتمع كبير من المساهمين، إذا كان لمشروعك العديد من المستخدمين، ستجد أشخاصًا يشاركون برأيهم أو يرفعون issues خاصة بهم.
غالبًا، إذا كنت قد بنيت مجتمعًا ودودًا ومحترمًا ووثّقت عملياتك بشكل مفتوح، يجب أن يكون مجتمعك قادرًا على إيجاد حلول. لكن أحيانًا تواجه مسألة أصعب قليلاً للتعامل معها.
### ضع معيارًا للود
عندما يواجه مجتمعك قضية صعبة، قد ترتفع درجات التوتر. قد يشعر الناس بالغضب أو الإحباط ويصرفونه على بعضهم البعض أو عليك.
دورك ك maintainer هو منع تصعيد هذه المواقف. حتى لو كان لديك رأي قوي في الموضوع، حاول أن تتخذ موقفًا كمُنسق أو ميسر، بدلًا من الدخول في النزاع ودفع آرائك. إذا كان شخص ما غير لطيف أو يحتكر المحادثة، [تصرف فورًا](../building-community/#لا-تتسامح-مع-الأشخاص-السلبيين) للحفاظ على المناقشات مدنية ومنتجة.
الآخرون ينظرون إليك للحصول على التوجيه. ضع مثالًا جيدًا. يمكنك التعبير عن خيبة أملك، أو عدم رضاك، أو قلقك، لكن افعل ذلك بهدوء.
الحفاظ على هدوئك ليس سهلاً، لكن إظهار القيادة يحسن صحة مجتمعك. الإنترنت يشكرك.
### عامل README الخاص بك كدستور
ملف README الخاص بك هو [أكثر من مجرد مجموعة تعليمات](../starting-a-project/#كتابة-ملف-README). إنه أيضًا مكان للحديث عن أهدافك، ورؤية المنتج، وخارطة الطريق. إذا كان الناس يركزون كثيرًا على جدال حول جدوى ميزة معينة، قد يساعد إعادة النظر في README للحديث عن الرؤية الأكبر لمشروعك. التركيز على README يجعل النقاش أقل شخصية، وبالتالي يمكنك إجراء مناقشة بناءة.
### ركز على الرحلة، لا على الوجهة
بعض المشاريع تستخدم عملية تصويت لاتخاذ قرارات كبيرة. وعلى الرغم من أن ذلك يبدو منطقيًا للوهلة الأولى، فإن التصويت يركز على الوصول إلى "إجابة"، بدلًا من الاستماع ومعالجة مخاوف الآخرين.
يمكن أن يصبح التصويت سياسيًا، حيث يشعر أعضاء المجتمع بالضغط لمساعدة بعضهم البعض أو التصويت بطريقة معينة. وليس الجميع يصوت، سواء كانت [الأغلبية الصامتة](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) في مجتمعك، أو المستخدمون الحاليون الذين لم يعلموا بأن هناك تصويتًا جاريًا.
أحيانًا، يكون التصويت كسرًا للتعادل ضروريًا. ومع ذلك، حاول قدر الإمكان التركيز على ["السعي للوصول إلى توافق"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) بدلًا من الوصول إلى إجماع كامل.
في عملية consensus seeking، يناقش أعضاء المجتمع المخاوف الكبرى حتى يشعروا بأنهم قد تم الاستماع إليهم بشكل كافٍ. وعندما تبقى المخاوف طفيفة فقط، يمضي المجتمع قدمًا. "عملية consensus seeking أوالسعي للوصول إلى توافق" يعترف بأن المجتمع قد لا يتمكن من الوصول إلى إجابة مثالية، بل يعطي أولوية للاستماع والنقاش.
حتى لو لم تعتمد فعليًا عملية consensus seeking، كمُشرف على المشروع ، من المهم أن يعلم الناس أنك تستمع إليهم. جعل الآخرين يشعرون بأنهم مسموعون والالتزام بحل مخاوفهم يساعد كثيرًا في تهدئة المواقف الحساسة. ثم تابع كلماتك بأفعال.
لا تتسرع في اتخاذ قرار لمجرد الوصول إلى حل. تأكد من أن الجميع قد تم الاستماع إليهم وأن جميع المعلومات متاحة قبل المضي قدمًا نحو الحل.
### حافظ على تركيز النقاش على العمل
النقاش مهم، لكن هناك فرق بين المحادثات المنتجة وغير المنتجة.
شجع النقاش طالما أنه يتجه بنشاط نحو الحل. إذا كان واضحًا أن النقاش يتوقف أو يخرج عن الموضوع، أو أصبحت الملاحظات شخصية، أو يتجادل الناس حول تفاصيل صغيرة، فقد حان الوقت لإنهائه.
استمرار هذه المحادثات ليس ضارًا فقط بالمسألة المطروحة، بل بصحة مجتمعك أيضًا. فهي ترسل رسالة بأن هذا النوع من النقاشات مسموح أو حتى مشجع، وقد تثبط الناس عن طرح أو حل مسائل مستقبلية.
مع كل نقطة تُطرح من قبلك أو من قبل الآخرين، اسأل نفسك: _"كيف يقربنا هذا من الحل؟"_
إذا بدأ النقاش في التفكك، اسأل المجموعة: _"ما الخطوات التالية التي يجب اتخاذها؟"_ لإعادة تركيز النقاش.
إذا كان واضحًا أن النقاش لا يؤدي إلى أي مكان، أو لا توجد خطوات واضحة للقيام بها، أو تم اتخاذ الإجراء المناسب بالفعل، أغلق الـ issue واشرح سبب إغلاقه.
### اختر معاركك بحكمة
السياق مهم. فكر في من يشارك في النقاش وكيف يمثل بقية المجتمع.
هل الجميع في المجتمع منزعج من هذه المسألة، أو حتى مشارك فيها؟ أم أنه مجرد شخص مشاغب وحيد؟ لا تنسَ النظر إلى أعضاء مجتمعك الصامتين، وليس فقط الأصوات النشطة.
إذا كانت المسألة لا تمثل احتياجات المجتمع بشكل أوسع، قد تحتاج فقط إلى الاعتراف بمخاوف بعض الأشخاص. وإذا كانت هذه مشكلة متكررة دون حل واضح، وجههم إلى النقاشات السابقة حول الموضوع وأغلق الـ thread.
### تحديد جهة لحسم القرارات في المجتمع
مع موقف إيجابي وتواصل واضح، يمكن حل معظم المواقف الصعبة. ومع ذلك، حتى في نقاش منتج، قد يحدث اختلاف في الرأي حول كيفية المضي قدمًا. في هذه الحالات، حدد شخصًا أو مجموعة يمكنها أن تكون tiebreaker.
يمكن أن يكون الـ tiebreaker هو maintainer الرئيسي للمشروع، أو مجموعة صغيرة تتخذ القرار بناءً على التصويت. من الأفضل أن تحدد الـ tiebreaker والعملية المرتبطة به في ملف GOVERNANCE قبل الحاجة لاستخدامه فعليًا.
ينبغي أن يكون الـ tiebreaker خيارًا أخيرًا. القضايا المثيرة للانقسام فرصة لنمو المجتمع وتعلمه. استغل هذه الفرص واستخدم عملية تعاونية للوصول إلى حل كلما أمكن.
## المجتمع هو ❤️ البرمجيات المفتوحة المصدر
المجتمعات الصحية والمزدهرة هي مصدر الطاقة للآلاف من الساعات التي تُستثمر في open source كل أسبوع. كثير من المساهمين يشيرون إلى أشخاص آخرين كسبب للعمل - أو عدم العمل - على open source. من خلال تعلم كيفية الاستفادة من هذه القوة بشكل بناء، ستساعد شخصًا ما على تجربة open source لا تُنسى.
================================================
FILE: _articles/ar/code-of-conduct.md
================================================
---
lang: ar
title: مُدوّنة السلوك الخاصة بمشروعك
description: عزِّز السلوك الإيجابي والبنّاء في مجتمعك من خلال اعتماد وتطبيق مدونة سلوك
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## لماذا تحتاج إلى مُدوّنة سلوك (Code of Conduct)؟
تُعدّ مدونة السلوك وثيقة تُحدّد التوقعات والمعايير السلوكية للمشاركين في مشروعك. إن اعتماد مدونة سلوك وتطبيقها يُسهم في خلق بيئة اجتماعية إيجابية داخل مجتمع المشروع.
تساعد مدونات السلوك في حماية جميع المشاركين — وليس المشاركين فقط، بل أيضًا أنت كمشرف أو مطوّر للمشروع. فبمرور الوقت، قد تؤدي المواقف غير البنّاءة من بعض الأعضاء إلى شعورك بالإرهاق أو فقدان الحافز تجاه العمل.
تمنحك مدونة السلوك القدرة على تعزيز سلوك مجتمعي صحي وبنّاء، كما أن اتخاذ مواقف استباقية يقلل من احتمال شعورك أنت أو غيرك بالإجهاد من المشروع، ويساعدك على اتخاذ الإجراء المناسب عندما يتصرف أحد الأعضاء بطريقة غير لائقة أو غير متوافقة مع قيم المشروع.
## وضع مدونة سلوك
من الأفضل أن تقوم بوضع مدونة سلوك في أقرب وقت ممكن، ويفضل أن يكون ذلك عند إنشاء مشروعك لأول مرة.
إلى جانب توضيح التوقعات الخاصة بك، تساعد مدونة السلوك على تحديد الأمور التالية:
* نطاق تطبيق مدونة السلوك _( هل تنطبق فقط على القضايا والطلبات، أم تشمل الأنشطة المجتمعية مثل الفعاليات ؟)_
* الأشخاص الذين ينطبق عليهم السلوك _( أعضاء المجتمع والمشرفون ، وماذا عن الرعاة ؟)_
* الإجراءات المتخذة في حال خرق أحدهم مدونة السلوك
* الطريقة التي يمكن من خلالها الإبلاغ عن الانتهاكات
كلما أمكن، اعتمد على نماذج موجودة مسبقًا بدل أن تصنع كل شيء من الصفر. على سبيل المثال، [اتفاقية المساهمين](https://contributor-covenant.org/) هي مدونة سلوك جاهزة يمكن دمجها مباشرة في مشروعك، وقد تبناها آلاف المشاريع المفتوحة المصدر مثل Kubernetes وRails وSwift.
[مدونة سلوك Django](https://www.djangoproject.com/conduct/) و [مدونة السلوك للمواطنين](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) كما تعتبر هاتان المدونتان مثالين جيدين على مدونات السلوك يمكن الاعتماد عليهما.
ضع ملف CODE_OF_CONDUCT في المجلد الرئيسي لمشروعك، واجعله مرئيًا لمجتمعك عن طريق ربطه من ملف CONTRIBUTING أو README
## تحديد كيفية تطبيق مدونة السلوك الخاصة بك
ينبغي أن توضح كيف سيتم تطبيق مدونة السلوك الخاصة بك، بحيث يعرف الجميع الإجراءات المتخذة عند حدوث أي انتهاك وكيفية التعامل معه عند حدوث أي انتهاك. هناك عدة أسباب تجعل من المهم توضيح ذلك:
* يُظهر هذا أنك تتعامل بجدية مع أي تجاوزات تحدث عند الحاجة،
* كما يمنح أفراد مجتمعك شعورًا بالثقة بأن أي شكوى يتم أخذها بعين الاعتبار فعلًا.
* ويُطمئن الجميع بأن عملية المراجعة تتم بشفافية وعدالة، في حال تم التحقيق مع أحدهم بسبب مخالفة محتملة.
يجب أن توفّر وسيلة خاصة للأشخاص للإبلاغ عن أي انتهاك لمدونة السلوك، مثل بريد إلكتروني مخصص، وتوضح من يستقبل هذا الإبلاغ. يمكن أن يكون شخصًا مشرفًا، أو مجموعة من المشرفين، أو فريق خاص بإدارة مدونة السلوك.
تذكر أن هناك احتمال أن يرغب شخص بالإبلاغ عن انتهاك يرتبط بشخص يستقبل هذه التقارير. في هذه الحالة، يجب أن توفّر لهم خيارًا للإبلاغ إلى شخص آخر. على سبيل المثال، يمكن تحديد مشرفين بديلين مثل @ctb و @mr-c. [اشرح ذلك في مشروعهم](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> يمكن الإبلاغ عن أي سلوك مسيء أو تحرشي أو غير مقبول عبر إرسال بريد إلكتروني إلى: **khmer-project@idyll.org** والذي يذهب فقط إلى C. Titus Brown وMichael R. Crusoe. للإبلاغ عن أي مشكلة تتعلق بأحدهما، يرجى إرسال البريد الإلكتروني إلى: **Judi Brown Clarke, Ph.D.** إلى مدير التنوع في مركز BEACON لدراسة التطور في الفعل، وهو مركز تابع للصندوق الوطني للعلوم (NSF) للعلوم والتكنولوجيا.
للحصول على مصدر إلهام، يمكنك الاطلاع على مدونة سلوك Django. [دليل تطبيق القواعد](https://www.djangoproject.com/conduct/enforcement-manual/) (قد لا يكون من الضروري أن يكون لديك دليل شامل بهذا الشكل، فهذا يعتمد على حجم مشروعك)
## تطبيق مدونة السلوك الخاصة بك {#تطبيق-مدونة-السلوك-الخاصة-بك}
في بعض الأحيان، رغم كل جهودك، قد يقوم شخص ما بفعل يخالف مدونة السلوك. هناك عدة طرق للتعامل مع السلوك السلبي أو الضار عند حدوثه.
### اجمع المعلومات المتعلقة بالموقف
عامل كل عضو في المجتمع كما لو كانت صوته مهم بقدر صوتك. إذا وصلتك بلاغات عن شخص انتهك مدونة السلوك، خذ الأمر بجدية وحقق فيه، حتى لو لم تتوافق مع تجربتك الشخصية معه. هذا يُظهر لأعضاء المجتمع أنك تقدر وجهات نظرهم وتثق في حكمهم.
قد يكون العضو المعني متكرّر الانتهاك ويجعل الآخرين يشعرون بعدم الارتياح بشكل مستمر، أو قد يكون تصرف مرة واحدة فقط. في كلتا الحالتين، يمكن أن يكون هناك سبب لاتخاذ إجراء، حسب السياق.
قبل أن ترد، امنح نفسك وقتًا لفهم ما حدث. راجع تعليقات الشخص ومحادثاته السابقة لتفهم شخصيته وأسباب تصرفه بهذه الطريقة. حاول أيضًا جمع آراء غير رأيك الشخصي حول هذا الشخص وسلوكه.
### اتخذ الإجراء المناسب
بعد أن تجمع وتعالج معلومات كافية، ستحتاج لتقرير ما هو الإجراء المناسب. أثناء تفكيرك في خطواتك التالية، تذكّر أن هدفك كمسؤول أو مشرف هو خلق بيئة آمنة، محترمة، ومتعاونة. ركّز ليس فقط على كيفية التعامل مع الموقف نفسه، بل أيضًا على كيف سيؤثر ردك على سلوك المجتمع وتوقعاته في المستقبل.
عندما يبلغ أحدهم عن انتهاك لمدونة السلوك، فإن مسؤوليتك أنت، لا هم، في التعامل مع الأمر. أحيانًا يكون المبلغ يشارك معلومات معرّضة مخاطر كبيرة على مسيرته المهنية، سمعته، أو سلامته الشخصية. إجباره على مواجهة من أساء له قد يضعه في موقف صعب. لذلك، يجب أن تتولى أنت التواصل المباشر مع الشخص المعني، إلا إذا طلب المبلغ خلاف ذلك صراحة.
هناك عدة طرق يمكن من خلالها الرد على انتهاك مدونة السلوك:
* **وجّه تحذيرًا علنيًا للشخص المعني** واشرح كيف أثّر سلوكهم سلبًا على الآخرين، ويفضّل أن يكون ذلك في القناة التي وقع فيها السلوك. التواصل العلني، حينما يكون ممكنًا، يُظهر لبقية المجتمع أنك تأخذ مدونة السلوك على محمل الجد. كن لطيفًا في حديثك، لكن حازمًا في موقفك.
* **تواصل مع الشخص المعني بشكل خاص** لتوضيح كيف أثّر سلوكهم سلبًا على الآخرين. قد ترغب في استخدام وسيلة تواصل خاصة إذا كان الموقف يتضمن معلومات شخصية حساسة. إذا تواصلت مع الشخص على انفراد، فمن الجيد إشراك (CC) من أبلغوا عن الموقف أولًا، ليعرفوا أنك اتخذت إجراءً. استأذن المبلغ قبل إضافته في الـ CC.
أحيانًا، لا يمكن التوصل إلى حل. قد يصبح الشخص المعني عدائيًا أو عدوانيًا عند مواجهته، أو قد لا يغيّر سلوكه. في هذه الحالة، قد تحتاج إلى التفكير في اتخاذ إجراءات أشد. على سبيل المثال:
* **أوقف الشخص عن المشاركة مؤقتًا** من المشروع، ويتم تطبيق ذلك عبر حظر مؤقت يمنعهم من المشاركة في أي جزء من أنشطة المشروع.
* **منع الشخص نهائيًا من المشاركة** في المشروع.
حظر الأعضاء ليس أمرًا يُتخذ باستخفاف، فهو يمثل اختلافًا دائمًا ولا يمكن التوفيق بين وجهات النظر فيه. يجب اتخاذ مثل هذه الإجراءات فقط عندما يكون واضحًا أن الحل لا يمكن الوصول إليه.
## مسؤولياتك كصاحب المشروع أو المشرف
مدونة السلوك ليست قانونًا يُطبق بشكل تعسفي. أنت المسؤول عن تطبيق مدونة السلوك، ومن مسؤوليتك الالتزام بالقواعد التي تحددها المدونة.
كصاحب المشروع أو المشرف، أنت من يضع الإرشادات لمجتمعك ويطبّقها وفق القواعد الواردة في مدونة السلوك. هذا يعني أن أي تقرير عن انتهاك يجب أخذه على محمل الجد. المبلغ عن الانتهاك يستحق مراجعة عادلة وشاملة لشكواه. إذا وجدت أن السلوك المبلغ عنه لا يشكل انتهاكًا، فاخبره بذلك بوضوح واشرح سبب عدم اتخاذ أي إجراء. وما يفعله بعد ذلك يعود له: سواء تقبل السلوك أو قرر التوقف عن المشاركة في المجتمع.
حتى التقرير عن سلوك لا يُعتبر تقنيًا انتهاكًا، قد يشير إلى وجود مشكلة ضمن مجتمعك، ويجب عليك التحقيق في هذه المشكلة المحتملة واتخاذ الإجراء المناسب. قد يشمل ذلك تعديل مدونة السلوك لتوضيح السلوك المقبول، أو التحدث مع الشخص المعني وإخباره أنه لم ينتهك المدونة، لكنه يقترب من حدود ما هو متوقع ويجعل بعض المشاركين يشعرون بعدم الارتياح.
في النهاية، بصفتك المشرف أو صاحب المشروع، أنت من يحدد ويطبّق المعايير للسلوك المقبول. لديك القدرة على تشكيل قيم المجتمع الخاص بالمشروع، ويتوقع المشاركون منك تطبيق هذه القيم بطريقة عادلة ومتوازنة.
## شجّع السلوك الذي ترغب في رؤيته في مجتمعك 🌎
عندما يبدو المشروع عدائيًا أو غير مرحب، حتى لو كان هناك شخص واحد فقط يُسمح له بسلوك سيء، فإنك تخاطر بخسارة العديد من المساهمين الآخرين، قد يكون بعضهم لم تلتقِ بهم من قبل. قد لا يكون من السهل دائمًا تبني أو تطبيق مدونة السلوك، لكن خلق بيئة مرحبة سيساعد مجتمعك على النمو والتطور.
================================================
FILE: _articles/ar/finding-users.md
================================================
---
lang: ar
title: العثور على مستخدمين لمشروعك
description: ساعد مشروعك مفتوح المصدر على النمو من خلال إتاحته للمستخدمين السعداء
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## نشر الخبر
لا توجد قاعدة تنص على أنه يجب عليك الترويج لمشروع مفتوح المصدر عند إطلاقه. هناك العديد من الأسباب المرضية للعمل في مجال البرمجيات مفتوحة المصدر والتي لا علاقة لها بالشهرة. بدلاً من الأمل في أن يجد الآخرون مشروعك مفتوح المصدر ويستخدموه، عليك أن تنشر أخبار عملك الجاد!
## حدد رسالتك
قبل أن تبدأ العمل الفعلي في الترويج لمشروعك، يجب أن تكون قادرًا على شرح ما يفعله المشروع وأهميته.
ما الذي يجعل مشروعك مختلفًا أو مثيرًا للاهتمام؟ لماذا قمت بإنشائه؟ إن الإجابة على هذه الأسئلة بنفسك سوف تساعدك على توصيل أهمية مشروعك.
تذكر أن الأشخاص ينخرطون كمستخدمين، ويصبحون في النهاية مساهمين، لأن مشروعك يحل مشكلة لهم. عندما تفكر في رسالة مشروعك وقيمته، حاول أن تنظر إليهما من منظور ما قد يرغب فيه المستخدمون والمساهمون.
على سبيل المثال، يستخدم @robb أمثلة التعليمات البرمجية لتوصيل سبب فائدة مشروعه, [Cartography](https://github.com/robb/Cartography), بوضوح:

للتعمق أكثر في الرسائل، راجع تمرين Mozilla ["الشخصيات والمسارات"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) لتطوير شخصيات المستخدمين.
## ساعد الأشخاص في العثور على مشروعك ومتابعته
ساعد الأشخاص في العثور على مشروعك وتذكره من خلال توجيههم إلى مساحة اسم واحدة.
**امتلك حساب واضح للترويج لعملك.** يعد حساب Twitter أو عنوان GitHub URL أو قناة IRC طريقة سهلة لتوجيه الأشخاص إلى مشروعك. توفر هذه المنافذ أيضًا مكانًا لتجمع المجتمع المتنامي لمشروعك.
إذا كنت لا ترغب في إنشاء منافذ لمشروعك حتى الآن، فقم بالترويج لحسابك الخاص على Twitter أو GitHub في كل ما تفعله. إن الترويج لحسابك على Twitter أو GitHub سيسمح للأشخاص بمعرفة كيفية الاتصال بك أو متابعة عملك. إذا كنت تتحدث في اجتماع أو حدث، فتأكد من تضمين معلومات الاتصال الخاصة بك في سيرتك الذاتية أو شرائحك.
**فكر في إنشاء موقع إلكتروني لمشروعك.** يجعل موقع الويب مشروعك أكثر سهولة ويسرًا في التصفح، خاصةً عندما يقترن بوثائق وبرامج تعليمية واضحة. كما أن وجود موقع ويب يشير إلى أن مشروعك نشط، مما يجعل جمهورك يشعر براحة أكبر عند استخدامه. قدم أمثلة لتزويد الأشخاص بأفكار حول كيفية استخدام مشروعك.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), قال أحد مؤسسي Django، إن إنشاء موقع ويب كان _"أفضل شيء فعلناه مع Django في الأيام الأولى"_.
إذا كان مشروعك مستضافًا على GitHub، فيمكنك استخدام [GitHub Pages](https://pages.github.com/) لإنشاء موقع ويب بسهولة. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), و [Middleman](https://middlemanapp.com/) هي [بعض الأمثلة](https://github.com/showcases/github-pages-examples) على مواقع ويب ممتازة وشاملة.

الآن بعد أن أصبحت لديك رسالة لمشروعك، وطريقة سهلة ليتمكن الأشخاص من العثور على مشروعك، فلنخرج ونتحدث إلى جمهورك!
## اذهب إلى حيث يتواجد جمهور مشروعك (عبر الإنترنت)
التواصل عبر الإنترنت هو وسيلة رائعة لمشاركة المعلومات ونشرها بسرعة. باستخدام القنوات الإلكترونية، يمكنك الوصول إلى جمهور واسع جدًا.
استفد من المجتمعات والمنصات الموجودة على الإنترنت للوصول إلى جمهورك. إذا كان مشروعك مفتوح المصدر مشروعًا برمجيًا، فمن المحتمل أن تجد جمهورك على [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), أو [Quora](https://www.quora.com/). ابحث عن القنوات التي تعتقد أن الأشخاص سيستفيدون منها أكثر أو سيكونون متحمسين لعملك.
انظر إذا كان بإمكانك العثور على طرق لمشاركة مشروعك بالطرق :
* **تعرف على المشاريع والمجتمعات مفتوحة المصدر ذات الصلة.** في بعض الأحيان، لا يتعين عليك الترويج لمشروعك بشكل مباشر. إذا كان مشروعك مثاليًا لعلماء البيانات الذين يستخدمونPython، فتعرف على مجتمع علوم بيانات Python. عندما يتعرف الناس عليك، ستنشأ فرص طبيعية للحديث عن عملك ومشاركته.
* **ابحث عن الأشخاص الذين يعانون من المشكلة التي يحلها مشروعك.** ابحث في المنتديات ذات الصلة عن الأشخاص الذين يندرجون ضمن الجمهور المستهدف لمشروعك. أجب عن سؤالهم وابحث عن طريقة لبقة، عندما يكون ذلك مناسبًا، لاقتراح مشروعك كحل.
* **اطلب التعليقات.** قدم نفسك وعملك لجمهور قد يجده مهماً ومثيراً للاهتمام. كن محدداً بشأن من تعتقد أنه سيستفيد من مشروعك. حاول إكمال الجملة التالية: "أعتقد أن مشروعي سيساعد حقاً X، الذين يحاولون القيام بـ Y". استمع إلى تعليقات الآخرين ورد عليها، بدلاً من مجرد الترويج لعملك.
بشكل عام، ركز على مساعدة الآخرين قبل أن تطلب منهم شيئًا في المقابل. نظرًا لأن أي شخص يمكنه بسهولة الترويج لمشروع ما عبر الإنترنت، فسيكون هناك الكثير من الضوضاء. لكي تبرز من بين الحشود، قدم للأشخاص سياقًا عن هويتك وليس فقط عما تريده.
إذا لم يهتم أحد أو يرد على اتصالك الأولي، فلا تشعر بالإحباط! معظم عمليات إطلاق المشاريع هي عملية تكرارية يمكن أن تستغرق شهورًا أو سنوات. إذا لم تحصل على رد في المرة الأولى، فجرب تكتيك مختلف، أو ابحث عن طرق لإضافة قيمة إلى عمل الآخرين أولاً. يستغرق الترويج لمشروعك وإطلاقه وقتًا وتفانيًا.
## اذهب إلى حيث يتواجد جمهور مشروعك (خارج الإنترنت)

تعد الفعاليات غير المتصلة بالإنترنت طريقة شائعة للترويج للمشاريع الجديدة للجمهور. فهي طريقة رائعة للوصول إلى جمهور متفاعل وبناء علاقات إنسانية أعمق، خاصة إذا كنت مهتمًا بالوصول إلى المطورين.
إذا كنت [جديد في مجال الخطابة](https://speaking.io/), ابدأ بالبحث عن لقاء محلي يتعلق بلغة أو نظام مشروعك.
إذا لم يسبق لك التحدث في أي مناسبة من قبل، فمن الطبيعي أن تشعر بالتوتر! تذكر أن جمهورك موجود هناك لأنه يرغب حقًا في الاستماع إلى ما ستقوله عن عملك.
عند كتابة خطابك، ركز على ما سيجده جمهورك مثيرًا للاهتمام وذا قيمة. استخدم لغة ودية وميسّرة. ابتسم، تنفس، واستمتع.
عندما تشعر أنك مستعد، فكر في التحدث في مؤتمر لترويج مشروعك. يمكن أن تساعدك المؤتمرات في الوصول إلى المزيد من الأشخاص، وأحيانًا من جميع أنحاء العالم.
ابحث عن المؤتمرات التي تخص لغتك أو نظامك البيئي. قبل أن ترسل محاضرتك، ابحث عن المؤتمر لتكييف محاضرتك مع الحضور وزيادة فرص قبولك للتحدث في المؤتمر. غالبًا ما يمكنك التعرف على جمهورك من خلال الاطلاع على المتحدثين في المؤتمر.
## بناء سمعة
بالإضافة إلى الاستراتيجيات الموضحة أعلاه، فإن أفضل طريقة لدعوة الأشخاص للمشاركة والمساهمة في مشروعك هي المشاركة والمساهمة في مشاريعهم.
إن مساعدة المبتدئين ومشاركة الموارد وتقديم مساهمات مدروسة لمشاريع الآخرين سيساعدك على بناء سمعة إيجابية. كونك عضوًا نشطًا في مجتمع المصادر المفتوحة سيساعد الناس على فهم سياق عملك ويجعلهم أكثر اهتمامًا بمشروعك ومشاركته. يمكن أن يؤدي تطوير العلاقات مع مشاريع المصادر المفتوحة الأخرى إلى شراكات رسمية.
ليس من المبكر أو المتأخر أبدًا أن تبدأ في بناء سمعتك. حتى لو كنت قد أطلقت مشروعك الخاص بالفعل، فاستمر في البحث عن طرق لمساعدة الآخرين.
لا توجد حلول سريعة لبناء جمهور. اكتساب ثقة واحترام الآخرين يستغرق وقتًا، وبناء سمعتك لا ينتهي أبدًا.
## استمر في ذلك!
قد يستغرق الأمر وقتًا طويلاً قبل أن يلاحظ الناس مشروعك مفتوح المصدر. لا بأس بذلك! فقد استغرقت بعض المشاريع الأكثر شهرة اليوم سنوات عديدة حتى وصلت إلى مستويات عالية من النشاط. ركز على بناء العلاقات بدلاً من الأمل في أن يكتسب مشروعك شعبية تلقائيًا. كن صبورًا، واستمر في مشاركة عملك مع أولئك الذين يقدرونه.
================================================
FILE: _articles/ar/getting-paid.md
================================================
---
lang: ar
title: الحصول على أجر مقابل العمل في المشاريع مفتوحة المصدر
description: استمر على عملك في المصدر المفتوح من خلال الحصول على الدعم المالي مقابل وقتك أو مشروعك
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## لماذا يسعى بعض الأشخاص للحصول على الدعم المالي
معظم الأعمال مفتوحة المصدر هي أعمال تطوعية. على سبيل المثال، قد يصادف شخص ما خطأً في مشروع يستخدمه ويقدم حلاً سريعاً له، أو قد يستمتع بالتلاعب بمشروع مفتوح المصدر في أوقات فراغه.
هناك العديد من الأسباب التي تجعل الشخص لا يرغب في الحصول على أجر مقابل عمله في مجال مفتوح المصدر.
* **ربما يكون لديهم بالفعل وظيفة بدوام كامل يحبونها،** مما يتيح لهم المساهمة في المصادر المفتوحة في أوقات فراغهم.
* **يستمتعون بالتفكير في المصادر المفتوحة كهواية** أو الهروب الإبداعي ولا يريدون أن يشعروا بالالتزام المالي للعمل على مشاريعهم.
* **يحصلون على مزايا أخرى من المساهمة في المصادر المفتوحة،** مثل بناء سمعتهم أو ملف أعمالهم، أو تعلم مهارة جديدة، أو الشعور بالقرب من مجتمع ما.
بالنسبة للآخرين، خاصةً عندما تكون المساهمات مستمرة أو تتطلب وقتًا طويلاً، فإن الحصول على أجر مقابل المساهمة في المصادر المفتوحة هو الطريقة الوحيدة التي يمكنهم من خلالها المشاركة، إما لأن المشروع يتطلب ذلك، أو لأسباب شخصية.
يمكن أن يكون الحفاظ على المشاريع الشهيرة مسؤولية كبيرة، حيث يستغرق 10 أو 20 ساعة في الأسبوع بدلاً من بضع ساعات في الشهر.
كما أن العمل المدفوع الأجر يمكّن الأشخاص من مختلف مناحي الحياة من تقديم مساهمات ذات مغزى. لا يستطيع بعض الأشخاص تخصيص وقت غير مدفوع الأجر لمشاريع مفتوحة المصدر، بسبب وضعهم المالي الحالي أو ديونهم أو التزاماتهم العائلية أو غيرها من الالتزامات. وهذا يعني أن العالم لا يرى أبدًا مساهمات الأشخاص الموهوبين الذين لا يستطيعون تخصيص وقتهم للتطوع. وهذا له آثار أخلاقية، كما @ashedryden [وصف](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), نظرًا لأن العمل المنجز يميل لصالح أولئك الذين يتمتعون بالفعل بمزايا في الحياة، والذين يكتسبون مزايا إضافية بناءً على مساهماتهم التطوعية، في حين أن الآخرين غير القادرين على التطوع لا يحصلون على فرص لاحقًا، مما يعزز النقص الحالي في التنوع في مجتمع المصادر المفتوحة.
إذا كنت تبحث عن دعم مالي، فهناك طريقان يمكنك اتباعهما. يمكنك تمويل وقتك الخاص كمساهم، أو يمكنك البحث عن تمويل مؤسسي للمشروع.
## تمويل وقتك الخاص
اليوم، يتقاضى الكثير من الناس رواتب مقابل العمل بدوام جزئي أو كامل في مجال المصادر المفتوحة. الطريقة الأكثر شيوعًا للحصول على أجر مقابل وقتك هي التحدث إلى صاحب العمل.
من الأسهل الدفاع عن العمل مفتوح المصدر إذا كان صاحب العمل يستخدم المشروع بالفعل، ولكن كن مبدعًا في عرضك. ربما لا يستخدم صاحب العمل المشروع، ولكنه يستخدم Python، وتساعد صيانة مشروع Python شهير في جذب مطوري Python جدد. ربما يجعل ذلك صاحب العمل يبدو أكثر ملاءمة للمطورين بشكل عام.
إذا لم يكن لديك مشروع مفتوح المصدر حاليًا ترغب في العمل عليه، ولكنك تفضل أن يكون إنتاجك الحالي مفتوح المصدر، فقدم حجة مقنعة لصاحب العمل لكي يفتح المصدر لبعض برامجه الداخلية.
تقوم العديد من الشركات بتطوير برامج مفتوحة المصدر لبناء علامتها التجارية وتوظيف مواهب متميزة.
@hueniverse, على سبيل المثال، وجد أن هناك أسبابًا مالية تبرر [استثمار Walmart في البرمجيات مفتوحة المصدر](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). و @jamesgpearce وجدت أن برنامج المصدر المفتوح ل Facebook [أحدث فرقًا](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) في التوظيف:
> إنه يتوافق بشكل وثيق مع ثقافة القراصنة لدينا، وكيف كان يُنظر إلى مؤسستنا. سألنا موظفينا: ”هل كنتم على علم ببرنامج البرمجيات مفتوحة المصدر في Facebook؟“. أجاب ثلثاهم بـ”نعم“. وقال نصفهم إن البرنامج ساهم بشكل إيجابي في قرارهم العمل لدينا. هذه أرقام ليست هامشية، وآمل أن يستمر هذا الاتجاه.
إذا سلكت شركتك هذا الطريق، فمن المهم الحفاظ على الحدود بين نشاط المجتمع ونشاط الشركة واضحة. في النهاية، يستمر المصدر المفتوح في البقاء من خلال مساهمات الناس من جميع أنحاء العالم، وهذا أكبر من أي شركة أو موقع.
إذا لم تتمكن من إقناع صاحب العمل الحالي بإعطاء الأولوية للعمل في مجال المصادر المفتوحة، ففكر في البحث عن صاحب عمل جديد يشجع مساهمات الموظفين في مجال المصادر المفتوحة. ابحث عن الشركات التي تعلن صراحة عن التزامها بالعمل في مجال المصادر المفتوحة. على سبيل المثال:
* بعض الشركات، مثل [Netflix](https://netflix.github.io/), لديهم مواقع ويب تسلط الضوء على مشاركتهم في المصادر المفتوحة
المشاريع التي نشأت في شركة كبيرة، مثل [Go](https://github.com/golang) أو [React](https://github.com/facebook/react), من المرجح أيضًا أن توظف أشخاصًا للعمل على المصادر المفتوحة.
اعتمادًا على ظروفك الشخصية، يمكنك محاولة جمع الأموال بشكل مستقل لتمويل عملك في مجال المصادر المفتوحة. على سبيل المثال:
* @Homebrew (و [العديد من المُشرفين والمنظمات الأخرى](https://github.com/sponsors/community)) تمويل عملهم من خلال [GitHub Sponsors](https://github.com/sponsors)
* @gaearon مول عمله في [Redux](https://github.com/reactjs/redux) من خلال [حملة التمويل الجماعي على Patreon](https://redux.js.org/)
* @andrewgodwin تمويل العمل على ترحيل مخطط Django [من خلال حملة Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
أخيرًا، في بعض الأحيان تضع مشاريع المصادر المفتوحة مكافآت على المشكلات التي قد تفكر في المساعدة في حلها.
* @ConnorChristie تمكن من الحصول على أجر مقابل [مساعدة](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol العمل على مكتبة JavaScript الخاصة بهم [من خلال مكافأة على gitcoin](https://gitcoin.co/).
* @mamiM قامت بترجمة @MetaMask إلى اللغة اليابانية بعد [تم تمويل هذه المشكلة على شبكة Bounties Network](https://explorer.bounties.network/bounty/134).
## العثور على تمويل لمشروعك
بالإضافة إلى الترتيبات الخاصة بالمساهمين الأفراد، تقوم المشاريع أحيانًا بجمع الأموال من الشركات والأفراد وغيرهم لتمويل الأعمال الجارية.
قد يوجه التمويل التنظيمي إلى دفع رواتب المساهمين الحاليين، أو تغطية تكاليف تشغيل المشروع (مثل رسوم الاستضافة)، أو الاستثمار في ميزات أو أفكار جديدة.
مع تزايد شهرة المصادر المفتوحة، لا يزال العثور على تمويل للمشاريع أمراً تجريبياً، ولكن هناك بعض الخيارات الشائعة المتاحة.
### جمع الأموال لعملك من خلال حملات التمويل الجماعي أو الرعاية
يكون البحث عن رعاة ناجحًا إذا كان لديك جمهور كبير أو سمعة طيبة بالفعل، أو إذا كان مشروعك يحظى بشهرة كبيرة.
ومن أمثلة المشاريع التي تم تمويلها ما يلي:
* **[webpack](https://github.com/webpack)** يجمع الأموال من الشركات والأفراد [من خلال OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** منظمة غير ربحية تدفع مقابل العمل على [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), وغيرها من مشاريع البنية التحتية ل Ruby
### إنشاء مصدر للإيرادات
اعتمادًا على مشروعك، قد تتمكن من تحصيل رسوم مقابل الدعم التجاري أو الخيارات المستضافة أو الميزات الإضافية. وتشمل بعض الأمثلة ما يلي:
* **[Sidekiq](https://github.com/mperham/sidekiq)** يقدم إصدارات مدفوعة للحصول على دعم إضافي
* **[Travis CI](https://github.com/travis-ci)** تقدم إصدارات مدفوعة من منتجها
* **[Ghost](https://github.com/TryGhost/Ghost)** هي منظمة غير ربحية تقدم خدمة مُدارة مدفوعة الأجر
بعض المشاريع الشهيرة، مثل [npm](https://github.com/npm/cli) و [Docker](https://github.com/docker/docker), جمعوا رأس مال استثماري لدعم نمو أعمالهم.
### تقدم بطلب للحصول على منحة تمويلية
تقدم بعض مؤسسات البرمجيات والشركات منحًا للأعمال المفتوحة المصدر. في بعض الأحيان، يمكن دفع المنح للأفراد دون إنشاء كيان قانوني للمشروع.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** حصل على منحة من [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** تم تمويل العمل من قبل [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** حصل على منحة من [مؤسسة Sloan](https://sloan.org/programs/digital-technology)
* **[مؤسسة برمجيات Python](https://www.python.org/psf/grants/)** تقدم منحًا للأعمال المتعلقة بلغة Python
للحصول على خيارات أكثر تفصيلاً ودراسات حالة، @nayafia [كتبت دليلاً](https://github.com/nayafia/lemonade-stand) للحصول على أجر مقابل العمل في مجال المصادر المفتوحة. تتطلب أنواع التمويل المختلفة مهارات مختلفة، لذا فكر في نقاط قوتك لتحديد الخيار الأنسب لك.
## بناء حجة للحصول على الدعم المالي
سواء كان مشروعك فكرة جديدة أو قائمًا منذ سنوات، يجب أن تتوقع أن تبذل جهدًا كبيرًا في تحديد الممول المستهدف وتقديم حجة مقنعة.
سواء كنت تريد أن تدفع مقابل وقتك الخاص أو تجمع التبرعات لمشروع ما، يجب أن تكون قادرًا على الإجابة عن الأسئلة التالية.
### التأثير
لماذا يعتبر هذا المشروع مفيدًا؟ لماذا يحبه المستخدمون الحاليون أو المحتملون إلى هذا الحد؟ أين سيكون بعد خمس سنوات؟
### الجاذبية
حاول جمع أدلة تثبت أهمية مشروعك، سواء كانت مقاييس أو حكايات أو شهادات. هل هناك أي شركات أو أشخاص بارزون يستخدمون مشروعك في الوقت الحالي؟ إذا لم يكن الأمر كذلك، فهل أيده شخص بارز؟
### القيمة بالنسبة للجهة الممولة
غالبًا ما تتاح للممولين، سواء كانوا أصحاب العمل أو مؤسسات مانحة، فرص عديدة. لماذا يجب أن يدعموا مشروعك دون غيره؟ ما الفائدة التي سيجنونها شخصيًا؟
### استخدام الأموال
ما الذي ستحققه بالضبط من التمويل المقترح؟ ركز على معالم المشروع أو نتائجه بدلاً من دفع الرواتب.
### كيف ستتلقى الأموال
هل لدى الممول أي متطلبات بشأن الصرف؟ على سبيل المثال، قد تحتاج إلى أن تكون منظمة غير ربحية أو أن يكون لديك راعٍ مالي غير ربحي. أو ربما يجب أن تُمنح الأموال لمقاول فردي بدلاً من منظمة. تختلف هذه المتطلبات بين الممولين، لذا تأكد من إجراء بحثك مسبقًا.
## جرب ولا تستسلم
جمع الأموال ليس بالأمر السهل، سواء كنت تعمل في مشروع مفتوح المصدر أو منظمة غير ربحية أو شركة ناشئة في مجال البرمجيات، وفي معظم الحالات يتطلب منك أن تكون مبدعًا. إن تحديد الطريقة التي تريد أن تحصل بها على أموالك، وإجراء البحوث اللازمة، ووضع نفسك في مكان ممولك سيساعدك على بناء حجة مقنعة للحصول على التمويل.
================================================
FILE: _articles/ar/how-to-contribute.md
================================================
---
lang: ar
title: كيف تساهم في مشروع مفتوح المصدر ؟
description: هل تريد أن تساهم في مشاريع مفتوحة المصدر؟ دليل للمبتدئين والمحترفين حول كيفية المساهمة فيها
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## لماذا تساهم في مشروع مفتوح المصدر؟
المساهمة في مشاريع مفتوحة المصدر يمكن أن تكون تجربة مُجزية للتعلّم، والتعليم، واكتساب الخبرة في أيّ مهارة تقريبًا.
لماذا يساهم الناس في مشاريع مفتوحة المصدر؟ هناك الكثير من الأسباب.
### تحسين البرمجيات التي تعتمد عليها
يبدأ العديد من المساهمين كمستخدمين للبرامج التي يشاركون فيها. عندما تكتشف خطأً في برنامج مفتوح المصدر تستخدمه، قد ترغب في الاطّلاع على المصدر لترى إذا كان بإمكانك إصلاحه بنفسك. إذا كان هذا هو الحال، فإن تقديم التصحيح للمشروع هو أفضل وسيلة لضمان استفادة أصدقائك (وأنت نفسك عند التحديث إلى الإصدار التالي) من هذا الإصلاح.
### تطوير المهارات الحالية
سواء كان الأمر يتعلق بالبرمجة، أو تصميم واجهة المستخدم، أو التصميم الجرافيكي، أو الكتابة، أو التنظيم — إذا كنت تبحث عن فرصة للتدريب، فهناك مهمة بانتظارك في أحد المشاريع مفتوحة المصدر.
### التعرف على أشخاص مهتمين في أشياء متشابهة
المشاريع مفتوحة المصدر التي تمتلك مجتمعات لطيفة ومرّحبة تجذب الناس للاستمرار لسنوات. كثير من الأشخاص كوّنوا صداقات قويّة من خلال مشاركتهم في هذه المشاريع، سواء بلقائهم في المؤتمرات أو عبر محادثاتهم الليلية على الإنترنت.
### إيجاد مرشدين وتعليم الآخرين
العمل مع الآخرين على مشروع مشترك، يعني أنك ستحتاج إلى شرح طريقة عملك، كما ستحتاج إلى طلب المساعدة من الآخرين. فإن عمليتَي التعلّم والتعليم يمكن أن تشكّلا نشاطًا مُرضيًا لجميع الأطراف.
### بناء أعمال عامة تساعدك على بناء سمعتك ومسارك المهني
كل مساهماتك في المشاريع مفتوحة المصدر تكون عامة ومتاحة للجميع، مما يمنحك أمثلة عملية مجانية يمكنك استخدامها في أي مكان كدليل ملموس على مهاراتك وقدراتك.
### تعلُّم مهارات التعامل مع الآخرين
تُقدّم المشاريع مفتوحة المصدر فرصاً ثمينة لممارسة مهارات القيادة والإدارة، مثل حل التعارضات، وتنظيم فرق العمل، وتحديد أولويات المهام.
### الشعور بالقدرة على إجراء تغييرات، حتى لو صغيرة، يعطيك إحساس بالقوة
لا حاجة لأن تصبح مساهمًا مدى الحياة حتى تستمتع بالمشاركة في عالم المشاريع مفتوحة المصدر. هل سبق أن رأيت خطأً مطبعيًّا على موقع إلكتروني، وتمنيت لو أن أحدًا ما سيصححه؟ في مشروع مفتوح المصدر يمكنك أنت القيام بذلك.
تساعد المشاريع مفتوحة المصدر الناس على الشعور بأن لديهم قدرة على التأثير في حياتهم وكيفية تجربتهم للعالم، وهذا بحد ذاته مُجزٍ.
## ما معنى المساهمة {#ما-معنى-المساهمة}
إذا كنت مساهمًا جديدًا في المشاريع مفتوحة المصدر، فقد تكون العملية مخيفة بعض الشيء. كيف تجد المشروع المناسب؟ ماذا لو كنت لا تعرف البرمجة؟ ماذا لو حدث خطأ ما؟
لا تقلق! هناك العديد من الطرق للمشاركة في مشروع مفتوح المصدر، وبعض النصائح البسيطة ستساعدك على تحقيق أقصى استفادة من تجربتك.
### لا تحتاج إلى المساهمة بالبرمجة
من المفاهيم الخاطئة الشائعة حول المساهمة في المشاريع مفتوحة المصدر هو أنك بحاجة إلى المساهمة بالكود. في الواقع، غالبًا ما تكون الأجزاء الأخرى من المشروع هي [الأكثر إهمالًا أو تجاهلًا](https://github.com/blog/2195-the-shape-of-open-source). ستقدّم خدمة كبيرة للمشروع إذا عرضت المساعدة في هذا النوع من المساهمات!
حتى لو كنت تحب كتابة الكود، فأنواع المساهمات الأخرى تُعد طريقة ممتازة للمشاركة في المشروع والتعرف على أعضاء المجتمع الآخرين. بناء هذه العلاقات سيفتح أمامك فرصًا للعمل على أجزاء أخرى من المشروع.
### هل تحب تنظيم الأحداث (events)؟
* نظّم ورش عمل، أو لقاءات حول المشروع , [@fzamperin did for NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* نظّم مؤتمر المشروع (إذا كان لديهم واحد)
* ساعد أعضاء المجتمع في العثور على المؤتمرات المناسبة وتقديم مقترحات للحديث فيها
### هل تحب التصميم؟
* أعِد هيكلة التصاميم لتحسين قابلية استخدام المشروع
* نفّذ أبحاث تجربة المستخدم (user research) لإعادة تصميم هيكل التنقّل(navigation structure) والقوائم، [like Drupal suggests](https://www.drupal.org/community-initiatives/drupal-core/usability)
* أنشئ Style Guide لمساعدة المشروع على الحفاظ على تصميم بصري متّسق
* صمّم رسومات للt-shirts أو شعارًا جديدًا للمشروع، [like hapi.js's contributors did](https://github.com/hapijs/contrib/issues/68)
### هل تحب الكتابة؟
* اكتُب وطوّر توثيق المشروع, [like @CBID2 did for OpenSauced's documentation](https://github.com/open-sauced/docs/pull/151)
* نظّم مجلدًا يحتوي على أمثلة توضح كيفية استخدام المشروع
* أطلِق نشرة إخبارية للمشروع، أو نظّم أبرز المحتويات من قائمة البريد الإلكتروني, [like @opensauced did for their product](https://news.opensauced.pizza/about/)
* اكتب شروحات (Tutorials) للمشروع, [like PyPA's contributors did](https://packaging.python.org/)
* اكتب ترجمة لتوثيق المشروع, [like @frontendwizard did for the instructions for freeCodeCamp's CSS Flexbox challenge](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077)
### هل تحب التنظيم؟
* اربط المشاكل المكررة واقترح تسميات جديدة للمشاكل (Issue Labels)، للحفاظ على تنظيم المشروع
* راجع المشاكل المفتوحة (Open Issues)، واقترح إغلاق المشاكل القديمة, [like @nzakas did for ESLint](https://github.com/eslint/eslint/issues/6765)
* اطرح أسئلة توضيحية على المشاكل التي فُتحت مؤخرًا لدفع النقاش قدمًا.
### هل تحب البرمجة؟
* ابحث عن مشكلة مفتوحة لتعمل عليها, [like @dianjin did for Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* اسأل إذا كان بإمكانك المساعدة في كتابة ميزة جديدة
* أتمتة إعداد المشروع(Project Setup)
* تحسين الأدوات أو الاختبارات (Tooling and Testing)
### هل تحب مساعدة الآخرين؟
* أجب عن الأسئلة المتعلقة بالمشروع، على سبيل المثال: Stack Overflow ([like this Postgres example](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) أوReddit
* أجب على أسئلة الأشخاص المتعلقة بالمشاكل المفتوحة
* ساعد في إدارة ومراقبة قنوات التواصل والمجتمعات التقنية
### هل تحب مساعدة الآخرين في البرمجة؟
* اجع الكود في مساهمات الآخرين
* اكتب شروحات حول كيفية استخدام المشروع
* اعرض الإشراف أو التوجيه على مساهم آخر, [like @ereichert did for @bronzdoc on Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### لست مضطرًا للعمل على مشاريع برمجية فقط!
رغم أن مصطلح (Open Source) غالبًا ما يشير إلى البرمجيات، إلا أنه يمكنك المساهمة في أي شيء تقريبًا. هناك كتب، وصفات، قوائم، ودروس يتم تطويرها كمشاريع مفتوحة المصدر.
على سبيل المثال:
* @sindresorhus curates a [list of "awesome" lists](https://github.com/sindresorhus/awesome)
* @h5bp maintains a [list of potential interview questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions) for front-end developer candidates
* @stuartlynn and @nicole-a-tesla made a [collection of fun facts about puffins](https://github.com/stuartlynn/puffin_facts)
حتى لو كنت مطور برمجيات، العمل على مشروع توثيق يمكن أن يساعدك على البدء في عالم المشاريع مفتوحة المصدر. غالبًا ما يكون العمل على المشاريع التي لا تتضمن كود أقل رعبًا، وعملية التعاون ستزيد من ثقتك وخبرتك.
## التعرف على مشروع جديد
بالنسبة لأي مساهمة تتعدى مجرد تصحيح خطأ مطبعي، فإن المساهمة في المشاريع مفتوحة المصدر تشبه الاقتراب من مجموعة غرباء في حفلة. إذا بدأت بالحديث عن حيوان اللاما بينما هم منغمسون في مناقشة حول أسماك الزينة، فغالبًا سينظرون إليك بنظرة محيرة بعض الشيء.
قبل أن تندفع بتقديم اقتراحاتك بشكل عشوائي، ابدأ أولاً بتعلّم "قراءة الجو العام" للمناقشة. فعل ذلك يزيد من فرص أن تُلاحَظ أفكارك ويُصغَى لها.
### مكونات المشروع مفتوح المصدر
كل مجتمع مفتوح المصدر ينطلق من رؤيته الخاصة.
قضاء سنوات في مشروع مفتوح المصدر واحد يعني أنك لم تتعرّف سوى على مشروع واحد فقط. لكن إن انتقلت إلى مشروع آخر، فقد تكتشف أن المصطلحات والعادات وأساليب التواصل مختلفة تمامًا.
ومع ذلك، فإن العديد من المشاريع مفتوحة المصدر تتبع هيكلًا تنظيميًا متشابهًا.
فهم الأدوار المختلفة داخل المجتمع وطريقة العمل سيساعدك على التأقلم بسرعة مع أي مشروع جديد.
عادةً ما يحتوي المشروع مفتوح المصدر على الأنواع التالية من الأدوار:
* **المؤلف:** الشخص أو الأشخاص، أو الجهة التي أنشأت المشروع
* **المالك:** الشخص أو الأشخاص، الذين يملكون صلاحيات الإدارة على المنظمة أو المستودع (وليسوا دائمًا نفس مؤلف المشروع الأصلي)
* **المشرفون:** المساهمون المسؤولون عن توجيه رؤية المشروع وإدارة الجوانب التنظيمية له (وقد يكونون أيضًا من مؤلفي المشروع أو مالكيه)
* **المساهمون:** كل من قدّم مساهمة ما للمشروع
* **أعضاء المجتمع:** الأشخاص الذين يستخدمون المشروع، وقد يشاركون في النقاشات أو يعبّرون عن آرائهم حول مسار المشروع.
قد تحتوي المشاريع الأكبر أيضًا على لجان فرعية أو مجموعات عمل تركز على مهام مختلفة، مثل أدوات التطوير، وفرز المشكلات، وإدارة المجتمع، وتنظيم الفعاليات. ابحث في موقع المشروع عن صفحة الفريق (Team)
أو في المستودع عن وثائق إدارة المشروع(governance documentation) لمعرفة هذه المعلومات.
يحتوي المشروع أيضًا على وثائق.
تكون هذه الملفات عادةً موجودة في المستوى الأعلى من المستودع (أي في المجلد الرئيسي).
* **LICENSE:** الترخيص؛ كل مشروع مفتوح المصدر يجب أن يكون له [ترخيص مفتوح المصدر](https://choosealicense.com).إذا لم يكن للمشروع ترخيص، فهو ليس مفتوح المصدر.
* **README:** ملف الترحيب؛ هو دليل التعليمات الذي يرحب بأعضاء المجتمع الجدد ويشرح لماذا المشروع مفيد وكيفية البدء به.
* **CONTRIBUTING:** دليل المساهمة؛ بينما تساعد ملفات الREADME الناس على استخدام المشروع، فإن ملفات الCONTRIBUTING تساعد الناس على المساهمة في المشروع. يشرح أنواع المساهمات المطلوبة وكيفية سير العملية. وجود هذا الملف يشير إلى أن المشروع مُرحّب بالمساهمين الجدد. مثال جيد لدليل المساهمة الفعّال الموجود في [Codecademy's Docs repository](https://www.codecademy.com/resources/docs/contribution-guide).
* **CODE_OF_CONDUCT:** قواعد السلوك؛ تحدد قواعد السلوك الأساسية لسلوك المشاركين وتساعد على خلق بيئة ودية. على الرغم من أن ليس كل مشروع يحتوي على هذا الملف، إلا أن وجوده يشير إلى أن المشروع مُرحّب بالمساهمين الجدد.
* **Other documentation:** قد تكون هناك وثائق إضافية، مثل الدروس التعليمية، الشروحات خطوة بخطوة، أو سياسات إدارة المشروع، خصوصًا في المشاريع الكبيرة مثل: [Astro Docs](https://docs.astro.build/en/contribute/#contributing-to-docs).
أخيرًا، تستخدم المشاريع مفتوحة المصدر الأدوات التالية لتنظيم النقاشات.
قراءة الأرشيفات ستمنحك فكرة جيدة عن كيفية تفكير المجتمع وطريقة عمله.
* **Issue tracker:** المكان الذي يناقش فيه الناس المشاكل المتعلقة بالمشروع.
* **Pull/Merge requests:** المكان الذي يناقش فيه الناس التغييرات الجاري العمل عليها ويستعرضونها، سواء كان ذلك لتحسين سطر كود لمساهم، أو استخدام القواعد اللغوية، أو الصور، وغيرها. بعض المشاريع، مثل [MDN Web Docs](https://github.com/mdn/content/blob/main/.github/workflows/markdown-lint.yml)، تستخدم بعض GitHub Action لتسريع وأتمتة مراجعات الكود.
* **Discussion forums or mailing lists:** قد تستخدم بعض المشاريع هذه القنوات للمواضيع الحوارية (على سبيل المثال، _"كيف أفعل..."_ أو _"ما رأيك في..."_ بدلاً من تقارير الأخطاء أو طلبات المزايا). بينما يستخدم البعض الآخر الـ Issue tracker لجميع المحادثات. مثال جيد على ذلك هو [CHAOSS' weekly Newsletter](https://chaoss.community/news/).
* **Synchronous chat channel:** تستخدم بعض المشاريع قنوات الدردشة (مثل Slack أو IRC) للمحادثات غير الرسمية، والتعاون، والتبادل السريع للأفكار. مثال جيد على ذلك هو [EddieHub's Discord community](http://discord.eddiehub.org/).
## إيجاد مشروع للمساهمة فيه
الآن بعد أن فهمت كيف تعمل المشاريع مفتوحة المصدر، حان الوقت للعثور على مشروع للمساهمة فيه!
إذا لم تكن قد ساهمت في المشاريع مفتوحة المصدر من قبل، خذ بعض النصائح من الرئيس الأمريكي جون إف. كينيدي، الذي قال مرة: _"لا تسأل ماذا يمكن لبلدك أن يفعل لك، بل اسأل ماذا يمكنك أن تفعل لبلدك."_
تحدث المساهمة في المصادر المفتوحة على جميع المستويات وفي مختلف المشاريع. لا تحتاج إلى التفكير كثيرًا فيما ستكون عليه مساهمتك الأولى بالضبط، أو كيف ستبدو.
بدلاً من ذلك، ابدأ بالتفكير في المشاريع التي تستخدمها بالفعل، أو ترغب في استخدامها. المشاريع التي ستساهم فيها بنشاط هي تلك التي تجد نفسك تعود إليها باستمرار.
ضمن تلك المشاريع، كلما شعرت أن شيئًا ما يمكن أن يكون أفضل أو مختلفًا، تصرف بناءً على حدسك.
المشاريع مفتوحة المصدر ليست ناديًا حصريًا؛ فهي مصنوعة من أشخاص مثلك تمامًا. مصطلح "المشاريع مفتوحة المصدر" هو مجرد تعبير أنيق للتعامل مع مشاكل العالم على أنها قابلة للحل.
قد تتصفح ملف README وتجد رابطًا معطلًا أو خطأً مطبعيًا. أو ربما تكون مستخدمًا جديدًا ولاحظت شيئًا لا يعمل، أو مشكلة تعتقد أنها يجب أن تكون موثقة. بدلًا من تجاهلها والمضي قدمًا، أو طلب مساعدة شخص آخر لإصلاحها، تحقق مما إذا كان بإمكانك المساهمة بالمساعدة. هذا هو جوهر مشاريع البرمجيات مفتوحة المصدر!
> وفقًا لدراسة أجراها Igor Steinmacher وباحثون آخرون في علوم الحاسوب، فإن [28٪ من المساهمات الصغيرة](https://www.igor.pro.br/publica/papers/saner2016.pdf) في مشاريع البرمجيات مفتوحة المصدر تتعلق بالتوثيق، مثل تصحيح الأخطاء المطبعية، إعادة التنسيق، أو كتابة ترجمة.
إذا كنت تبحث عن المشاكل الموجودة التي يمكنك إصلاحها، فإن كل مشروع من مشاريع البرمجيات مفتوحة المصدر يحتوي على صفحة `/contribute` التي تبرز الـ beginner-friendly issues التي يمكنك البدء بها. انتقل إلى الصفحة الرئيسية للمستودع على GitHub، وأضف `/contribute` في نهاية الـ URL (على سبيل المثال [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
يمكنك أيضًا استخدام أحد المصادر التالية لمساعدتك في اكتشاف مشاريع جديدة والمساهمة فيها:
* [GitHub Explore](https://github.com/explore/)
* [جمعة المصادر المفتوحة](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
* [GitLab Explore](https://gitlab.com/explore/projects/starred)
### قائمة تحقّق قبل أن تساهم {#قائمة-تحقّق-قبل-أن-تساهم}
عندما تجد مشروعًا ترغب في المساهمة فيه، قم بمراجعة سريعة للتأكد من أن المشروع مناسب لقبول المساهمات. وإلا، فقد لا يحصل عملك الجاد على أي رد.
إليك قائمة مرجعية مفيدة لتقييم ما إذا كان المشروع مناسبًا للمساهمين الجدد.
**يتوافق مع تعريف المشاريع مفتوحة المصدر**
**المشروع يقبل المساهمات بشكل فعّال**
اطلع على نشاط الـ commit على الفرع الرئيسي. على GitHub، يمكنك رؤية هذه المعلومات في تبويب Insights على الصفحة الرئيسية للمستودع، مثل [Virtual-Coffee](https://github.com/Virtual-Coffee/virtualcoffee.io/pulse)
بعد ذلك، اطلع على الـ issues الخاصة بالمشروع.
الآن افعل الشيء نفسه بالنسبة للـ pull requests الخاصة بالمشروع.
**المشروع مرحّب بالمساهمين**
المشروع الذي يكون ودودًا ومرحّبًا يشير إلى أنه سيكون متقبلًا للمساهمين الجدد.
## كيف ترسل المساهمة؟
لقد وجدت مشروعًا يعجبك، وأنت جاهز لتقديم مساهمة. أخيرًا! إليك كيفية تقديم مساهمتك بالطريقة الصحيحة.
### التواصل بفعالية
سواء كنت مساهمًا لمرة واحدة أو تحاول الانضمام إلى مجتمع، فإن العمل مع الآخرين هو من أهم المهارات التي ستطورها في المشاريع مفتوحة المصدر.
قبل أن تفتح (issue) أو (pull request)، أو تطرح سؤالًا في المحادثة، ضع هذه النقاط في اعتبارك لمساعدتك على توصيل أفكارك بفعالية.
**ساعد الآخرين على فهم الموقف**؛ إذا واجهت خطأً فاشرح ما الذي تحاول فعله وكيف يمكن إعادة إنتاج المشكلة، أما إذا كنت تقترح فكرة جديدة فاشرح لماذا تعتقد أنها ستكون مفيدة للمشروع (وليس لك فقط!).
> 😇 _"لا يحدث X عندما أقوم بـ Y"_
>
> 😢 _"X لا يعمل! من فضلك أصلحه."_
**قُم بواجبك مُسبقًا.** لا بأس ألا تعرف كل شيء، لكن أظهر أنك حاولت. قبل أن تطلب المساعدة، تأكد من مراجعة (README)، و(issues) "المشاكل المفتوحة أو المغلقة"، والقائمة البريدية، وابحث في الإنترنت عن إجابة. سيقدّر الناس ذلك عندما تُظهر أنك تحاول التعلم.
> 😇 _"لست متأكدًا من كيفية تنفيذ X. راجعت مستندات المساعدة ولم أجد أي ذكر لها."_
>
> 😢 _"كيف أفعل X؟"_
**اجعل طلباتك قصيرة ومباشرة.** تمامًا مثل إرسال بريد إلكتروني، كل مساهمة، مهما كانت بسيطة أو مفيدة، تحتاج إلى مراجعة من شخص آخر. العديد من المشاريع لديها طلبات أكثر من عدد الأشخاص المتاحين للمساعدة. كن موجزًا، فهذا سيزيد من فرص أن يتمكن شخص ما من مساعدتك.
> 😇 _"أود أن أكتب درسًا تعليميًا حول **كيفية إنشاء API**."_
>
> 😢 _"كنت أقود على الطريق السريع في اليوم الآخر وتوقفت لتعبئة الوقود، ثم خطرت لي فكرة رائعة حول شيء يجب أن نفعله. لكن قبل أن أشرح ذلك، دعني أريك..."_
**اجعل كل تواصلك علنيًا.** مع أن الرغبة قد تدفعك، لا تتوجه إلى القائمين على المشروع بشكل خاص إلا إذا كنت بحاجة لمشاركة معلومات حساسة (مثل مشكلة أمنية أو انتهاك خطير للسلوك). عندما تبقي النقاش علنيًا، يمكن للمزيد من الأشخاص التعلم والاستفادة من تبادلك. النقاشات بحد ذاتها يمكن أن تكون مساهمات.
> 😇 _(as a comment) "@-maintainer أهلاً! كيف يجب أن نتابع في هذا PR؟"_
>
> 😢 _(as an email) "أهلاً، آسف للإزعاج عبر البريد الإلكتروني، لكني كنت أتساءل إذا كانت لديك فرصة لمراجعة الـ PR الخاص بي"_
**لا بأس في طرح الأسئلة (ولكن كن صبورًا!).** كان الجميع جديدين على المشروع في وقت ما، وحتى المساهمين ذوي الخبرة يحتاجون إلى الوقت لاستيعاب المشروع الجديد. وبالمثل، حتى القائمون على المشروع منذ فترة طويلة ليسوا دائمًا على دراية بكل جزء منه. اظهر لهم نفس الصبر الذي تريدهم أن يظهروه لك.
> 😇 _"شكراً للنظر في هذا الخطأ. لقد اتبعت اقتراحاتك. إليك الناتج:"_
>
> 😢 _"لماذا لا يمكنك إصلاح مشكلتي؟ أليس هذا مشروعك؟"_
**احترم قرارات المجتمع.** قد تختلف أفكارك عن أولويات المجتمع أو رؤيته. قد يقدمون ملاحظات أو يقررون عدم متابعة فكرتك. بينما يجب عليك النقاش ومحاولة الوصول إلى حل وسط، يجب على القائمين بالصيانة (maintainers) التعايش مع قرارك لفترة أطول منك. إذا لم تتفق مع اتجاههم، يمكنك دائمًا العمل على نسخة Fork خاصة بك أو بدء مشروعك الخاص.
> 😇 _"أنا مستاء لأنكم لا تستطيعون دعم فكرتي، لكن كما أوضحتم، فهي تؤثر فقط على جزء صغير من المستخدمين، لذلك أفهم السبب. شكرًا لاستماعكم."_
>
> 😢 _"لماذا لن تدعموا فكرتي؟ هذا أمر غير مقبول!"_
**قبل كل شيء، حافظ على الاحترام.** يتكون مجتمع المشاريع مفتوحة المصدر من متعاونين من جميع أنحاء العالم. يُفقد السياق عبر اللغات والثقافات والجغرافيا والمناطق الزمنية. بالإضافة إلى ذلك، يجعل التواصل الكتابي من الصعب نقل النبرة أو المزاج. افترض النوايا الحسنة في هذه المحادثات. لا بأس في الاعتراض بأدب على فكرة، أو طلب المزيد من السياق، أو توضيح موقفك. فقط حاول أن تترك الإنترنت مكانًا أفضل مما وجدته عليه.
### جمع المعلومات
قبل القيام بأي شيء، قم بإجراء فحص سريع للتأكد من أن فكرتك لم تُناقش في مكان آخر. تصفح README المشروع، و**issues** (المفتوحة والمغلقة)، وقوائم البريد، وStack Overflow. لا تحتاج لقضاء ساعات في مراجعة كل شيء، لكن البحث السريع عن بعض الكلمات المفتاحية يكون ذا فائدة كبيرة.
إذا لم تتمكن من إيجاد فكرتك في مكان آخر، فأنت جاهز لاتخاذ خطوة. إذا كان المشروع على GitHub، فمن المرجح أن تتواصل عن طريق القيام بما يلي:
* **Raising an Issue:** هذه مثل بدء محادثة أو نقاش
* **Pull requests:** مخصصة لبدء العمل على حل
* **Communication Channels:** إذا كان للمشروع قناة مخصصة على Discord، IRC، أو Slack، فكر في بدء محادثة أو طلب توضيح حول مساهمتك.
قبل أن تفتح issue أو pull request، تحقق من مستندات المساهمة في المشروع (عادةً ملف يسمى CONTRIBUTING، أو في README)، لتعرف ما إذا كنت بحاجة لتضمين أي شيء محدد. على سبيل المثال، قد يطلبون منك اتباع قالب معين، أو يشترطون أن تستخدم الاختبارات.
إذا كنت تريد تقديم مساهمة كبيرة، افتح issue للسؤال قبل البدء بالعمل عليها. من المفيد متابعة المشروع لفترة (على GitHub، [يمكنك الضغط على "Watch"](https://help.github.com/articles/watching-repositories/) لتصلك إشعارات بكل النقاشات)، والتعرف على أعضاء المجتمع، قبل القيام بعمل قد لا يتم قبوله.
### الإبلاغ عن مشكلة (issue)
عادةً ما يجب عليك فتح **issue** (مشكلة والإبلاغ عنها) في الحالات التالية:
* الإبلاغ عن خطأ لا تستطيع حله بنفسك
* مناقشة موضوع أو فكرة على مستوى عالٍ (على سبيل المثال: المجتمع، الرؤية، أو السياسات)
* اقتراح ميزة جديدة أو فكرة مشروع أخرى
نصائح للتواصل حول **issues**:
* **إذا رأيت issue مفتوحة تريد التعامل معها،** قم بالتعليق على الـ issue لإعلام الآخرين بأنك تعمل عليها. بهذه الطريقة، تقل احتمالية تكرار عملك من قبل الآخرين.
* **إذا كانت issue مفتوحة منذ فترة،** فمن الممكن أن يتم التعامل معها في مكان آخر أو أنها حُلّت بالفعل، لذا قم بالتعليق لطلب التأكيد قبل البدء بالعمل.
* **إذا فتحت issue بنفسك، ثم اكتشفت الحل لاحقًا بنفسك،** قم بالتعليق على الـ issue لإعلام الآخرين، ثم أغلق الـ issue. حتى توثيق هذه النتيجة يُعد مساهمة في المشروع.
### فتح طلب دمج (pull request)
عادةً ما يُفضّل فتح (pull request) في الحالات التالية:
* إرسال إصلاحات بسيطة مثل الأخطاء الإملائية، أو الروابط المعطلة، أو الأخطاء الواضحة.
* البدء بالعمل على مساهمة تم طلبها مسبقًا، أو تم مناقشتها بالفعل في إحدى المشاكل (issues).
ليش شرطًا أن يُمثّل طلب (Pull Request) عملًا منتهيًا بالكامل. في العادة من الأفضل فتح (Pull Request) في وقتٍ مبكر، حتى يتمكن الآخرون من متابعة تقدمك أو تقديم ملاحظاتهم حوله. يمكنك فتحه كـ **"مسودة (Draft)"** أو وضع علامة **"WIP" (عمل قيد التنفيذ)** في عنوان الطلب أو في قسم **"Notes to Reviewers"** إن وُجد (أو يمكنك إنشاء قسمك الخاص مثل: **## Notes to Reviewer**).ويمكنك دائمًا إضافة المزيد من التعديلات (commits) لاحقًا.
إذا كان المشروع موجودًا على GitHub، فإليك كيفية تقديم (Pull Request):
* **[قم بعمل Fork للمستودع](https://guides.github.com/activities/forking/)** ونسخه إلى جهازك محليًا (clone). اربط نسختك المحلية بالمستودع الأصلي "upstream" عن طريق إضافته كـ remote. قم بسحب التحديثات من "upstream" بشكل دوري لتبقى محدثًا، حتى تقل احتمالية حدوث تعارضات (merge conflicts) عند تقديم طلب السحب (pull request). (راجع التعليمات التفصيلية [هنا](https://help.github.com/articles/syncing-a-fork/).)
* **[قم بإنشاء فرع (branch)](https://guides.github.com/introduction/flow/)** لإجراء تعديلاتك.
* **قم بالإشارة إلى أي Issues** ذات صلة أو مستندات داعمة في طلب (PR) الخاص بك (على سبيل المثال: "Closes #37.").
* **أضف لقطات شاشة قبل وبعد** إذا كانت تغييراتك تتضمن فروقات في HTML/CSS. اسحب الصور وأفلتها داخل محتوى طلب (pull request) الخاص بك.
* **اختبر تغييراتك!** شغّل تغييراتك مقابل أي اختبارات موجودة مسبقًا إذا كانت موجودة، وأنشئ اختبارات جديدة عند الحاجة. من المهم التأكد أن تغييراتك لا تؤدي إلى كسر المشروع الحالي.
* **ساهم بأسلوب المشروع** قدر استطاعتك. قد يعني هذا استخدام المسافات البادئة (indents)، الفواصل المنقوطة (semi-colons) أو التعليقات (comments) بشكل مختلف عما اعتدت عليه في مستودعك الخاص، لكن هذا يسهل على المسؤول عن المشروع الدمج، وعلى الآخرين فهم الكود وصيانته في المستقبل.
إذا كان هذا أول pull request لك، اطلع على [Make a Pull Request](http://makeapullrequest.com/)، الذي أنشأه @kentcdodds كدليل فيديو تعليمي. يمكنك أيضًا التدريب على عمل **pull request** في مستودع [First Contributions](https://github.com/Roshanjossey/first-contributions) الذي أنشأه @Roshanjossey.
## ماذا يحدث بعد تقديم مساهمتك؟
قبل أن نبدأ بالاحتفال، سيحدث أحد الأمور التالية بعد تقديم مساهمتك:
### 😭 لم تتلقَّ أيَّ ردّ
نأمل أن تكون قد [تحققت من نشاط المشروع](#قائمة-تحقّق-قبل-أن-تساهم) قبل تقديم مساهمتك. ومع ذلك، حتى في المشاريع النشطة، من الممكن ألا تتلقى مساهمتك أي رد.
إذا لم تتلقَ ردًا خلال أكثر من أسبوع، من المقبول أن ترد بأدب في نفس threads، طالبًا مراجعة من شخص ما. إذا كنت تعرف اسم الشخص المناسب لمراجعة مساهمتك، يمكنك الإشارة إليه باستخدام @ في تلك threads.
**لا تتواصل مع ذلك الشخص بشكل خاص**؛ تذكر أن التواصل العام مهم جدًا في المشاريع مفتوحة المصدر.
إذا أعطيت تذكيرًا مهذبًا وما زلت لم تتلقَ ردًا، فمن الممكن ألا يرد أحد أبدًا. قد لا يكون شعورًا رائعًا، لكن لا تدع ذلك يثنيك عن المشاركة! 😄 هناك العديد من الأسباب المحتملة لعدم حصولك على رد، بما في ذلك الظروف الشخصية التي قد تكون خارجة عن إرادتك. حاول إيجاد مشروع آخر أو طريقة أخرى للمساهمة. على الأقل، هذا سبب جيد لعدم استثمار الكثير من الوقت في تقديم مساهمة قبل أن يكون أعضاء المجتمع الآخرون منخرطين ومستجيبين.
### 🚧 أحدهم يطلب إجراء تعديلات على مساهمتك
من الشائع أن يُطلب منك إجراء تعديلات على مساهمتك، سواء كان ذلك ملاحظات حول نطاق فكرتك، أو تغييرات في الكود الذي كتبته.
عندما يطلب منك أحد إجراء تغييرات، كن مستجيبًا. لقد أخذوا وقتهم لمراجعة مساهمتك. فتح **Pull Request** ثم الابتعاد عنه يُعد سلوكًا سيئًا. إذا لم تكن تعرف كيفية إجراء التغييرات، قم بالبحث عن المشكلة، ثم اطلب المساعدة إذا احتجت.
مثال جيد على ذلك هو [التعليقات التي قدمها أحد المساهمين لـ @a-m-lamb على Pull Request الخاص بهم في مستندات Codecademy](https://github.com/Codecademy/docs/pull/3239#pullrequestreview-1628036286).
إذا لم يعد لديك وقت للعمل على المشكلة لعدة أسباب مثل استمرار النقاش لأشهر، أو تغيُّر ظروفك، أو عدم قدرتك على إيجاد حل، فأخبر المسؤول عن المشروع حتى يتمكن من فتح المشكلة لشخص آخر.
مثل ما فعلت [@RitaDee مع مشكلة في مستودع تطبيق OpenSauced](https://github.com/open-sauced/app/issues/1656#issuecomment-1729353346).
### 👎 لم تُقبَل مساهمَتَك
مساهمتك قد تُقبل في النهاية أو قد لا تُقبل. نأمل أنك لم تبذل جهدًا كبيرًا فيها بالفعل. إذا كنت غير متأكد من سبب عدم قبولها، فمن المعقول تمامًا أن تطلب توضيحًا وتغذية راجعة من المشرف. في النهاية، عليك أن تحترم أن هذا قرارهم. لا تجادل أو تتصرف بعدائية. أنت مرحب بك دائمًا في إنشاء نسخة مستقلة والعمل على إصدارك الخاص إذا كنت لا توافق!
### 🎉 قُبِلت مساهمَتَك
رائع! لقد قمت بإجراء مساهمة ناجحة في مشروع مفتوح المصدر!
## لقد فَعَلتها 🎉
سواء كنت قد قدّمت مساهمتك الأولى في مشروع مفتوح المصدر، أو كنت تبحث عن طرق جديدة للمساهمة، نأمل أن تكون متحمسًا لاتخاذ خطوة. حتى لو لم تُقبل مساهمتك، لا تنسَ أن تشكر المشرفين الذين بذلوا جهدًا لمساعدتك. المشاريع مفتوحة المصدر يطورها أشخاص مثلك: مشكلة (One Issue)، pull request، تعليق، أو تشجيع بسيط في كل مرة.
================================================
FILE: _articles/ar/index.html
================================================
---
layout: index
lang: ar
title: إرشادات المشاريع مفتوحة المصدر
permalink: /ar/
---
================================================
FILE: _articles/ar/leadership-and-governance.md
================================================
---
lang: ar
title: القيادة والحوكمة
description: المشاريع مفتوحة المصدر التي تتوسع مع الوقت قد تستفيد كثيرًا من وجود قواعد واضحة ومنظمة تساعدها في اتخاذ القرارات
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## فهم آلية الحوكمة في مشروعك المتنامي
مشروعك بدأ يكبر، والمشاركون فيه صاروا أكثر تفاعلًا، وأنت مصمم على استمراره وتطوره، في هذه المرحلة قد تتساءل كيف يمكن دمج المساهمين الدائمين في سير عمل المشروع — سواء من خلال منحهم صلاحية التعديل المباشر على الكود، أو إيجاد طريقة لحل الخلافات والنقاشات داخل المجتمع، وإذا كانت لديك تساؤلات حول ذلك فستجد هنا الإجابات التي تحتاجها
## ما هي أمثلة الأدوار الرسمية في المشاريع مفتوحة المصدر؟
كثير من المشاريع تتبع هيكلًا متشابهًا في تحديد أدوار المساهمين وطريقة تقديرهم.
لكن المعنى الحقيقي لكل دور يعتمد بالكامل على ما تراه مناسبًا لمشروعك. وفيما يلي بعض أنواع الأدوار التي قد تكون مألوفة لك:
* **المشرف (القائم على المشروع)**
* **المساهم**
* **المصرّح له بالتحديث**
**في بعض المشاريع**, يكون **"المشرفون"** هم الأشخاص الوحيدون الذين يملكون صلاحية التعديل المباشر على الكود، أما في مشاريع أخرى، فقد يُذكر اسمهم فقط في ملف الـ README على أنهم المشرفون.
ولا يشترط أن يكون المشرف شخصًا يكتب الكود بنفسه، قد يكون شخصًا ساهم في نشر المشروع والتعريف به، أو كتب توثيقًا جعل استخدامه أسهل للآخرين، وبغض النظر عن طبيعة عمله اليومية، فالمشرف عادة هو شخص يشعر بالمسؤولية تجاه اتجاه المشروع، ومخلص في تطويره وتحسينه باستمرار.
**"المساهم" يمكن أن يكون أي شخص** يعلق على مشكلة أو طلب دمج، أو أي شخص يضيف قيمة للمشروع (سواء من خلال فرز المشكلات، كتابة الأكواد، أو تنظيم الفعاليات)، أو أي شخص تم دمج طلبه للدمج (ربما أضيق تعريف للمساهم).
**مصطلح "المصرّح له بالتحديث"** قد يُستخدم للتمييز بين الأشخاص الذين يمتلكون صلاحية تعديل الكود مباشرة — وهي مسؤولية محددة — وبين المساهمين الآخرين الذين يقدّمون دعمًا أو مساهمات بطرق مختلفة.
رغم أنه بإمكانك تحديد أدوار المشروع بالطريقة التي تناسبك, [فكر في استخدام تعريفات أوسع للأدوار أو المسؤوليات](../how-to-contribute/#ما-معنى-المساهمة) لتشجيع المزيد من أشكال المساهمة. كما يمكنك استخدام أدوار القيادة للاعتراف رسميًا بالأشخاص الذين قدموا مساهمات بارزة في مشروعك، بغض النظر عن مهاراتهم التقنية.
## كيف يمكنني جعل هذه الأدوار القيادية رسمية؟
إضفاء الطابع الرسمي على أدوار القيادة يساعد المشاركين على الشعور بالمسؤولية والانتماء، ويُوضح لأعضاء المجتمع الآخرين من يمكنهم اللجوء إليه للحصول على المساعدة.
في المشاريع الصغيرة، قد يكون تحديد القادة أمرًا بسيطًا مثل إضافة أسمائهم إلى ملف README أو إلى ملف CONTRIBUTORS.
في المشاريع الأكبر، إذا كان لديك موقع إلكتروني، يمكنك إنشاء صفحة للفريق أو إدراج أسماء قادة المشروع هناك. على سبيل المثال:, [Postgres](https://github.com/postgres/postgres/) لديها [صفحة فريق شاملة](https://www.postgresql.org/community/contributors/) مع ملفات تعريف مختصرة لكل مساهم
إذا كان مشروعك يضم مجتمع مساهمين نشط جدًا، يمكنك تشكيل "فريق أساسي" من المشرفين، أو حتى لجان فرعية لأشخاص يتحملون مسؤولية مجالات مختلفة من المشروع (مثل الأمن، فرز المشكلات، أو سلوك المجتمع)، اترك المجال للأشخاص لتنظيم أنفسهم والتطوع للأدوار التي يشعرون بالحماس تجاهها، بدلًا من تعيينها لهم مباشرة .
د ترغب فرق القيادة في إنشاء قناة مخصصة (مثل IRC) أو عقد اجتماعات منتظمة لمناقشة المشروع (مثل Gitter أو Google Hangout). يمكنك حتى جعل هذه الاجتماعات عامة ليستمع إليها الآخرون. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), على سبيل المثال, [يستضيف ساعات مكتبية أسبوعية](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
بمجرد أن تحدد أدوار القيادة، لا تنسَ توثيق كيفية الوصول إليها! ضع عملية واضحة لكيفية أن يصبح الشخص مشرفًا (maintainer) أو ينضم إلى لجنة فرعية (subcommittee) في مشروعك، واكتب ذلك في ملف GOVERNANCE.md.
أدوات مثل [Vossibility](https://github.com/icecrime/vossibility-stack) يمكن أن تساعدك في تتبع من يساهم أو لا يساهم في المشروع بشكل عام. توثيق هذه المعلومات يمنع انطباع المجتمع بأن المشرفين هم مجموعة مغلقة تتخذ قراراتها بشكل خاص.
أخيرًا، إذا كان مشروعك موجودًا على GitHub، فكر في نقل المشروع من حسابك الشخصي إلى منظمة (Organization) وإضافة على الأقل مشرف احتياطي واحد. [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) تجعل إدارة الصلاحيات والمستودعات المتعددة أسهل، وتحمي إرث مشروعك من خلال [الملكية المشتركة](../building-community/#شارك-ملكية-مشروعك).
## متى يجب أن أمنح شخصًا صلاحية التعديل؟
يعتقد بعض الأشخاص أنه يجب منح صلاحية التعديل لكل من يقدم مساهمة. القيام بذلك قد يشجع المزيد من الناس على الشعور بالانتماء لمسؤولية المشروع.
من ناحية أخرى، وخاصة في المشاريع الكبيرة والمعقدة، قد ترغب في منح صلاحية التعديل فقط للأشخاص الذين أثبتوا التزامهم بالمشروع، لا توجد طريقة صحيحة واحدة لذلك – افعل ما يجعلك أكثر راحة وثقة
إذا كان مشروعك موجودًا على GitHub، يمكنك استخدام [الفروع المحمية](https://help.github.com/articles/about-protected-branches/) لإدارة من يمكنه رفع التعديلات إلى فرع معين، وتحديد الظروف التي يُسمح فيها بذلك.
## ما هي بعض الهياكل الحوكمة الشائعة للمشاريع مفتوحة المصدر؟
هناك ثلاث هياكل حوكمة شائعة مرتبطة بالمشاريع مفتوحة المصدر.
* **BDFL:** BDFL اختصار لعبارة "المستبد الخيّر مدى الحياة". في هذا الهيكل، يكون لشخص واحد (عادة مؤلف المشروع الأصلي) الكلمة الأخيرة في جميع القرارات الكبرى للمشروع. [بايثون](https://github.com/python) يُعد مثال Python كلاسيكيًا على هذا الهيكل، غالبًا ما تكون المشاريع الصغيرة BDFL بشكل افتراضي، نظرًا لوجود مشرف واحد أو مشرفين فقط، كما أن المشروع الذي نشأ داخل شركة قد يندرج أيضًا تحت فئة BDFL.
* **الحوكمة على أساس الجدارة:** **(ملاحظة: مصطلح "meritocracy" يحمل دلالات سلبية لدى بعض المجتمعات وله [تاريخ اجتماعي وسياسي معقد](http://geekfeminism.wikia.com/wiki/Meritocracy).)** في هيكل الحوكمة على أساس الجدارة (Meritocracy)، يُمنح المساهمون النشطون في المشروع (أي الذين يظهرون "جدارتهم") دورًا رسميًا في اتخاذ القرارات، عادةً ما تُتخذ القرارات بناءً على إجماع التصويت البحت، تم تطوير مفهوم الحوكمة على أساس الجدارة بواسطة [مؤسسة Apache](https://www.apache.org/); [جميع مشاريع Apache](https://www.apache.org/index.html#projects-list) تتبع نموذج الحوكمة على أساس الجدارة، ويمكن تقديم المساهمات فقط من قبل أفراد يمثلون أنفسهم، وليس من قبل أي شركة.
* **Liberal contribution:** في نموذج Liberal contribution، يُعترف بالأشخاص الذين يقومون بأكبر قدر من العمل على أنهم الأكثر تأثيرًا، لكن هذا الاعتراف يعتمد على العمل الحالي وليس على المساهمات التاريخية، تُتخذ القرارات الكبرى في المشروع بناءً على عملية البحث عن التوافق (مناقشة القضايا الكبرى) بدلاً من التصويت البحت، مع السعي لإشراك أكبر عدد ممكن من وجهات نظر المجتمع، من الأمثلة الشهيرة على المشاريع التي تستخدم نموذج Liberal contribution: [Node.js](https://foundation.nodejs.org/) and [Rust](https://www.rust-lang.org/).
أي نموذج يجب أن تستخدمه؟ القرار يعود إليك! كل نموذج له مميزاته وتحدياته، وعلى الرغم من أن هذه النماذج قد تبدو مختلفة تمامًا في البداية، إلا أن كلها تشترك في كثير من النقاط أكثر مما يبدو، إذا كنت مهتمًا بتبني أحد هذه النماذج، يمكنك الاطلاع على هذه القوالب.
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## هل أحتاج إلى مستندات حوكمة عند إطلاق مشروعي؟
لا يوجد وقت محدد صحيح لتوثيق حوكمة مشروعك، لكن سيكون من الأسهل كثيرًا تحديدها بعد أن ترى ديناميكيات المجتمع الخاص بك تتبلور، أفضل جزء (وأصعبه) في حوكمة المشاريع مفتوحة المصدر هو أنها تتشكل بواسطة المجتمع نفسه!
مع ذلك، فإن أي توثيق مبكر سيساهم حتمًا في حوكمة مشروعك، لذا ابدأ بكتابة ما يمكنك كتابته. على سبيل المثال، يمكنك وضع توقعات واضحة للسلوك، أو توضيح كيفية عمل عملية المساهمة، حتى عند إطلاق المشروع.
إذا كنت جزءًا من شركة تطلق مشروعًا مفتوح المصدر، فمن المفيد إجراء نقاش داخلي قبل الإطلاق حول كيفية توقع الشركة لإدارة المشروع واتخاذ القرارات المتعلقة به مستقبلًا، قد ترغب أيضًا في توضيح أي أمور خاصة بكيفية مشاركة الشركة (أو عدم مشاركتها!) مع المشروع بشكل عام للجمهور.
## ماذا يحدث إذا بدأ موظفو الشركات بتقديم مساهمات؟
المشاريع مفتوحة المصدر الناجحة يتم استخدامها من قبل الكثير من الأشخاص والشركات، وبعض الشركات قد ترتبط إيراداتها مستقبلًا بالمشروع. على سبيل المثال، قد تستخدم شركة ما كود المشروع كجزء من خدمة تجارية تقدمها.
مع ازدياد استخدام المشروع، يصبح الأشخاص الذين لديهم خبرة فيه أكثر طلبًا – وربما تكون واحدًا منهم! – وأحيانًا يتم دفع أجر لهم مقابل العمل الذي يقومون به في المشروع.
من المهم التعامل مع النشاط التجاري باعتباره أمرًا طبيعيًا ومجرد مصدر إضافي للطاقة التطويرية. بالطبع، لا ينبغي إعطاء المطورين المدفوع لهم معاملة خاصة مقارنة بالمطورين غير المدفوعين؛ يجب تقييم كل مساهمة على أساس قيمتها التقنية. ومع ذلك، يجب أن يشعر الناس بالراحة عند الانخراط في النشاط التجاري، وأن يكونوا قادرين على توضيح حالات استخدامهم عند الدفاع عن تحسين أو ميزة معينة.
مصطلح "تجاري" متوافق تمامًا مع "مفتوح المصدر". "تجاري" يعني ببساطة أن هناك مالًا متورطًا في مكان ما – أي أن البرنامج يُستخدم في التجارة، وهذا يصبح أكثر احتمالًا مع زيادة اعتماد المشروع. (وعندما يُستخدم برنامج مفتوح المصدر كجزء من منتج غير مفتوح المصدر، يظل المنتج الكلي برنامجًا مملوكًا، ولكنه، مثل البرمجيات مفتوحة المصدر، قد يُستخدم لأغراض تجارية أو غير تجارية).
مثل أي شخص آخر، يكسب المطورون الذين لديهم دوافع تجارية تأثيرًا في المشروع من خلال جودة وكمية مساهماتهم. من الواضح أن المطور الذي يتلقى أجرًا عن وقته قد يكون قادرًا على القيام بالمزيد مقارنة بشخص لا يتلقى أجرًا، لكن هذا طبيعي: الأجر هو مجرد أحد العوامل العديدة التي قد تؤثر على حجم مساهمة الشخص. ركّز مناقشات مشروعك على المساهمات نفسها، وليس على العوامل الخارجية التي تمكّن الأشخاص من تقديم هذه المساهمات.
## هل أحتاج إلى كيان قانوني لدعم مشروعي؟ {#هل-أحتاج-إلى-كيان-قانوني-لدعم-مشروعي}
لا تحتاج إلى إنشاء كيان قانوني لدعم مشروعك مفتوح المصدر، إلا إذا كنت تتعامل مع أموال.
على سبيل المثال، إذا كنت تريد إنشاء عمل تجاري، فستحتاج إلى إنشاء C Corp أو LLC (إذا كنت مقيمًا في الولايات المتحدة). إذا كنت تقوم فقط بعمل تعاقدي متعلق بمشروعك مفتوح المصدر، يمكنك قبول الأموال كمالك فردي، أو إنشاء LLC (إذا كنت مقيمًا في الولايات المتحدة)
إذا كنت تريد قبول التبرعات لمشروعك مفتوح المصدر، يمكنك إعداد زر تبرع (باستخدام PayPal أو Stripe على سبيل المثال)، لكن الأموال لن تكون قابلة للخصم الضريبي إلا إذا كنت منظمة غير ربحية مؤهلة (501c3 إذا كنت في الولايات المتحدة)
كثير من المشاريع لا ترغب في عناء إنشاء منظمة غير ربحية، لذلك تجد راعٍ مالي غير ربحي بدلاً من ذلك، حيث يقبل الراعي المالي التبرعات نيابة عنك عادةً مقابل نسبة من التبرع. [Software Freedom Conservancy](https://sfconservancy.org/)، [Apache Foundation](https://www.apache.org/)، [Eclipse Foundation](https://www.eclipse.org/org/)، [Linux Foundation](https://www.linuxfoundation.org/projects) و[Open Collective](https://opencollective.com/opensource) أمثلة على المنظمات التي تعمل كراعٍ مالي للمشاريع مفتوحة المصدر.
إذا كان مشروعك مرتبطًا ارتباطًا وثيقًا بلغة أو بيئة معينة، فقد يكون هناك أيضًا مؤسسة برمجيات ذات صلة يمكنك العمل معها. على سبيل المثال، [Python Software Foundation](https://www.python.org/psf/) تدعم [PyPI](https://pypi.org/)، مدير حزم بايثون، و[Node.js Foundation](https://foundation.nodejs.org/) تدعم [Express.js](https://expressjs.com/)، إطار عمل مبني على Node.
================================================
FILE: _articles/ar/legal.md
================================================
---
lang: ar
title: الجانب القانوني للبرمجيات مفتوحة المصدر
description: كل ما تريد معرفته عن الجانب القانوني في المشاريع مفتوحة المصدر، و بعض الأمور التي لم تكن تعرف أنك بحاجة لمعرفتها
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## فهم الآثار القانونية للبرمجيات مفتوحة المصدر
مشاركة عملك الإبداعي مع العالم يمكن أن تكون تجربة مثيرة ومُجزية، كما قد تعني مجموعة من الأمور القانونية التي لم تكن تعلم أنك بحاجة للقلق بشأنها. لحسن الحظ، مع هذا الدليل، ليس عليك البدء من الصفر. (قبل أن تبدأ، تأكد من قراءة [إخلاء المسؤولية](/notices/).)
## لماذا يهتم الناس كثيراً حول الجانب القانوني للبرمجيات مفتوحة المصدر ؟
سعيدٌ لسؤالك ! عندما تنشئ عمل إبداعي ( كالكتابة، الرسومات أو البرمجيات ) ، يكون هذا العمل محمياً بحقوق النشر الحصرية تلقائياً. أي أن القانون يفترض لك، بصفتك مؤلف ..العمل، الحق في تحديد ما يمكن للآخرين فعله به.
بشكل عام، هذا يعني أنه لا يمكن لأي شخص آخر استخدام ، نسخ ، توزيع ، أو التعديل على عملك دون أن يكون معرضاً لخطر الإزالة أو الابتزاز أو التقاضي .
ومع ذلك، فإن البرمجيات مفتوحة المصدر تمثل حالة غير معتادة، لأن المؤلف يتوقع أن يستخدم الآخرون العمل و يعدلوه ويشاركوه. ولكن نظراً لأن الوضع القانوني الافتراضي هو حقوق النشر الحصرية، يجب عليك أن تمنح هذه الأذونات صراحةً من خلال ترخيص.
تنطبق هذه القواعد أيضاً عندما يساهم شخص ما في مشروعك. بدون ترخيص أو اتفاقية أخرى، تكون أي مساهمات مملوكة حصرياً لمؤلفيها. وهذا يعني أنه لا أحد - حتى أنت - يمكنه نسخ، توزيع، أو تعديل مساهماتهم.
أخيراً، قد يحتوي مشروعك على تبعيات لها متطلبات ترخيص لم تكن على علم بها . و قد يتطلب مجتمع مشروعك ، أو سياسات صاحب العمل أيضاً أن يستخدم مشروعك تراخيص محددة للبرمجيات مفتوحة المصدر. سنغطي هذه الحالات أدناه.
## هل مشاريع GitHub العامة مفتوحة المصدر؟
عند [إنشاء مشروع جديد](https://help.github.com/articles/creating-a-new-repository/) على GitHub، لديك الخيار لجعل المستودع **خاص** أو **عام**.

**جعل مشروعك على GitHub عاماً لا يعني ترخيص مشروعك .** المشاريع العامة تخضع ل [شروط الخدمة](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants)، و التي تسمح للآخرين بعرض مشروعك و نسخه(fork) . لكن عملك لا يمنح أي أذونات أخرى بشكل افتراضي .
إذا كنت تريد من الآخرين استخدام ، توزيع، تعديل، أو المساهمة في مشروعك، عليك تضمين رخصة مفتوحة المصدر. على سبيل المثال، لا يمكن لأي شخص قانونياً استخدام أي جزء من مشروعك على GitHub في كوده الخاص، حتى لو كان عاماً. ما لم تمنحه الحق بذلك صراحةً.
## فقط أعطني ملخصاً سريعاً عن ما أحتاجه لحماية مشروعي
أنت محظوظ، لأن تراخيص البرمجيات مفتوحة المصدر اليوم موحدة و سهلة الاستخدام. يمكنك نسخ و لصق ترخيص موجود مباشرة في مشروعك.
[MIT](https://choosealicense.com/licenses/mit/)، [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)، و [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) هي [رخص مفتوحة المصدر شائعة](https://innovationgraph.github.com/global-metrics/licenses)، لكن هناك خيارات أخرى يمكن الاختيار منها. يمكنك العثور على النص الكامل لهذه الرخص، والتعليمات حول كيفية استخدامها، على [choosealicense.com](https://choosealicense.com/).
عند إنشاء مشروع جديد على GitHub، سيُطلب منك [إضافة ترخيص](https://help.github.com/articles/open-source-licensing/).
## أي ترخيص مفتوح المصدر مناسب لمشروعي؟ {#اي-ترخيص-مفتوح-المصدر-مناسب-لمشروعي}
من الصعب أن تخطئ عند استخدام [MIT License](https://choosealicense.com/licenses/mit/) إذا كنت تبدأ من الصفر. فهي قصيرة، سهلة الفهم، وتسمح لأي شخص بفعل أي شيء طالما احتفظ بنسخة من الترخيص، بما في ذلك إشعار حقوق الطبع والنشر الخاص بك. ستكون قادرًا على إصدار المشروع تحت ترخيص مختلف إذا احتجت لذلك لاحقًا.
أما إذا لا، فإن اختيار الترخيص المناسب لمشروعك مفتوح المصدر يعتمد على أهدافك.
من المرجح أن يحتوي مشروعك (أو سيحتوي) على **dependencies**، كل منها سيكون له ترخيص مفتوح المصدر خاص به مع شروط عليك احترامها. على سبيل المثال، إذا كنت تفتح مصدر مشروع Node.js، فربما ستستخدم مكتبات من **Node Package Manager (npm)**.
تسمح **dependencies** ذات **permissive licenses** مثل [MIT](https://choosealicense.com/licenses/mit/)، [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)، [ISC](https://choosealicense.com/licenses/isc)، و [BSD](https://choosealicense.com/licenses/bsd-3-clause) لك بترخيص مشروعك بالطريقة التي تريدها.
تتطلب dependencies ذات copyleft licenses اهتمامًا أكبر. تضمين أي مكتبة ذات ترخيص strong copyleft مثل [GPLv2](https://choosealicense.com/licenses/gpl-2.0)، [GPLv3](https://choosealicense.com/licenses/gpl-3.0)، أو [AGPLv3](https://choosealicense.com/licenses/agpl-3.0) يتطلب منك اختيار ترخيص مطابق أو [متوافق](https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses) لمشروعك. أما المكتبات ذات الترخيص limited أو weak copyleft مثل [MPL 2.0](https://choosealicense.com/licenses/mpl-2.0/) و [LGPL](https://choosealicense.com/licenses/lgpl-3.0/) فيمكن تضمينها في مشاريع بأي ترخيص، بشرط الالتزام بـ [القواعد الإضافية](https://fossa.com/blog/all-about-copyleft-licenses/#:~:text=weak%20copyleft%20licenses%20also%20obligate%20users%20to%20release%20their%20changes.%20however%2C%20this%20requirement%20applies%20to%20a%20narrower%20set%20of%20code.) التي تحددها.
تتضمن dependencies ذات **source-available licenses**، مثل Business Source License [BSL](https://spdx.org/licenses/BUSL-1.1.html) أو Server Side Public License [SSPL](https://en.wikipedia.org/wiki/Server_Side_Public_License)، قيودًا على الاستخدام ونموذج العمل قد تجعلها تبدو كأنها تحت تراخيص مفتوحة المصدر، لكنها قد تمنع مشروعك من أن يُعتبر Open Source كما تحدده [Open Source Initiative (OSI)](https://opensource.org/).
تعتمد المشاريع غالبًا على **محتوى غير برمجي** مثل الصور أو الأيقونات أو مقاطع الفيديو أو الخطوط أو ملفات البيانات أو مواد أخرى، والتي تخضع لتراخيصها الخاصة. وكما هو الحال مع تبعيات البرمجيات التقليدية، تتراوح تراخيص هذه المواد من تجارية إلى مرنة إلى كوبيلفت. أنشأت منظمة [Creative Commons](https://creativecommons.org/share-your-work/cclicenses/)، وهي منظمة غير ربحية، سلسلة من التراخيص الشائعة للمحتوى غير البرمجي تتدرج من [CC0](https://creativecommons.org/publicdomain/zero/1.0/deed.en) إلى [CC-BY](https://creativecommons.org/licenses/by/4.0/deed.en) إلى [CC-SA](https://creativecommons.org/licenses/by-sa/2.0/deed.en)، ويمكنها أحيانًا تقييد الاستخدام التجاري بإضافة خيار (NC) إلى هذه التراخيص.
قد ترغبين أيضًا في أخذ **communities** التي تأملين أن تستخدم مشروعك وتساهم فيه بعين الاعتبار.
* **هل تريد أن يُستخدم مشروعك كـ dependency من قبل مشاريع أخرى؟** من الأفضل على الأرجح استخدام الترخيص الأكثر شيوعًا في المجتمع ذي الصلة. على سبيل المثال، [MIT](https://choosealicense.com/licenses/mit/) هو الترخيص الأكثر شيوعًا لمكتبات [npm](https://libraries.io/search?platforms=NPM).
* **هل تريد أن يجذب مشروعك الشركات الكبيرة؟** قد تشعر الشركة الكبيرة بالراحة عند وجود ترخيص براءة اختراع صريح من جميع المساهمين. في هذه الحالة، يغطيك [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) (ويغطيهم أيضًا).
* **هل تريد أن يجذب مشروعك المساهمين الذين لا يرغبون في أن تُستخدم مساهماتهم في برامج مغلقة المصدر؟** سيكون [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) أو (إذا لم يرغبوا أيضًا في المساهمة في خدمات مغلقة المصدر) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) مناسبًا لهم.
قد يكون لشركتك **company** سياسات بشأن تراخيص المشاريع مفتوحة المصدر. بعض الشركات تتطلب أن تحمل مشاريعك ترخيصًا permissive للسماح بالتكامل مع منتجات الشركة المملوكة، بينما تفرض سياسات أخرى ترخيصًا strong copyleft واتفاقية مساهم إضافية ([انظري أدناه](#هل-يحتاج-مشروعي-الى-اتفاقية-مساهم-اضافية)) بحيث يمكن لشركتك فقط استخدام المشروع في برامج مغلقة المصدر. قد يكون لدى المؤسسات أيضًا معايير معينة، أو أهداف مسؤولية اجتماعية، أو احتياجات للشفافية تتطلب استراتيجية ترخيص محددة. استشيري [القسم القانوني لشركتك](#ماذا-يحتاج-فريق-الشؤون-القانونية-في-شركتي-لمعرفته) للحصول على التوجيه.
عند إنشاء مشروع جديد على GitHub، يُعطى لك خيار اختيار ترخيص. تضمين أحد التراخيص المذكورة أعلاه سيجعل مشروعك على GitHub مفتوح المصدر. إذا رغبت في الاطلاع على خيارات أخرى، تفقد [choosealicense.com](https://choosealicense.com) للعثور على الترخيص المناسب لمشروعك، حتى لو [لم يكن برنامجًا](https://choosealicense.com/non-software/).
## ماذا لو أردت تغيير ترخيص مشروعي؟
معظم المشاريع لا تحتاج أبداً إلى تغيير التراخيص. لكن في بعض الأحيان تتغير الظروف
على سبيل المثال، مع نمو مشروعك، قد تضيف اعتمادات أو مستخدمين، أو قد تغير شركتك استراتيجياتها، وكل ذلك قد يتطلب أو يرغب في ترخيص مختلف. أيضًا، إذا أهملت ترخيص مشروعك منذ البداية، فإن إضافة ترخيص جديد تُعادل فعليًا تغيير التراخيص. هناك ثلاث أمور أساسية يجب مراعاتها عند إضافة أو تغيير ترخيص مشروعك.
**الأمر معقد**، تحديد مدى توافق التراخيص والامتثال لها ومعرفة من يحمل حقوق الطبع والنشر يمكن أن يصبح معقدًا ومركبًا بسرعة. الانتقال إلى ترخيص جديد لكن متوافق للإصدارات والمساهمات الجديدة يختلف عن إعادة ترخيص جميع المساهمات الحالية. شارك فريقك القانوني بمجرد ظهور أي رغبة في تغيير التراخيص، حتى لو كان لديك أو يمكنك الحصول على موافقة من أصحاب حقوق الطبع والنشر لمشروعك لتغيير التراخيص، فكر في تأثير هذا التغيير على المستخدمين والمساهمين الآخرين في مشروعك. اعتبر تغيير التراخيص كـ "حدث حوكمة" لمشروعك، ومن المرجح أن يسير بسلاسة مع تواصل واضح واستشارة أصحاب المصلحة. كل هذه أسباب إضافية لاختيار واستخدام ترخيص مناسب لمشروعك منذ البداية!
**الترخيص الحالي لمشروعك.** إذا كان الترخيص الحالي لمشروعك متوافقًا مع الترخيص الذي تريد التغيير إليه، فيمكنك ببساطة البدء في استخدام الترخيص الجديد. ذلك لأنه إذا كان الترخيص "أ" متوافقًا مع الترخيص "ب"، فستكون متوافقًا مع شروط "أ" أثناء امتثالك لشروط "ب" (ولكن ليس بالضرورة العكس). لذا، إذا كنت تستخدم حاليًا ترخيصًا و أي إشعارات حقوق طبع ونشر مرتبطة به MIT، فيمكنك التغيير إلى ترخيص به شروط أكثر، طالما احتفظت بنسخة من ترخيص (MIT)، ولم تكن أنت المالك الوحيد لحقوق الطبع والنشر (أو ليس لديك ترخيص copyleft)، ولكن إذا كان ترخيصك الحالي غير متساهل مثل MIT، أي استمر في الوفاء بالشروط الدنيا للترخيص. أساسًا، مع الترخيص المتساهل، يكون أصحاب حقوق الطبع والنشر للمشروع قد منحوا الإذن مسبقًا بتغيير التراخيص، فلن تتمكن من تغيير ترخيص مشروعك إلى MIT.
**حاملو حقوق الطبع والنشر الحاليون لمشروعك.** إذا كنت المساهم الوحيد في مشروعك، فإما أنت أو شركتك هو المالك الوحيد لحقوق الطبع والنشر للمشروع، ويمكنك إضافة أو تغيير الترخيص كما تشاء أنت أو شركتك. أما إذا كان هناك أصحاب حقوق نشر آخرون، فستحتاج إلى موافقتهم لتغيير الترخيص. من هم؟ [الأشخاص الذين لديهم مساهمات (commits) في مشروعك](https://github.com/thehale/git-authorship) مكان جيد للبدء، ولكن في بعض الحالات تكون حقوق النشر مملوكة لأصحاب عمل هؤلاء الأشخاص. في حالات أخرى، قد تكون مساهماتهم بسيطة، لكن لا توجد قاعدة صارمة تنص على أن المساهمات الصغيرة لا تخضع لحقوق الطبع والنشر. ماذا تفعل؟ يعتمد ذلك على حجم المشروع وعمره؛ فبالنسبة للمشاريع الصغيرة والحديثة نسبيًا، يمكن الحصول على موافقة جميع المساهمين الحاليين على تغيير الترخيص عبر issue أو pull request، أما المشاريع الكبيرة والمستمرة منذ فترة طويلة، فقد تحتاج إلى التواصل مع العديد من المساهمين وحتى ورثتهم. استغرقت موزيلا سنوات (2001-2006) لإعادة ترخيص فايرفوكس وثندربرد والبرمجيات ذات الصلة.
بدلاً من ذلك، يمكنك أن يوافق المساهمون مسبقًا على تغييرات معينة في الترخيص عبر اتفاقية مساهم إضافية ([انظر أدناه](#هل-يحتاج-مشروعي-الى-اتفاقية-مساهم-اضافية))، مما يقلل بعض الشيء من تعقيد تغيير التراخيص؛ ستحتاج لمزيد من المساعدة من محاميك في البداية، وستظل بحاجة للتواصل بوضوح مع أصحاب المصلحة في مشروعك عند تنفيذ تغيير الترخيص.
## هل يحتاج مشروعي إلى اتفاقية مساهم إضافية؟ {#هل-يحتاج-مشروعي-الى-اتفاقية-مساهم-اضافية}
على الأرجح لا. بالنسبة لغالبية مشاريع المصدر المفتوح، فإن الترخيص مفتوح المصدر يُعد ضمنيًا بمثابة ترخيص **inbound** (من المساهمين) و **outbound** (إلى المساهمين والمستخدمين الآخرين). إذا كان مشروعك على GitHub، فإن شروط خدمة GitHub تجعل "inbound=outbound" [افتراضيًا وصريحًا](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
عملاً إداريًا على القائمين على صيانة المشروع، يمكن أن تخلق اتفاقية المساهم الإضافية (CLA) مقدار العمل الإضافي الذي تضيفه الاتفاقية حسب المشروع وطريقة التنفيذ. قد تتطلب الاتفاقية البسيطة من المساهمين فقط تأكيدًا، بنقرة واحدة، على أن لديهم الحقوق اللازمة للمساهمة بموجب ترخيص المصادر المفتوحة للمشروع، أما الاتفاقية الأكثر تعقيدًا فقد تتطلب مراجعة قانونية وموافقة رسمية من أصحاب عمل المساهمين.
أيضاً من خلال إضافة "أعمال ورقية" يعتقد البعض أنها غير ضرورية أو يصعب فهمها أو غير عادلة(عندما يحصل متلقي الاتفاقية على حقوق أكثر من المساهمين أو الجمهور عبر ترخيص المصادر المفتوحة للمشروع)، قد يُنظر إلى اتفاقية المساهم الإضافية على أنها غير ودية تجاه مجتمع المشروع .
بعض الحالات التي قد ترغب فيها في النظر في اتفاقية مساهم إضافية لمشروعك تشمل :
* يريد محاموك من جميع المساهمين قبول شروط المساهمة صراحةً (_sign_، عبر الإنترنت أو خارجه)، ربما لأنهم يشعرون أن الترخيص مفتوح المصدر نفسه لا يكفي (حتى وإن كان يكفي!). إذا كان هذا هو القلق الوحيد، فستكون اتفاقية المساهم التي تؤكد على ترخيص المشروع مفتوح المصدر كافية. اتفاقية [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) هي مثال جيد على اتفاقية مساهم إضافية خفيفة الوزن.
* أنت أو محاموك تريدون من المطورين التصريح بأن كل commit يقومون به مُصرح به. مطلب [Developer Certificate of Origin](https://developercertificate.org/) هو الطريقة التي تحقق بها العديد من المشاريع ذلك. على سبيل المثال، مجتمع Node.js [يستخدم](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) الـ DCO [بدلاً](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) من اتفاقية CLA السابقة. خيار بسيط لأتمتة فرض الـ DCO على مستودعك هو [DCO Probot](https://github.com/probot/dco).
* مشروعك يستخدم ترخيصًا مفتوح المصدر لا يتضمن منح براءة اختراع صريح (مثل MIT)، وتحتاج إلى منح براءة اختراع من جميع المساهمين، بعضهم قد يعمل في شركات لديها محافظ براءات اختراع كبيرة يمكن استخدامها لاستهدافك أو استهداف مساهمي ومستخدمي المشروع الآخرين. اتفاقية [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) هي اتفاقية مساهم إضافية شائعة الاستخدام تحتوي على منح براءة اختراع مماثل للذي يوجد في Apache License 2.0.
* مشروعك تحت ترخيص copyleft، ولكنك تحتاج أيضًا لتوزيع نسخة مملوكة من المشروع. ستحتاج إلى أن يقوم كل مساهم بتخصيص حقوق الطبع والنشر لك أو منحك (وليس للجمهور) ترخيصًا permissive. اتفاقية [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) هي مثال على هذا النوع من الاتفاقيات.
* تعتقد أن مشروعك قد يحتاج إلى تغيير التراخيص خلال عمره وتريد من المساهمين الموافقة مسبقًا على مثل هذه التغييرات لتقليل تشتت انتباه المساهمين.
إذا كنت بحاجة إلى استخدام اتفاقية مساهم إضافية مع مشروعك، فكر في استخدام تكامل مثل [CLA assistant](https://github.com/cla-assistant/cla-assistant) لتقليل تشتت المساهمين.
## ماذا يحتاج فريق الشؤون القانونية في شركتي لمعرفته؟ {#ماذا-يحتاج-فريق-الشؤون-القانونية-في-شركتي-لمعرفته}
إذا كنت تطرح مشروعاً مفتوح المصدر كموظف في الشركة، يجب أولاً أن يعرف فريق الشؤون القانونية أنك تطرح مشروعاً مفتوح المصدر.
للخير أو للشر، فكر في إعلامهم حتى لو كان مشروعك شخصيًا. من المحتمل أن يكون لديك "اتفاقية حقوق ملكية فكرية للموظف" مع شركتك تمنحهم بعض السيطرة على مشاريعك، خاصة إذا كانت مرتبطة بأعمال الشركة أو استخدمت أي موارد للشركة لتطوير المشروع. يجب أن تمنحك شركتك الإذن بسهولة، وربما تكون قد فعلت ذلك بالفعل عبر اتفاقية حقوق ملكية فكرية صديقة للموظف أو سياسة للشركة. إذا لم يكن الأمر كذلك، يمكنك التفاوض (على سبيل المثال، شرح أن مشروعك يخدم أهداف التعلم والتطوير المهني للشركة بالنسبة لك)، أو تجنب العمل على مشروعك حتى تجد شركة أفضل.
**إذا كنت تحول مشروعًا مفتوح المصدر لشركتك،** فبالتأكيد أخبرهم. من المحتمل أن يكون لفريقك القانوني سياسات بالفعل حول الترخيص مفتوح المصدر الذي يجب استخدامه (وربما اتفاقية مساهم إضافية) استنادًا إلى متطلبات أعمال الشركة وخبرتها في ضمان امتثال مشروعك لتراخيص اعتماداتها. إذا لم يكن الأمر كذلك، فأنت وفريقك محظوظون! يجب أن يكون فريقك القانوني متحمسًا للعمل معك لفهم هذه الأمور. بعض الأشياء للتفكير بها:
* **المواد التابعة لطرف ثالث:** هل يحتوي مشروعك على اعتمادات أنشأها آخرون أو يستخدم كودًا لآخرين؟ إذا كانت هذه الاعتمادات مفتوحة المصدر، فستحتاج إلى الامتثال لتراخيصها. يبدأ ذلك باختيار ترخيص يتوافق مع تراخيص الطرف الثالث مفتوح المصدر ([انظر أعلاه](#اي-ترخيص-مفتوح-المصدر-مناسب-لمشروعي)). إذا كان مشروعك يعدل أو يوزع مواد طرف ثالث مفتوح المصدر، فسيرغب فريقك القانوني أيضًا في التأكد من التزامك بالشروط الأخرى لتراخيص الطرف الثالث، مثل الاحتفاظ بإشعارات حقوق الطبع والنشر. إذا كان مشروعك يستخدم كودًا لآخرين لا يحتوي على ترخيص مفتوح المصدر، فربما تحتاج إلى طلب من القائمين على هذا الكود [إضافة ترخيص مفتوح المصدر](https://choosealicense.com/no-license/#for-users)، وإذا لم تتمكن من الحصول عليه، توقف عن استخدام كودهم في مشروعك.
* **الأسرار التجارية:** فكر فيما إذا كان هناك أي شيء في المشروع لا ترغب الشركة في جعله متاحًا للجمهور. إذا كان الأمر كذلك، يمكنك جعل بقية مشروعك مفتوح المصدر بعد استخراج المواد التي تريد الاحتفاظ بها خاصة.
* **براءات الاختراع:** هل تتقدم شركتك للحصول على براءة اختراع، بحيث أن تحويل مشروعك إلى مفتوح المصدر يشكل [إفصاحًا عامًا](https://en.wikipedia.org/wiki/Public_disclosure)؟ للأسف، قد يُطلب منك الانتظار (أو ربما تعيد الشركة النظر في جدوى تقديم الطلب). إذا كنت تتوقع مساهمات في مشروعك من موظفين في شركات لديها محافظ براءات اختراع كبيرة، فقد يرغب فريقك القانوني في أن تستخدم ترخيصًا يتضمن منح براءة اختراع صريح من المساهمين (مثل Apache 2.0 أو GPLv3)، أو اتفاقية مساهم إضافية ([انظر أعلاه](#اي-ترخيص-مفتوح-المصدر-مناسب-لمشروعي)).
* **العلامات التجارية:** تحقق مرتين من أن اسم مشروعك [لا يتعارض مع أي علامات تجارية موجودة](../starting-a-project/#تجنب-تعارضات-الاسماء). إذا استخدمت علاماتك التجارية الخاصة بالشركة في المشروع، تحقق من أنها لا تسبب أي تعارض. [FOSSmarks](http://fossmarks.org/) هو دليل عملي لفهم العلامات التجارية في سياق المشاريع الحرة ومفتوحة المصدر.
* **الخصوصية:** هل يجمع مشروعك بيانات عن المستخدمين؟ هل يقوم "بالاتصال بخوادم الشركة"؟ يمكن لفريقك القانوني مساعدتك في الامتثال لسياسات الشركة واللوائح الخارجية.
* **الذكاء الاصطناعي (AI):** مع تكامل نماذج ووظائف الذكاء الاصطناعي في البرمجيات، من الضروري فهم اتفاقيات الترخيص والتشريعات ذات الصلة التي تتحكم في استخدامها. حتى عندما يدعي نموذج أو خدمة أنها تحت ترخيص مفتوح المصدر قياسي، قد تفرض الشروط الإضافية قيودًا، مثل منع الإساءة أو الاحتيال. التشريعات الجديدة تضع أيضًا قيودًا على أنواع الأنظمة أو الإجراءات التي يمكن تنفيذها بواسطة البرمجيات المعتمدة على الذكاء الاصطناعي.
* **قائمة مكونات البرمجيات (Software Bill of Materials - SBOM):** قائمة مكونات البرمجيات هي قائمة شاملة بالاعتمادات التابعة لطرف ثالث، الإصدارات، التراخيص المرتبطة، وبيانات وصفية أخرى. تُفرض SBOMs قانونيًا في بعض الدول أو الصناعات أو بسبب الالتزامات التعاقدية. غالبًا ما يبدأ طلب SBOM رحلة الامتثال للتراخيص لمنظمة ما.
إذا كنت تطلق أول مشروع مفتوح المصدر لشركتك، فإن ما سبق أكثر من كافٍ للمرور به (لكن لا تقلق، فمعظم المشاريع لا ينبغي أن تثير أي مخاوف كبيرة).
على المدى الطويل، يمكن لفريقك القانوني أن يقوم بالمزيد لمساعدة الشركة على الاستفادة أكثر من مشاركتها في المصدر المفتوح، والبقاء آمنة.
* **سياسات مساهمة الموظفين:** فكر في تطوير سياسة شركية تحدد كيف يساهم موظفوك في مشاريع مفتوحة المصدر. ستقلل سياسة واضحة من الالتباس بين الموظفين وتساعدهم على المساهمة في مشاريع مفتوحة المصدر بما يخدم مصلحة الشركة، سواء كجزء من وظائفهم أو في أوقات فراغهم. مثال جيد هو [Model IP and Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/) لشركة Rackspace.
* **ما الذي يجب إصداره:** [(تقريبًا) كل شيء؟](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) إذا كان فريقك القانوني يفهم ويشارك في استراتيجية شركتك للمصدر المفتوح، فسيكون أفضل من يساعدك بدلاً من عرقلة جهودك.
* **الامتثال:** حتى إذا لم تصدر شركتك أي مشاريع مفتوحة المصدر، فهي تستخدم برمجيات مفتوحة المصدر للآخرين. يمكن أن تمنع [الوعي والعمليات](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) الصداع، وتأخير المنتجات، والدعاوى القضائية.
* **براءات الاختراع:** قد ترغب شركتك في الانضمام إلى [Open Invention Network](https://www.openinventionnetwork.com/)، وهي تجمع دفاعي مشترك للبراءات لحماية استخدام الأعضاء للمشاريع مفتوحة المصدر الكبرى، أو استكشاف خيارات [ترخيص براءات اختراع بديلة](https://www.eff.org/document/hacking-patent-system-2016).
* **الحوكمة:** خاصة إذا ومتى كان من المنطقي نقل مشروع إلى [كيان قانوني خارج الشركة](../leadership-and-governance/#هل-أحتاج-إلى-كيان-قانوني-لدعم-مشروعي).
================================================
FILE: _articles/ar/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: ar
title: الحفاظ على التوازن لمشرفي المشاريع مفتوحة المصدر
description: نصائح للعناية الذاتية وتجنب الإرهاق كمشرف
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
مع تزايد شعبية المشروع مفتوح المصدر، يصبح من الضروري وضع حدود واضحة لمساعدتك في الحفاظ على التوازن، لتبقى متجددًا ومنتجًا على المدى الطويل.
للحصول على فهم أعمق لتجارب المشرفين واستراتيجياتهم في إيجاد التوازن، أجرينا ورشة عمل بمشاركة 40 عضوًا من مجتمع المشرفين, مما أتاح لنا التعلّم من تجاربهم المباشرة مع الإرهاق في مشاريع المصادر المفتوحة، والممارسات التي ساعدتهم على الحفاظ في التوازن في عملهم. وهنا يأتي دور مفهوم البيئة الشخصية (Personal Ecology).
إذًا, ما هي البيئة الشخصية (Personal Ecology) كما ورد في وصف معهد Rockwood للقيادة, يتضمن الأمر "الحفاظ على التوازن، والسرعة، والكفاءة للحفاظ على طاقتنا على مدى الحياة." لقد أطّر هذا الأمر محادثاتنا، وساعد المشرفين في إدراك أن أفعالهم ومساهماتهم هي أجزاء من نظام بيئي أكبر يتطور مع مرور الوقت. الإرهاق، وهو متلازمة ناتجة عن الإجهاد المزمن في مكان العمل [كما عرّفتها منظمة الصحة العالمية (WHO)](https://icd.who.int/browse/2025-01/foundation/en#129180281), ليس أمرًا نادر الحدوث بين المشرفين. وغالبًا ما يؤدي هذا إلى فقدان الدافع، وعدم القدرة على التركيز، ونقص التعاطف مع المساهمين والمجتمع الذي تعمل معه.
من خلال تبنّي مفهوم البيئة الشخصية (Personal Ecology)، يمكن للمُشرفين أن يتجنبوا الإرهاق (burnout)، وإعطاء الأولوية للعناية بالنفس، والحفاظ على إحساسٍ بالتوازن يمكّنهم من أداء عملهم بأفضل صورة ممكنة.
## نصائح للعناية الذاتية وتجنب الإرهاق بصفتك مُشرفًا:
### حدّد دوافعك للعمل في المشاريع مفتوحة المصدر
خذ وقتًا للتفكير في جوانب صيانة المشاريع مفتوحة المصدر التي تمنحك الطاقة والحماس . إن فهم دوافعك يمكن أن يساعدك على ترتيب أولويات عملك بطريقة تُبقيك متحمّسًا ومستعدًا لمواجهة التحديات الجديدة. سواء كان ذلك التعليقات الإيجابية من المستخدمين، أو متعة التعاون والتفاعل مع المجتمع، أو الإحساس بالرضا عند التعمق في الكود — فإن إدراكك لما يُحفّزك يمكن أن يوجّه تركيزك بشكل أفضل.
### فكِّر فيما يجعلك تفقد توازنك وتشعر بالتوتر
من المهم أن نفهم ما الذي يسبب لنا الإرهاق. فيما يلي بعض النقاط المشتركة التي لاحظناها بين مُشرفي المشاريع مفتوحة المصدر:
* **نقص التعليقات الإيجابية:** المستخدمون غالبًا ما يتواصلون فقط عندما تكون لديهم شكوى. أما إذا كان كل شيء يعمل بشكل جيد، فإنهم يميلون إلى الصمت. قد يكون الأمر محبطًا أن رؤية قائمة متزايدة من المشكلات دون أن تتلقى ملاحظات إيجابية تُظهر كيف أن مساهماتك تُحدث فرقًا فعليًا.
* **عدم قول "لا":** قد يكون من السهل أن تتحمّل مسؤوليات أكثر مما ينبغي في مشروع مفتوح المصدر. سواء كانت الطلبات من المستخدمين أو المساهمين أو حتى المشرفين الآخرين على المشروع — لا يمكننا دائمًا تلبية جميع التوقعات.
* **العمل بمفردك:** قد يكون عمل المُشرف شديد العزلة. حتى لو كنت تعمل مع مجموعة من المُشرفين، فقد كانت السنوات القليلة الماضية صعبة فيما يخص جمع الفرق الموزعة والعمل سويًا بشكل مباشر (وجهاً لوجه).
* **عدم توفر وقت أو موارد كافية:** ينطبق هذا بشكلٍ خاص على المشرفين على المشاريع التطوعية، الذين يضطرون إلى التضحية بوقت فراغهم للعمل على المشروع.
* **المطالب المتعارضة:** مشاريع المصدر المفتوح مليئة بمجموعات ذات دوافع مختلفة، قد يكون من الصعب التوفيق بينها. وإذا كنت تتقاضى أجرًا مقابل عملك في المصدر المفتوح، فقد تتعارض أحيانًا مصالح جهة عملك مع المجتمع.
### احذر من علامات الإرهاق
هل يمكنك الحفاظ على وتيرتك لمدة 10 أسابيع؟ 10 أشهر؟ 10 سنوات؟
توجد أدوات مثل قائمة التحقق من الإرهاق [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) من [@shaunagm](https://github.com/shaunagm) التي يمكن أن تساعدك على التأمل في وتيرتك الحالية ومعرفة ما إذا كان بإمكانك إجراء أي تعديلات. يستخدم بعض المشرفين أيضًا الأجهزة القابلة للارتداء (wearable technology) لتتبع مقاييس مثل جودة النوم وتقلّب معدل ضربات القلب (كلاهما مرتبط بالتوتر).
### ما الذي تحتاجه للاستمرار في دعم نفسك ومجتمعك؟
سيختلف ذلك من مشرف لآخر، وسيتغير حسب مراحل حياتك والعوامل الخارجية، ولكن إليك بعض المواضيع التي سمعناها:
* **الاعتماد على المجتمع:** التفويض وإيجاد مساهمين يمكن أن يخفف من عبء العمل. وجود عدة نقاط اتصال للمشروع يساعدك على أخذ استراحة دون قلق. تواصل مع مشرفين آخرين والمجتمع الأوسع – في مجموعات مثل مجتمع المشرفين [Maintainer Community](http://maintainers.github.com/). يمكن أن تكون هذه المجتمعات مصدرًا رائعًا للدعم والتعلّم المتبادل.
يمكنك أيضًا البحث عن طرق للتفاعل مع مجتمع المستخدمين، لتسمع الملاحظات بانتظام وتفهم تأثير عملك في مشاريع مفتوحة المصدر.
* **استكشاف التمويل:** سواء كنت تبحث عن بعض المال لشراء "بيتزا" 🍕، أو تحاول الانتقال إلى المشاريع مفتوحة المصدر بدوام كامل، فهناك العديد من الموارد للمساعدة! كخطوة أولى، فكر في تفعيل [GitHub Sponsors](https://github.com/sponsors) للسماح للآخرين برعاية عملك. إذا كنت تفكر في الانتقال إلى العمل بدوام كامل، قدّم طلبًا للانضمام إلى [GitHub Accelerator](http://accelerator.github.com/).
* **استخدام الأدوات:** استكشف أدوات مثل [GitHub Copilot](https://github.com/features/copilot/) و [GitHub Actions](https://github.com/features/actions) لأتمتة المهام الروتينية وتحرير وقتك للمساهمات الأكثر أهمية.
* **الراحة وإعادة الشحن:** خصص وقتًا لهواياتك واهتماماتك خارج المشاريع مفتوحة المصدر. خذ عطلات نهاية الأسبوع للاسترخاء وتجديد النشاط، واضبط حالتك على [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) لتعكس مدى توفرك! النوم الجيد لليلة واحدة يمكن أن يحدث فرقًا كبيرًا في قدرتك على الاستمرار على المدى الطويل.
إذا وجدت أن جوانب معينة من مشروعك ممتعة بشكل خاص، فحاول هيكلة عملك بحيث يمكنك تجربتها على مدار يومك.
* **وضع الحدود:** لا يمكنك قول "نعم" لكل طلب. يمكن أن يكون ذلك ببساطة بقولك: "لا أستطيع القيام بذلك الآن، وليس لدي خطط لذلك في المستقبل." أو سرد ما تهتم بفعله وما لا تهتم بفعله في ملف README. على سبيل المثال، يمكنك أن تقول: "أنا أدمج فقط طلبات (PRs) التي تشرح بوضوح سبب إنشائها" أو "أنا أراجع المشكلات فقط في أيام الخميس البديلة من الساعة 6 إلى 7 مساءً.”هذا يحدد التوقعات للآخرين، ويمنحك شيئًا للإشارة إليه في الأوقات الأخرى للمساعدة في تخفيف المطالب التي يفرضها المساهمون أو المستخدمون على وقتك.
تعلم أن تكون حازمًا في إيقاف السلوك السام والتفاعلات السلبية. لا بأس ألا تمنح طاقتك للأشياء التي لا تهتم بها.
تذكر، أن البيئة الشخصية (personal ecology) هي ممارسة مستمرة ستتطور مع تقدمك في رحلة المشاريع مفتوحة المصدر. من خلال إعطاء الأولوية للرعاية الذاتية والحفاظ على الشعور بالتوازن، يمكنك المساهمة في مجتمع open sources بفعالية واستدامة، مما يضمن رفاهيتك ونجاح مشاريعك على المدى الطويل.
## مصادر إضافية
* [مجتمع المشرفين](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [كيفية التعامل مع الأشخاص السامين](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [فن القيادة من روكوود](https://rockwoodleadership.org/art-of-leadership/)
* [قول لا](https://mikemcquaid.com/saying-no/)
* تم إعداد جدول الورشة بالاستناد إلى سلسلة [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/)
## المساهمون
جزيل الشكر لجميع المشرفين الذين شاركوا تجاربهم ونصائحهم معنا في هذا الدليل!
كتب هذا الدليل بواسطة @abbycabs بمساهمات من:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + وغيرهم الكثير!
================================================
FILE: _articles/ar/metrics.md
================================================
---
lang: ar
title: مقاييس المشاريع مفتوحة المصدر
description: اتخذ قرارات مستنيرة لمساعدة مشروعك مفتوح المصدر على الازدهار من خلال قياس وتتبع نجاحه
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## لماذا نقيس أي شيء؟
يمكن أن تساعدك البيانات، عند استخدامها بحكمة، على اتخاذ قرارات أفضل بصفتك مسؤول مصدر مفتوح.
مع مزيد من المعلومات، يمكنك:
* فهم كيفية استجابة المستخدمين لميزة جديدة
* معرفة مصدر المستخدمين الجدد
* تحديد حالات الاستخدام أو الوظائف الشاذة واتخاذ قرار بشأن دعمها
* قياس شهرة مشروعك
* فهم كيفية استخدام مشروعك
* جمع الأموال من خلال الرعاية والمنح
على سبيل المثال, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) يجدون أن Google Analytics يساعدهم في تحديد أولويات العمل:
> يتم توفير Homebrew مجانًا ويتم تشغيله بالكامل من قبل متطوعين في أوقات فراغهم. ونتيجة لذلك، لا تتوفر لدينا الموارد اللازمة لإجراء دراسات مفصلة عن مستخدمي Homebrew لتحديد أفضل طريقة لتصميم الميزات المستقبلية وتحديد أولويات العمل الحالي. تسمح لنا تحليلات المستخدمين المجمعة المجهولة الهوية بتحديد أولويات الإصلاحات والميزات بناءً على كيفية ومكان وزمان استخدام الأشخاص لـ Homebrew.
الشهرة ليست كل شيء. كل شخص ينضم إلى مجتمع المصادر المفتوحة لأسباب مختلفة. إذا كان هدفك كمسؤول عن المصادر المفتوحة هو التباهي بعملك، أو أن تكون شفافًا بشأن الكود الخاص بك، أو مجرد الاستمتاع، فقد لا تكون المقاييس مهمة بالنسبة لك.
إذا كنت مهتمًا بفهم مشروعك على مستوى أعمق، فتابع القراءة لتتعرف على طرق تحليل نشاط مشروعك.
## الاكتشاف
قبل أن يتمكن أي شخص من استخدام مشروعك أو المساهمة فيه، يجب أن يعرف بوجوده. اسأل نفسك: _هل يجد الناس هذا المشروع؟_

إذا كان مشروعك مستضافًا على GitHub, [يمكنك مشاهدة](https://help.github.com/articles/about-repository-graphs/#traffic) عدد الأشخاص الذين يزورون مشروعك ومن أين يأتون. من صفحة مشروعك، انقر على "Insights"، ثم "Traffic". في هذه الصفحة، يمكنك رؤية:
* **إجمالي عدد مشاهدات الصفحة:** يخبرك بعدد مرات مشاهدة مشروعك
* **إجمالي عدد الزوار الفريدين:** يخبرك بعدد الأشخاص الذين شاهدوا مشروعك
* **المواقع المرجعية:** يخبرك من أين جاء الزوار. يمكن أن تساعدك هذه المقياس في معرفة أين يمكنك الوصول إلى جمهورك وما إذا كانت جهودك الترويجية تؤتي ثمارها.
* **المحتوى الشائع:** يخبرك أين يذهب الزوار في مشروعك، موزعًا حسب عدد مرات مشاهدة الصفحة والزوار الفريدين.
[نجوم GitHub](https://help.github.com/articles/about-stars/) يمكن أن تساعد أيضًا في توفير مقياس أساسي للشهرة. على الرغم من أن نجوم GitHub لا ترتبط بالضرورة بالتنزيلات والاستخدام، إلا أنها يمكن أن تخبرك بعدد الأشخاص الذين ينتبهون إلى عملك.
قد ترغب أيضًا في [تتبع إمكانية الاكتشاف في أماكن محددة](https://opensource.com/business/16/6/pirate-metrics): على سبيل المثال، Google PageRank، أو حركة المرور المرجعية من موقع الويب الخاص بمشروعك، أو الإحالات من مشاريع أو مواقع ويب أخرى مفتوحة المصدر.
## الاستخدام
يجد الناس مشروعك على هذا الشيء الجامح والمجنون الذي نسميه الإنترنت. في الحالة المثالية، عندما يرون مشروعك، سيشعرون برغبة ملحة في القيام بشيء ما. السؤال الثاني الذي سترغب في طرحه هو: _هل يستخدم الناس هذا المشروع؟_
إذا كنت تستخدم مدير حزم، مثل npm أو RubyGems.org، لتوزيع مشروعك، فقد تتمكن من تتبع تنزيلات مشروعك.
قد يستخدم كل مدير حزم تعريفًا مختلفًا قليلاً لمصطلح "تنزيل"، ولا يرتبط التنزيل بالضرورة بالتثبيت أو الاستخدام، ولكنه يوفر أساسًا للمقارنة. جرب استخدام [Libraries.io](https://libraries.io/) لتتبع إحصائيات الاستخدام عبر العديد من برامج إدارة الحزم الشائعة.
إذا كان مشروعك موجودًا على GitHub، فانتقل مرة أخرى إلى صفحة "Traffic". يمكنك استخدام [clone graph](https://github.com/blog/1873-clone-graphs) لمعرفة عدد المرات التي تم فيها نسخ مشروعك في يوم معين، مقسمة حسب إجمالي النسخ والمستنسخين الفريدين.

إذا كان الاستخدام منخفضًا مقارنة بعدد الأشخاص الذين يكتشفون مشروعك، فهناك مسألتان يجب أخذهما في الاعتبار. إما:
* مشروعك لا ينجح في تحويل جمهورك، أو
* أنت تجذب الجمهور الخطأ
على سبيل المثال، إذا ظهر مشروعك على الصفحة الأولى من Hacker News، فمن المحتمل أن تشهد ارتفاعًا في الاكتشاف (traffic)، ولكن معدل تحويل أقل، لأنك تصل إلى جميع مستخدمي Hacker News. ولكن إذا تم عرض مشروع Ruby الخاص بك في مؤتمر Ruby، فمن المرجح أن تشهد معدل تحويل مرتفعًا من الجمهور المستهدف.
حاول معرفة من أين يأتي جمهورك واطلب من الآخرين إبداء آرائهم حول صفحة مشروعك لمعرفة أي من هاتين المشكلتين تواجهها.
بمجرد أن تعرف أن الناس يستخدمون مشروعك، قد ترغب في محاولة معرفة ما يفعلون به. هل يبنون عليه عن طريق تفرع الكود الخاص بك وإضافة ميزات؟ هل يستخدمونه في مجال العلوم أو الأعمال؟
## الاحتفاظ
الناس يجدون مشروعك ويستخدمونه. السؤال التالي الذي ستطرحه على نفسك هو: _هل يساهم الناس في هذا المشروع؟_
ليس من المبكر أبدًا البدء في التفكير في المساهمين. بدون مساهمة الآخرين، فإنك تخاطر بوضع نفسك في موقف غير صحي حيث يكون مشروعك _شائعًا_ (يستخدمه الكثير من الناس) ولكنه غير _مدعوم_ (لا يوجد وقت كافٍ للمسؤولين عن الصيانة لتلبية الطلب).
الاحتفاظ يتطلب أيضًا [تدفق مساهمين جدد](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), لأن المساهمين النشطين سابقًا سينتقلون في النهاية إلى أمور أخرى.
من الأمثلة على المقاييس المجتمعية التي قد ترغب في تتبعها بانتظام ما يلي:
* **إجمالي عدد المساهمين وعدد الالتزامات لكل مساهم:** يخبرك بعدد المساهمين لديك، ومن منهم أكثر أو أقل نشاطًا. على GitHub، يمكنك عرض ذلك تحت "Insights" -> "Contributors". في الوقت الحالي، لا يحسب هذا المخطط سوى المساهمين الذين التزموا بالفرع الافتراضي للمستودع.

* **المساهمون الجدد والعرضيون والمتكررون:** يساعدك على تتبع ما إذا كنت تحصل على مساهمين جدد، وما إذا كانوا يعودون. (المساهمون العرضيون هم المساهمون الذين لديهم عدد قليل من الالتزامات. سواء كان ذلك التزامًا واحدًا، أو أقل من خمسة التزامات، أو أي شيء آخر، فهذا الأمر متروك لك). بدون مساهمين جدد، يمكن أن يصبح مجتمع مشروعك راكدًا.
* **عدد المشكلات المفتوحة وطلبات السحب المفتوحة:** إذا ارتفعت هذه الأرقام بشكل كبير، فقد تحتاج إلى مساعدة في فرز المشكلات ومراجعة الأكواد.
* **عدد المشكلات _المفتوحة_ وطلبات السحب _المفتوحة_:** المشكلات المفتوحة تعني أن هناك من يهتم بمشروعك لدرجة أنه فتح مشكلة. إذا زاد هذا العدد بمرور الوقت، فهذا يشير إلى أن الناس مهتمون بمشروعك.
* **أنواع المساهمات:** على سبيل المثال، الالتزامات، إصلاح الأخطاء المطبعية أو الأخطاء البرمجية، أو التعليق على مشكلة ما.
## نشاط المسؤول
أخيرًا، سترغب في إغلاق الحلقة بالتأكد من أن القائمين على صيانة مشروعك قادرون على التعامل مع حجم المساهمات الواردة. السؤال الأخير الذي سترغب في طرحه على نفسك هو: _هل أنا (أو نحن) نستجيب لمجتمعنا؟_
يصبح المسؤولون غير المستجيبون عقبة أمام مشاريع المصادر المفتوحة. إذا قدم شخص ما مساهمة ولكنه لم يتلق أي رد من المسؤول، فقد يشعر بالإحباط ويغادر.
[بحث من Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) يشير إلى أن استجابة المسؤولين عامل حاسم في تشجيع تكرار المساهمات.
ضع في اعتبارك [تتبع المدة التي تستغرقها أنت (أو أي مسؤول آخر) للرد على المساهمات](https://github.blog/2023-07-19-metrics-for-issues-pull-requests-and-discussions/), سواء كانت مشكلة أو طلب سحب. لا يتطلب الرد اتخاذ أي إجراء. يمكن أن يكون الأمر بسيطًا مثل: _"شكرًا على إرسالك! سأراجعه خلال الأسبوع المقبل."_
يمكنك أيضًا قياس الوقت الذي يستغرقه الانتقال بين مراحل عملية المساهمة، مثل:
* متوسط الوقت الذي تظل فيه المشكلة مفتوحة
* ما إذا كانت المشكلات يتم إغلاقها بواسطة PRs
* ما إذا كانت المشكلات القديمة يتم إغلاقها
* متوسط الوقت اللازم لدمج طلب السحب
## استخدم 📊 للتعرف على الأشخاص
سيساعدك فهم المقاييس على بناء مشروع مفتوح المصدر نشط ومتنامي. حتى إذا لم تقم بتتبع كل مقياس على لوحة المعلومات، استخدم الإطار أعلاه لتركيز انتباهك على نوع السلوك الذي سيساعد مشروعك على الازدهار.
[CHAOSS](https://chaoss.community/) هي مجتمع مفتوح المصدر ومرحب يركز على التحليلات والمقاييس والبرمجيات الخاصة بصحة المجتمع.
================================================
FILE: _articles/ar/security-best-practices-for-your-project.md
================================================
---
lang: ar
title: أفضل ممارسات الأمان لمشروعك
description: عزز مستقبل مشروعك من خلال بناء الثقة من خلال الممارسات الأمان الأساسية — من MFA و مسح الكود الى الادارة الأمنة للتبعيات وإعداد تقارير الثغرات الأمنية الخاصة
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
بغض النظر عن الأخطاء والميزات الجديدة، فإن طول عمر المشروع لا يتوقف فقط على فائدته ولكن أيضًا على الثقة التي يكتسبها من مستخدميه.من الضروري جدا اتخاذ تدابير أمنية قوية للحفاظ على هذه الثقة حية. فيما يلي بعض الإجراءات المهمة التي يمكنك اتخاذها لتحسين أمان مشروعك بشكل كبير.
## تأكد من أن جميع المساهمين أصحاب الامتيازات قد قاموا بتمكين المصادقة متعددة العوامل (MFA)
### ممثل خبيث يتمكن من انتحال شخصية مساهم ذو امتيازات في مشروعك، سوف يتسبب في أضرار كارثية.
بمجرد حصوله على حق الوصول المميز، يمكن لهذا الفاعل تعديل الكود الخاص بك لجعله يقوم بإجراءات غير مرغوب فيها (على سبيل المثال، تعدين العملة المشفرة),أو يمكنه نشر البرامج الضارة على البنية التحتية لمستخدميك،أو يمكنه الوصول إلى ملفات الكود علىGithub لاستخراج الملكية الفكرية والبيانات الحساسة، بما في ذلك مفاتيح الوصول إلى خدمات أخرى.
MFA توفر طبقة اضافية من الأمان ضد سؤقة الحساب. عندما تفعل يجب أن تسجل الدخول باسم مستخدمك وكلمة المرور بالاضافة الى شكل أخر من المصادقة أنت فقط تعرفه أو تستطيع الوصول إليه.
## قم بتأمين الكود الخاص بك كجزء من سير عمل التطوير الخاص بك
### يعد إصلاح الثغرات الأمنية في كودك أرخص عند اكتشافها في وقت مبكر من العملية مقارنةً بوقت لاحق، عند استخدامها في production.
استخدم أداة اختبار أمان التطبيق الثابت (SAST) للكشف عن الثغرات الأمنية في الكود الخاص بك. تعمل هذه الأدوات على مستوى الكود ولا تحتاج إلى بيئة تنفيذ، وبالتالي يمكن تنفيذها في وقت مبكر من العملية، ويمكن دمجها بسلاسة في سير عمل التطوير المعتاد لديك، أثناء البناء أو أثناء مراحل مراجعة الكود.
إنه مثل قيام خبير ماهر بإلقاء نظرة على ملف كودك ، مما يساعد في العثور على الثغرات الأمنية الشائعة التي قد تكون مختبئة على مرأى من الجميع أثناء البرمجة.
كيف تختار أداة SAST
تأكد من التعليمات: بعض الأدوات مجانية للمشاريع مفتوحة المصدر. على سبيل المثال Github CodeQl, SemGrep.
تأكد من تغطيتها للغاتك البرمجة.
* اختر واحدا يتكامل بسهولة مع الأدوات التي تستخدمها بالفعل, ومع عمليتك الحالية. على سبيل المثال , من ألأفضل أن تكون التنبيهات متاحة كجزء من عملية وأداة مراحعة كودك الحالي بدلا من الانتقال الى أداة أحرى لرؤيتها.
* احذر من الإيجابيات الكاذبة! أنت لا تريد أن تبطئك الأداة دون سبب!
* تحقّق من المزايا: بعض الأدوات قوية جدًا ويمكنها تنفيذ taint tracking (مثل GitHub CodeQL)، وبعضها يقترح AI-generated fix suggestions، وأخرى تسهّل كتابة custom queries (مثل SemGrep).
## لا تشارك أسرارك
### بيانات حساسة مثل API keys,tokens, passwords قد تذهب بالخطأ في بعض الأحيان إلى Github repository.
تخيّل هذا السيناريو: أنت الـ maintainer لمشروع مفتوح المصدر مشهور يشارك فيه مطورون من جميع أنحاء العالم، وفي أحد الأيام يقوم مساهم عن غير قصد بعمل commit يحتوي على بعض مفاتيح الـ API الخاصة بخدمة خارجية، وبعد أيام يجد أحدهم هذه المفاتيح ويستخدمها للوصول إلى الخدمة دون إذن، فتتعرض الخدمة للاختراق، ويواجه مستخدمو مشروعك فترة توقف، وتتضرر سمعة مشروعك، والآن بصفتك الـ maintainer عليك التعامل مع مهام مرهقة مثل إلغاء المفاتيح المخترقة، والتحقيق في الأفعال الضارة التي قد نفذها المهاجم باستخدامها، وإبلاغ المستخدمين المتأثرين، وتنفيذ الإصلاحات اللازمة.
لمنع حوادث كهذه، حلول "secret scanning" موجودة لتساعد للكشف المبكر لأسرار كهذه في كودك. بعض الأدات ك Github Secret Scanning و Trufflehog تتستطيع أن تمنعك من وضع هذه الأشياء على remote branches في المقام الأول, وبعض الأدوات ستزيل هذه الأسرار بشكل تلقائي لك.
## تحقّق من التبعيات الخاصة بك وقم بتحديثها
### Dependencies في مشروعك ممكن أن تحتوي على ثغرات قد تخترقه. القيام بتحديث الDependencies يدويا باليد ستكون مهمة مستهلكة للوقت.
تخيل هذا: مشروع مبني على أساس قوي لمكتبة مستخدمة على نطاق واسع , لاحقا المكتبة تواجه مشكلة أمنية كبيرة.لكن الناس الذين بنوا المشروع باستخدامها لا يعرفون عن هذه المشكلة. تُترك بيانات المستخدم الحساسة مكشوفة عندما يستغل المهاجم هذا الضعف، فينقض عليها للاستيلاء عليها. هذا ليس مثالا نظريا انما ما حدث تماما في في 2017.لقد فشلوا في تحديث Apache Struts dependeny الخاص بهم بعد اشعارهم عن وجود ثغرة في الخادم.لقد تم استغلال هذه الثغرة، وأثرت عملية الاختراق الشهيرة لشركة Equifax على بيانات 144 مليون مستخدم.
لمنع سيناريوهات كهذه, أدوات تحليل تكوين البرمجيات (SCA) مثل Dependabot,Renvate تتحقق بشكل تلقائي من Dependencies الخاصة بك لأكثر الثغرات انتشارا في قواعد البيانات العامة مثل NVD,the Github Advisory Database ثم تنشأ pull requests لتحديثهم لأخر نسخ. مواكبة أخر التحديثات لل Dependencies الخاصة بمشروعك تحميه وتمنعه من المخاطر المحتملة.
## تجنّب التغيّرات غير المرغوبة باستخدام الفروع المحمية
### يمكن أن يؤدي الوصول غير المقيد لmain branch إلى تغييرات عرضية التي قد تنتج ثغرات أمنية وتعطل استقرار مشروعك
مساهم جديد يحصل على حق التعديل على main branch وعرضا يقوم برفع تعديلات جديدة لم تختبر بعد. ثم يتم الكشف عن خلل أمني خطير بسبب التغييرات الأخيرة. لمنع مشاكل كهذه, قواعد حماية ال branch تضمن عدم رفع أو دمج تغييرات للmain branches دون الخضوع أولاً للمراجعات واجتياز فحوصات الحالة المحددة.أنت أكثر أمانًا وأفضل مع تطبيق هذا الإجراء الإضافي، مما يضمن جودة عالية في كل مرة.
## إنشاء آلية استقبال للإبلاغ عن نقاط الضعف
### من الجيد أن تتيح لمستخدميك الإبلاغ عن الأخطاء بسهولة، لكن السؤال الأهم هو: عندما يكون لهذا الخطأ تأثير أمني، كيف يمكنهم الإبلاغ عنه بأمان دون أن يجعلوك هدفًا محتملاً للمتسللين الخبيثين؟
تخيّل هذا: يكتشف باحث أمني ثغرة في مشروعك لكنه لا يجد طريقة واضحة أو آمنة للإبلاغ عنها، وبدون وجود عملية محددة، قد ينشئ issue عام أو يناقشها علنًا على وسائل التواصل الاجتماعي. حتى لو كانت نيته حسنة وقدّم إصلاحًا، إذا فعل ذلك من خلال public pull request، سيراه الآخرون قبل دمجه! هذا الكشف العلني سيعرّض الثغرة للمهاجمين قبل أن تتمكن من معالجتها، مما قد يؤدي إلى zero-day exploit يهاجم مشروعك ومستخدميه.
### سياسة الأمان
لتجنب ذلك، قم بنشر سياسة أمان. تُعرّف سياسة الأمان في ملف `SECURITY.md`، وتوضح الخطوات اللازمة للإبلاغ عن المخاوف الأمنية، وتُنشئ عملية واضحة للكشف المنظم، وتحدد مسؤوليات فريق المشروع في معالجة القضايا المُبلّغ عنها. يمكن أن تكون سياسة الأمان بسيطة مثل: "يرجى عدم نشر التفاصيل في issue أو public pull request، أرسلوا لنا بريدًا إلكترونيًا خاصًا علىsecurity@example.com"، لكنها يمكن أن تتضمن أيضًا تفاصيل أخرى مثل متى يمكنهم توقع الحصول على رد منكم. أي شيء يمكن أن يُسهم في تعزيز فعالية وكفاءة عملية الكشف.
### الإبلاغ عن الثغرات بشكل خاص
على بعض المنصات، يمكنك تبسيط وتعزيز عملية إدارة الثغرات الأمنية لديك، من الاستلام إلى النشر، باستخدام private issues. على GitLab يمكن فعل ذلك باستخدام private issues، أما على GitHub فهذه العملية تُسمى private vulnerability reporting (PVR). تتيح PVR للـ maintainers استقبال ومعالجة تقارير الثغرات كلها ضمن منصة GitHub، حيث يقوم GitHub تلقائيًا بإنشاء private fork لكتابة الإصلاحات، وdraft security advisory. كل هذا يبقى سريًا حتى تقرر الكشف عن الثغرات وإصدار الإصلاحات. لإغلاق الحلقة، سيتم نشر security advisories لإبلاغ وحماية جميع مستخدميك عبر أداة SCA الخاصة بهم.
## الخلاصة: خطوات قليلة منك، لكنها تُحدث فرقًا كبيرًا لمستخدميك.
قد تبدو هذه الخطوات بسيطة أو عادية بالنسبة لك، لكنها تُحدث فرقًا كبيرًا في جعل مشروعك أكثر أمانًا لمستخدميه، لأنها تُوفر حماية فعّالة ضد أكثر المشكلات شيوعًا.
## المساهمون
### جزيل الشكر لجميع المشرفين الذين شاركوا تجاربهم ونصائحهم معنا في إعداد هذا الدليل!
تم كتابة هذا الدليل بواسطة [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) بمشاركة مساهمي من:
[@JLLeitschuh](https://github.com/JLLeitschuh)
[@intrigus-lgtm](https://github.com/intrigus-lgtm) + آخرون
================================================
FILE: _articles/ar/starting-a-project.md
================================================
---
lang: ar
title: البدء بمشروع مفتوح المصدر
description: تعلّم المزيد عن عالم المصادر المفتوحة واستعد لإطلاق مشروعك الخاص
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## الـ"ماذا" و"لماذا" في المشاريع مفتوحة المصدر
إذًا، أنت تفكر في البدء بالمصادر المفتوحة؟ تهانينا! العالم يقدّر مساهمتك. دعنا نتحدث عن ماهية المصادر المفتوحة ولماذا يفعل الناس ذلك.
### ماذا يعني "مفتوح المصدر"؟
عندما يكون المشروع مفتوح المصدر، فهذا يعني **أن أي شخص حر في استخدام مشروعك ودراسته وتعديله وتوزيعه لأي غرض.** يتم فرض هذه الأذونات من خلال [ترخيص مفتوح المصدر](https://opensource.org/licenses).
المصدر المفتوح قوي لأنه يخفض حواجز التبني والتعاون، مما يسمح للناس بنشر المشاريع وتحسينها بسرعة. كما أنه يمنح المستخدمين إمكانية التحكم في حوسبتهم الخاصة، مقارنةً بالمصادر المغلقة. على سبيل المثال، الشركة التي تستخدم برامج مفتوحة المصدر لديها خيار توظيف شخص ما لإجراء تحسينات مخصصة على البرنامج، بدلاً من الاعتماد حصريًا على قرارات منتج بائع vendor المصادر المغلقة.
يشير Free software إلى نفس مجموعة المشاريع مثل open source. أحيانًا ستجد هذين المصطلحين مجتمعين في عبارة "free and open source software (FOSS)" أو "free, libre, and open source software (FLOSS)". كلمتا Free و Libre هنا تدلان على الحرية وليس السعر.
### لماذا يفتح الناس مصدر أعمالهم؟
[هناك العديد من الأسباب](https://ben.balter.com/2015/11/23/why-open-source/) التي قد تجعل شخصًا أو منظمة يرغب في فتح مصدر مشروع. بعض الأمثلة تشمل:
* **التعاون:** يمكن لمشاريع المصادر المفتوحة قبول التغييرات من أي شخص في العالم. [Exercism](https://github.com/exercism/)، على سبيل المثال، هي منصة تمارين برمجية تضم أكثر من 350 مساهمًا.
* **التبني والاقتباس:** يمكن لأي شخص استخدام مشاريع المصادر المفتوحة لأي غرض تقريبًا. يمكن للناس حتى استخدامها لبناء أشياء أخرى. [WordPress](https://github.com/WordPress)، على سبيل المثال، بدأ كـ fork لمشروع موجود يسمى [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **الشفافية:** يمكن لأي شخص فحص مشروع مفتوح المصدر بحثًا عن أخطاء أو تناقضات. الشفافية مهمة للحكومات مثل [بلغاريا](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) أو [الولايات المتحدة](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/)، والصناعات المنظمة مثل البنوك أو الرعاية الصحية، وبرامج الأمان مثل [Let's Encrypt](https://github.com/letsencrypt).
المصادر المفتوحة ليست للبرمجيات فقط. يمكنك فتح مصدر كل شيء من مجموعات البيانات إلى الكتب. راجع [GitHub Explore](https://github.com/explore) للأفكار حول ما يمكنك فتح مصدره.
### هل مفتوح المصدر يعني "مجاني"؟
أحد أكبر عوامل الجذب للمصادر المفتوحة هو أنها لا تكلف مالاً. ومع ذلك، فإن "المجانية" هي مجرد نتيجة ثانوية للقيمة الإجمالية للمصادر المفتوحة.
نظرًا لأن [ترخيص المصدر المفتوح يتطلب](https://opensource.org/definition-annotated/) أن يتمكن أي شخص من استخدام مشروعك وتعديله ومشاركته لأي غرض تقريبًا، فإن المشاريع نفسها تميل إلى أن تكون مجانية. إذا كان المشروع يكلف مالاً لاستخدامه، يمكن لأي شخص قانونيًا عمل نسخة واستخدام النسخة المجانية بدلاً من ذلك.
ونتيجة لذلك، فإن معظم مشاريع المصادر المفتوحة مجانية، لكن "المجانية" ليست جزءًا من تعريف المصدر المفتوح. هناك طرق لفرض رسوم على مشاريع المصادر المفتوحة بشكل غير مباشر من خلال الترخيص المزدوج dual licensing أو الميزات المحدودة limited features، مع الالتزام بالتعريف الرسمي للمصادر المفتوحة.
## هل يجب أن أطلق مشروعي مفتوح المصدر الخاص؟
الإجابة القصيرة هي نعم، لأنه بغض النظر عن النتيجة، فإن إطلاق مشروعك الخاص هو طريقة رائعة لتعلم كيفية عمل المصادر المفتوحة.
إذا لم تفتح مصدر مشروع من قبل، فقد تكون متوترًا بشأن ما سيقوله الناس، أو ما إذا كان أي شخص سيلاحظ على الإطلاق. إذا كان هذا يبدو مثلك، فأنت لست وحدك!
عمل المصادر المفتوحة يشبه أي نشاط إبداعي آخر، سواء كان الكتابة أو الرسم. قد يبدو من المخيف مشاركة عملك مع العالم، لكن الطريقة الوحيدة لتحسين مهاراتك هي الممارسة - حتى لو لم يكن لديك جمهور.
إذا لم تكن مقتنعًا بعد، خذ لحظة للتفكير في ما قد تكون أهدافك.
### تحديد أهدافك
يمكن أن تساعدك الأهداف في معرفة ما يجب العمل عليه، وما يجب قول "لا" له، وأين تحتاج إلى مساعدة من الآخرين. ابدأ بسؤال نفسك، _لماذا أفتح مصدر هذا المشروع؟_
لا توجد إجابة صحيحة واحدة على هذا السؤال. قد يكون لديك أهداف متعددة لمشروع واحد، أو مشاريع مختلفة بأهداف مختلفة.
إذا كان هدفك الوحيد هو إظهار عملك، فقد لا تريد حتى مساهمات، بل وحتى تقول ذلك في ملف README الخاص بك. من ناحية أخرى، إذا كنت تريد مساهمين، فستستثمر الوقت في توثيق واضح وجعل الوافدين الجدد يشعرون بالترحيب.
مع نمو مشروعك، قد يحتاج مجتمعك إلى أكثر من مجرد كود منك. الرد على issues، ومراجعة الكود، والترويج لمشروعك كلها مهام مهمة في مشروع مفتوح المصدر.
بينما تعتمد كمية الوقت الذي تقضيه في المهام غير البرمجية على حجم مشروعك ونطاقه، يجب أن تكون مستعدًا كمسؤول للتعامل معها بنفسك أو العثور على شخص لمساعدتك.
**إذا كنت جزءًا من شركة تفتح مصدر مشروع،** تأكد من أن مشروعك لديه الموارد الداخلية التي يحتاجها للازدهار. ستحتاج إلى تحديد من المسؤول عن صيانة المشروع بعد الإطلاق، وكيف ستشارك هذه المهام مع مجتمعك.
إذا كنت بحاجة إلى ميزانية مخصصة أو موظفين للترويج والعمليات وصيانة المشروع، ابدأ تلك المحادثات مبكرًا.
### المساهمة في مشاريع أخرى
إذا كان هدفك هو تعلم كيفية التعاون مع الآخرين أو فهم كيفية عمل المصادر المفتوحة، ففكر في المساهمة في مشروع موجود. ابدأ بمشروع تستخدمه وتحبه بالفعل. يمكن أن تكون المساهمة في مشروع بسيطة مثل إصلاح الأخطاء الإملائية أو تحديث التوثيق.
إذا لم تكن متأكدًا من كيفية البدء كمساهم، تحقق من [دليل كيفية المساهمة في المشاريع مفتوحة المصدر](../how-to-contribute/).
## إطلاق مشروعك مفتوح المصدر الخاص
لا يوجد وقت مثالي لفتح مصدر عملك. يمكنك فتح مصدر فكرة، أو عمل قيد التقدم، أو بعد سنوات من كونه مصدرًا مغلقًا.
بشكل عام، يجب عليك فتح مصدر مشروعك عندما تشعر بالراحة في أن يشاهد الآخرون عملك ويقدمون ملاحظات عليه.
بغض النظر عن المرحلة التي تقرر فيها فتح مصدر مشروعك، يجب أن يتضمن كل مشروع التوثيق التالي:
* [ترخيص المصدر المفتوح](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [إرشادات المساهمة](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [قواعد السلوك](../code-of-conduct/)
كمسؤول، ستساعدك هذه المكونات في توصيل التوقعات، وإدارة المساهمات، وحماية الحقوق القانونية للجميع (بما في ذلك حقوقك). تزيد بشكل كبير من فرص حصولك على تجربة إيجابية.
إذا كان مشروعك على GitHub، فإن وضع هذه الملفات في دليلك الجذري بأسماء الملفات الموصى بها سيساعد GitHub على التعرف عليها وإظهارها تلقائيًا لقرائك.
### اختيار ترخيص
يضمن ترخيص المصدر المفتوح أن يتمكن الآخرون من استخدام مشروعك ونسخه وتعديله والمساهمة فيه دون عواقب. كما يحميك من المواقف القانونية اللزجة. **يجب عليك تضمين ترخيص عند إطلاق مشروع مفتوح المصدر.**
العمل القانوني ليس ممتعًا. الخبر السار هو أنه يمكنك نسخ ولصق ترخيص موجود في مستودعك. سيستغرق الأمر دقيقة واحدة فقط لحماية عملك الشاق.
[MIT](https://choosealicense.com/licenses/mit/)، [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)، و[GPLv3](https://choosealicense.com/licenses/gpl-3.0/) هي تراخيص المصادر المفتوحة الأكثر شعبية، لكن [هناك خيارات أخرى](https://choosealicense.com) للاختيار من بينها.
عند إنشاء مشروع جديد على GitHub، يتم منحك خيار تحديد ترخيص. سيجعل تضمين ترخيص مفتوح المصدر مشروعك على GitHub مفتوح المصدر.

إذا كانت لديك أسئلة أو مخاوف أخرى حول الجوانب القانونية لإدارة مشروع مفتوح المصدر، [فنحن نغطيك](../legal/).
### كتابة ملف README {#كتابة-ملف-README}
تفعل ملفات README أكثر من مجرد شرح كيفية استخدام مشروعك. كما أنها تشرح لماذا مشروعك مهم، وماذا يمكن لمستخدميك فعله به.
في README الخاص بك، حاول الإجابة على الأسئلة التالية:
* ماذا يفعل هذا المشروع؟
* لماذا هذا المشروع مفيد؟
* كيف أبدأ؟
* أين يمكنني الحصول على مزيد من المساعدة، إذا كنت بحاجة إليها؟
يمكنك استخدام README الخاص بك للإجابة على أسئلة أخرى، مثل كيفية التعامل مع المساهمات، وما هي أهداف المشروع، ومعلومات حول التراخيص والإسناد. إذا كنت لا تريد قبول المساهمات، أو أن مشروعك ليس جاهزًا بعد للإنتاج، اكتب هذه المعلومات.
في بعض الأحيان، يتجنب الناس كتابة README لأنهم يشعرون أن المشروع غير مكتمل، أو أنهم لا يريدون مساهمات. هذه كلها أسباب وجيهة جدًا لكتابة واحد.
للمزيد من الإلهام، جرب استخدام دليل @dguo ["اصنع README"](https://www.makeareadme.com/) أو قالب @PurpleBooth [لملف README](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) لكتابة README كامل.
عند تضمين ملف README في الدليل الجذري، سيعرضه GitHub تلقائيًا على الصفحة الرئيسية للمستودع.
### كتابة إرشادات المساهمة الخاصة بك {#كتابة-ارشادات-المساهمة-الخاصة-بك}
يخبر ملف CONTRIBUTING جمهورك بكيفية المشاركة في مشروعك. على سبيل المثال، قد تتضمن معلومات حول:
* كيفية تقديم تقرير عن خطأ (حاول استخدام [قوالب issue وpull request](https://github.com/blog/2111-issue-and-pull-request-templates))
* كيفية اقتراح ميزة جديدة
* كيفية إعداد بيئتك وتشغيل الاختبارات
بالإضافة إلى التفاصيل التقنية، يُعد ملف CONTRIBUTING فرصة لتوصيل توقعاتك للمساهمات، مثل:
* أنواع المساهمات التي تبحث عنها
* خارطة طريقك أو رؤيتك للمشروع
* كيف يجب (أو لا يجب) على المساهمين التواصل معك
استخدام نبرة دافئة وودية وتقديم اقتراحات محددة للمساهمات (مثل كتابة التوثيق، أو إنشاء موقع ويب) يمكن أن يقطع شوطًا طويلاً في جعل الوافدين الجدد يشعرون بالترحيب والحماس للمشاركة.
على سبيل المثال، يبدأ [Active Admin](https://github.com/activeadmin/activeadmin/) [دليل المساهمة الخاص به](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) بـ:
> أولاً، شكرًا لك على التفكير في المساهمة في Active Admin. إنه أشخاص مثلك الذين يجعلون Active Admin أداة رائعة.
في المراحل الأولى من مشروعك، يمكن أن يكون ملف CONTRIBUTING بسيطًا. يجب عليك دائمًا شرح كيفية الإبلاغ عن الأخطاء أو تقديم issues، وأي متطلبات تقنية (مثل الاختبارات) لتقديم مساهمة.
مع مرور الوقت، قد تضيف أسئلة أخرى يتم طرحها بشكل متكرر إلى ملف CONTRIBUTING الخاص بك. كتابة هذه المعلومات يعني أن عددًا أقل من الناس سيسألك نفس الأسئلة مرارًا وتكرارًا.
للمزيد من المساعدة في كتابة ملف CONTRIBUTING الخاص بك، راجع قالب دليل المساهمة لـ @nayafia [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) أو ["كيفية بناء CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/) لـ @mozilla.
اربط ملف CONTRIBUTING الخاص بك من README، حتى يراه المزيد من الناس. إذا [وضعت ملف CONTRIBUTING في مستودع مشروعك](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)، فسيربط GitHub تلقائيًا إلى ملفك عندما ينشئ مساهم issue أو يفتح pull request.

### إنشاء قواعد السلوك
أخيرًا، تساعد قواعد السلوك في وضع قواعد أساسية للسلوك لمشاركي مشروعك. هذا ذو قيمة خاصة إذا كنت تطلق مشروع مفتوح المصدر لمجتمع أو شركة. تمكّنك قواعد السلوك من تسهيل سلوك المجتمع الصحي والبنّاء، مما سيقلل من توترك كمسؤول.
لمزيد من المعلومات، راجع [دليل قواعد السلوك](../code-of-conduct/).
بالإضافة إلى توصيل _كيف_ تتوقع من المشاركين أن يتصرفوا، تميل قواعد السلوك أيضًا إلى وصف من تنطبق عليه هذه التوقعات، ومتى تنطبق، وماذا تفعل إذا حدث انتهاك.
مثل تراخيص المصادر المفتوحة، هناك أيضًا معايير ناشئة لقواعد السلوك، لذلك لا داعي لكتابة قواعدك الخاصة. [Contributor Covenant](https://contributor-covenant.org/) هي قواعد سلوك جاهزة للاستخدام يستخدمها [أكثر من 40,000 مشروع مفتوح المصدر](https://www.contributor-covenant.org/adopters)، بما في ذلك Kubernetes وRails Swift. بغض النظر عن النص الذي تستخدمه، يجب أن تكون مستعدًا لفرض قواعد السلوك الخاصة بك عند الضرورة.
الصق النص مباشرة في ملف CODE_OF_CONDUCT في مستودعك. احتفظ بالملف في الدليل الجذري لمشروعك حتى يسهل العثور عليه، واربطه من README الخاص بك.
## تسمية مشروعك ووضع علامة تجارية عليه
العلامة التجارية هي أكثر من مجرد شعار لامع أو اسم مشروع جذاب. إنها تتعلق بكيفية حديثك عن مشروعك، ومن تصل إليه برسالتك.
### اختيار الاسم الصحيح
اختر اسمًا يسهل تذكره، ومن الناحية المثالية، يعطي فكرة عما يفعله المشروع. على سبيل المثال:
* [Sentry](https://github.com/getsentry/sentry) يراقب التطبيقات للإبلاغ عن الأعطال
* [Thin](https://github.com/macournoyer/thin) هو خادم ويب Ruby سريع وبسيط
إذا كنت تبني على مشروع موجود، فإن استخدام اسمهم كبادئة يمكن أن يساعد في توضيح ما يفعله مشروعك (على سبيل المثال، [node-fetch](https://github.com/bitinn/node-fetch) يجلب `window.fetch` إلى Node.js).
ضع الوضوح قبل كل شيء. التورية ممتعة، لكن تذكر أن بعض النكات قد لا تُترجم إلى ثقافات أخرى أو أشخاص ذوي تجارب مختلفة عنك. قد يكون بعض مستخدميك المحتملين موظفين في الشركة: لا تريد أن تجعلهم غير مرتاحين عندما يضطرون إلى شرح مشروعك في العمل!
### تجنب تعارضات الأسماء {#تجنب-تعارضات-الاسماء}
[تحقق من مشاريع المصادر المفتوحة ذات الأسماء المشابهة](https://namechecker.vercel.app/)، خاصة إذا كنت تشارك نفس اللغة أو النظام البيئي. إذا كان اسمك يتداخل مع مشروع شائع موجود، فقد تربك جمهورك.
إذا كنت تريد موقع ويب، أو مقبض Twitter، أو خصائص أخرى لتمثيل مشروعك، فتأكد من أنه يمكنك الحصول على الأسماء التي تريدها. من الناحية المثالية، [احجز هذه الأسماء الآن](https://instantdomainsearch.com/) لراحة البال، حتى لو لم تكن تنوي استخدامها بعد.
تأكد من أن اسم مشروعك لا ينتهك أي علامات تجارية. قد تطلب منك شركة ما إزالة مشروعك لاحقًا، أو حتى اتخاذ إجراء قانوني ضدك. الأمر لا يستحق المخاطرة.
يمكنك التحقق من [قاعدة بيانات العلامات التجارية العالمية لـ WIPO](http://www.wipo.int/branddb/en/) لتعارضات العلامات التجارية. إذا كنت في شركة، فهذا أحد الأشياء التي يمكن لـ [فريقك القانوني مساعدتك فيها](../legal/).
أخيرًا، قم بإجراء بحث سريع على Google عن اسم مشروعك. هل سيتمكن الناس من العثور على مشروعك بسهولة؟ هل يظهر شيء آخر في نتائج البحث لا تريد منهم رؤيته?
### كيفية كتابتك (وكتابة الكود) تؤثر على علامتك التجارية أيضًا!
طوال حياة مشروعك، ستقوم بالكثير من الكتابة: ملفات README، والبرامج التعليمية، ووثائق المجتمع، والرد على issues، وربما حتى النشرات الإخبارية وقوائم البريد.
سواء كانت وثائق رسمية أو بريدًا إلكترونيًا عاديًا، فإن أسلوب كتابتك هو جزء من علامة مشروعك التجارية. ضع في اعتبارك كيف قد تبدو لجمهورك وما إذا كانت هذه هي النبرة التي ترغب في نقلها.
استخدام لغة دافئة وشاملة (مثل "هم"، حتى عند الإشارة إلى شخص واحد) يمكن أن يقطع شوطًا طويلاً في جعل مشروعك يبدو ترحيبيًا للمساهمين الجدد. التزم باللغة البسيطة، حيث قد لا يكون العديد من قرائك متحدثين أصليين للغة الإنجليزية.
بالإضافة إلى كيفية كتابة الكلمات، قد يصبح أسلوب البرمجة الخاص بك أيضًا جزءًا من علامة مشروعك التجارية. [Angular](https://angular.io/guide/styleguide) و[jQuery](https://contribute.jquery.org/style-guide/js/) مثالان من المشاريع ذات أساليب البرمجة والإرشادات الصارمة.
ليس من الضروري كتابة دليل أسلوب لمشروعك عندما تبدأ للتو، وقد تجد أنك تستمتع بدمج أساليب برمجة مختلفة في مشروعك على أي حال. لكن يجب أن تتوقع كيف يمكن لأسلوب كتابتك وبرمجتك أن يجذب أو يثني أنواعًا مختلفة من الناس. المراحل الأولى من مشروعك هي فرصتك لتحديد السابقة التي ترغب في رؤيتها.
## قائمة التحقق قبل الإطلاق
هل أنت مستعد لفتح مصدر مشروعك؟ إليك قائمة تحقق للمساعدة. ضع علامة على جميع المربعات؟ أنت مستعد للانطلاق! [انقر على "نشر"](https://help.github.com/articles/making-a-private-repository-public/) وربت على ظهرك.
**التوثيق**
**الكود**
**الأشخاص**
إذا كنت فردًا:
إذا كنت شركة أو منظمة:
## لقد فَعَلتَها!
تهانينا على فتح مصدر مشروعك الأول. بغض النظر عن النتيجة، فإن العمل بشكل علني هو هدية للمجتمع. مع كل commit وتعليق وpull request، أنت تخلق فرصًا لنفسك وللآخرين للتعلم والنمو.
================================================
FILE: _articles/best-practices.md
================================================
---
lang: en
title: Best Practices for Maintainers
description: Making your life easier as an open source maintainer, from documenting processes to leveraging your community.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## What does it mean to be a maintainer?
If you maintain an open source project that a lot of people use, you may have noticed you're coding less and responding to issues more.
In the early stages of a project, you're experimenting with new ideas and making decisions based on what you want. As your project increases in popularity, you'll find yourself working with your users and contributors more.
Maintaining a project requires more than code. These tasks are often unexpected, but they're just as important to a growing project. We've gathered a few ways to make your life easier, from documenting processes to leveraging your community.
## Documenting your processes
Writing things down is one of the most important things you can do as a maintainer.
Documentation not only clarifies your own thinking, but it helps other people understand what you need or expect, before they even ask.
Writing things down makes it easier to say no when something doesn't fit into your scope. It also makes it easier for people to pitch in and help. You never know who might be reading or using your project.
Even if you don't use full paragraphs, jotting down bullet points is better than not writing at all.
Remember to keep your documentation up-to-date. If you're not able to always do this, delete your outdated documentation or indicate it is outdated so contributors know updates are welcome.
### Write down your project's vision
Start by writing down the goals of your project. Add them to your README, or create a separate file called VISION. If there are other artifacts that could help, like a project roadmap, make those public as well.
Having a clear, documented vision keeps you focused and helps you avoid "scope creep" from others' contributions.
For example, @lord discovered that having a project vision helped him figure out which requests to spend time on. As a new maintainer, he regretted not sticking to his project's scope when he got his first feature request for [Slate](https://github.com/lord/slate).
### Communicate your expectations
Rules can be nerve-wracking to write down. Sometimes you might feel like you're policing other people's behavior or killing all the fun.
Written and enforced fairly, however, good rules empower maintainers. They prevent you from getting dragged into doing things you don't want to do.
Most people who come across your project don't know anything about you or your circumstances. They may assume you get paid to work on it, especially if it's something they regularly use and depend on. Maybe at one point you put a lot of time into your project, but now you're busy with a new job or family member.
All of this is perfectly okay! Just make sure other people know about it.
If maintaining your project is part-time or purely volunteered, be honest about how much time you have. This is not the same as how much time you think the project requires, or how much time others want you to spend.
Here are a few rules that are worth writing down:
* How a contribution is reviewed and accepted (_Do they need tests? An issue template?_)
* The types of contributions you'll accept (_Do you only want help with a certain part of your code?_)
* When it's appropriate to follow up (_for example, "You can expect a response from a maintainer within 7 days. If you haven't heard anything by then, feel free to ping the thread."_)
* How much time you spend on the project (_for example, "We only spend about 5 hours per week on this project"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), and [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) are several examples of projects with ground rules for maintainers and contributors.
### Keep communication public
Don't forget to document your interactions, too. Wherever you can, keep communication about your project public. If somebody tries to contact you privately to discuss a feature request or support need, politely direct them to a public communication channel, such as a mailing list or issue tracker.
If you meet with other maintainers, or make a major decision in private, document these conversations in public, even if it's just posting your notes.
That way, anybody who joins your community will have access to the same information as someone who's been there for years.
## Learning to say no
You've written things down. Ideally, everybody would read your documentation, but in reality, you'll have to remind others that this knowledge exists.
Having everything written down, however, helps depersonalize situations when you do need to enforce your rules.
Saying no isn't fun, but _"Your contribution doesn't match this project's criteria"_ feels less personal than _"I don't like your contribution"_.
Saying no applies to many situations you'll come across as a maintainer: feature requests that don't fit the scope, someone derailing a discussion, doing unnecessary work for others.
### Keep the conversation friendly
One of the most important places you'll practice saying no is on your issue and pull request queue. As a project maintainer, you'll inevitably receive suggestions that you don't want to accept.
Maybe the contribution changes your project's scope or doesn't match your vision. Maybe the idea is good, but the implementation is poor.
Regardless of the reason, it is possible to tactfully handle contributions that don't meet your project's standards.
If you receive a contribution you don't want to accept, your first reaction might be to ignore it or pretend you didn't see it. Doing so could hurt the other person's feelings and even demotivate other potential contributors in your community.
Don't leave an unwanted contribution open because you feel guilty or want to be nice. Over time, your unanswered issues and PRs will make working on your project feel that much more stressful and intimidating.
It's better to immediately close the contributions you know you don't want to accept. If your project already suffers from a large backlog, @steveklabnik has suggestions for [how to triage issues efficiently](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Secondly, ignoring contributions sends a negative signal to your community. Contributing to a project can be intimidating, especially if it's someone's first time. Even if you don't accept their contribution, acknowledge the person behind it and thank them for their interest. It's a big compliment!
If you don't want to accept a contribution:
* **Thank them** for their contribution
* **Explain why it doesn't fit** into the scope of the project, and offer clear suggestions for improvement, if you're able. Be kind, but firm.
* **Link to relevant documentation**, if you have it. If you notice repeated requests for things you don't want to accept, add them into your documentation to avoid repeating yourself.
* **Close the request**
You shouldn't need more than 1-2 sentences to respond. For example, when a user of [celery](https://github.com/celery/celery/) reported a Windows-related error, @berkerpeksag [responded with](https://github.com/celery/celery/issues/3383):

If the thought of saying no terrifies you, you're not alone. As @jessfraz [put it](https://blog.jessfraz.com/post/the-art-of-closing/):
> I've talked to maintainers from several different open source projects, Mesos, Kubernetes, Chromium, and they all agree one of the hardest parts of being a maintainer is saying "No" to patches you don't want.
Don't feel guilty about not wanting to accept someone's contribution. The first rule of open source, [according to](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"No is temporary, yes is forever."_ While empathizing with another person's enthusiasm is a good thing, rejecting a contribution is not the same as rejecting the person behind it.
Ultimately, if a contribution isn't good enough, you're under no obligation to accept it. Be kind and responsive when people contribute to your project, but only accept changes that you truly believe will make your project better. The more often you practice saying no, the easier it becomes. Promise.
### Be proactive
To reduce the volume of unwanted contributions in the first place, explain your project's process for submitting and accepting contributions in your contributing guide.
If you're receiving too many low-quality contributions, require that contributors do a bit of work beforehand, for example:
* Fill out an issue or PR template/checklist
* Open an issue before submitting a PR
If they don't follow your rules, close the issue immediately and point to your documentation.
While this approach may feel unkind at first, being proactive is actually good for both parties. It reduces the chance that someone will put many wasted hours of work into a pull request that you aren't going to accept. And it makes your workload easier to manage.
Sometimes, when you say no, your potential contributor may get upset or criticize your decision. If their behavior becomes hostile, [take steps to defuse the situation](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) or even remove them from your community, if they're not willing to collaborate constructively.
### Embrace mentorship
Maybe someone in your community regularly submits contributions that don't meet your project's standards. It can be frustrating for both parties to repeatedly go through rejections.
If you see that someone is enthusiastic about your project, but needs a bit of polish, be patient. Explain clearly in each situation why their contributions don't meet the expectations of the project. Try pointing them to an easier or less ambiguous task, like an issue marked _"good first issue,"_ to get their feet wet. If you have time, consider mentoring them through their first contribution, or find someone else in your community who might be willing to mentor them.
## Leverage your community
You don't have to do everything yourself. Your project's community exists for a reason! Even if you don't yet have an active contributor community, if you have a lot of users, put them to work.
### Share the workload
If you're looking for others to pitch in, start by asking around.
One way to gain new contributors is to explicitly [label issues that are simple enough for beginners to tackle](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub will then surface these issues in various places on the platform, increasing their visibility.
When you see new contributors making repeated contributions, recognize their work by offering more responsibility. Document how others can grow into leadership roles if they wish.
Encouraging others to [share ownership of the project](../building-community/#share-ownership-of-your-project) can greatly reduce your own workload, as @lmccart discovered on her project, [p5.js](https://github.com/processing/p5.js).
If you need to step away from your project, either on hiatus or permanently, there's no shame in asking someone else to take over for you.
If other people are enthusiastic about its direction, give them commit access or formally hand over control to someone else. If someone forked your project and is actively maintaining it elsewhere, consider linking to the fork from your original project. It's great that so many people want your project to live on!
@progrium [found that](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) documenting the vision for his project, [Dokku](https://github.com/dokku/dokku), helped those goals live on even after he stepped away from the project:
> I wrote a wiki page describing what I wanted and why I wanted it. For some reason it came as a surprise to me that the maintainers started moving the project in that direction! Did it happen exactly how I'd do it? Not always. But it still brought the project closer to what I wrote down.
### Let others build the solutions they need
If a potential contributor has a different opinion on what your project should do, you may want to gently encourage them to work on their own fork.
Forking a project doesn't have to be a bad thing. Being able to copy and modify projects is one of the best things about open source. Encouraging your community members to work on their own fork can provide the creative outlet they need, without conflicting with your project's vision.
The same applies to a user who really wants a solution that you simply don't have the bandwidth to build. Offering APIs and customization hooks can help others meet their own needs, without having to modify the source directly. @orta [found that](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) encouraging plugins for CocoaPods led to "some of the most interesting ideas":
> It's almost inevitable that once a project becomes big, maintainers have to become a lot more conservative about how they introduce new code. You become good at saying "no", but a lot of people have legitimate needs. So, instead you end up converting your tool into a platform.
## Bring in the robots
Just as there are tasks that other people can help you with, there are also tasks that no human should ever have to do. Robots are your friend. Use them to make your life as a maintainer easier.
### Require tests and other checks to improve the quality of your code
One of the most important ways you can automate your project is by adding tests.
Tests help contributors feel confident that they won't break anything. They also make it easier for you to review and accept contributions quickly. The more responsive you are, the more engaged your community can be.
Set up automatic tests that will run on all incoming contributions, and ensure that your tests can easily be run locally by contributors. Require that all code contributions pass your tests before they can be submitted. You'll help set a minimum standard of quality for all submissions. [Required status checks](https://help.github.com/articles/about-required-status-checks/) on GitHub can help ensure no change gets merged without your tests passing.
If you add tests, make sure to explain how they work in your CONTRIBUTING file.
### Use tools to automate basic maintenance tasks
The good news about maintaining a popular project is that other maintainers have probably faced similar issues and built a solution for them.
There are a [variety of tools available](https://github.com/showcases/tools-for-open-source) to help automate some aspects of maintenance work. A few examples:
* [semantic-release](https://github.com/semantic-release/semantic-release) automates your releases
* [mention-bot](https://github.com/facebook/mention-bot) mentions potential reviewers for pull requests
* [Danger](https://github.com/danger/danger) helps automate code review
* [no-response](https://github.com/probot/no-response) closes issues where the author hasn't responded to a request for more information
* [dependabot](https://github.com/dependabot) checks your dependency files every day for outdated requirements and opens individual pull requests for any it finds
For bug reports and other common contributions, GitHub has [Issue Templates and Pull Request Templates](https://github.com/blog/2111-issue-and-pull-request-templates), which you can create to streamline the communication you receive. @TalAter made a [Choose Your Own Adventure guide](https://www.talater.com/open-source-templates/#/) to help you write your issue and PR templates.
To manage your email notifications, you can set up [email filters](https://github.com/blog/2203-email-updates-about-your-own-activity) to organize by priority.
If you want to get a little more advanced, style guides and linters can standardize project contributions and make them easier to review and accept.
However, if your standards are too complicated, they can increase the barriers to contribution. Make sure you're only adding enough rules to make everyone's lives easier.
If you're not sure which tools to use, look at what other popular projects do, especially those in your ecosystem. For example, what does the contribution process look like for other Node modules? Using similar tools and approaches will also make your process more familiar to your target contributors.
## It's okay to hit pause
Open source work once brought you joy. Maybe now it's starting to make you feel avoidant or guilty.
Perhaps you're feeling overwhelmed or a growing sense of dread when you think about your projects. And meanwhile, the issues and pull requests pile up.
Burnout is a real and pervasive issue in open source work, especially among maintainers. As a maintainer, your happiness is a non-negotiable requirement for the survival of any open source project.
Although it should go without saying, take a break! You shouldn't have to wait until you feel burned out to take a vacation. @brettcannon, a Python core developer, decided to take [a month-long vacation](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) after 14 years of volunteer OSS work.
Just like any other type of work, taking regular breaks will keep you refreshed, happy, and excited about your work.
Sometimes, it can be hard to take a break from open source work when it feels like everybody needs you. People may even try to make you feel guilty for stepping away.
Do your best to find support for your users and community while you're away from a project. If you can't find the support you need, take a break anyway. Be sure to communicate when you're not available, so people aren't confused by your lack of responsiveness.
Taking breaks applies to more than just vacations, too. If you don't want to do open source work on weekends, or during work hours, communicate those expectations to others, so they know not to bother you.
## Take care of yourself first!
Maintaining a popular project requires different skills than the earlier stages of growth, but it's no less rewarding. As a maintainer, you'll practice leadership and personal skills on a level that few people get to experience. While it's not always easy to manage, setting clear boundaries and only taking on what you're comfortable with will help you stay happy, refreshed, and productive.
================================================
FILE: _articles/bg/best-practices.md
================================================
---
lang: bg
title: Добри практики за поддържащи кода.
description: Улесняване на живота ви като поддържащ отворен код, от процеса на документиране до извличане на максимума от общността.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Какво означава да си поддържащ код?
Ако вашата работа е да поддържате проект с отворен код, който много хора използват, вероятно сте забелязали, че прекарвате повече време в отговаряне на въпроси, отколкото в програмиране.
В ранните етапи на проекта прекарвате време в експериментиране с нови идеи и вземане на решения въз основа на това, което харесвате. С нарастването на популярността на проекта ви ще се окажете в ситуация, в която ще работите с вашите потребители и сътрудници все повече и повече.
Поддържането на проект изисква повече от просто код. Тези задачи обикновено не се вземат предвид, но са също толкова важни за разрастващ се проект. Събрахме няколко идеи, които ще улеснят живота ви, от процеса на документиране до извличането на максимума от общността.
## Документиране на вашите процеси
Отбелязването на процедурите е една от най-добрите практики, които можете да направите като поддържащ код.
Документирането не само изяснява вашето мислене, но също така помага на другите да разберат от какво се нуждаете или очаквате, без дори да се налага да питате.
Като вземете под внимание процесите, ви е по-лесно да кажете "не", когато нечие предложение не отговаря на вашия контекст. Така Освен това улеснява други хора да се присъединят и да помогнат. Никога не знаете кой може да чете или използва вашия проект.
Дори и да не сте от хората, които пишат цели параграфи, записването на ключови моменти е по-добро от никакви.
### Изясняване на визията на вашия проект
Започнете, като напишете целите на вашия проект. Добавете ги към вашия файл README или създайте отделен файл, наречен VISION. Ако има други артефакти, които могат да помогнат, като например карта на проект, направете и тях публични.
Наличието на ясна документирана визия ви държи фокусирани и помага да избегнете неразбиране на обхвата от други сътрудници.
Например:
@lord откри фактът, че наличието на визия за проект му помогна да разбере кои заявки да даде приоритет. Като начинаещ поддържащ код, той се оплака че не е бил верен на обхвата на проекта, когато е получил първата ви заявка за функционалност [Slate](https://github.com/lord/slate).
### Съобщете вашите очаквания
Понякога може да е трудно да се формулират правилата, така че други хора да могат да допринесат. Може да почувствате, че се държите като ченге или разваляте забавлението на другите.
Въпреки това, написани и приложени справедливо, добрите правила дават възможност на поддържащите кода. Те ви предпазват от това да бъдете въвлечени в неща, които не искате да правите.
Повечето хора, които срещат вашия проект, не знаят нищо за вас или вашите обстоятелства. Те може да приемат, че ви е платено да работите по него, особено ако това е нещо, което те използват и от което зависят редовно. Може би някога сте отделяли много време за проекта си, но сега сте заети с нова работа или член на семейството.
Всичко е наред! Просто се уверете, че хората знаят.
Независимо дали поддържането на вашия проект е на непълно работно време или просто доброволно, бъдете честни за това колко време имате. Това не е същото като колко време мислите, че ще отнеме проектът или колко време другите искат да отделите.
Ето някои правила, които си струва да имате предвид:
* Как се преглежда и приема принос (_Трябва ли да направите някои тестове? Някакви шаблони, които да използвате за проблеми?_)
* Типовете приноси, които ще приемете (_Искате ли помощ само за част от кода?_)
* Кога е уместно да се проследи (_напр. "Можете да очаквате отговор от поддържащия код в рамките на следващите 7 дни. Ако не сте чули нищо дотогава, не се колебайте да изпратите ping на нишката."_)
*Колко време посвещавате на проекта (_напр. "Ние инвестираме само около 5 часа на седмица в този проект"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), и [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) това са някои примери за проекти с ясни правила за поддържащи и сътрудници.
### Поддържайте публична комуникация
Не забравяйте да документирате и вашите взаимодействия. Където можете, поддържайте публична комуникация относно вашия проект. Ако някой се опита да се свърже с вас лично, за да обсъдите заявка за функция или нужда от поддръжка, учтиво го насочете към обществен канал за комуникация, като списък с имейли или инструмент за проследяване на проблеми.
Ако се срещнете с други поддържащи или вземете важни решения насаме, документирайте тези разговори публично, дори ако просто публикувате бележките си.
По този начин всеки, който се присъедини към вашата общност, ще има достъп до същата информация като някой, който е бил там. От години.
## Научете се да казвате не
Написахте нещата. В идеалния случай всеки ще прочете вашата документация, но в действителност ще трябва да напомняте на другите, че това знание съществува.
Наличието на всичко написано обаче помага да се обезличат ситуациите, в които е необходимо да се налагат правилата.
Да кажете "не" не е забавно, но _"Вашият принос не отговаря на критериите за този проект"_ изглежда по-малко лично от _"Не харесвам приноса ви"_.
Казването "не" се отнася за много ситуации, които ще срещнете като поддържащ код: заявки за функции, които са извън обхвата, някой дерайлира дискусия, върши ненужна работа за други.
### Поддържайте разговора приятелски
Едно от най-важните места, където ще практикувате да казвате "не", е в опашката за издаване и изтегляне на заявки. Като ръководител на проекти вие неизбежно ще получите предложения, които не искате да приемете.
Може би приносът променя обхвата на вашия проект или не отговаря на вашата визия. Може би идеята е добра, но изпълнението е ужасно.
Независимо от причината, можете тактично да се справите с приноси, които не отговарят на стандартите на проекта.
Ако получите изпращане, което не искате да приемете, първата ви реакция може да бъде да го игнорирате или да се престорите, че не сте го видели. Това може да нарани чувствата на другия човек и дори да обезкуражи други потенциални сътрудници във вашата общност.
Не оставяйте отворен нежелан принос, защото се чувствате виновни или искате да сте мили. С течение на времето вашите въпроси без отговор и PR ще станат излишни. Това ще направи работата по вашия проект много по-стресираща и смущаваща.
Най-добре е незабавно да затворите приноси, които знаете, че не искате да приемете. Ако вашият проект вече страда от голямо изоставане или списък с функции за внедряване, @steveklabnik има предложения за [как да избирате ефективно въпроси](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Второ, игнорирането на приносите изпраща отрицателен сигнал към вашата общност. Приносът към проект може да бъде смущаващ, особено ако на някого е за първи път. Дори и да не приемете техния принос, поздравете човека зад него и му благодарете за проявения интерес. Това е страхотен комплимент!
Ако не желаете да приемете дарение:
* **Благодаря им** за техния принос.
* **Обясни защо не отговаря** на обхвата на проекта и предлага ясни предложения за подобрение, ако е възможно. Знам мил, но твърд.
* **Споделете подходяща информация**, ако я имате. Ако забележите повтарящи се искания за неща, които не искате да приемете, добавете ги към документацията си, за да избегнете винаги да обяснявате едно и също нещо.
* **Затворете заявката**
Не трябва да имате повече от 1-2 изречения, за да отговорите. Например, когато потребител [celery](https://github.com/celery/celery/) съобщи за грешка, свързана с Windows, @berkerpeksag [той отговори с](https://github.com/celery/celery/issues/3383):
[celery screenshot](/assets/images/best-practices/celery.png)
Ако идеята да кажете "не" ви ужасява, не се чувствайте сами. Както @jessfraz [казва](https://blog.jessfraz.com/post/the-art-of-closing/):
> Говорил съм с поддържащи кодове от множество различни проекти с отворен код, Mesos, Kubernetes, Chromium, и всички те са съгласни, че една от най-трудните части да си поддържащ код е: да кажеш "Не" на пачове, които не искаш да използваш.
Не се чувствайте виновни, че не искате да приемете нечий принос. Първото правило на отворения код, [в съответствие със](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"Не, е временно; да, това е завинаги."_ Докато мъченичеството на ентусиазма на друг човек е добро нещо, отхвърлянето на принос не е същото като отхвърлянето на човека зад него.
В крайна сметка, ако даден принос не е достатъчно добър, не сте длъжни да го приемете. Знам Бъдете мили и отзивчиви, когато хората допринасят за вашия проект, но приемайте само промени, които наистина вярвате, че ще направят проекта ви по-добър. Колкото по-често се упражнявате да казвате "не", толкова по-лесно става. Това е обещание.
### Бъди проактивен
За да намалите първо обема на нежеланите приноси, обяснете процеса на вашия проект за подаване и приемане на приноси в ръководството за приноси.
Ако получите твърде много подавания с ниско качество, помолете сътрудниците да свършат малко работа предварително, например:
* Попълнете шаблон или контролен списък за проблеми или PR
*Отворете проблем, преди да изпратите PR
Ако не спазват вашите правила, незабавно затворете проблема и ги насочете към вашата документация.
Въпреки че този подход може да изглежда неприятен в началото, проактивността всъщност е добра и за двете страни. Намалете шанса някой да инвестира много часове пропиляна работа върху заявка за изтегляне, която не приемате. И опростява управлението на натоварването.
Понякога, когато кажете "не", вашият потенциален сътрудник може да се ядоса или да критикува решението ви. Ако поведението ви стане враждебно, [вземете мерки за обезвреждане на ситуацията](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) или дори ги отстранете от вашата общност, ако не желаят да си сътрудничат конструктивно.
### Прегърнете наставничеството
Може би някой във вашата общност редовно изпраща приноси, които не отговарят на стандартите на вашия проект. Може да бъде разочароващо и за двете страни многократното преминаване през процеса на отхвърляне.
Ако видите, че някой е Ако сте развълнувани от проекта си, но той се нуждае от малко практика, бъдете търпеливи. Обяснете ясно във всяка ситуация защо. техният принос не отговаря на очакванията на проекта. Опитайте да им дадете по-лесна или по-малко двусмислена задача, като например проблем, означен с _"добър първи проблем,"_, за да ги загреете. Ако имате време, помислете за менторство чрез първия си принос или намерете някой друг във вашата общност, който се интересува. готови да ги наставляват.
##Използване на общността
Не е нужно да правите всичко сами. Вашата проектна общност съществува с причина! Дори ако все още нямате активна общност от сътрудници, ако имате много потребители, оставете ги да работят.
### Споделете натоварването
Ако търсите други да се присъединят, започнете, като разпитате наоколо.
Когато видите нови сътрудници да правят повторни приноси, трябва да признаете работата им, като им предложите повече отговорности. Документирайте как другите могат да постигнат лидерски роли, ако желаят.
Насърчаването на други да [споделят собствеността върху проекта](../building-community/#споделете-собствеността-върху-вашия-проект) може значително да намали работното ви натоварване, както установи @lmccart във вашия проект, [p5.js](https://github.com/processing/p5.js).
Ако трябва да се оттеглите от проекта си, независимо дали временно или за постоянно, не е срамно да помолите някой друг да поеме вместо вас.
Ако други хора са ентусиазирани относно посоката на проекта, дайте им разрешение да се ангажират или официално предайте контрола на някой друг. Ако някой направи разклонение на вашия проект и това е активно поддържане някъде другаде, помислете за свързване на разклонението от вашия оригинален проект. Страхотно е, че толкова много хора искат вашият проект да се развива!
@progrium [установи, че](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) документирайки визията на вашия проект, [Dokku](https://github.com/dokku/dokku), помогне тези цели да продължават, включително и след това, което е останало на проекта:
> Написах wiki страница, описваща какво искам и защо го искам. По някаква причина бях изненадан от това! Нека поддържащите започнат да движат проекта в тази посока! Случи се? Как точно бихте го направили? Не винаги. Но както и да се приближи, аз реализирах проекта, както исках.
### Позволете на другите да създават решенията, от които се нуждаят
Ако потенциален сътрудник има различно мнение за това какво трябва да направи вашият проект, може да се наложи внимателно да го насърчите да работи върху собствената си вилка.
Разклоняването на проект не е задължително да е лошо нещо. Да можеш да копираш и модифицираш проекти е едно от най-добрите неща на отворения код. Насърчаването на членовете на вашата общност да работят върху своя собствена вилица може да осигури творческия изход, от който се нуждаят, без да противоречи на визията на вашия проект.
Същото важи и за потребител, който наистина иска решение, което вие просто нямате възможност да създадете. Предлагането на адаптивни API и кукички може да помогне на другите да посрещнат собствените си нужди, без да се налага директно да променят източника.
@orta [намери че](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) окуражаващи плъгини за CocoaPods към "някои от по-интересните идеи":
> Почти неизбежно е след като проектът стане голям, поддържащите трябва да бъдат много по-консервативни по отношение на това как въвеждат нов код. Умеете да казвате "не", но много хора имат законни нужди. Следователно в крайна сметка превръщате инструмента си в платформа.
## Доведете роботите
Така Точно както има задачи, с които други хора могат да ви помогнат, има и задачи, които никое човешко същество не трябва да изпълнява. Роботите са ваши приятели. Използвайте ги, за да улесните живота си като поддържащ код.
### Изисквайте тестване и други проверки, за да подобрите качеството на вашия код
Един от най-важните начини за автоматизиране на вашия проект е чрез тестване.
Тестването помага на сътрудниците да се чувстват уверени, че няма да нарушат нищо. Те също така улесняват прегледа и бързото приемане на приноси. Колкото по-възприемчиви сте, толкова по-ангажирани ще бъдете. бъдете вашата общност.
Настройте автоматични тестове за изпълнение на всички входящи приноси и се уверете, че могат да се изпълняват локално от сътрудниците. Изисква всички приноси на код да преминат през тестване, преди да могат да бъдат изпратени. Ще помогне за установяване на минимален стандарт за качество за всички приложения.
[Необходими са проверки на състоянието](https://help.github.com/articles/about-required-status-checks/) в GitHub може да помогне да се гарантира, че никакви промени не се обединяват, без първо да преминете през тестване.
Ако добавите тестове, не забравяйте да обясните как работят във вашия CONTRIBUTING файл.
### Използвайте инструменти за автоматизиране на основни задачи по поддръжката
Добрата новина за поддържането на популярен проект е, че други поддържащи вероятно са се сблъсквали с подобни проблеми и са създали решение за него.
Има [различни налични инструменти](https://github.com/showcases/tools-for-open-source) за подпомагане на автоматизирането на някои аспекти на работата по поддръжката. Няколко примера:
* [semantic-release](https://github.com/semantic-release/semantic-release) автоматизирайте вашите версии
* [mention-bot](https://github.com/facebook/mention-bot) споменете възможни рецензенти за заявки за рул
* [Danger](https://github.com/danger/danger) помага за автоматизиране на прегледа на кода
За доклади за грешки и други общи приноси GitHub има [Шаблони за проблеми и заявки за изтегляне](https://github.com/blog/2111-issue-and-pull-request-templates), които можете да създадете, за да рационализирате комуникацията, която получавате. Можете също да конфигурирате [имейл филтри](https://github.com/blog/2203-email-updates-about-your-own-activity)за управление на вашите имейл известия.
Ако искате да станете малко по-напреднали, ръководствата за стил могат да стандартизират приноса към проекта и да ги направят по-лесни за преглед и приемане.
Въпреки това, ако вашите стандарти са твърде сложни, те могат да увеличат бариерите пред приноса. Уверете се, че добавяте само правила, за да улесните живота на всички.
Ако не сте сигурни какво инструменти, които да използвате, вижте какво правят други популярни проекти, особено тези във вашата екосистема. Например какво Как изглежда процесът на принос за други модули на Node? Използването на подобни инструменти и подходи също ще улесни. Направете своя процес по-познат на вашите целеви сътрудници.
## То е добре пауза
Работата с отворен код някога ви е носила радост. Може би сега е така започват да ви карат да се чувствате отбягващи или виновни.
Може би се чувствате претоварени или нарастващо чувство на страх, когато мислите за вашите проекти. И междувременно се натрупват проблеми и заявки за изтегляне.
Прегарянето е реален и всеобхватен проблем в работата с отворен код, особено сред поддържащите. Като поддържащ, вашето щастие е неподлежащо на обсъждане изискване за оцеляването на всеки проект с отворен код.
Въпреки че трябва да се разбира от само себе си, вземете си почивка! Не трябва да чакате, докато се почувствате изморени, за да си вземете почивка. @brettcannon, разработчик на Python, реши да вземете [едномесечна ваканция](http://www.snarky.ca/why-i-took-october-off-from-oss-volunteering) след 14 години OSS доброволчество.
Като всеки друг вид работа, редовните почивки ще ви поддържат мотивирани. свежи, щастливи и развълнувани от работата си.
Понякога може да е трудно да си вземете почивка от работата с отворен код, когато чувствате, че целият свят има нужда от вас. Хората може дори да се опитат да ви накарат да се чувствате виновни, че сте се отдалечили.
Направете всичко възможно, за да намерите поддръжка за вашите потребители и общност, докато сте далеч от даден проект. Ако не можете да намерите подкрепата, от която се нуждаете, все пак си направете почивка. Не забравяйте да общувате, когато не сте на разположение, така че хората да не се чувстват объркани от липсата ви на отзивчивост.
Правенето на почивки се отнася и за нещо повече от ваканции. Ако не искате да работите с отворен код през почивните дни или по време на работното време, съобщете тези решения на другите, за да знаят, че няма да ви притесняват.
## Погрижете се първо за себе си!
Поддържането на популярен проект изисква различни умения от ранните етапи на растеж, но е не по-малко възнаграждаващо. Като поддържащ, вие ще практикувате лидерски умения и умения за хора на ниво, което малко хора могат да изпитат. Въпреки че не винаги е лесно да се управлява, поставянето на ясни граници и вземането само на това, което ви кара да се чувствате комфортно, ще ви помогне. за да сте щастливи, актуализирани и продуктивни.
================================================
FILE: _articles/bg/building-community.md
================================================
---
lang: bg
title: Изграждане на приветливи общности
description: Изграждане на общност, която насърчава хората да използват, допринасят и образоват с вашия проект
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Настройване на вашия проект за успех
Току-що стартирахте проекта си, разпространявате информацията и хората го следват. Брилянтно! Сега, как да ги накараш да останат?
Гостоприемната общност е инвестиция в бъдещето на вашия проект и вашата репутация. Ако вашият проект едва започва да вижда първите си приноси, започнете, като дадете положителен опит на първите сътрудници и ги улеснете да се връщат отново.
### Накарайте хората да се чувстват добре дошли
Един от начините да мислите за общността на вашия проект е чрез това, което @MikeMcQuaid нарича [фуния на сътрудниците](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

Докато изграждате общността си, помислете как някой на върха на фунията (потенциален потребител) може теоретично да си проправи път надолу (активен поддържащ). Вашата цел е да намалите триенето на всеки етап от опита на сътрудници. Когато хората имат лесни победи, те ще бъдат стимулирани да правят повече.
Започнете с вашата документация:
* **Направете го лесен за тези, които трябва да използват проекта.** [Приятелски документ README](../starting-a-project/#напишете-readme) и ясни примери за код ще улеснят използването му .Това е лесно начало за всеки, който попадне на вашия проект.
* **Ясно обяснете как да допринесете**, като използвате [файл за CONTRIBUTING](../starting-a-project/#напишете-вашите-указания-за-принос) и поддържате проблемите си актуални.
* **Добри първи издания**: За да помогнете на новите сътрудници да започнат, мислете ясно за [подчертаване на теми, които са достатъчно прости, за да се справи начинаещият](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). След това GitHub ще покаже тези проблеми на различни места в платформата, увеличавайки полезните приноси и намалявайки напрежението от потребителите, които се справят с проблеми, които са твърде трудни за тяхното ниво.
[Проучване на GitHub за отворен код от 2017 г](http://opensourcesurvey.org/2017/) показа, че непълната или объркваща документация е най-големият проблем за потребителите с отворен код. Добрата документация приканва хората да взаимодействат с вашия проект. В крайна сметка някой ще отвори проблем или заявка. Използвайте тези взаимодействия като възможности да ги преместите надолу по фунията.
* **Когато някой нов се присъедини към вашия проект, благодарете му за проявения интерес!** Необходим е само един негативен опит, за да накара някой да не иска да се върне.
* **Бъдете отзивчиви.** Ако не отговорите на въпроса им в продължение на един месец, има вероятност те вече да са забравили за вашия проект.
* **Бъдете непредубедени относно видовете приноси, които ще приемете.** Много сътрудници започват с докладване на грешка или извършване на малка корекция. Има [много начини да допринесете](../how-to-contribute/#какво-означава-да-допринасяш) към проект. Позволете на хората да помагат по начина, по който искат да помогнат.
* **Ако има принос, с който не сте съгласни,** им благодарете за тяхната идея и [обяснете защо](../best-practices/#научете-се-да-казвате-не) не отговаря на обхвата на проекта , с връзка към съответната документация, ако я имате.
Повечето сътрудници с отворен код са "случайни сътрудници": хора, които допринасят за проект само от време на време. Случаен сътрудник може да няма време да се запознае напълно с вашия проект, така че вашата работа е да го улесните да допринася.
Насърчаването на други сътрудници е инвестиция и във вас самите. Когато дадете възможност на най-големите си фенове да работят с работата, която ги вълнува, има по-малко натиск да правите всичко сами.
### Документирайте всичко
Когато започвате нов проект, може да ви се стори естествено да запазите работата си в тайна. Но проектите с отворен код процъфтяват, когато документирате процеса си публично.
Когато документирате нещата, повече хора могат да бъдат включени във всяка стъпка от процеса. Може да получите помощ за нещо, от което дори не сте подозирали, че имате нужда.
Записването на неща означава повече от просто техническа документация. Всеки път, когато почувствате нужда да напишете нещо или да обсъдите работата си насаме, запитайте се дали можете да я направите публично достояние.
Бъдете прозрачни относно пътната карта на вашия проект, типовете приноси, които търсите, как се разглеждат приносите или защо сте взели определени решения.
Ако забележите, че много потребители имат същия проблем, моля, документирайте отговорите в README.
За срещи помислете за публикуване на вашите бележки или изводи в свързана тема. Обратната връзка, която ще получите от това ниво на прозрачност, може да ви изненада.
Документирането на всичко се отнася и за работата, която вършите. Ако работите върху голяма актуализация на вашия проект, поставете го в заявка за изтегляне и го маркирайте като работа в процес (WIP). По този начин други хора могат да се почувстват ангажирани в процеса на ранен етап.
### Бъдете отзивчиви
Докато [популяризирате своя проект](../finding-users), хората ще имат обратна връзка за вас. Те може да имат въпроси за това как работят нещата или да се нуждаят от помощ, за да започнат.
Опитайте се да бъдете отзивчиви, когато някой подаде проблем, изпрати заявка за изтегляне или зададе въпрос относно вашия проект. Когато отговаряте бързо, хората ще се почувстват като част от диалог и ще бъдат по-ентусиазирани да участват.
Дори и да не можете да прегледате заявката незабавно, потвърждаването й на ранен етап помага да се увеличи ангажираността. Ето как @tdreyno отговори на заявка за изтегляне на [Middleman](https://github.com/middleman/middleman/pull/1466):

[Това установи проучване на Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) сътрудниците, които са получили прегледи на кода в рамките на 48 часа, са имали много по-висок процент на възвръщаемост и повторен принос.
Дискусиите относно вашия проект може също да се случват другаде в мрежата, като Stack Overflow, Twitter или Reddit. Можете да настроите известия на някои от тези места, така че да получавате известия, когато някой спомене вашия проект.
### Дайте на вашата общност място за събиране
Има две причини да дадете на вашата общност място за събиране.
Първата причина е за тях. Помогнете на хората да се опознаят. Хората с общи интереси неизбежно ще искат място, където да говорят за това. А когато комуникацията е публична и достъпна, всеки може да чете минали архиви, за да се запознае и да участва.
Втората причина е за вас. Ако не дадете на хората обществено място да говорят за вашия проект, те вероятно ще се свържат директно с вас. В началото може да изглежда достатъчно лесно да отговаряте на лични съобщения "само този път". Но с течение на времето, особено ако проектът ви стане популярен, ще се почувствате изтощени. Устояйте на изкушението да общувате с хората относно вашия проект насаме. Вместо това ги насочете към определен обществен канал.
Публичната комуникация може да бъде толкова проста, колкото да насочите хората да отворят проблем, вместо да ви изпращат имейл директно или да коментират в блога ви. Можете също така да настроите пощенски списък или да създадете акаунт в Twitter, Slack или IRC канал, за да могат хората да говорят за вашия проект. Или опитайте всичко по-горе!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) отделя работни часове през седмица, за да помогне на членовете на общността:
> Kops също така отделя време всяка седмица, за да предлага помощ и насоки на общността. Поддържащите Kops се съгласиха да отделят време, специално посветено на работа с новодошлите, подпомагане с PR и обсъждане на нови функции.
Забележителни изключения от публичната комуникация са: 1) проблеми със сигурността и 2) чувствителни нарушения на кодекса за поведение. Винаги трябва да имате начин хората да докладват тези проблеми лично. Ако не искате да използвате личния си имейл, настройте специален имейл адрес.
## Разрастване на вашата общност
Общностите са изключително силни. Тази сила може да бъде благословия или проклятие, в зависимост от това как я владеете. Тъй като общността на вашия проект расте, има начини да му помогнете да се превърне в сила на изграждане, а не на разрушение.
### Не толерирайте лоши актьори
Всеки популярен проект неизбежно ще привлече хора, които вредят, а не помагат на вашата общност. Те могат да започнат ненужни дебати, да се карат за тривиални характеристики или да тормозят другите.
Направете всичко възможно да приемете политика на нулева толерантност към този тип хора. Ако не бъдат отметнати, негативните хора ще накарат другите хора във вашата общност да се чувстват неудобно. Може дори да си тръгнат.
Редовните дискусии за тривиални аспекти на вашия проект разсейват другите, включително вас, от фокусирането върху важни задачи. Нови хора, които пристигат във вашия проект, може да видят тези разговори и да не искат да участват.
Когато видите, че се появява негативно поведение, направете публично наблюдение за него. Обяснете с приятелски тон защо Такова поведение не е приемливо. Ако проблемът продължава, може да се наложи [да го помолите да напусне](../code-of-conduct/#вашите-отговорности-като-поддържащ). Вашият [кодекс на поведение](../code-of-conduct/) може да бъде конструктивно ръководство за тези разговори.
### Запознайте се с сътрудниците там, където са
Добрата документация става все по-важна, когато вашата общност расте. Случайни сътрудници, които иначе може да не са запознати с вашия проект, четат вашата документация, за да получат бързо контекста, от който се нуждаят.
Във вашия CONTRIBUTING файл кажете изрично на новите сътрудници как да започнат. Може дори да искате да направите специален раздел за тази цел. [Django](https://github.com/django/django), например, има специална целева страница за посрещане на нови сътрудници.

В опашката си с теми маркирайте грешки, които са подходящи за различни типове сътрудници: например [_"за начинаещи"_](https://kentcdodds.com/blog/first-timers-only), _"добра първа тема"_ или _"документация"_. [Тези маркировки](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) улесняват някой който е нов във вашия проект бързо да сканира вашите теми и първи стъпки.
И накрая, използвайте вашата документация, за да накарате хората да се чувстват добре дошли на всяка стъпка от процеса.
Никога няма да взаимодействате с повечето хора, които ще участват във вашия проект. Възможно е да има приноси, които не сте получили, защото някой се е почувствал уплашен или не е знаел откъде да започне. Дори няколко мили думи могат да попречат на някого да напусне проекта ви разочарован.
Например, ето как [Rubinius](https://github.com/rubinius/rubinius/) започва [неговото допринасящо ръководство](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Искаме да започнем, като ви благодарим, че използвате Rubinius. Този проект е труд на любов и ние оценяваме всички потребители, които улавят грешки, правят подобрения на производителността и помагат с документацията. Всеки принос е значим, така че благодарим за участието. Имайки предвид това, ето няколко насоки, които ви молим да следвате, за да можем успешно да се справим с проблема ви.
### Споделете собствеността върху вашия проект
Хората са развълнувани да допринасят за проекти, когато изпитват чувство за собственост. Това не означава, че трябва да преобърнете визията на вашия проект или да приемете приноси, които не искате. Но колкото повече признавате другите, толкова повече те ще останат наоколо.
Вижте дали можете да намерите начини да споделите собствеността с вашата общност колкото е възможно повече. Ето няколко идеи:
* **Отбягвайте коригирането на лесни (некритични) грешки.** Вместо това ги използвайте като възможности за набиране на нови сътрудници или наставничество на някой, който би искал да допринесе. В началото може да изглежда неестествено, но инвестицията ви ще се изплати с времето. Например @michaeljoseph помоли сътрудник да изпрати заявка за изтегляне на проблем с [Cookiecutter](https://github.com/audreyr/cookiecutter) по-долу, вместо да го коригира сам.

* **Стартирайте файл CONTRIBUTORS или AUTHORS във вашия проект**, който изброява всички, които са допринесли за вашия проект, както прави [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* Ако имате значителна общност, **изпратете бюлетин или напишете публикация в блог**, като благодарите на сътрудниците. [Тази седмица в Rust](https://this-week-in-rust.org/) на Rust и [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) на Hoodie са два добри примера.
* **Дайте достъп за ангажиране на всеки сътрудник.** @felixge установи, че това кара хората [да бъдат по-развълнувани да усъвършенстват корекциите си](https://felixge.de/2013/03/11/the-pull-request-hack.html) и дори намери нови поддържащи за проекти, по които не е работил от известно време.
* Ако проектът ви е в GitHub, **преместете проекта си от личния си акаунт в [Организация](https://help.github.com/articles/creating-a-new-organization-account/)** и добавете поне един резервен администратор. Организациите улесняват работата по проекти с външни сътрудници.
Реалността е, че [повечето проекти имат само](https://peerj.com/preprints/1233/) един или двама поддържащи, които вършат по-голямата част от работата. Колкото по-голям е вашият проект и колкото по-голяма е вашата общност, толкова по-лесно е да намерите помощ.
Въпреки че не винаги може да намерите някой, който да отговори на обаждането, подаването на сигнал там увеличава шансовете други хора да се включат. И колкото по-рано започнете, толкова по-скоро хората могат да помогнат.
## Разрешаване на конфликти
В ранните етапи на вашия проект вземането на важни решения е лесно. Когато искаш да направиш нещо, просто го правиш.
Тъй като вашият проект става по-популярен, повече хора ще се интересуват от решенията, които вземате. Дори и да нямате голяма общност от сътрудници, ако вашият проект има много потребители, ще намерите хора, които преценяват решенията или повдигат свои собствени проблеми.
В по-голямата си част, ако сте култивирали приятелска, уважителна общност и сте документирали процесите си открито, вашата общност трябва да може да намери решение. Но понякога се натъквате на проблем, който е малко по-труден за разрешаване.
### Поставете стандарта за учтивост
Когато вашата общност се бори с труден проблем, настроението може да се надигне. Хората може да се ядосат или разочароват и да си го изкарат един на друг или на вас.
Вашата работа като поддържащ е да предотвратите ескалацията на тези ситуации. Дори ако имате силно мнение по въпроса, опитайте се да заемете позицията на модератор или фасилитатор, вместо да влизате в битката и да популяризирате своите възгледи. Ако някой е нелюбезен или монополизира разговора, [действайте незабавно](../building-community/#не-толерирайте-лоши-актьори), за да поддържате дискусията цивилизована и продуктивна.
Други хора ви търсят за напътствие. Давайте добър пример. Все още можете да изразите разочарование, нещастие или загриженост, но го направете спокойно.
Да запазите хладнокръвие не е лесно, но демонстрирането на лидерство подобрява здравето на вашата общност. Интернет ви благодари.
### Отнасяйте се към вашия README като към конституция
Вашият README е [повече от просто набор от инструкции](../starting-a-project/#напишете-readme). Това също е място да говорите за вашите цели, продуктова визия и пътна карта. Ако хората са прекалено съсредоточени върху обсъждането на достойнствата на определена функция, може да ви помогне да прегледате отново вашия README и да говорите за по-високата визия на вашия проект. Фокусирането върху вашия README също обезличава разговора, така че можете да водите конструктивна дискусия.
### Фокусирайте се върху пътуването, а не върху дестинацията
Някои проекти използват процес на гласуване, за да вземат важни решения. Въпреки че е разумно на пръв поглед, гласуването набляга на достигането до "отговор", а не на изслушване и разглеждане на притесненията на другия.
Гласуването може да стане политическо, когато членовете на общността се чувстват принудени да си правят услуги или да гласуват по определен начин. Не всеки гласува също, независимо дали е [мълчаливото мнозинство](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) във вашата общност или настоящи потребители, които не са знаели, че се провежда гласуване.
Понякога е необходим равен вот. Доколкото можете обаче, наблягайте на ["търсенето на консенсус"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making), а не на консенсуса .
При процес на търсене на консенсус членовете на общността обсъждат основните опасения, докато не почувстват, че са били адекватно изслушани. Когато останат само второстепенни грижи, общността върви напред. "Търсене на консенсус" признава, че една общност може да не е в състояние да достигне до перфектен отговор. Вместо това дава приоритет на слушането и дискусията.
Дори ако всъщност не възприемете процес на търсене на консенсус, като поддържащ проект е важно хората да знаят, че слушате. Да накарате другите хора да се почувстват чути и да се ангажират с разрешаването на притесненията им допринася много за деескалацията на чувствителни ситуации. След това последвайте думите си с действия.
Не бързайте с решение в името на решението. Уверете се, че всички се чувстват чути и че цялата информация е разпространена, преди да преминете към решение.
### Поддържайте разговора фокусиран върху действието
Дискусията е важна, но има разлика между продуктивни и непродуктивни разговори.
Насърчавайте дискусията, стига да върви активно към разрешаване. Ако е ясно, че разговорът затихва или се отклонява от темата, заяжданията стават лични или хората се бъзикат за незначителни подробности, време е да го затворите.
Позволяването на тези разговори да продължат е не само лошо за разглеждания проблем, но и за здравето на вашата общност. Изпраща съобщение, че този тип разговори са разрешени или дори насърчавани, и може да обезсърчи хората да повдигат или разрешават бъдещи проблеми.
С всяка точка, изказана от вас или от други, запитайте се: "Как това ни доближава до решение?"_
Ако разговорът започва да се разплита, попитайте групата _"Кои стъпки трябва да предприемем по-нататък?"_, за да пренасочите разговора.
Ако разговорът очевидно не води до никъде, няма ясни действия, които да бъдат предприети, или подходящото действие вече е предприето, затворете проблема и обяснете защо сте го затворили.
### Подбирайте битките си мъдро
Важен е контекстът. Помислете кой участва в разговора и как той представлява останалата част от общността.
Всички в общността разстроени ли са или дори загрижени за това? Или е самотен размирник? Не забравяйте да имате предвид мълчаливите членове на вашата общност, а не само активните гласове.
Ако проблемът не представлява по-широките нужди на вашата общност, може просто да се наложи да приемете притесненията на някои хора. Ако това е повтарящ се проблем без ясно решение, моля, насочете ги към предишни дискусии по темата и затворете темата.
### Определете критерий за равновесие на общността
С добро поведение и ясна комуникация повечето трудни ситуации се разрешават. Въпреки това, дори при продуктивна дискусия, може просто да има разлика в мненията за това как да продължите. В тези случаи идентифицирайте човек или група от хора, които могат да служат като балансьор.
Нивелирът може да бъде основният поддържащ проекта или може да бъде малка група хора, които вземат решение въз основа на гласуване. В идеалния случай вие сте дефинирали нивелир и свързаната процедура във файл GOVERNANCE, преди да се наложи да го използвате.
Вашето решение за вратовръзка трябва да е последна мярка. Разделящите въпроси са възможност за вашата общност да расте и да се учи. Прегърнете тези възможности и използвайте процес на сътрудничество, за да преминете към разрешаване, когато е възможно.
## Общността е ❤️ на отворен код
Здравите, процъфтяващи общности захранват хилядите часове, вложени в отворен код всяка седмица. Много сътрудници посочват други хора като причина да работят - или да не работят - с отворен код. Като се научите как да се възползвате от тази сила конструктивно, вие ще помогнете на някого да има незабравимо изживяване с отворен код.
================================================
FILE: _articles/bg/code-of-conduct.md
================================================
---
lang: bg
title: Вашият кодекс на поведение
description: Улеснявайте здравословното и конструктивно поведение на общността чрез приемане и прилагане на кодекс на поведение.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Защо имам нужда от кодекс на поведение?
Кодексът на поведение е документ, който определя очакванията за поведение на участниците във вашия проект. Приемането и прилагането на кодекс на поведение може да помогне за създаването на положителна социална атмосфера за вашата общност.
Кодексите на поведение помагат да защитите не само вашите участници, но и себе си. Ако поддържате проект, може да откриете, че непродуктивното отношение на другите участници може да ви накара да се почувствате изтощени или нещастни от работата си с течение на времето.
Кодексът на поведение ви дава възможност да улесните здравословното, конструктивно поведение в общността. Проактивността намалява вероятността вие или другите да се уморите от вашия проект и ви помага да предприемете действия, когато някой направи нещо, с което не сте съгласни.
## Създаване на кодекс на поведение
Опитайте се да създадете кодекс на поведение възможно най-рано: в идеалния случай, когато за първи път създавате своя проект.
В допълнение към съобщаването на вашите очаквания, кодексът на поведение описва следното:
* Където кодексът на поведение влиза в сила _(само при проблеми и заявки за изтегляне или дейности на общността като събития?)_
* За кого се прилага кодексът на поведение _(членове на общността и поддържащи лица, но какво да кажем за спонсори?)_
* Какво се случва, ако някой наруши кодекса на поведение
* Как някой може да докладва за нарушения
Където можете, използвайте предшестващо състояние на техниката. [Споразумението на сътрудниците](https://contributor-covenant.org/) е код за поведение, който се използва от над 40 000 проекта с отворен код, включително Kubernetes, Rails и Swift.
[Кодексът на поведение на Django](https://www.djangoproject.com/conduct/) и [Кодексът на поведение на гражданите](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) също са два добри примера на кодекс на поведение.
Поставете файл CODE_OF_CONDUCT в основната директория на вашия проект и го направете видим за вашата общност, като го свържете от вашия CONTRIBUTING или README файл.
## Решете как ще наложите своя кодекс на поведение
Трябва да обясните как вашият кодекс за поведение ще бъде прилаган **_преди_** нарушение. Има няколко причини да го направите:
* Демонстрира, че сте сериозни относно предприемането на действия, когато е необходимо.
* Вашата общност ще се почувства по-уверена, че оплакванията действително се преглеждат.
* Ще уверите вашата общност, че процесът на преглед е честен и прозрачен, ако някога се окажат разследвани за нарушение.
Трябва да дадете на хората личен начин (като имейл адрес) да докладват за нарушение на кодекса на поведение и да обясните кой получава този доклад. Това може да бъде поддържащ, група от поддържащи или работна група за кодекс на поведение.
Не забравяйте, че някой може да поиска да докладва за нарушение на лице, което получава тези доклади. В този случай им дайте възможност да докладват за нарушения на някой друг. Например @ctb и @mr-c [обясняват за техния проект](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Случаи на злоупотреба, тормоз или по друг начин неприемливо поведение могат да бъдат докладвани чрез имейл **khmer-project@idyll.org**, който отива само до C. Titus Brown и Michael R. Crusoe. За да съобщите за проблем, свързан с някой от тях, моля, изпратете имейл до **Judi Brown Clarke, Ph.D.** директора по разнообразието в BEACON Center for the Study of Evolution in Action, Център за науки и технологии на NSF.*
За вдъхновение вижте [ръководството за прилагане](https://www.djangoproject.com/conduct/enforcement-manual/) на Django (въпреки че може да не се нуждаете от нещо толкова изчерпателно, в зависимост от размера на вашия проект).
## Налагане на вашия кодекс на поведение
Понякога, въпреки всичките ви усилия, някой ще направи нещо, което нарушава този кодекс. Има няколко начина за справяне с негативното или вредно поведение, когато се появи.
### Съберете информация за ситуацията
Отнасяйте се към гласа на всеки член на общността също толкова важен, колкото и вашия собствен. Ако получите доклад, че някой е нарушил кодекса за поведение, приемете го сериозно и проучете въпроса, дори ако не съвпада с вашия собствен опит с този човек. Това сигнализира на вашата общност, че цените тяхната гледна точка и се доверявате на тяхната преценка.
Въпросният член на общността може да е повторен нарушител, който постоянно кара другите да се чувстват неудобно, или може да е казал или направил нещо само веднъж. И в двата случея могат да бъдат основание за предприемане на действие в зависимост от контекста.
Преди да отговорите, дайте си време да разберете какво се е случило. Прочетете миналите коментари и разговори на човека, за да разберете по-добре кои са те и защо може да са действали по този начин. Опитайте се да съберете гледни точки, различни от вашата собствена, за този човек и неговото поведение.
### Предприемете подходящи действия
След като съберете и обработите достатъчно информация, ще трябва да решите какво да правите. Докато обмисляте следващите си стъпки, не забравяйте, че вашата цел като модератор е да насърчите безопасна, уважителна и съвместна среда. Помислете не само как да се справите с въпросната ситуация, но и как вашият отговор ще повлияе на останалата част от поведението и очакванията на вашата общност в бъдеще.
Когато някой съобщи за нарушение на кодекса на поведение, ваша, а не негова работа е да се справите с него. Понякога репортерът разкрива информация с голям риск за своята кариера, репутация или физическа безопасност. Принуждаването им да се изправят срещу насилника си може да постави репортера в компрометираща позиция. Трябва да поддържате директна комуникация с въпросното лице, освен ако репортерът изрично не поиска друго.
Има няколко начина, по които можете да реагирате на нарушение на кодекса на поведение:
* **Дайте публично предупреждение на въпросното лице** и обяснете как поведението му е повлияло негативно на другите, за предпочитане в канала, където се е случило. Когато е възможно, публичната комуникация предава на останалата част от общността, че приемате кодекса за поведение сериозно. Бъдете мили, но твърди в общуването си.
* **Свържете се лично с въпросното лице**, за да обясните как поведението му е повлияло негативно на другите. Може да искате да използвате личен канал за комуникация, ако ситуацията включва чувствителна лична информация. Ако общувате с някого насаме, добра идея е да изпратите CC на онези, които първи са съобщили за ситуацията, за да знаят, че сте предприели действия. Помолете подалото сигнал лице за съгласие, преди да му изпратите CC.
Понякога не може да се постигне решение. Въпросното лице може да стане агресивно или враждебно, когато се сблъскаш с него или да не промени поведението си. В тази ситуация може да обмислите предприемането на по-строги действия. Например:
* **Забрана на въпросното лице** от проекта, наложено чрез временна забрана за участие във всеки аспект на проекта
* **Забранете за постоянно** лицето от проекта
Забраната на членове не трябва да се приема с лека ръка и представлява постоянна и непримирима разлика в гледните точки. Трябва да предприемате тези мерки само когато е ясно, че не може да се постигне решение.
## Вашите отговорности като поддържащ
Кодексът на поведение не е закон, който се прилага произволно. Вие сте наложителят на кодекса за поведение и е ваша отговорност да следвате правилата, установени от кодекса за поведение.
Като поддържащ вие установявате насоките за вашата общност и налагате тези насоки в съответствие с правилата, изложени във вашия кодекс за поведение. Това означава да приемате сериозно всеки сигнал за нарушение на кодекса за поведение. На репортера се дължи задълбочено и справедливо разглеждане на жалбата им. Ако установите, че поведението, за което са докладвали, не е нарушение, съобщете им го ясно и обяснете защо няма да предприемете действия по него. Какво ще направят с това зависи от тях: да толерират поведението, с което са имали проблем, или да спрат да участват в общността.
Докладът за поведение, което _технически_ не нарушава кодекса за поведение, все още може да показва, че има проблем във вашата общност и вие трябва да проучите този потенциален проблем и да действате съответно. Това може да включва преразглеждане на вашия кодекс за поведение, за да се изясни приемливото поведение и/или разговор с лицето, чието поведение е докладвано, и да му кажете, че макар да не е нарушил кодекса за поведение, те заобикалят ръба на очакваното и правят сигурни участниците се чувстват неудобно.
В крайна сметка, като поддържащ, вие определяте и налагате стандартите за приемливо поведение. Вие имате способността да оформяте ценностите на общността на проекта и участниците очакват от вас да налагате тези ценности по справедлив и равностоен начин.
## Насърчавайте поведението, което искате да видите в света 🌎
Когато даден проект изглежда враждебен или неприветлив, дори ако това е само един човек, чието поведение се толерира от другите, рискувате да загубите много повече сътрудници, някои от които може дори никога да не срещнете. Не винаги е лесно да приемете или наложите кодекс на поведение, но насърчаването на гостоприемна среда ще помогне на вашата общност да расте.
================================================
FILE: _articles/bg/finding-users.md
================================================
---
lang: bg
title: Намиране на потребители за вашия проект
description: Помогнете на вашия проект с отворен код да се развие, като го предоставите в ръцете на щастливи потребители.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Разпространяване на думата
Няма правило, което да казва, че трябва да рекламирате проект с отворен код, когато стартирате. Има много основателни причини да работите с отворен код, които нямат нищо общо с популярността. Вместо да се надявате, че другите ще намерят и използват вашия проект с отворен код, вие трябва да разпространите думата за вашата упорита работа!
## Разберете съобщението си
Преди да започнете действителната работа по популяризиране на вашия проект, трябва да можете да обясните какво прави и защо има значение.
Какво прави вашия проект различен или интересен? Защо го създадохте? Отговорът на тези въпроси сам ще ви помогне да съобщите значението на вашия проект.
Не забравяйте, че хората се включват като потребители и в крайна сметка стават сътрудници, защото вашият проект решава проблем вместо тях. Докато мислите за посланието и стойността на вашия проект, опитайте се да ги видите през призмата на това, което _потребителите и сътрудниците_ може да искат.
Например, @robb използва примери за код, за да съобщи ясно защо неговият проект, [Картография](https://github.com/robb/Cartography), е полезен:

За по-задълбочено потапяне в съобщенията вижте упражнението на Mozilla ["Личности и пътеки"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) за разработване на потребителски персони.
## Help people find and follow your project
Помогнете на хората да намерят и запомнят вашия проект, като ги насочите към едно пространство от имена.
**Имайте ясен манипулатор, за да популяризирате работата си.** Twitter манипулатор, GitHub URL или IRC канал е лесен начин да насочите хората към вашия проект. Тези изходи също дават място за събиране на нарастващата общност на вашия проект.
Ако все още не желаете да създавате изходи за вашия проект, популяризирайте свой собствен Twitter или GitHub манипулатор във всичко, което правите. Популяризирането на вашия Twitter или GitHub ще позволи на хората да знаят как да се свържат с вас или да следят работата ви. Ако говорите на среща или събитие, уверете се, че вашата информация за контакт е включена във вашата биография или слайдове.
**Помислете за създаване на уебсайт за вашия проект.** Уеб сайтът прави проекта ви по-удобен и лесен за навигация, особено когато е съчетан с ясна документация и уроци. Наличието на уебсайт също предполага, че вашият проект е активен, което ще накара вашата аудитория да се чувства по-комфортно при използването му. Дайте примери, за да дадете на хората идеи как да използват вашия проект.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), съ-създател на Django, каза, че уебсайтът е _"далеч най-доброто нещо, което направихме с Django в ранните дни"_ .
Ако вашият проект се хоства в GitHub, можете да използвате [GitHub Pages](https://pages.github.com/), за да създадете лесно уебсайт. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/) и [Middleman](https://middlemanapp.com/) са [няколко примера](https://github.com/showcases/github-pages-examples) от отлични, изчерпателни уебсайтове.

Сега, след като имате съобщение за вашия проект и лесен начин за хората да го намерят, нека да излезем и да поговорим с вашата аудитория!
## Отидете там, където е аудиторията на вашия проект (онлайн)
Онлайн обхватът е чудесен начин за бързо споделяне и разпространение на информацията. Използвайки онлайн канали, вие имате потенциала да достигнете до много широка аудитория.
Възползвайте се от съществуващите онлайн общности и платформи, за да достигнете до вашата аудитория. Ако вашият проект с отворен код е софтуерен проект, вероятно можете да намерите аудиторията си в [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/) или [Quora](https://www.quora.com/). Намерете каналите, от които смятате, че хората ще имат най-голяма полза или ще бъдат развълнувани от вашата работа.
Вижте дали можете да намерите начини да споделите проекта си по подходящи начини:
* **Запознайте се с подходящи проекти и общности с отворен код.** Понякога не е нужно директно да рекламирате проекта си. Ако вашият проект е идеален за специалисти по данни, които използват Python, запознайте се с общността за наука за данни на Python. Когато хората ви опознаят, ще се появят естествени възможности да говорите и споделяте работата си.
* **Намерете хора, които се сблъскват с проблема, който вашият проект решава.** Потърсете в свързани форуми за хора, които попадат в целевата аудитория на вашия проект. Отговорете на техния въпрос и намерете тактичен начин, когато е подходящо, да предложите вашия проект като решение.
* **Поискайте обратна връзка.** Представете себе си и работата си на публика, която ще я намери за подходяща и интересна. Бъдете конкретни относно това кой смятате, че ще има полза от вашия проект. Опитайте се да завършите изречението: _"Мисля, че моят проект наистина ще помогне на X, които се опитват да направят Y_". Слушайте и отговаряйте на отзивите на другите, вместо просто да популяризирате работата си.
Най-общо казано, фокусирайте се върху това да помагате на другите, преди да поискате неща в замяна. Тъй като всеки може лесно да рекламира проект онлайн, ще има много шум. За да се откроите от тълпата, дайте на хората контекст за това кой сте, а не само това, което искате.
Ако никой не обърне внимание или не отговори на първоначалния ви обхват, не се обезсърчавайте! Повечето стартирания на проекти са итеративен процес, който може да отнеме месеци или години. Ако не получите отговор от първия път, опитайте различна тактика или първо потърсете начини да добавите стойност към работата на другите. Популяризирането и стартирането на вашия проект изисква време и отдаденост.
## Отидете там, където е аудиторията на вашия проект (офлайн)

Офлайн събитията са популярен начин за популяризиране на нови проекти пред публика. Те са чудесен начин да достигнете до ангажирана аудитория и да изградите по-дълбоки човешки връзки, особено ако се интересувате от достигане до разработчици.
Ако сте [нов в публичното говорене](https://speaking.io/), започнете, като намерите местна среща, която е свързана с езика или екосистемата на вашия проект.
Ако никога преди не сте говорили на събитие, напълно нормално е да се чувствате нервни! Не забравяйте, че публиката ви е там, защото те наистина искат да чуят за работата ви.
Докато пишете речта си, съсредоточете се върху това, което аудиторията ви ще намери за интересно и от което ще извлече полза. Поддържайте езика си приятелски настроен и достъпен. Усмихвайте се, дишайте и се забавлявайте.
Когато се почувствате готови, обмислете да говорите на конференция, за да популяризирате проекта си. Конференциите могат да ви помогнат да достигнете до повече хора, понякога от цял свят.
Потърсете конференции, които са специфични за вашия език или екосистема. Преди да изпратите своята реч, проучете конференцията, за да пригодите лекцията си за присъстващите и да увеличите шансовете си да бъдете приети да говорите на конференцията. Често можете да добиете представа за аудиторията си, като погледнете говорителите на конференцията.
## Build a reputation
В допълнение към стратегиите, описани по-горе, най-добрият начин да поканите хората да споделят и да допринесат за вашия проект е да споделяте и да допринесете за техните проекти.
Подпомагането на новодошлите, споделянето на ресурси и обмисленият принос към чужди проекти ще ви помогнат да изградите положителна репутация. Това, че сте активен член в общността с отворен код, ще помогне на хората да имат контекст за вашата работа и е по-вероятно да обърнат внимание и да споделят вашия проект. Развитието на връзки с други проекти с отворен код може дори да доведе до официални партньорства.
Никога не е твърде рано или твърде късно да започнете да изграждате репутацията си. Дори ако вече сте стартирали свой собствен проект, продължавайте да търсите начини да помагате на другите.
Няма еднодневно решение за изграждане на аудитория. Спечелването на доверието и уважението на другите отнема време и изграждането на вашата репутация никога не свършва.
## Продължавайте!
Може да отнеме много време, преди хората да забележат вашия проект с отворен код. Това е добре! Някои от най-популярните проекти днес отнеха години, за да достигнат високи нива на активност. Съсредоточете се върху изграждането на взаимоотношения, вместо да се надявате, че вашият проект спонтанно ще спечели популярност. Бъдете търпеливи и продължавайте да споделяте работата си с тези, които я оценяват.
================================================
FILE: _articles/bg/getting-paid.md
================================================
---
lang: bg
title: Получаване на заплащане за работа с отворен код
description: Поддържайте работата си с отворен код, като получите финансова подкрепа за вашето време или за вашия проект.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Защо някои хора търсят финансова подкрепа
Голяма част от работата с отворен код е доброволна. Например, някой може да се натъкне на грешка в проект, който използва, и да изпрати бързо решение, или може да му хареса да бърника с проект с отворен код в свободното си време.
Има много причини, поради които човек не би искал да получава заплащане за работата си с отворен код.
* **Те може вече да имат работа на пълен работен ден, която обичат,** което им позволява да допринасят за отворен код в свободното си време.
* **Харесва им да мислят за отворения код като за хоби** или творческо бягство и не искат да се чувстват финансово задължени да работят по проектите си.
* **Те получават други ползи от приноса си към отворен код,** като например изграждане на репутация или портфолио, усвояване на нови умения или чувство за близост до общност.
За други, особено когато приносът е в ход или изисква значително време, получаването на плащане за принос към отворен код е единственият начин да участват, било защото проектът го изисква, или поради лични причини.
Поддържането на популярни проекти може да бъде значителна отговорност, като отнема 10 или 20 часа на седмица вместо няколко часа на месец.
Платената работа също дава възможност на хора от различни сфери на живота да дадат значим принос. Някои хора не могат да си позволят да прекарват неплатено време в проекти с отворен код въз основа на текущото си финансово състояние, дълг или семейни или други задължения за грижа. Това означава, че светът никога не вижда приноси от талантливи хора, които не могат да си позволят да отделят доброволно времето си. Това има етични последици, както @ashedryden [описа](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), тъй като свършената работа е предубедени в полза на онези, които вече имат предимства в живота, които след това получават допълнителни предимства въз основа на техния доброволен принос, докато други, които не могат да бъдат доброволци, след това не получават по-късни възможности, което засилва текущата липса на разнообразие в отворения код общност.
Ако търсите финансова подкрепа, трябва да обмислите два начина. Можете да финансирате собственото си време като сътрудник или можете да намерите организационно финансиране за проекта.
## Финансиране на вашето собствено време
Днес много хора получават заплащане, за да работят на непълен или пълен работен ден с отворен код. Най-често срещаният начин да получите заплащане за времето си е да говорите с вашия работодател.
По-лесно е да направите аргумент за работа с отворен код, ако вашият работодател действително използва проекта, но бъдете креативни с представянето си. Може би вашият работодател не използва проекта, но той използва Python и поддържането на популярен проект на Python помага за привличането на нови разработчици на Python. Може би това кара вашия работодател да изглежда по-приятелски настроен към разработчиците като цяло.
Ако нямате съществуващ проект с отворен код, върху който бихте искали да работите, но предпочитате текущата ви работа да е с отворен код, помолете вашия работодател да отвори част от техния вътрешен софтуер.
Много компании разработват програми с отворен код, за да изградят своята марка и да наемат качествени таланти.
@hueniverse например установи, че има финансови причини, които да оправдаят [инвестицията на Walmart в отворен код](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). И @jamesgpearce установи, че програмата с отворен код на Facebook [има значение](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) при набирането на персонал:
> Тя е тясно свързана с нашата хакерска култура и начина, по който нашата организация се възприемаше. Попитахме нашите служители: "Знаехте ли за софтуерната програма с отворен код във Facebook?". Две трети казаха "Да". Половината казаха, че програмата е допринесла положително за решението им да работят за нас. Това не са пределни числа и се надявам, че тенденцията ще продължи.
Ако вашата компания тръгне по този път, важно е да поддържате ясни границите между общността и корпоративната дейност. В крайна сметка отвореният код се поддържа чрез принос от хора по целия свят и това е по-голямо от която и да е компания или местоположение.
Ако не можете да убедите настоящия си работодател да даде приоритет на работата с отворен код, помислете за намиране на нов работодател, който насърчава приноса на служителите към отворен код. Потърсете компании, които подчертават своята отдаденост на работата с отворен код. Например:
* Някои компании, като [Netflix](https://netflix.github.io/), имат уебсайтове, които подчертават тяхното участие в отворен код
Проекти, които произхождат от голяма компания, като [Go](https://github.com/golang) или [React](https://github.com/facebook/react), will also likely employ people to work on open source.
В зависимост от вашите лични обстоятелства можете да опитате да съберете пари независимо, за да финансирате работата си с отворен код. Например:
* @Homebrew (и [много други поддържащи и организации](https://github.com/sponsors/community)) финансират работата си чрез [Спонсори на GitHub](https://github.com/sponsors)
* @gaearon финансира работата си върху [Redux](https://github.com/reactjs/redux) чрез [кампания за групово финансиране на Patreon](https://redux.js.org/)
* @andrewgodwin финансира работа по миграции на схема на Django [чрез кампания на Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
И накрая, понякога проекти с отворен код дават премии за проблеми, за които може да обмислите да помогнете.
* @ConnorChristie успя да получи плащане за [помощ](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol работят по своята JavaScript библиотека [чрез награда за gitcoin](https://gitcoin.co/).
* @mamiM направи японски преводи за @MetaMask след [изданието беше финансирано от Bounties Network](https://explorer.bounties.network/bounty/134).
## Намиране на финансиране за вашия проект
Освен договореностите за отделни сътрудници, понякога проектите набират пари от компании, физически лица или други за финансиране на текуща работа.
Организационното финансиране може да отиде за плащане на настоящи сътрудници, покриване на разходите за управление на проекта (като такси за хостинг) или инвестиране в нови функции или идеи.
Тъй като популярността на отворения код нараства, намирането на финансиране за проекти все още е експериментално, но има няколко общи опции.
### Съберете пари за работата си чрез кампании за групово финансиране или спонсорство
Намирането на спонсорство работи добре, ако вече имате силна публика или репутация или проектът ви е много популярен.
Няколко примера за спонсорирани проекти включват:
* **[webpack](https://github.com/webpack)** събира пари от компании и физически лица [чрез OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** организация с нестопанска цел, която плаща за работата по [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems) и други Ruby инфраструктурни проекти
### Създайте поток от приходи
В зависимост от вашия проект може да имате възможност да таксувате за търговска поддръжка, хоствани опции или допълнителни функции. Няколко примера включват:
* **[Sidekiq](https://github.com/mperham/sidekiq)** предлага платени версии за допълнителна поддръжка
* **[Travis CI](https://github.com/travis-ci)** предлага платени версии на своя продукт
* **[Ghost](https://github.com/TryGhost/Ghost)** е организация с нестопанска цел с платена управлявана услуга
Някои популярни проекти, като [npm](https://github.com/npm/cli) и [Docker](https://github.com/docker/docker), дори набират рисков капитал, за да подкрепят растежа на своя бизнес.
### Кандидатствайте за безвъзмездно финансиране
Някои софтуерни фондации и компании предлагат грантове за работа с отворен код. Понякога грантовете могат да се изплащат на физически лица, без да се създава юридическо лице за проекта.
* **[Прочетете документите](https://github.com/rtfd/readthedocs.org)** получи субсидия от [Поддръжка на Mozilla Open Source](https://www.mozilla.org/en-US/grants/)
* Работата по **[OpenMRS](https://github.com/openmrs)** е финансирана от [Retreat за отворен код на Stripe](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** получи грант от [Фондация Слоун](https://sloan.org/programs/digital-technology)
* **[Python Software Foundation](https://www.python.org/psf/grants/)** предлага грантове за работа, свързана с Python
За по-подробни опции и казуси @nayafia [написа ръководство](https://github.com/nayafia/lemonade-stand) за получаване на заплащане за работа с отворен код. Различните видове финансиране изискват различни умения, така че преценете силните си страни, за да разберете коя опция работи най-добре за вас.
## Изграждане на случай за финансова подкрепа
Независимо дали вашият проект е нова идея или съществува от години, трябва да очаквате да вложите значителни мисли в идентифицирането на вашия целеви финансист и в представянето на убедителни аргументи.
Независимо дали искате да платите за собственото си време или да наберете средства за проект, трябва да можете да отговорите на следните въпроси.
### Въздействие
Защо този проект е полезен? Защо вашите потребители или потенциални потребители го харесват толкова много? Къде ще бъде след пет години?
### Сцепление
Опитайте се да съберете доказателства, че вашият проект има значение, независимо дали става дума за показатели, анекдоти или препоръки. Има ли компании или забележителни хора, които използват вашия проект в момента? Ако не, виден човек го е одобрил?
### Стойност за финансиращия
До финансиращите, независимо дали вашият работодател или фондация, предоставяща безвъзмездни средства, често се обръщат с възможности. Защо трябва да подкрепят вашия проект пред всяка друга възможност? Как се облагодетелстват те лично?
### Използване на средства
Какво точно ще постигнете с предложеното финансиране? Съсредоточете се върху важни етапи или резултати на проекта, вместо да плащате заплата.
### Как ще получите средствата
Финансиращият има ли някакви изисквания относно изплащането? Например, може да се наложи да сте организация с нестопанска цел или да имате фискален спонсор с нестопанска цел. Или може би средствата трябва да бъдат дадени на отделен изпълнител, а не на организация. Тези изисквания варират между финансиращите, така че не забравяйте да направите проучването си предварително.
## Експериментирайте и не се отказвайте
Събирането на пари не е лесно, независимо дали сте проект с отворен код, организация с нестопанска цел или стартиращ софтуер, и в повечето случаи изисква от вас да проявите креативност. Определянето на начина, по който искате да получавате заплащане, извършването на вашите проучвания и поставянето на мястото на вашия финансиращ ще ви помогне да изградите убедителна аргументация за финансиране.
================================================
FILE: _articles/bg/how-to-contribute.md
================================================
---
lang: bg
title: Как да допринесете за отворения код
description: Искате ли да допринесете за отворен код? Ръководство за правене на приноси с отворен код за начинаещи и за ветерани.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Защо да допринасяте за отворен код?
Приносът към отворен код може да бъде възнаграждаващ начин за учене, преподаване и изграждане на опит в почти всяко умение, което можете да си представите.
Защо хората допринасят за отворен код? Много причини!
### Подобрете софтуера, на който разчитате
Много сътрудници с отворен код започват като потребители на софтуер, за който допринасят. Когато намерите грешка в софтуер с отворен код, който използвате, може да искате да погледнете източника, за да видите дали можете да го коригирате сами. Ако случаят е такъв, тогава връщането на корекцията е най-добрият начин да се уверите, че вашите приятели (и вие самите, когато актуализирате до следващото издание) ще могат да се възползват от нея.
### Подобрете съществуващите умения
Независимо дали става въпрос за кодиране, дизайн на потребителски интерфейс, графичен дизайн, писане или организиране, ако търсите практика, има задача за вас по проект с отворен код.
### Запознайте се с хора, които се интересуват от подобни неща
Проекти с отворен код с топли, гостоприемни общности карат хората да се връщат с години. Много хора създават приятелства за цял живот чрез участието си в отворен код, независимо дали се срещат по време на конференции или късно вечерни онлайн чатове за бурито.
### Намерете ментори и учете другите
Работата с други по споделен проект означава, че ще трябва да обясните как правите нещата, както и да помолите други хора за помощ. Действията на учене и преподаване могат да бъдат удовлетворяваща дейност за всички участници.
### Изградете публични артефакти, които ви помагат да развиете репутация (и кариера)
По дефиниция цялата ви работа с отворен код е публична, което означава, че получавате безплатни примери, които да вземете навсякъде като демонстрация на това, което можете да правите.
### Научете умения за хора
Отвореният код предлага възможности за практикуване на лидерски и управленски умения, като разрешаване на конфликти, организиране на екипи от хора и приоритизиране на работата.
### Овластяващо е да можеш да правиш промени, дори малки
Не е нужно да сте сътрудник през целия живот, за да се насладите на участието в отворен код. Случвало ли ви се е да видите печатна грешка в уебсайт и да ви се иска някой да я поправи? В проект с отворен код можете да направите точно това. Отвореният код помага на хората да се чувстват независими от живота си и начина, по който преживяват света, и това само по себе си е удовлетворяващо.
## Какво означава да допринасяш
Ако сте нов сътрудник на отворен код, процесът може да бъде смущаващ. Как намирате правилния проект? Ами ако не знаете как да кодирате? Ами ако нещо се обърка?
Не се притеснявайте! Има всякакви начини да се включите в проект с отворен код и няколко съвета ще ви помогнат да извлечете максимума от опита си.
### Не е нужно да добавяте код
Често срещано погрешно схващане относно приноса към отворен код е, че трябва да допринесете с код. Всъщност често другите части на проекта са [най-пренебрегвани или пренебрегвани](https://github.com/blog/2195-the-shape-of-open-source). Ще направите _огромна_ услуга на проекта, като предложите да се включите с тези видове принос!
Дори ако обичате да пишете код, други видове приноси са чудесен начин да се включите в проект и да се срещнете с други членове на общността. Изграждането на тези взаимоотношения ще ви даде възможности да работите върху други части на проекта.
### Обичате ли да планирате събития?
* Организирайте семинари или срещи за проекта, [както @fzamperin направи за NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Организирайте конференция на проекта (ако има такава)
* Помогнете на членовете на общността да намерят правилните конференции и да представят предложения за изказване
### Обичате ли да проектирате?
* Преструктурирайте оформленията, за да подобрите използваемостта на проекта
* Извършете потребителско проучване, за да реорганизирате и прецизирате навигацията или менютата на проекта, [както предлага Drupal](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Съставете ръководство за стил, за да помогнете на проекта да има последователен визуален дизайн
* Създайте изкуство за тениски или ново лого, [както направиха сътрудниците на hapi.js](https://github.com/hapijs/contrib/issues/68)
### Обичаш ли да пишеш?
* Напишете и подобрете документацията на проекта, [както @CBID2 направи за документацията на OpenSauced](https://github.com/open-sauced/docs/pull/151)
* Подгответе папка с примери, показващи как се използва проектът
* Стартирайте бюлетин за проекта или подредете акценти от пощенския списък, [както направи @opensauced за своя продукт](https://news.opensauced.pizza/about/)
* Напишете уроци за проекта, [както направиха сътрудниците на PyPA](https://packaging.python.org/)
* Напишете превод за документацията на проекта, [както @frontendwizard направи за инструкциите за CSS Flexbox предизвикателството на freeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077)
### Обичате ли да организирате?
* Връзка към дублирани проблеми и предлагане на теми за нови проблеми, за да поддържате организацията
* Прегледайте отворените проблеми и предложете затваряне на стари, [както направи @nzakas за ESLint](https://github.com/eslint/eslint/issues/6765)
* Задавайте изясняващи въпроси по наскоро открити въпроси, за да придвижите дискусията напред
### Обичате ли да кодирате?
* Намерете открит проблем, който да решите, [както @dianjin направи за Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Попитайте дали можете да помогнете за записването на нова функция
* Автоматизирайте настройките на проекта
* Подобрете инструментите и тестването
### Обичате ли да помагате на хората?
* Отговорете на въпроси относно проекта напр. Stack Overflow ([като този пример на Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) или Reddit
* Отговаряйте на въпроси за хора по отворени въпроси
* Помогнете за модерирането на дискусионните табла или каналите за разговори
### Обичате ли да помагате на другите да кодират?
* Прегледайте кода на изявленията на други хора
* Напишете уроци за това как може да се използва проект
* Предложете да наставлявате друг сътрудник, [както @ereichert направи за @bronzdoc в Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Не е нужно просто да работите върху софтуерни проекти!
Докато "отворен код" често се отнася до софтуер, можете да си сътрудничите по почти всичко. Има книги, рецепти, списъци и класове, които се разработват като проекти с отворен код.
Например:
* @sindresorhus подготвя [списък с "страхотни" списъци](https://github.com/sindresorhus/awesome)
* @h5bp поддържа [списък с потенциални въпроси за интервю](https://github.com/h5bp/Front-end-Developer-Interview-Questions) за кандидати за фронтенд разработчици
* @stuartlynn и @nicole-a-tesla направиха [колекция от забавни факти за пуфините](https://github.com/stuartlynn/puffin_facts)
Дори и да сте разработчик на софтуер, работата по проект за документация може да ви помогне да започнете работа с отворен код. Често е по-малко смущаващо да работите по проекти, които не включват код, а процесът на сътрудничество ще изгради вашата увереност и опит.
## Ориентиране към нов проект
За нещо повече от поправка на печатна грешка, да допринесете за отворен код е като да отидете до група непознати на парти. Ако започнете да говорите за лами, докато те бяха потънали в дискусия за златните рибки, вероятно ще ви погледнат малко странно.
Преди да се включите сляпо със собствените си предложения, започнете, като се научите как да четете стаята. По този начин увеличавате шансовете вашите идеи да бъдат забелязани и чути.
### Анатомия на проект с отворен код
Всяка общност с отворен код е различна.
Прекарването на години в един проект с отворен код означава, че сте се запознали с един проект с отворен код. Преминете към друг проект и може да откриете, че речникът, нормите и стиловете на комуникация са напълно различни.
Въпреки това много проекти с отворен код следват подобна организационна структура. Разбирането на различните роли в общността и цялостния процес ще ви помогне бързо да се ориентирате към всеки нов проект.
Типичен проект с отворен код има следните типове хора:
* **Автор:** Лицето/лицата или организацията, създали проекта
* **Собственик:** Лицето/лицата, което има административна собственост върху организацията или хранилището (не винаги е същото като оригиналния автор)
* **Поддържащи:** Сътрудници, които са отговорни за управлението на визията и управлението на организационните аспекти на проекта (Те също могат да бъдат автори или собственици на проекта.)
* **Сътрудници:** Всеки, който е допринесъл с нещо обратно към проекта
* **Членове на общността:** Хората, които използват проекта. Те могат да бъдат активни в разговорите или да изразят мнението си за посоката на проекта
По-големите проекти могат също да имат подкомисии или работни групи, фокусирани върху различни задачи, като инструменти, сортиране, модериране на общността и организиране на събития. Потърсете в уебсайта на даден проект страница за "екип" или в хранилището за документация за управление, за да намерите тази информация.
Към проекта има и документация. Тези файлове обикновено са изброени в горното ниво на хранилището.
* **ЛИЦЕНЗ:** По дефиниция всеки проект с отворен код трябва да има [лиценз за отворен код](https://choosealicense.com). Ако проектът няма лиценз, той не е с отворен код.
* **README:** README е ръководството с инструкции, което приветства новите членове на общността в проекта. Той обяснява защо проектът е полезен и как да започнете.
* **ПРИНОС:** Докато README помагат на хората да _използват_ проекта, допринасящите документи помагат на хората да _допринасят_ за проекта. Той обяснява какви видове вноски са необходими и как работи процесът. Въпреки че не всеки проект има ПРИНОСЯЩ файл, присъствието му сигнализира, че това е приветлив проект, за който можете да допринесете. Добър пример за ефективно ръководство за принос би било това от [хранилището на документи на Codecademy](https://www.codecademy.com/resources/docs/contribution-guide).
* **CODE_OF_CONDUCT:** Кодексът за поведение определя основните правила за свързаното поведение на участниците и спомага за създаването на приятелска, гостоприемна среда. Въпреки че не всеки проект има файл CODE_OF_CONDUCT, присъствието му сигнализира, че това е приветлив проект, за който можете да допринесете.
* **Друга документация:** Може да има допълнителна документация, като уроци, инструкции или политики за управление, особено за по-големи проекти като [Astro Docs](https://docs.astro.build/en/contribute/#contributing-to-docs).
И накрая, проектите с отворен код използват следните инструменти за организиране на дискусия. Четенето на архивите ще ви даде добра представа за това как общността мисли и работи.
* **Проследяване на проблеми:** Където хората обсъждат въпроси, свързани с проекта.
* **Заявки за изтегляне:** Когато хората обсъждат и преглеждат промените, които са в ход, независимо дали са за подобряване на реда код на сътрудника, използването на граматика, използването на изображения и т.н. Някои проекти, като [MDN Web Docs](https://github.com/mdn/content/blob/main/.github/workflows/markdown-lint.yml), използват определени потоци за действие на GitHub, за да автоматизират и ускорят своите прегледи на кода.
* **Дискусионни форуми или пощенски списъци:** Някои проекти могат да използват тези канали за теми за разговор (например _"Как да..."_ или _"Какво мислиш за..."_ вместо грешка отчети или заявки за функции). Други използват инструмента за проследяване на проблеми за всички разговори. Добър пример за това би бил [седмичният бюлетин на CHAOSS](https://chaoss.community/news/)
* **Синхронен чат канал:** Някои проекти използват чат канали (като Slack или IRC) за непринуден разговор, сътрудничество и бърз обмен. Добър пример за това би била [общността на Discord на EddieHub](http://discord.eddiehub.org/).
## Намиране на проект, за който да допринесете
Сега, след като разбрахте как работят проектите с отворен код, време е да намерите проект, за който да допринесете!
Ако никога преди не сте допринасяли за отворения код, приемете съвет от президента на САЩ Джон Ф. Кенеди, който веднъж каза: "Не питайте какво вашата страна може да направи за вас – попитайте какво можете да направите вие за вашата страна."_
Приносът към отворения код се случва на всички нива, във всички проекти. Не е нужно да мислите прекалено много какъв точно ще бъде първият ви принос или как ще изглежда.
Вместо това започнете, като помислите за проектите, които вече използвате или искате да използвате. Проектите, за които ще участвате активно, са тези, към които се връщате.
В рамките на тези проекти, всеки път, когато се хванете, че мислите, че нещо може да бъде по-добро или различно, действайте според инстинкта си.
Отвореният код не е изключителен клуб; направено е от хора точно като вас. "Отворен код" е просто фантастичен термин за третиране на световните проблеми като поправими.
Може да сканирате README и да намерите повредена връзка или правописна грешка. Или сте нов потребител и сте забелязали, че нещо е счупено, или проблем, който смятате, че наистина трябва да бъде в документацията. Вместо да го игнорирате и да продължите напред, или да помолите някой друг да го поправи, вижте дали можете да помогнете, като се включите. Това е смисълът на отворения код!
> Според проучване, проведено от Игор Щайнмахер и други изследователи на компютърните науки, [28% от случайните приноси](https://www.igor.pro.br/publica/papers/saner2016.pdf) в отворен код са документация, като като корекции на печатни грешки, преформатиране или писане на превод.
Ако търсите съществуващи проблеми, които можете да коригирате, всеки проект с отворен код има страница `/contribute`, която подчертава лесни за начинаещи проблеми, с които можете да започнете. Отидете до главната страница на хранилището в GitHub и добавете `/contribute` в края на URL адреса (например [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
Можете също да използвате един от следните ресурси, за да ви помогне да откриете и допринесете за нови проекти:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Контролен списък, преди да допринесете
Когато намерите проект, за който искате да допринесете, направете бързо сканиране, за да се уверите, че проектът е подходящ за приемане на приноси. В противен случай вашата упорита работа може никога да не получи отговор.
Ето един удобен контролен списък, за да оцените дали даден проект е добър за нови сътрудници.
**Отговаря на определението за отворен код**
**Проектът активно приема вноски**
Погледнете активността на комит в главния клон. В GitHub можете да видите тази информация в раздела Insights на началната страница на хранилище, като например [Virtual-Coffee](https://github.com/Virtual-Coffee/virtualcoffee.io/pulse)
След това разгледайте проблемите на проекта.
Сега направете същото за заявките за изтегляне на проекта.
**Проектът е приветлив**
Проект, който е приятелски настроен и гостоприемен, сигнализира, че те ще бъдат възприемчиви към нови сътрудници.
## Как да изпратите принос
Намерихте проект, който харесвате, и сте готови да дадете своя принос. Най-накрая! Ето как да получите своя принос по правилния начин.
### Ефективна комуникация
Независимо дали сте сътрудник еднократно, или се опитвате да се присъедините към общност, работата с други е едно от най-важните умения, които ще развиете в отворен код.
Преди да отворите проблем или заявка за изтегляне, или да зададете въпрос в чата, имайте предвид тези моменти, за да помогнете на вашите идеи да се реализират ефективно.
**Дайте контекст.** Помогнете на другите да навлязат бързо. Ако попаднете на грешка, обяснете какво се опитвате да направите и как да я възпроизведете. Ако предлагате нова идея, обяснете защо смятате, че би била полезна за проекта (не само за вас!).
> 😇 _"X не се случва, когато направя Y"_
>
> 😢 _"X е повреден! Моля, поправете го."_
**Напишете си домашното предварително.** Добре е да не знаете нещата, но покажете, че сте опитали. Преди да поискате помощ, не забравяйте да проверите README на проекта, документацията, проблемите (отворени или затворени), пощенския списък и потърсете в интернет за отговор. Хората ще го оценят, когато демонстрирате, че се опитвате да учите.
> 😇 _"Не съм сигурен как да внедря X. Проверих помощните документи и не намерих никакви споменавания."_
>
> 😢 _"Как да направя X?"_
**Поддържайте заявките кратки и директни.** Подобно на изпращането на имейл, всеки принос, без значение колко прост или полезен, изисква преглед от някой друг. Много проекти имат повече входящи заявки, отколкото хора, които могат да помогнат. Бъдете кратки. Ще увеличите шанса някой да може да ви помогне.
> 😇 _"Бих искал да напиша урок за API."_
>
> 😢 _"Онзи ден карах по магистралата и спрях за газ и тогава ми хрумна тази невероятна идея за нещо, което трябва да направим, но преди да обясня това, нека ви покажа..."_
**Пазете цялата комуникация публична.** Въпреки че е изкушаващо, не се свързвайте лично с поддържащите, освен ако не трябва да споделите чувствителна информация (като проблем със сигурността или сериозно нарушение на поведението). Когато поддържате разговора публичен, повече хора могат да научат и да се възползват от вашия обмен. Дискусиите могат сами по себе си да бъдат принос.
> 😇 _(като коментар) "@-maintainer Здравейте! Как да продължим с този PR?"_
>
> 😢 _(като имейл) "Здравейте, съжалявам, че ви безпокоя по имейл, но се чудех дали сте имали възможност да прегледате моя PR"_
**Добре е да задавате въпроси (но бъдете търпеливи!).** Всеки е бил нов в проекта в някакъв момент и дори опитните сътрудници трябва да навлизат в крак, когато разглеждат нов проект. По същия принцип дори дългогодишните поддържащи не винаги са запознати с всяка част от проекта. Покажете им същото търпение, което бихте искали те да проявяват към вас.
> 😇 _"Благодаря, че разгледахте тази грешка. Следвах вашите предложения. Ето резултата."_
>
> 😢 _"Защо не можете да решите проблема ми? Това не е ли вашият проект?"_
**Уважавайте решенията на общността.** Вашите идеи може да се различават от приоритетите или визията на общността. Те могат да предложат обратна връзка или да решат да не следват вашата идея. Въпреки че трябва да обсъждате и търсите компромис, поддържащите трябва да живеят с вашето решение по-дълго, отколкото вие ще го направите. Ако не сте съгласни с тяхната посока, винаги можете да работите върху своя собствена вилица или да започнете свой собствен проект.
> 😇 _"Разочарован съм, че не можете да подкрепите моя случай на употреба, но както обяснихте, той засяга само малка част от потребителите, разбирам защо. Благодаря, че ме изслушахте."_
>
> 😢 _"Защо не подкрепите моя случай на употреба? Това е неприемливо!"_
**Преди всичко го поддържайте елегантно.** Отвореният код се състои от сътрудници от цял свят. Контекстът се губи между езиците, културите, географията и часовите зони. Освен това писмената комуникация прави по-трудно предаването на тон или настроение. Предполагайте добри намерения в тези разговори. Добре е учтиво да отхвърлите идея, да поискате повече контекст или да изясните допълнително позицията си. Просто се опитайте да оставите интернет по-добро място, отколкото когато сте го намерили.
### Събиране на контекст
Преди да предприемете нещо, направете бърза проверка, за да се уверите, че идеята ви не е била обсъждана другаде. Прегледайте README на проекта, проблеми (отворени и затворени), пощенски списък и Stack Overflow. Не е нужно да прекарвате часове в разглеждане на всичко, но бързото търсене на няколко ключови термина върши дълъг път.
Ако не можете да намерите идеята си другаде, вие сте готови да предприемете ход. Ако проектът е в GitHub, вероятно ще комуникирате, като направите следното:
* **Повдигане на проблем:** Това е като започване на разговор или дискусия
* **Заявките за изтегляне** са за започване на работа по решение.
* **Канали за комуникация:** Ако проектът има определен Discord, IRC или Slack канал, помислете дали да започнете разговор или да поискате разяснение относно вашия принос.
Преди да отворите проблем или заявка за изтегляне, проверете допринасящите документи на проекта (обикновено файл, наречен CONTRIBUTING или в README), за да видите дали трябва да включите нещо конкретно. Например, те могат да поискат да следвате шаблон или да изискват да използвате тестове.
Ако искате да направите значителен принос, отворете проблем, който да попитате, преди да работите по него. Полезно е да гледате проекта известно време (в GitHub, [можете да щракнете върху "Гледане"](https://help.github.com/articles/watching-repositories/), за да бъдете уведомени за всички разговори) и да стигнете до познавайте членовете на общността, преди да вършите работа, която може да не бъде приета.
### Отваряне на проблем
Обикновено трябва да отворите проблем в следните ситуации:
* Докладвайте за грешка, която не можете да разрешите сами
* Обсъдете тема или идея на високо ниво (например общност, визия или политики)
* Предложете нова функция или друга идея за проект
Съвети за комуникация по проблеми:
* **Ако видите отворен проблем, с който искате да се заемете**, коментирайте проблема, за да уведомите хората, че работите по него. По този начин е по-малко вероятно хората да дублират вашата работа.
* **Ако даден проблем е открит преди известно време,** е възможно той да се адресира някъде другаде или вече да е разрешен, така че коментирайте, за да поискате потвърждение, преди да започнете работа.
* **Ако сте отворили проблем, но сте разбрали отговора по-късно сами,** коментирайте проблема, за да уведомите хората, след което затворете проблема. Дори документирането на този резултат е принос към проекта.
### Отваряне на заявка за изтегляне
Обикновено трябва да отворите заявка за изтегляне в следните ситуации:
* Изпратете малки корекции като печатна грешка, повредена връзка или очевидна грешка.
* Започнете работа по принос, който вече е поискан или който вече сте обсъждали в даден брой.
Заявката за изтегляне не трябва да представлява завършена работа. Обикновено е по-добре да отворите заявка за изтегляне рано, така че другите да могат да гледат или да дадат обратна връзка за напредъка ви. Просто го отворете като "чернова" или маркирайте като "WIP" (Работа в процес) в реда за тема или в секциите "Бележки към рецензентите", ако са предоставени (или можете просто да създадете свой собствен. Подобно на това: `**## Бележки към рецензента**`). Винаги можете да добавите още ангажименти по-късно.
Ако проектът е в GitHub, ето как да изпратите заявка за изтегляне:
* **[Разклонете хранилището](https://guides.github.com/activities/forking/)** и го клонирайте локално. Свържете вашето локално към оригиналното хранилище "нагоре по веригата", като го добавите като дистанционно. Изтегляйте често промените от "нагоре по веригата", така че да сте в течение, така че когато изпратите заявката си за изтегляне, конфликтите при сливане ще бъдат по-малко вероятни. (Вижте по-подробни инструкции [тук](https://help.github.com/articles/syncing-a-fork/).)
* **[Създайте клон](https://guides.github.com/introduction/flow/)** за вашите редакции.
* **Посочете всички съответни проблеми** или подкрепяща документация във вашия PR (например "Затваря #37.")
* **Включете екранни снимки преди и след**, ако вашите промени включват разлики в HTML/CSS. Плъзнете и пуснете изображенията в тялото на вашата заявка за изтегляне.
* **Тествайте промените си!** Стартирайте промените си срещу всички съществуващи тестове, ако съществуват, и създайте нови, когато е необходимо. Важно е да се уверите, че вашите промени не нарушават съществуващия проект.
* **Допринесете в стила на проекта** според възможностите си. Това може да означава използване на отстъпи, точка и запетая или коментари по различен начин, отколкото бихте направили във вашето собствено хранилище, но улеснява поддържащия да слива, другите да разбират и поддържат в бъдеще.
Ако това е първата ви заявка за изтегляне, вижте [Направете заявка за изтегляне](http://makeapullrequest.com/), която @kentcdodds създаде като видеоурок с инструкции. Можете също така да практикувате да правите заявка за изтегляне в хранилището [Първи вноски](https://github.com/Roshanjossey/first-contributions), създадено от @Roshanjossey.
## Какво се случва, след като изпратите своя принос
Преди да започнем да празнуваме, едно от следните ще се случи, след като изпратите своя принос:
### 😭 Не получавате отговор
Надяваме се, че сте [проверили проекта за признаци на активност](#контролен-списък-преди-да-допринесете), преди да направите принос. Дори при активен проект обаче е възможно вашият принос да не получи отговор.
Ако не сте получили отговор повече от седмица, е честно да отговорите учтиво в същата тема, като помолите някого за преглед. Ако знаете името на подходящия човек, който да прегледа вашия принос, можете да го споменете с @ в тази нишка.
**Не се свързвайте лично с този човек**; не забравяйте, че публичната комуникация е жизненоважна за проектите с отворен код.
Ако дадете учтиво напомняне и все още не получите отговор, възможно е никой никога да не отговори. Чувството не е страхотно, но не позволявайте това да ви обезсърчава! 😄 Има много възможни причини, поради които не сте получили отговор, включително лични обстоятелства, които може да са извън вашия контрол. Опитайте се да намерите друг проект или начин да допринесете. Ако не друго, това е добра причина да не инвестирате твърде много време в даването на принос, преди другите членове на общността да са ангажирани и отзивчиви.
### 🚧 Някой иска промени във вашия принос
Обичайно е да бъдете помолени да направите промени във вашия принос, независимо дали това е обратна връзка относно обхвата на вашата идея или промени в кода ви.
Когато някой поиска промени, бъдете отзивчиви. Те са отделили време да прегледат приноса ви. Да отвориш PR и да си тръгнеш е лоша форма. Ако не знаете как да правите промени, проучете проблема и след това поискайте помощ, ако имате нужда от нея. Добър пример за това би била [обратната връзка, която друг сътрудник е дал на @a-m-lamb относно тяхната заявка за изтегляне към документите на Codecademy](https://github.com/Codecademy/docs/pull/3239#pullrequestreview-1628036286).
Ако вече нямате време да работите по проблема поради причини като разговорът продължава от месеци и обстоятелствата ви са се променили или не можете да намерите решение, уведомете поддържащия, за да може отворете проблема за някой друг, като [@RitaDee направи за проблем в хранилището за приложения на OpenSauced](https://github.com/open-sauced/app/issues/1656#issuecomment-1729353346).
### 👎 Вашият принос не се приема
Вашият принос може или не може да бъде приет в крайна сметка. Надяваме се, че вече не сте вложили твърде много работа в него. Ако не сте сигурни защо не е приет, е напълно разумно да помолите поддържащия за обратна връзка и разяснение. В крайна сметка обаче ще трябва да уважите, че това е тяхно решение. Не спорете и не бъдете враждебни. Винаги сте добре дошли да се разклоните и да работите върху собствената си версия, ако не сте съгласни!
### 🎉 Вашият принос се приема
Ура! Успешно направихте принос с отворен код!
## Направи го! 🎉
Независимо дали току-що сте направили първия си принос с отворен код или търсите нови начини да допринесете, надяваме се, че сте вдъхновени да предприемете действие. Дори ако вашият принос не е бил приет, не забравяйте да благодарите, когато поддържащият положил усилия да ви помогне. Отвореният код е направен от хора като вас: един проблем, заявка за изтегляне, коментар или дай пет наведнъж.
================================================
FILE: _articles/bg/index.html
================================================
---
layout: index
title: Ръководства за отворен код
lang: bg
permalink: /bg/
---
================================================
FILE: _articles/bg/leadership-and-governance.md
================================================
---
lang: bg
title: Лидерство и управление
description: Разрастващите се проекти с отворен код могат да се възползват от формалните правила за вземане на решения.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Разбиране на управлението за вашия разрастващ се проект
Вашият проект се разраства, хората са ангажирани и вие сте ангажирани да поддържате това нещо. На този етап може да се чудите как да включите редовни сътрудници на проекта във вашия работен процес, независимо дали става дума за даване на достъп за ангажимент или разрешаване на дебати в общността. Ако имате въпроси, ние имаме отговори.
## Какви са примерите за официални роли, използвани в проекти с отворен код?
Много проекти следват подобна структура за роли на сътрудници и признание.
Какво всъщност означават тези роли обаче, зависи изцяло от вас. Ето няколко типа роли, които може да разпознаете:
* **Поддържащ**
* **Сътрудник**
* **Комитер**
**За някои проекти "поддържащите"** са единствените хора в проект с достъп за ангажиране. В други проекти те са просто хората, които са изброени в README като поддържащи.
Поддържащият не е задължително да е някой, който пише код за вашия проект. Може да е някой, който е свършил много работа по евангелизирането на вашия проект, или писмена документация, която е направила проекта по-достъпен за другите. Независимо от това, което прави всеки ден, поддържащият вероятно е някой, който се чувства отговорен за посоката на проекта и се е ангажирал да го подобри.
**"Сътрудник" може да бъде всеки**, който коментира проблем или заявка за изтегляне, хора, които добавят стойност към проекта (независимо дали става въпрос за сортиране на проблеми, писане на код или организиране на събития), или всеки с обединена заявка за изтегляне (може би най-тясната дефиниция на сътрудник).
**Терминът "извършител"** може да се използва за разграничаване на достъпа за ангажиране, който е специфичен тип отговорност, от други форми на принос.
Въпреки че можете да дефинирате ролите си в проекта както желаете, [помислете дали да не използвате по-широки дефиниции](../how-to-contribute/#какво-означава-да-допринасяш), за да насърчите повече форми на принос. Можете да използвате лидерски роли, за да признаете официално хора, които са направили изключителен принос към вашия проект, независимо от техните технически умения.
## Как да формализирам тези лидерски роли?
Формализирането на вашите лидерски роли помага на хората да се чувстват собственост и казва на другите членове на общността към кого да търсят помощ.
За по-малък проект определянето на лидери може да бъде толкова просто, колкото добавянето на техните имена към вашия README или текстов файл CONTRIBUTORS.
За по-голям проект, ако имате уебсайт, създайте страница на екип или избройте ръководителите на проекта си там. Например [Postgres](https://github.com/postgres/postgres/) има [изчерпателна екипна страница](https://www.postgresql.org/community/contributors/) с кратки профили за всеки участник.
Ако вашият проект има много активна общност на сътрудници, можете да сформирате "основен екип" от поддържащи или дори подкомитети от хора, които поемат отговорност за различни проблемни области (например сигурност, сортиране на проблеми или поведение на общността). Позволете на хората да се самоорганизират и доброволно изпълняват ролите, които ги вълнуват най-много, вместо да ги възлагат.
Лидерските екипи може да искат да създадат определен канал (като в IRC) или да се срещат редовно, за да обсъждат проекта (като в Gitter или Google Hangout). Можете дори да направите тези срещи публични, така че други хора да могат да слушат. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), например, [поема работно време всяка седмица](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
След като сте установили лидерски роли, не забравяйте да документирате как хората могат да ги постигнат! Установете ясен процес за това как някой може да стане поддържащ или да се присъедини към подкомисия във вашия проект и го напишете във вашия GOVERNANCE.md.
Инструменти като [Vossibility](https://github.com/icecrime/vossibility-stack) могат да ви помогнат публично да проследите кой (или не) прави принос към проекта. Документирането на тази информация избягва възприемането на общността, че поддържащите са клика, която взема решенията си частно.
И накрая, ако проектът ви е в GitHub, помислете за преместване на проекта от личния ви акаунт в организация и добавяне на поне един резервен администратор. [Организациите на GitHub](https://help.github.com/articles/creating-a-new-organization-account/) улесняват управлението на разрешения и множество хранилища и защитават наследството на вашия проект чрез [споделена собственост](../building-community/#споделете-собствеността-върху-вашия-проект).
## Кога трябва да дам на някого достъп за ангажиране?
Някои хора смятат, че трябва да дадете достъп за ангажиране на всеки, който направи принос. Това може да насърчи повече хора да почувстват собственост върху вашия проект.
От друга страна, особено за по-големи, по-сложни проекти, може да искате да дадете достъп за ангажиране само на хора, които са демонстрирали своя ангажимент. Няма един правилен начин да го направите - направете това, което ви прави най-удобно!
Ако вашият проект е в GitHub, можете да използвате [защитени клонове](https://help.github.com/articles/about-protected-branches/), за да управлявате кой може да насочва към определен клон и при какви обстоятелства.
## Какви са някои от общите структури на управление за проекти с отворен код?
Има три общи структури на управление, свързани с проекти с отворен код.
* **BDFL:** BDFL означава "Доброжелателен диктатор за цял живот". При тази структура един човек (обикновено първоначалният автор на проекта) има последната дума за всички основни решения по проекта. [Python](https://github.com/python) е класически пример. По-малките проекти вероятно са BDFL по подразбиране, защото има само един или двама поддържащи. Проект, който произхожда от компания, може също да попадне в категорията BDFL.
* **Меритокрация:** (Забележка: терминът "меритокрация" носи отрицателни конотации за някои общности и има [сложна социална и политическа история](http://geekfeminism.wikia.com/wiki/Meritocracy).) ** При меритокрацията на активните участници в проекти (тези, които демонстрират "заслуги") се дава официална роля за вземане на решения. Решенията обикновено се вземат въз основа на чист консенсус при гласуване. Концепцията за меритокрация е въведена от [Фондация Apache](https://www.apache.org/); [всички проекти на Apache](https://www.apache.org/index.html#projects-list) са меритокрации. Вноски могат да се правят само от лица, представляващи себе си, а не от компания.
* **Либерален принос:** При либерален модел на принос хората, които вършат най-много работа, се признават за най-влиятелни, но това се основава на текуща работа, а не на исторически принос. Решенията за големи проекти се вземат въз основа на процес на търсене на консенсус (обсъждане на основните оплаквания), а не на чисто гласуване, и се стремят да включват възможно най-много гледни точки на общността. Популярни примери за проекти, които използват либерален модел на принос, включват [Node.js](https://foundation.nodejs.org/) и [Rust](https://www.rust-lang.org/).
Кое трябва да използвате? От теб зависи! Всеки модел има предимства и компромиси. И въпреки че в началото може да изглеждат доста различни, и трите модела имат повече общо, отколкото изглежда. Ако се интересувате от приемането на един от тези модели, вижтеthese templates:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Имам ли нужда от документи за управление, когато стартирам проекта си?
Няма подходящ момент да запишете управлението на вашия проект, но е много по-лесно да го дефинирате, след като видите как се развива динамиката на вашата общност. Най-добрата (и най-трудната) част от управлението с отворен код е, че е оформено от общността!
Някои ранни документи обаче неизбежно ще допринесат за управлението на вашия проект, така че започнете да записвате каквото можете. Например, можете да дефинирате ясни очаквания за поведение или как работи вашият процес на сътрудник, дори при стартирането на вашия проект.
Ако сте част от компания, стартираща проект с отворен код, струва си да проведете вътрешна дискусия преди стартирането за това как вашата компания очаква да поддържа и да взема решения за напредъка на проекта. Можете също така да искате публично да обясните нещо конкретно за това как вашата компания ще (или няма!) да бъде включена в проекта.
## Какво се случва, ако корпоративните служители започнат да изпращат вноски?
Успешните проекти с отворен код се използват от много хора и компании и някои компании може в крайна сметка да имат потоци от приходи, които в крайна сметка да са свързани с проекта. Например, една компания може да използва кода на проекта като един компонент в предлагането на търговска услуга.
Тъй като проектът се използва по-широко, хората, които имат опит в него, стават все по-търсени - вие може да сте един от тях! - и понякога ще получават заплащане за работата, която вършат в проекта.
Важно е търговската дейност да се третира като нормална и просто като още един източник на енергия за развитие. Разбира се, платените разработчици не трябва да получават специално отношение спрямо неплатените; всеки принос трябва да бъде оценен според техническите си качества. Въпреки това, хората трябва да се чувстват комфортно да участват в търговска дейност и да се чувстват комфортно да посочват своите случаи на употреба, когато спорят в полза на определено подобрение или функция.
"Комерсиален" е напълно съвместим с "отворен код". "Търговски" просто означава, че някъде има замесени пари – че софтуерът се използва в търговията, което е все по-вероятно, тъй като даден проект получава приемане. (Когато софтуер с отворен код се използва като част от продукт с неотворен код, цялостният продукт все още е "патентован" софтуер, въпреки че, подобно на отворен код, може да се използва за търговски или нетърговски цели.)
Като всеки друг, комерсиално мотивираните разработчици печелят влияние в проекта чрез качеството и количеството на техния принос. Очевидно програмист, който получава заплащане за времето си, може да е в състояние да направи повече от някой, който не получава заплащане, но това е добре: плащането е само един от многото възможни фактори, които могат да повлияят на това колко прави някой. Поддържайте дискусиите по проекта си фокусирани върху приноса, а не върху външните фактори, които позволяват на хората да направят този принос.
## Нуждая ли се от юридическо лице, което да поддържа моя проект?
Нямате нужда от юридическо лице, за да поддържате вашия проект с отворен код, освен ако не боравите с пари.
Например, ако искате да създадете търговски бизнес, ще искате да създадете C Corp или LLC (ако сте базирани в САЩ). Ако просто работите по договор, свързан с вашия проект с отворен код, можете да приемате пари като едноличен собственик или да създадете LLC (ако сте базирани в САЩ).
Ако искате да приемате дарения за вашия проект с отворен код, можете да настроите бутон за дарение (с помощта на PayPal или Stripe, например), но парите няма да се приспадат от данъци, освен ако не сте квалифицирана организация с нестопанска цел (501c3, ако вие сте в САЩ).
Много проекти не желаят да преминат през неприятностите при създаването на организация с нестопанска цел, така че вместо това намират фискален спонсор с нестопанска цел. Фискален спонсор приема дарения от ваше име, обикновено в замяна на процент от дарението. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) и [Open Collective](https://opencollective.com/opensource) са примери за организации, които служат като фискални спонсори за проекти с отворен код.
Ако вашият проект е тясно свързан с определен език или екосистема, може да има и свързана софтуерна основа, с която можете да работите. Например [Python Software Foundation](https://www.python.org/psf/) помага за поддръжката на [PyPI](https://pypi.org/), мениджъра на пакети на Python и [Node.js Foundation](https://foundation.nodejs.org/) помага за поддръжката на [Express.js](https://expressjs.com/), базирана на възли рамка.
================================================
FILE: _articles/bg/legal.md
================================================
---
lang: bg
title: Правната страна на отворения код
description: Всичко, което някога сте се чудили за правната страна на отворения код, и няколко неща, които не сте се чудили.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Разбиране на правните последици от отворения код
Споделянето на вашата творческа работа със света може да бъде вълнуващо и възнаграждаващо изживяване. Това може да означава и куп правни неща, за които не сте знаели, че трябва да се тревожите. За щастие, с това ръководство не е нужно да започвате от нулата. (Преди да се задълбочите, не забравяйте да прочетете нашия [отказ от отговорност](/notices/).)
## Защо хората се интересуват толкова много от правната страна на отворения код?
Радвам се, че попита! Когато правите творческо произведение (като писане, графики или код), това произведение е под изключителни авторски права по подразбиране. Тоест законът предполага, че като автор на вашето произведение вие имате думата какво другите могат да правят с него.
Като цяло това означава, че никой друг не може да използва, копира, разпространява или модифицира вашата работа, без да бъде изложен на риск от премахване, разклащане или съдебни спорове.
Отвореният код обаче е необичайно обстоятелство, тъй като авторът очаква други да използват, променят и споделят работата. Но тъй като правното подразбиране все още е изключително авторско право, трябва изрично да дадете тези разрешения с лиценз.
Тези правила се прилагат и когато някой допринася за вашия проект. Без лиценз или друго споразумение всички приноси са изключителна собственост на техните автори. Това означава, че никой – дори вие – не може да използва, копира, разпространява или променя техния принос.
И накрая, вашият проект може да има зависимости с лицензионни изисквания, за които не сте знаели. Общността на вашия проект или политиките на вашия работодател може също да изискват вашият проект да използва конкретни лицензи с отворен код. Ще разгледаме тези ситуации по-долу.
## Публичните GitHub проекти с отворен код ли са?
Когато [създадете нов проект](https://help.github.com/articles/creating-a-new-repository/) в GitHub, имате опцията да направите хранилището **частно** или **публично**.

**Да направите своя проект в GitHub публичен не е същото като да лицензирате проекта си.** Публичните проекти са обхванати от [Условията за ползване на GitHub](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), което позволява на другите да преглеждат и разклоняват вашия проект, но иначе работата ви идва без разрешения.
Ако искате други да използват, разпространяват, модифицират или допринасят обратно към вашия проект, трябва да включите лиценз с отворен код. Например, някой не може законно да използва която и да е част от вашия GitHub проект в своя код, дори ако е публичен, освен ако изрично не му дадете правото да го направи.
## Просто ми дайте обобщение за това, от което се нуждая, за да защитя проекта си.
Имате късмет, защото днес лицензите за отворен код са стандартизирани и лесни за използване. Можете да копирате и поставите съществуващ лиценз директно във вашия проект.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) и [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) са [популярни лицензи за отворен код](https://innovationgraph.github.com/global-metrics/licenses), но има и други опции за избор. Можете да намерите пълния текст на тези лицензи и инструкции как да ги използвате на [choosealicense.com](https://choosealicense.com/).
Когато създадете нов проект в GitHub, ще бъдете [помолени да добавите лиценз](https://help.github.com/articles/open-source-licensing/).
## Кой лиценз с отворен код е подходящ за моя проект?
Трудно е да сгрешите с [MIT License](https://choosealicense.com/licenses/mit/), ако започвате с празен лист. Той е кратък, лесен за разбиране и позволява на всеки да прави каквото и да е, стига да пази копие от лиценза, включително вашето известие за авторски права. Ще можете да пуснете проекта под различен лиценз, ако някога се наложи.
В противен случай изборът на правилния лиценз с отворен код за вашия проект зависи от вашите цели.
Вашият проект много вероятно има (или ще има) **зависимости**, всяка от които ще има собствен лиценз с отворен код с условия, които трябва да спазвате. Например, ако сте с отворен код за Node.js проект, вероятно ще използвате библиотеки от Node Package Manager (npm).
Зависимости с **разрешителни лицензи** като [MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), [ISC](https://choosealicense.com/licenses/isc) и [BSD](https://choosealicense.com/licenses/bsd-3-clause) ви позволяват да лицензирате проекта си както искате.
Зависимостите с **лицензи за авторско право** изискват по-голямо внимание. Включително всяка библиотека със "силен" лиценз за копиралефт като [GPLv2](https://choosealicense.com/licenses/gpl-2.0), [GPLv3](https://choosealicense.com/licenses/gpl-3.0), или [AGPLv3](https://choosealicense.com/licenses/agpl-3.0) изисква да изберете идентичен или [съвместим лиценз](https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses) за вашия проект. Библиотеки с "ограничен" или "слаб" лиценз за копиралефт като [MPL 2.0](https://choosealicense.com/licenses/mpl-2.0/) и [LGPL](https://choosealicense.com/licenses/lgpl-3.0/) могат да бъдат включени в проекти с произволен лиценз, при условие че следвате [допълнителните правила](https://fossa.com/blog/all-about-copyleft-licenses/#:~:text=weak%20copyleft%20licenses%20also%20obligate%20users%20to%20release%20their%20changes.%20however%2C%20this%20requirement%20applies%20to%20a%20narrower%20set%20of%20code.) посочват те.
Можете също така да разгледате **общностите**, които се надявате да използвате и да допринесете за вашия проект:
* **Искате ли вашият проект да бъде използван като зависимост от други проекти?** Вероятно най-добре е да използвате най-популярния лиценз в съответната общност. Например [MIT](https://choosealicense.com/licenses/mit/) е най-популярният лиценз за [npm библиотеки](https://libraries.io/search?platforms=NPM).
* **Искате ли вашият проект да се хареса на големия бизнес?** Големият бизнес може да се утеши от изричен патентен лиценз от всички сътрудници. В този случай [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) покрива вас (и тях).
* **Искате ли вашият проект да се хареса на сътрудници, които не искат техният принос да се използва в софтуер със затворен код?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) или (ако те също не желаят да допринасят за услуги със затворен код) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) ще мине добре.
Вашата **компания** може да има правила за лицензиране на проекти с отворен код. Някои компании изискват вашите проекти да носят разрешителен лиценз, за да позволят интеграция с фирмените продукти на компанията. Други политики налагат силен лиценз за копиралефт и споразумение за допълнителен сътрудник (вижте по-долу), така че само вашата компания може да използва проекта в софтуер със затворен код. Организациите може също така да имат определени стандарти, цели за социална отговорност или нужди от прозрачност, които може да изискват конкретна стратегия за лицензиране. Говорете с [правния отдел на вашата компания](#моят-проект-има-ли-нужда-от-споразумение-за-допълнителен-сътрудник) за насоки.
Когато създавате нов проект в GitHub, ви се дава възможност да изберете лиценз. Включването на един от лицензите, споменати по-горе, ще направи вашия проект GitHub с отворен код. Ако искате да видите други опции, вижте [choosealicense.com](https://choosealicense.com), за да намерите правилния лиценз за вашия проект, дори ако [не е софтуер](https://choosealicense.com/non-software/).
## Какво ще стане, ако искам да сменя лиценза на моя проект?
Повечето проекти никога не се нуждаят от промяна на лицензи. Но понякога обстоятелствата се променят.
Например, докато вашият проект расте, той добавя зависимости или потребители, или вашата компания променя стратегии, всяка от които може да изисква или иска различен лиценз. Освен това, ако сте пропуснали да лицензирате проекта си от самото начало, добавянето на лиценз е на практика същото като промяната на лицензите. Има три основни неща, които трябва да имате предвид, когато добавяте или променяте лиценза на вашия проект:
**Сложно е.** Определянето на съвместимостта и съответствието на лиценза и кой притежава авторските права може да стане сложно и объркващо много бързо. Преминаването към нов, но съвместим лиценз за нови версии и приноси е различно от повторното лицензиране на всички съществуващи приноси. Включете юридическия си екип при първия намек за всяко желание за промяна на лицензи. Дори ако имате или можете да получите разрешение от притежателите на авторските права на вашия проект за промяна на лиценза, помислете за въздействието на промяната върху другите потребители и сътрудници на вашия проект. Мислете за промяната на лиценза като за "управленско събитие" за вашия проект, което е по-вероятно да протече гладко с ясна комуникация и консултация със заинтересованите страни във вашия проект. Още повече причина да изберете и използвате подходящ лиценз за вашия проект от самото му начало!
**Съществуващият лиценз на вашия проект.** Ако съществуващият лиценз на вашия проект е съвместим с лиценза, който искате да промените, можете просто да започнете да използвате новия лиценз. Това е така, защото ако лиценз A е съвместим с лиценз B, вие ще спазвате условията на A, докато спазвате условията на B (но не непременно обратното). Така че, ако в момента използвате разрешителен лиценз (напр. MIT), можете да промените на лиценз с повече условия, стига да запазите копие от лиценза на MIT и всички свързани бележки за авторски права (т.е. да продължите да спазвате минималните условия на лиценза на MIT). Но ако текущият ви лиценз не е разрешителен (напр. copyleft или нямате лиценз) и не сте единственият притежател на авторските права, не можете просто да промените лиценза на вашия проект на MIT. По същество, с разрешителен лиценз, притежателите на авторските права на проекта са дали предварително разрешение за промяна на лицензите.
**Съществуващи носители на авторски права на вашия проект.** Ако вие сте единственият сътрудник на вашия проект, тогава вие или вашата компания сте единственият носител на авторските права на проекта. Можете да добавите или промените какъвто лиценз вие или вашата компания искате. В противен случай може да има други притежатели на авторски права, от които се нуждаете от съгласие, за да промените лицензите. Кои са те? [Хората, които имат ангажименти във вашия проект](https://github.com/thehale/git-authorship) е добро място да започнете. Но в някои случаи авторските права ще се държат от работодателите на тези хора. В някои случаи хората ще са направили само минимален принос, но няма твърдо и бързо правило, че приносите под определен брой редове код не са обект на авторско право. Какво да правя? Зависи. За сравнително малък и млад проект може да е възможно да накарате всички съществуващи сътрудници да се съгласят с промяна на лиценза в проблем или заявка за изтегляне. За големи и дълготрайни проекти може да се наложи да потърсите много сътрудници и дори техните наследници. Mozilla отне години (2001-2006), за да прелицензира Firefox, Thunderbird и свързания софтуер.
Като алтернатива можете да накарате сътрудниците предварително да одобрят определени промени в лиценза чрез споразумение за допълнителен сътрудник ([вижте по-долу](#кой-лиценз-с-отворен-код-е-подходящ-за-моя-проект)). Това измества малко сложността на промяната на лицензите. Ще имате нужда от повече помощ от вашите адвокати предварително и все пак ще искате да комуникирате ясно със заинтересованите страни във вашия проект, когато извършвате промяна на лиценза.
## Моят проект има ли нужда от споразумение за допълнителен сътрудник?
Вероятно не. За по-голямата част от проектите с отворен код лицензът с отворен код имплицитно служи както за входящ (от сътрудници), така и за изходящ (към други сътрудници и потребители) лиценз. Ако вашият проект е в GitHub, Общите условия на GitHub правят "inbound=outbound" [изрично по подразбиране](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Допълнително споразумение за сътрудник – често наричано Споразумение за лиценз на сътрудник (CLA) – може да създаде административна работа за поддържащите проекта. Колко работа добавя едно споразумение зависи от проекта и изпълнението. Обикновено споразумение може да изисква сътрудниците да потвърдят с едно щракване, че имат правата, необходими за принос съгласно лиценза за отворен код на проекта. По-сложно споразумение може да изисква правен преглед и подписване от работодателите на сътрудниците.
Освен това, чрез добавяне на "бумащина", която според някои е ненужна, трудна за разбиране или несправедлива (когато получателят на споразумението получава повече права от сътрудниците или обществеността чрез лиценза за отворен код на проекта), допълнително споразумение за сътрудник може да се възприеме като недружелюбно към общността на проекта.
Някои ситуации, в които може да искате да обмислите споразумение за допълнителен сътрудник за вашия проект, включват:
* Вашите адвокати искат всички сътрудници изрично да приемат (_подписват_, онлайн или офлайн) условията за принос, може би защото смятат, че самият лиценз за отворен код не е достатъчен (въпреки че е!). Ако това е единствената грижа, споразумение за сътрудник, което потвърждава лиценза за отворен код на проекта, трябва да е достатъчно. [Лицензионното споразумение за jQuery Individual Contributor](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) е добър пример за леко споразумение за допълнителен сътрудник.
* Вие или вашите адвокати искате разработчиците да декларират, че всеки ангажимент, който правят, е разрешен. Изискването за [Сертификат за произход на разработчици](https://developercertificate.org/) е колко проекта постигат това. Например общността Node.js [използва](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) DCO [вместо](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) от техния предишен CLA. Една проста опция за автоматизиране на прилагането на DCO във вашето хранилище е [DCO Probot](https://github.com/probot/dco).
* Вашият проект използва лиценз с отворен код, който не включва изрично предоставяне на патент (като MIT) и се нуждаете от разрешение за патент от всички сътрудници, някои от които може да работят за компании с големи патентни портфейли, които биха могли да бъдат използвани за насочване към вас или други сътрудници и потребители на проекта. [Лицензионното споразумение за личен сътрудник на Apache](https://www.apache.org/licenses/icla.pdf) е често използвано допълнително споразумение за сътрудник, което има предоставяне на патент, отразяващо това, което се намира в Лиценза на Apache 2.0.
* Вашият проект е под лиценз за копиралефт, но също така трябва да разпространявате собствена версия на проекта. Ще трябва всеки сътрудник да ви прехвърли авторски права или да ви предостави (но не на обществеността) разрешителен лиценз. [Споразумението за сътрудник на MongoDB](https://www.mongodb.com/legal/contributor-agreement) е пример за този тип споразумение.
* Смятате, че вашият проект може да се наложи да промени лицензите през целия си живот и искате участниците да се съгласят предварително с такива промени.
Ако все пак трябва да използвате допълнително споразумение за сътрудници с вашия проект, обмислете използването на интеграция като [CLA помощник](https://github.com/cla-assistant/cla-assistant), за да сведете до минимум разсейването на сътрудниците.
## Какво трябва да знае правният екип на моята компания?
Ако пускате проект с отворен код като служител на компанията, първо, вашият правен екип трябва да знае, че сте проект с отворен код.
За добро или лошо, помислете да ги уведомите дори ако това е личен проект. Вероятно имате "споразумение за интелектуална собственост на служителите" с вашата компания, което им дава известен контрол върху вашите проекти, особено ако изобщо са свързани с бизнеса на компанията или използвате ресурси на компанията за разработване на проекта. Вашата компания _би трябвало_ лесно да ви даде разрешение и може би вече го е направила чрез удобно за служителите IP споразумение или фирмена политика. Ако не, можете да преговаряте (например да обясните, че вашият проект служи на целите на компанията за професионално обучение и развитие за вас) или да избягвате да работите по проекта си, докато не намерите по-добра компания.
**Ако търсите проект с отворен код за вашата компания**, тогава определено ги уведомете. Вашият правен екип вероятно вече има политики за това какъв лиценз с отворен код (и може би допълнително споразумение за сътрудници) да използва въз основа на бизнес изискванията и експертния опит на компанията за гарантиране, че вашият проект е в съответствие с лицензите на неговите зависимости. Ако не, вие и те имате късмет! Вашият правен екип трябва да е нетърпелив да работи с вас, за да разберете тези неща. Някои неща, за които да помислите:
* **Материал на трета страна:** Вашият проект има ли зависимости, създадени от други или по друг начин включва или използва чужд код? Ако те са с отворен код, ще трябва да спазвате лицензите за отворен код на материалите. Това започва с избора на лиценз, който работи с лицензи с отворен код на трети страни ([вижте по-горе](#кой-лиценз-с-отворен-код-е-подходящ-за-моя-проект)). Ако вашият проект модифицира или разпространява материал с отворен код на трета страна, вашият правен екип също ще иска да знае, че отговаряте на други условия на лицензите за отворен код на трета страна, като запазване на бележки за авторски права. Ако вашият проект използва чужд код, който няма лиценз с отворен код, вероятно ще трябва да помолите поддържащите трети страни да [добавят лиценз с отворен код](https://choosealicense.com/no-license/#for-users), и ако не можете да получите такъв, спрете да използвате техния код във вашия проект.
* **Търговски тайни:** Помислете дали има нещо в проекта, което компанията не иска да направи достъпно за широката общественост. Ако е така, можете да отворите останалата част от проекта си, след като извлечете материала, който искате да запазите поверителен.
* **Патенти:** Вашата компания кандидатства ли за патент, за който отвореният код на вашия проект би представлявал [публично разкриване](https://en.wikipedia.org/wiki/Public_disclosure)? За съжаление може да бъдете помолени да изчакате (или може би компанията ще преразгледа разумността на приложението). Ако очаквате принос към вашия проект от служители на компании с големи патентни портфейли, вашият правен екип може да поиска да използвате лиценз с изрично предоставяне на патент от сътрудници (като Apache 2.0 или GPLv3) или допълнително споразумение за сътрудници ([вижте по-горе](#кой-лиценз-с-отворен-код-е-подходящ-за-моя-проект)).
* **Търговски марки:** Проверете отново дали името на вашия проект [не е в конфликт със съществуващи търговски марки](../starting-a-project/#избягване-на-конфликти-с-имена). Ако използвате търговските марки на собствената си компания в проекта, проверете дали това не предизвиква конфликти. [FOSSmarks](http://fossmarks.org/) е практическо ръководство за разбиране на търговските марки в контекста на безплатни проекти с отворен код.
* **Поверителност:** Вашият проект събира ли данни за потребители? "Домашен телефон" към фирмени сървъри? Вашият правен екип може да ви помогне да спазвате фирмените политики и външните разпоредби.
Ако пускате първия проект с отворен код на вашата компания, горното е повече от достатъчно, за да преминете (но не се притеснявайте, повечето проекти не би трябвало да предизвикват големи притеснения).
В по-дългосрочен план вашият правен екип може да направи повече, за да помогне на компанията да извлече повече от участието си в отворен код и да остане в безопасност:
* **Правила за приноса на служителите:** Помислете за разработване на корпоративна политика, която определя как вашите служители допринасят за проекти с отворен код. Ясната политика ще намали объркването сред вашите служители и ще им помогне да допринесат за проекти с отворен код в най-добрия интерес на компанията, независимо дали като част от работата им или в свободното им време. Добър пример е [Модел IP и политика за принос с отворен код](https://ospo.co/blog/crafting-your-open-source-contribution-policy/) на Rackspace.
* **Какво да публикувате:** [(Почти) всичко?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Ако вашият правен екип разбира и е инвестирани в стратегията на вашата компания за отворен код, те ще могат най-добре да помогнат, вместо да пречат на вашите усилия.
* **Съответствие:** Дори ако вашата компания не пуска проекти с отворен код, тя използва чужд софтуер с отворен код. [Осъзнаването и процесът](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) могат да предотвратят главоболия, забавяния на продукти и съдебни дела .
* **Патенти:** Вашата компания може да пожелае да се присъедини към [Open Invention Network](https://www.openinventionnetwork.com/), споделен защитен патентен пул за защита на използването на големи проекти с отворен код от членовете, или да проучи друго [алтернативно патентно лицензиране](https://www.eff.org/document/hacking-patent-system-2016).
* **Управление:** Особено ако и когато има смисъл да се премести проект към [юридическо лице извън компанията](../leadership-and-governance/#нуждая-ли-се-от-юридическо-лице-което-да-поддържа-моя-проект).
================================================
FILE: _articles/bg/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: bg
title: Поддържане на баланс за поддържащите отворен код
description: Съвети за самообслужване и избягване на прегаряне като поддържащ.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
Тъй като популярността на проекта с отворен код нараства, става важно да поставите ясни граници, които да ви помогнат да поддържате баланс, за да останете освежени и продуктивни в дългосрочен план.
За да придобием представа за опита на поддържащите и техните стратегии за намиране на баланс, проведохме семинар с 40 членове на общността на поддържащите, което ни позволи да се поучат от техния опит от първа ръка с бърнаут в отворен код и практиките, които са им помогнали да поддържат баланс в работата си. Тук влиза в действие концепцията за лична екология.
И така, какво е лична екология? Като описано от Rockwood Leadership Institute, то включва "поддържане на баланс, темпо и ефективност за поддържане на енергията ни през целия живот." Това рамкира нашите разговори, помагайки на поддържащите да разпознаят своите действия и приноси като части от по-голяма екосистема, която се развива с течение на времето. Бърнаут, синдром в резултат на хроничен стрес на работното място, както [дефиниран от СЗО](https://icd.who.int/browse/2025-01/foundation/en#129180281) , не е необичайно сред поддържащите. Това често води до загуба на мотивация, невъзможност за фокусиране и липса на съпричастност към сътрудниците и общността, с която работите.
Възприемайки концепцията за лична екология, поддържащите могат проактивно да избягват прегарянето, да дават приоритет на грижата за себе си и да поддържат чувство за баланс, за да вършат най-добрата си работа.
## Съвети за самообслужване и избягване на прегаряне като поддържащ персонал:
### Определете вашите мотивации за работа с отворен код
Отделете време, за да помислите кои части от поддръжката с отворен код ви зареждат с енергия. Разбирането на вашата мотивация може да ви помогне да приоритизирате работата по начин, който ви държи ангажирани и готови за нови предизвикателства. Независимо дали става въпрос за положителната обратна връзка от потребителите, радостта от сътрудничеството и общуването с общността или удовлетворението от гмуркането в кода, разпознаването на вашите мотивации може да ви помогне да насочите фокуса си.
### Помислете какво ви кара да излизате от баланс и да сте стресирани
Важно е да разберем какво ни кара да изгаряме. Ето няколко общи теми, които видяхме сред поддържащите отворен код:
* **Липса на положителна обратна връзка:** Много по-вероятно е потребителите да се свържат, когато имат оплакване. Ако всичко работи добре, те са склонни да мълчат. Може да е обезкуражаващо да видите нарастващ списък от проблеми без положителната обратна връзка, показваща как вашият принос прави разликата.
* **Да не казваш "не":** Може да е лесно да поемеш повече отговорности, отколкото би трябвало за проект с отворен код. Независимо дали е от потребители, сътрудници или други поддържащи – ние не винаги можем да оправдаем техните очаквания.
* **Да работиш сам:** Да си поддържащ може да бъде невероятно самотен. Дори ако работите с група поддържащи, последните няколко години бяха трудни за свикване на разпределени екипи лично.
* **Няма достатъчно време или ресурси:** Това е особено вярно за поддържащи доброволци, които трябва да жертват свободното си време, за да работят по проект.
* **Противоречиви изисквания:** Отвореният код е пълен с групи с различни мотивации, които могат да бъдат трудни за ориентиране. Ако ви се плаща да работите с отворен код, интересите на вашия работодател понякога могат да бъдат в противоречие с общността.
### Внимавайте за признаци на прегаряне
Можете ли да поддържате темпото си 10 седмици? 10 месеца? 10 години?
Има инструменти като [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) от [@shaunagm](https://github.com/shaunagm), които могат да ви помогнат помислете върху текущото си темпо и вижте дали има някакви корекции, които можете да направите. Някои поддържащи също използват технология за носене, за да проследяват показатели като качество на съня и променливост на сърдечната честота (и двете свързани със стреса).
### От какво се нуждаете, за да продължите да поддържате себе си и общността си?
Това ще изглежда различно за всеки поддържащ и ще се променя в зависимост от вашата фаза от живота и други външни фактори. Но ето няколко теми, които чухме:
* **Разчитайте на общността:** Делегирането и намирането на сътрудници може да облекчи работното натоварване. Наличието на множество точки за контакт за даден проект може да ви помогне да си починете, без да се притеснявате. Свържете се с други поддържащи и по-широката общност – в групи като [Maintainer Community](http://maintainers.github.com/). Това може да бъде чудесен ресурс за партньорска подкрепа и обучение.
Можете също така да търсите начини да се ангажирате с потребителската общност, така че да можете редовно да чувате обратна връзка и да разбирате въздействието на вашата работа с отворен код.
* **Разгледайте финансирането:** Независимо дали търсите малко пари за пица или се опитвате да преминете на пълен работен ден към отворен код, има много ресурси, които да ви помогнат! Като първа стъпка помислете дали да не включите [Спонсорите на GitHub](https://github.com/sponsors), за да позволите на други да спонсорират вашата работа с отворен код. Ако обмисляте да преминете към пълен работен ден, кандидатствайте за следващия кръг на [GitHub Accelerator](http://accelerator.github.com/).
* **Използвайте инструменти:** Разгледайте инструменти като [GitHub Copilot](https://github.com/features/copilot/) и [GitHub Actions](https://github.com/features/actions), за да автоматизирате светски задачи и освободете времето си за по-значими приноси.
* **Почивка и презареждане:** Отделете време за вашите хобита и интереси извън отворен код. Вземете почивни дни, за да се отпуснете и да се подмладите – и задайте своя [статус в GitHub](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status), за да отразява вашата наличност! Добрият нощен сън може да направи голяма разлика в способността ви да поддържате усилията си в дългосрочен план.
Ако намирате определени аспекти от вашия проект за особено приятни, опитайте се да структурирате работата си, така че да можете да я изживявате през целия си ден.
* **Задайте граници:** Не можете да кажете "да" на всяка молба. Това може да бъде толкова просто, колкото да кажете: "Не мога да стигна до това в момента и нямам планове за бъдещето" или да посочите какво искате да правите и какво да не правите в README. Например, можете да кажете: "Аз обединявам само PR-и, които имат ясно изброени причини, поради които са направени", или "Преглеждам проблемите само в четвъртък от 18 до 19 часа". Това определя очакванията за другите и ви дава нещо да посочите в други моменти, за да помогнете за намаляване на изискванията от сътрудници или потребители във вашето време.
Научете се да сте твърди в спирането на токсичното поведение и негативните взаимодействия. Добре е да не давате енергия на неща, които не ви интересуват.
Не забравяйте, че личната екология е постоянна практика, която ще се развива, докато напредвате във вашето пътуване с отворен код. Като приоритизирате грижата за себе си и поддържате чувството за баланс, можете да допринесете за общността с отворен код ефективно и устойчиво, гарантирайки както вашето благополучие, така и успеха на вашите проекти в дългосрочен план.
## Допълнителни ресурси
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](https://governingopen.com/)
* Програмата на семинара е ремиксирана от поредицата на [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/)
## Сътрудници
Много благодаря на всички поддържащи, които споделиха своя опит и съвети с нас за това ръководство!
Това ръководство е написано от [@abbycabs](https://github.com/abbycabs) с принос от:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + много други!
================================================
FILE: _articles/bg/metrics.md
================================================
---
lang: bg
title: Показатели за отворен код
description: Вземете информирани решения, за да помогнете на вашия проект с отворен код да процъфтява, като измервате и проследявате неговия успех.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Защо да измервате нещо?
Данните, когато се използват разумно, могат да ви помогнат да вземете по-добри решения като поддържащ отворен код.
С повече информация можете:
* Разберете как потребителите реагират на нова функция
* Разберете откъде идват новите потребители
* Идентифицирайте и решете дали да поддържате извънреден случай на употреба или функционалност
* Определете количествено популярността на вашия проект
* Разберете как се използва вашият проект
* Събирайте пари чрез спонсорства и безвъзмездни средства
Например [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) открива, че Google Анализ им помага да приоритизират работата:
> Homebrew се предоставя безплатно и се управлява изцяло от доброволци в свободното им време. В резултат на това нямаме ресурсите да направим подробни потребителски проучвания на потребителите на Homebrew, за да решим как най-добре да проектираме бъдещи функции и да дадем приоритет на текущата работа. Анонимните обобщени потребителски анализи ни позволяват да приоритизираме поправки и функции въз основа на това как, къде и кога хората използват Homebrew.
Популярността не е всичко. Всеки влиза в отворен код по различни причини. Ако целта ви като поддържащ отворен код е да покажете работата си, да сте прозрачни относно кода си или просто да се забавлявате, показателите може да не са важни за вас.
Ако се интересувате от разбирането на вашия проект на по-дълбоко ниво, прочетете за начини да анализирате дейността на вашия проект.
## Откритие
Преди някой да може да използва или да допринесе обратно за вашия проект, той трябва да знае, че той съществува. Запитайте се: _хората намират ли този проект?_

Ако вашият проект се хоства в GitHub, [можете да видите](https://help.github.com/articles/about-repository-graphs/#traffic) колко хора попадат на вашия проект и откъде идват. От страницата на вашия проект щракнете върху "Прозрения", след това върху "Трафик". На тази страница можете да видите:
* **Общ брой показвания на страници:** Ви казва колко пъти е бил прегледан вашият проект
* **Общ брой уникални посетители:** Ви казва колко души са видели проекта Ви
* **Препоръчващи сайтове:** Ви казва откъде идват посетителите. Този показател може да ви помогне да разберете къде да достигнете до аудиторията си и дали усилията ви за промоция работят.
* **Популярно съдържание:** Ви казва къде отиват посетителите във вашия проект, разбити по показвания на страници и уникални посетители.
[Звездите на GitHub](https://help.github.com/articles/about-stars/) също могат да помогнат за предоставяне на основна мярка за популярност. Въпреки че звездите на GitHub не са непременно свързани с изтегляния и използване, те могат да ви кажат колко хора обръщат внимание на работата ви.
Може също да искате да [проследите откриваемостта на конкретни места](https://opensource.com/business/16/6/pirate-metrics): например Google PageRank, трафик от препоръчани потребители от уебсайта на вашия проект или препоръчани потребители от други отворени изходни проекти или уебсайтове.
## Използване
Хората намират вашия проект в това диво и лудо нещо, което наричаме интернет. В идеалния случай, когато видят вашия проект, те ще се почувстват принудени да направят нещо. Вторият въпрос, който ще искате да зададете е: _хората използват ли този проект?_
Ако използвате мениджър на пакети, като npm или RubyGems.org, за разпространение на вашия проект, може да сте в състояние да проследявате изтеглянията на вашия проект.
Всеки мениджър на пакети може да използва малко по-различна дефиниция на "изтегляне" и изтеглянията не са непременно свързани с инсталиранията или използването, но предоставя някаква базова линия за сравнение. Опитайте да използвате [Libraries.io](https://libraries.io/), за да проследявате статистическите данни за използването в много популярни мениджъри на пакети.
Ако вашият проект е в GitHub, отворете отново страницата "Трафик". Можете да използвате [графиката за клониране](https://github.com/blog/1873-clone-graphs), за да видите колко пъти вашият проект е бил клониран за даден ден, разбити на общия брой клонинги и уникални клонинги.

Ако употребата е ниска в сравнение с броя на хората, които са открили вашия проект, трябва да имате предвид два проблема. Или:
* Вашият проект не преобразува успешно вашата аудитория, или
* Привличате грешната аудитория
Например, ако вашият проект попадне на първа страница на Hacker News, вероятно ще видите скок в откриването (трафик), но по-нисък процент на реализация, защото достигате до всички в Hacker News. Ако обаче вашият Ruby проект бъде представен на Ruby конференция, е по-вероятно да видите висок процент на реализация от целева аудитория.
Опитайте се да разберете откъде идва вашата аудитория и помолете другите за обратна връзка на страницата на вашия проект, за да разберете с кой от тези два проблема се сблъсквате.
След като разберете, че хората използват вашия проект, може да искате да опитате да разберете какво правят с него. Надграждат ли го, като разклоняват вашия код и добавят функции? Използват ли го за наука или за бизнес?
## Задържане
Хората намират вашия проект и го използват. Следващият въпрос, който ще искате да си зададете, е: _хората допринасят ли обратно за този проект?_
Никога не е твърде рано да започнете да мислите за сътрудници. Без други хора да се намесят, рискувате да се поставите в нездравословна ситуация, в която вашият проект е _популярен_ (много хора го използват), но не е _поддържан_ (няма достатъчно време за поддръжка, за да отговори на търсенето).
Задържането също така изисква [приток на нови сътрудници](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), тъй като предишните активни сътрудници в крайна сметка ще продължат напред към други неща.
Примери за показатели на общността, които може да искате да проследявате редовно, включват:
* **Общ брой сътрудници и брой ангажименти на сътрудник:** Ви казва колко сътрудници имате и кой е повече или по-малко активен. В GitHub можете да видите това под "Прозрения" -> "Сътрудници". В момента тази графика отчита само сътрудници, които са се ангажирали с клона по подразбиране на хранилището.

* **Първи, случайни и повторни сътрудници:** Помага ви да проследите дали получавате нови сътрудници и дали те се връщат. (Случайните сътрудници са сътрудници с малък брой ангажименти. Дали това е един комит, по-малко от пет ангажимента или нещо друго зависи от вас.) Без нови сътрудници общността на вашия проект може да изпадне в застой.
* **Брой отворени проблеми и отворени заявки за изтегляне:** Ако тези числа станат твърде високи, може да се нуждаете от помощ при сортирането на проблеми и прегледите на кода.
* **Брой _отворени_ проблеми и _отворени_ заявки за изтегляне:** Отворените проблеми означават, че някой се интересува достатъчно от вашия проект, за да отвори проблем. Ако този брой се увеличи с течение на времето, това предполага, че хората се интересуват от вашия проект.
* **Видове приноси:** Например ангажименти, коригиране на правописни грешки или грешки или коментиране на проблем.
## Поддържаща дейност
И накрая, ще искате да затворите цикъла, като се уверите, че поддържащите вашия проект са в състояние да се справят с обема на получените вноски. Последният въпрос, който ще искате да си зададете е: _отговарям ли (или ние) на нашата общност?_
Неотзивчивите поддържащи се превръщат в пречка за проекти с отворен код. Ако някой изпрати принос, но никога не получи отговор от поддържащия, той може да се почувства обезсърчен и да напусне.
[Изследване от Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) предполага, че отзивчивостта на поддържащия е критичен фактор за насърчаване на повтарящи се приноси.
Помислете за [проследяване колко време отнема на вас (или на друг поддържащ) да отговорите на приносите](https://github.blog/2023-07-19-metrics-for-issues-pull-requests-and-discussions/), дали проблем или заявка за изтегляне. Отговорът не изисква предприемане на действие. Може да бъде толкова просто, колкото да кажете: _"Благодаря за вашето изпращане! Ще прегледам това през следващата седмица."_
Можете също да измерите времето, необходимо за преминаване между етапите в процеса на принос, като например:
* Средно време, през което проблемът остава отворен
* Дали проблемите се затварят от PRте
* Дали остарелите проблеми се затварят
* Средно време за обединяване на заявка за изтегляне
## Използвайте 📊, за да научите за хората
Разбирането на показателите ще ви помогне да изградите активен, разрастващ се проект с отворен код. Дори и да не проследявате всеки показател на таблото за управление, използвайте рамката по-горе, за да фокусирате вниманието си върху типа поведение, което ще помогне на вашия проект да процъфтява.
[CHAOSS](https://chaoss.community/) е гостоприемна общност с отворен код, фокусирана върху анализи, показатели и софтуер за здравето на общността.
================================================
FILE: _articles/bg/security-best-practices-for-your-project.md
================================================
---
lang: bg
title: Най-добри практики за сигурност за вашия проект
description: Укрепете бъдещето на вашия проект, като изградите доверие чрез основни практики за сигурност – от многофакторна автентификация (MFA) и сканиране на код до безопасно управление на зависимостите и отчитане на частни уязвимости.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Като оставим настрана грешките и новите функции, дълголетието на един проект зависи не само от неговата полезност, но и от доверието, което печели от своите потребители. Силните мерки за сигурност са важни, за да се запази това доверие. Ето някои важни действия, които можете да предприемете, за да подобрите значително сигурността на вашия проект.
## Уверете се, че всички привилегировани участници са активирали многофакторно удостоверяване (MFA)
### Злонамерен участник, който успее да се представи за привилегирован участник във вашия проект, ще причини катастрофални щети.
След като получи привилегирован достъп, този участник може да промени вашия код, за да го накара да извършва нежелани действия (напр. да копае криптовалута), или може да разпространява зловреден софтуер в инфраструктурата на вашите потребители, или може да има достъп до частни хранилища за код, за да открадне интелектуална собственост и чувствителни данни, включително идентификационни данни за други услуги.
MFA предоставя допълнителен слой сигурност срещу поглъщане на акаунт. След като бъде активирана, трябва да влезете с потребителското си име и парола и да предоставите друга форма на удостоверяване, която само вие знаете или до която имате достъп.
## Защитете кода си като част от работния процес на разработка
### Уязвимостите в сигурността на вашия код са по-евтини за отстраняване, когато бъдат открити в началото на процеса, отколкото по-късно, когато се използват в продукцията.
Използвайте инструмент за статично тестване на сигурността на приложенията (SAST), за да откриете уязвимости в сигурността на вашия код. Тези инструменти работят на ниво код и не се нуждаят от среда за изпълнение, следователно могат да бъдат изпълнени в началото на процеса и могат да бъдат безпроблемно интегрирани в обичайния ви работен процес на разработка, по време на изграждането или по време на фазите на преглед на кода.
Все едно квалифициран експерт да прегледа вашето хранилище за код, помагайки ви да откриете често срещани уязвимости в сигурността, които биха могли да се крият на видно място, докато кодирате.
Как да изберете вашия SAST инструмент?
Проверете лиценза: Някои инструменти са безплатни за проекти с отворен код. Например GitHub CodeQL или SemGrep.
Проверете покритието за вашия(ите) език(ци)
* Изберете такъв, който лесно се интегрира с инструментите, които вече използвате, със съществуващия ви процес. Например, по-добре е, ако предупрежденията са налични като част от съществуващия ви процес и инструмент за преглед на код, вместо да използвате друг инструмент, за да ги видите.
* Пазете се от фалшиви положителни резултати! Не искате инструментът да ви забавя без причина!
* Проверете функциите: някои инструменти са много мощни и могат да проследяват дефекти (пример: GitHub CodeQL), някои предлагат генерирани от изкуствен интелект предложения за корекции, а трети улесняват писането на персонализирани заявки (пример: SemGrep).
## Не споделяйте тайните си
### Чувствителни данни, като API ключове, токени и пароли, понякога могат случайно да бъдат добавени към вашето хранилище.
Представете си следния сценарий: Вие сте администратор на популярен проект с отворен код, в който участват разработчици от цял свят. Един ден, сътрудник, без да знае, добавя към хранилището някои API ключове на услуга на трета страна. Няколко дни по-късно, някой намира тези ключове и ги използва, за да влезе в услугата без разрешение. Услугата е компрометирана, потребителите на вашия проект изпитват прекъсвания и репутацията на проекта ви е засегната. Като администратор, вие сте изправени пред трудните задачи за отмяна на компрометирани тайни, разследване на злонамерени действия, които атакуващият би могъл да извърши с тази тайна, уведомяване на засегнатите потребители и внедряване на корекции.
За да се предотвратят подобни инциденти, съществуват решения за "сканиране на тайни", които ви помагат да откриете тези тайни в кода си. Някои инструменти като GitHub Secret Scanning и Trufflehog от Truffle Security могат да ви попречат да ги преместите в отдалечени клонове, а някои инструменти автоматично ще отменят някои тайни вместо вас.
## Проверете и актуализирайте зависимостите си
### Зависимостите във вашия проект могат да имат уязвимости, които компрометират сигурността му. Ръчното поддържане на зависимостите актуални може да бъде отнемаща време задача.
Представете си: проект, изграден върху здравата основа на широко използвана библиотека. Библиотеката по-късно открива голям проблем със сигурността, но хората, които са изградили приложението, използвайки я, не знаят за него. Чувствителни потребителски данни остават изложени на риск, когато атакуващ се възползва от тази слабост и се нахвърли, за да ги грабне. Това не е теоретичен случай. Точно това се случи с Equifax през 2017 г.: Те не успяха да актуализират зависимостта си от Apache Struts след известието, че е открита сериозна уязвимост. Тя беше експлоатирана и скандалният пробив в Equifax засегна данните на 144 милиона потребители.
За да предотвратят подобни сценарии, инструменти за анализ на състава на софтуера (SCA), като Dependabot и Renovate, автоматично проверяват вашите зависимости за известни уязвимости, публикувани в публични бази данни като NVD или GitHub Advisory Database, и след това създават заявки за изтегляне, за да ги актуализират до безопасни версии. Поддържането на актуалност с най-новите безопасни версии на зависимостите предпазва вашия проект от потенциални рискове.
## Избягвайте нежелани промени със защитени клонове
### Неограниченият достъп до основните ви клонове може да доведе до случайни или злонамерени промени, които могат да въведат уязвимости или да нарушат стабилността на проекта ви.
Нов участник получава достъп за запис в основния клон и случайно публикува промени, които не са тествани. След това се разкрива сериозен пропуск в сигурността, благодарение на последните промени. За да се предотвратят подобни проблеми, правилата за защита на клоновете гарантират, че промените не могат да бъдат публикувани или обединявани във важни клонове, без първо да бъдат прегледани и да преминат през определени проверки за състояние. С тази допълнителна мярка сте в по-голяма безопасност и по-добре, гарантирайки първокласно качество всеки път.
## Настройте механизъм за прием на данни за докладване на уязвимости
### Добра практика е да улесните потребителите си да докладват за грешки, но големият въпрос е: когато тази грешка има въздействие върху сигурността, как могат безопасно да ви я докладват, без да ви поставят в цел за злонамерени хакери?
Представете си: Изследовател по сигурността открива уязвимост във вашия проект, но не намира ясен или сигурен начин да я докладва. Без определен процес, той може да създаде публичен проблем или да го обсъди открито в социалните медии. Дори и да е добронамерен и да предложи поправка, ако го направи с публична заявка за изтегляне, други ще я видят, преди да бъде обединена! Това публично разкриване ще изложи уязвимостта на злонамерени лица, преди да имате шанс да я отстраните, което потенциално ще доведе до експлойт от нулев ден, атакуващ вашия проект и неговите потребители.
### Политика за сигурност
За да избегнете това, публикувайте политика за сигурност. Политиката за сигурност, дефинирана във файл `SECURITY.md`, описва подробно стъпките за докладване на проблеми със сигурността, създава прозрачен процес за координирано разкриване и установява отговорностите на екипа на проекта за справяне с докладваните проблеми. Тази политика за сигурност може да бъде толкова проста, колкото "Моля, не публикувайте подробности в публичен проблем или PR, изпратете ни личен имейл на security@example.com", но може да съдържа и други подробности, като например кога могат да очакват да получат отговор от вас. Всичко, което може да помогне за ефективността и ефикасността на процеса на разкриване.
### Частно докладване на уязвимости
На някои платформи можете да рационализирате и подобрите процеса си на управление на уязвимости, от приемане до излъчване, с частни проблеми. В GitLab това може да се направи с частни проблеми. В GitHub това се нарича частно докладване на уязвимости (PVR). PVR позволява на поддържащите да получават и адресират доклади за уязвимости, всичко това в рамките на платформата GitHub. GitHub автоматично ще създаде частен fork за писане на корекциите и проект на съобщение за сигурност. Всичко това остава поверително, докато не решите да разкриете проблемите и да публикувате корекциите. За да се затвори цикълът, ще бъдат публикувани съобщения за сигурност, които ще информират и защитават всички ваши потребители чрез техния SCA инструмент.
## Заключение: Няколко стъпки за вас, огромно подобрение за вашите потребители
Тези няколко стъпки може да ви се сторят лесни или основни, но те са от голяма полза за по-голяма сигурност на вашия проект за неговите потребители, защото ще осигурят защита срещу най-често срещаните проблеми.
## Сътрудници
### Много благодарности на всички администратори, които споделиха своя опит и съвети с нас за това ръководство!
Това ръководство е написано от [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) с приноси от:
[@JLLeitschuh](https://github.com/JLLeitschuh)
[@intrigus-lgtm](https://github.com/intrigus-lgtm) + много други!
================================================
FILE: _articles/bg/starting-a-project.md
================================================
---
lang: bg
title: Стартиране на проект с отворен код
description: Научете повече за света на отворения код и се пригответе да стартирате свой собствен проект.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## "Какво" и "защо" на отворения код
Значи обмисляте да започнете с отворен код? Честито! Светът оценява вашия принос. Нека поговорим какво е отворен код и защо хората го правят.
### Какво означава "отворен код"?
Когато даден проект е с отворен код, това означава, че **всеки е свободен да използва, изучава, променя и разпространява вашия проект за всякакви цели.** Тези разрешения се прилагат чрез [лиценз за отворен код](https://opensource.org/licenses).
Отвореният код е мощен, защото намалява бариерите пред приемането и сътрудничеството, позволявайки на хората да разпространяват и подобряват проекти бързо. Също така защото дава на потребителите потенциал да контролират собствените си компютри, в сравнение със затворения код. Например, бизнес, използващ софтуер с отворен код, има опцията да наеме някой, който да направи персонализирани подобрения на софтуера, вместо да разчита изключително на продуктовите решения на доставчик със затворен код.
_Свободен софтуер_ се отнася до същия набор от проекти като _отворен код_. Понякога също така ще видите [тези термини](https://en.wikipedia.org/wiki/Free_and_open-source_software) комбинирани като "свободен софтуер с отворен код" (FOSS) или "безплатен софтуер с отворен код" (FLOSS). _Безплатно_ и _libre_ се отнасят за свободата, [не за цената](#отворен-код-означава-ли-безплатно).
### Защо хората отварят кода на работата си?
[Има много причини](https://ben.balter.com/2015/11/23/why-open-source/), поради които дадено лице или организация би искала да отвори проект с отворен код. Някои примери включват:
* **Сътрудничество:** Проектите с отворен код могат да приемат промени от всеки по света. [Exercism](https://github.com/exercism/), например, е платформа за упражнения по програмиране с над 350 участници.
* **Приемане и ремиксиране:** Проектите с отворен код могат да се използват от всеки за почти всякакви цели. Хората дори могат да го използват за изграждане на други неща. [WordPress](https://github.com/WordPress), например, стартира като разклонение на съществуващ проект, наречен [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Прозрачност:** Всеки може да провери проект с отворен код за грешки или несъответствия. Прозрачността има значение за правителства като [България](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) или [Съединените щати](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), регулирани отрасли като банкиране или здравеопазване и софтуер за сигурност като [Да шифроваме](https://github.com/letsencrypt).
Отвореният код също не е само за софтуер. Можете да отворите всичко - от набори от данни до книги. Разгледайте [GitHub Explore](https://github.com/explore) за идеи какво още можете да отворите.
### Отворен код означава ли "безплатно"?
Едно от най-големите предимства на отворения код е, че не струва пари. "Безплатно" обаче е страничен продукт от общата стойност на отворения код.
Тъй като [лицензът с отворен код изисква](https://opensource.org/definition-annotated/) всеки да може да използва, променя и споделя вашия проект за почти всякакви цели, самите проекти обикновено са безплатни. Ако използването на проекта струва пари, всеки може законно да направи копие и вместо това да използва безплатната версия.
В резултат на това повечето проекти с отворен код са безплатни, но "безплатно" не е част от определението за отворен код. Има начини за таксуване за проекти с отворен код индиректно чрез двойно лицензиране или ограничени функции, като същевременно се спазва официалното определение за отворен код.
## Трябва ли да стартирам собствен проект с отворен код?
Краткият отговор е да, защото независимо от резултата, стартирането на собствен проект е чудесен начин да научите как работи отвореният код.
Ако никога преди не сте отваряли проект с отворен код, може да се притеснявате какво ще кажат хората или дали някой изобщо ще забележи. Ако това звучи като вас, не сте сами!
Работата с отворен код е като всяка друга творческа дейност, независимо дали е писане или рисуване. Може да ви е страшно да споделяте работата си със света, но единственият начин да станете по-добри е да практикувате – дори и да нямате публика.
Ако все още не сте убедени, отделете малко време, за да помислите какви може да са вашите цели.
### Поставяне на вашите цели
Целите могат да ви помогнат да разберете върху какво да работите, на какво да кажете "не" и къде имате нужда от помощ от другите. Започнете, като се запитате _защо използвам този проект с отворен код?_
Няма един правилен отговор на този въпрос. Може да имате множество цели за един проект или различни проекти с различни цели.
Ако единствената ви цел е да покажете работата си, може дори да не искате принос и дори да го кажете във вашия README. От друга страна, ако искате сътрудници, ще инвестирате време в ясна документация и ще накарате новодошлите да се почувстват добре дошли.
С разрастването на проекта ви, общността ви може да се нуждае от нещо повече от код - от вас. Отговарянето на проблеми, прегледът на кода и евангелизирането на вашия проект са важни задачи в проект с отворен код.
Макар че времето, което отделяте за задачи, които не са свързани с кодиране, ще зависи от размера и обхвата на вашия проект, вие трябва да сте подготвени като поддържащ да се справите с тях сами или да намерите някой, който да ви помогне.
**Ако сте част от компания, предлагаща проект с отворен код,** се уверете, че вашият проект разполага с необходимите вътрешни ресурси, за да процъфтява. Ще искате да определите кой е отговорен за поддържането на проекта след стартирането и как ще споделите тези задачи с вашата общност.
Ако имате нужда от специален бюджет или персонал за промоция, операции и поддържане на проекта, започнете тези разговори отрано.
### Принос към други проекти
Ако целта ви е да научите как да си сътрудничите с други или да разберете как работи отворен код, помислете дали да допринесете за съществуващ проект. Започнете с проект, който вече използвате и харесвате. Приносът към проект може да бъде толкова прост, колкото коригиране на правописни грешки или актуализиране на документация.
Ако не сте сигурни как да започнете като сътрудник, вижте нашето [Как да допринесете за ръководство с отворен код](../how-to-contribute/).
## Стартиране на ваш собствен проект с отворен код
Няма идеално време за отваряне на вашата работа. Можете да отворите кода на идея, в процес на работа или след години на затворен код.
Най-общо казано, трябва да отворите своя проект, когато се чувствате комфортно другите да гледат и дават обратна връзка за работата ви.
Без значение на кой етап решите да отворите проекта си, всеки проект трябва да включва следната документация:
* [Open source license](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Contributing guidelines](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code of conduct](../code-of-conduct/)
Като поддържащ, тези компоненти ще ви помогнат да съобщите очакванията, да управлявате приносите и да защитите законните права на всички (включително вашите собствени). Те значително увеличават шансовете ви за положително преживяване.
Ако вашият проект е в GitHub, поставянето на тези файлове в основната ви директория с препоръчаните файлови имена ще помогне на GitHub да ги разпознае и автоматично да ги покаже на вашите читатели.
### Избор на лиценз
Лицензът с отворен код гарантира, че други могат да използват, копират, модифицират и допринасят обратно към вашия проект без последствия. Освен това ви предпазва от трудни правни ситуации. **Трябва да включите лиценз, когато стартирате проект с отворен код.**
Легалната работа не е забавна. Добрата новина е, че можете да копирате и поставите съществуващ лиценз във вашето хранилище. Ще отнеме само минута, за да защитите упоритата си работа.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) и [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) са най-популярните лицензи с отворен код, но [има и други опции](https://choosealicense.com), от които да избирате.
Когато създавате нов проект в GitHub, ви се дава възможност да изберете лиценз. Включването на лиценз с отворен код ще направи вашия проект GitHub отворен код.

Ако имате други въпроси или притеснения относно правните аспекти на управлението на проект с отворен код, [ние ще ви покрием](../legal/).
### Напишете README
README правят повече от това да обяснят как да използвате вашия проект. Те също така обясняват защо вашият проект има значение и какво могат да правят вашите потребители с него.
В README опитайте да отговорите на следните въпроси:
* Какво прави този проект?
* Защо този проект е полезен?
* Как да започна?
* Къде мога да получа повече помощ, ако имам нужда от нея?
Можете да използвате вашия README, за да отговорите на други въпроси, като например как се справяте с приносите, какви са целите на проекта и информация за лицензи и приписване. Ако не искате да приемате принос или вашият проект все още не е готов за производство, запишете тази информация.
Понякога хората избягват да пишат README, защото смятат, че проектът е незавършен или не искат приноси. Всичко това са много добри причини да напиша такъв.
За повече вдъхновение опитайте да използвате [ръководството "Направете README" на @dguo](https://www.makeareadme.com/) или [шаблона README](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) на @PurpleBooth за да напишете пълен README.
Когато включите файл README в основната директория, GitHub автоматично ще го покаже на началната страница на хранилището.
### Напишете вашите указания за принос
CONTRIBUTING файл казва на вашата публика как да участва във вашия проект. Например можете да включите информация за:
* Как да подадете доклад за грешка (опитайте да използвате [шаблони за заявка за проблем и изтегляне](https://github.com/blog/2111-issue-and-pull-request-templates))
* Как да предложим нова функция
* Как да настроите вашата среда и да стартирате тестове
В допълнение към техническите подробности, файлът CONTRIBUTING е възможност да съобщите вашите очаквания за приноси, като например:
* Типовете приноси, които търсите
* Вашата пътна карта или визия за проекта
* Как сътрудниците трябва (или не трябва) да се свързват с вас
Използването на топъл, приятелски тон и предлагането на конкретни предложения за принос (като например писане на документация или създаване на уебсайт) може да помогне много на новодошлите да се почувстват добре дошли и развълнувани да участват.
Например [Active Admin](https://github.com/activeadmin/activeadmin/) започва [своето ръководство за принос](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) с:
> Първо, благодаря ви, че обмислихте да допринесете за Active Admin. Именно хора като вас правят Active Admin толкова страхотен инструмент.
В най-ранните етапи на вашия проект, вашият CONTRIBUTING файл може да бъде прост. Винаги трябва да обяснявате как да докладвате бъгове или проблеми с файлове, както и всякакви технически изисквания (като тестове), за да направите принос.
С течение на времето може да добавите други често задавани въпроси към вашия CONTRIBUTING файл. Записването на тази информация означава, че по-малко хора ще ви задават едни и същи въпроси отново и отново.
За повече помощ при писането на вашия CONTRIBUTING файл вижте @nayafia [шаблон за ръководство за допринасяне](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) или @mozilla ["Как да Създайте CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/).
Връзка към вашия ПРИНОСЕН файл от вашия README, така че повече хора да го видят. Ако [поставите файла CONTRIBUTING в хранилището на вашия проект](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub автоматично ще се свърже с вашия файл, когато участник създаде проблем или отваря заявка за изтегляне.

### Създаване на кодекс на поведение
И накрая, кодексът на поведение помага да се определят основните правила за поведение на участниците във вашия проект. Това е особено ценно, ако стартирате проект с отворен код за общност или компания. Кодексът на поведение ви дава възможност да улесните здравословното, конструктивно поведение в общността, което ще намали стреса ви като поддържащ.
За повече информация вижте нашето [Ръководство за кодекс на поведение](../code-of-conduct/).
В допълнение към комуникацията _как_ очаквате да се държат участниците, кодексът за поведение също има тенденция да описва към кого се отнасят тези очаквания, кога се прилагат и какво да направите, ако възникне нарушение.
Подобно на лицензите с отворен код, има и нововъзникващи стандарти за кодекси за поведение, така че не е нужно да пишете свои собствени. [Споразумението на сътрудниците](https://contributor-covenant.org/) е код за поведение, който се използва от [над 40 000 проекта с отворен код](https://www.contributor-covenant.org/adopters), включително Kubernetes, Rails и Swift. Без значение кой текст използвате, трябва да сте готови да наложите своя кодекс на поведение, когато е необходимо.
Поставете текста директно във файл CODE_OF_CONDUCT във вашето хранилище. Съхранявайте файла в главната директория на вашия проект, за да е лесен за намиране, и свържете към него от вашия README.
## Наименуване и брандиране на вашия проект
Брандирането е повече от крещящо лого или закачливо име на проект. Става въпрос за това как говорите за вашия проект и до кого достигате с вашето послание.
### Избор на правилното име
Изберете име, което е лесно за запомняне и в идеалния случай дава някаква представа какво прави проектът. Например:
* [Sentry](https://github.com/getsentry/sentry) следи приложенията за докладване на сривове
* [Thin](https://github.com/macournoyer/thin) е бърз и лесен Ruby уеб сървър
Ако надграждате върху съществуващ проект, използването на тяхното име като префикс може да ви помогне да изясните какво прави вашият проект (например [node-fetch](https://github.com/bitinn/node-fetch) носи `window .fetch` към Node.js).
Помислете за яснотата преди всичко. Каламбурите са забавни, но не забравяйте, че някои вицове може да не се преведат в други култури или хора с различен опит от вашия. Някои от вашите потенциални потребители може да са служители на компанията: не искате да ги карате да се чувстват неудобно, когато трябва да обясняват вашия проект по време на работа!
### Избягване на конфликти с имена
[Проверете за проекти с отворен код с подобно име](http://ivantomic.com/projects/ospnc/), особено ако споделяте същия език или екосистема. Ако името ви се припокрива с популярен съществуващ проект, може да объркате аудиторията си.
Ако искате уебсайт, Twitter манипулатор или други свойства да представляват вашия проект, уверете се, че можете да получите имената, които искате. В идеалния случай [запазете тези имена сега](https://instantdomainsearch.com/) за спокойствие, дори ако все още не възнамерявате да ги използвате.
Уверете се, че името на вашия проект не нарушава никакви търговски марки. Една компания може да поиска от вас да премахнете проекта си по-късно или дори да предприеме съдебни действия срещу вас. Просто не си струва риска.
Можете да проверите [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) за конфликти на търговски марки. Ако сте в компания, това е едно от нещата, с които вашият [правен екип може да ви помогне](../legal/).
И накрая, направете бързо търсене в Google за името на вашия проект. Ще могат ли хората лесно да намерят вашия проект? Показва ли се нещо друго в резултатите от търсенето, което не бихте искали да виждат?
### Как пишете (и кодирате) също влияе върху вашата марка!
През целия живот на вашия проект ще пишете много: README, уроци, документи на общността, отговаряне на проблеми, може би дори бюлетини и пощенски списъци.
Независимо дали става въпрос за официална документация или случаен имейл, вашият стил на писане е част от марката на вашия проект. Помислете как бихте могли да възприемете публиката си и дали това е тонът, който искате да предадете.
Използването на топъл, приобщаващ език (като "тях", дори когато се отнася до един човек) може много да помогне на вашия проект да се почувства добре дошъл за новите сътрудници. Придържайте се към простия език, тъй като много от вашите читатели може да не са носители на английски език.
Освен начина, по който пишете думи, вашият стил на кодиране може също да стане част от марката на вашия проект. [Angular](https://angular.io/guide/styleguide) и [jQuery](https://contribute.jquery.org/style-guide/js/) са два примера за проекти със строги стилове и насоки за кодиране.
Не е необходимо да пишете стилово ръководство за вашия проект, когато току-що започвате, и може да откриете, че така или иначе ви харесва да включвате различни стилове на кодиране във вашия проект. Но трябва да предвидите как вашият стил на писане и кодиране може да привлече или обезсърчи различни типове хора. Най-ранните етапи на вашия проект са вашата възможност да създадете прецедента, който искате да видите.
## Вашият контролен списък преди стартиране
Готови ли сте да отворите вашия проект? Ето контролен списък за помощ. Поставете отметка във всички квадратчета? Готови сте за работа! [Щракнете върху "публикувай"](https://help.github.com/articles/making-a-private-repository-public/) и се потупайте по рамото.
**Документация**
**Код**
**Хора**
Ако сте физическо лице:
Ако сте компания или организация:
## Направи го!
Поздравления за първия ви проект с отворен код. Без значение от резултата, публичната работа е дар за общността. С всеки ангажимент, коментар и заявка за изтегляне вие създавате възможности за себе си и за другите да се учат и да растат.
================================================
FILE: _articles/bn/best-practices.md
================================================
---
lang: bn
title: রক্ষণাবেক্ষণকারিদের জন্য আর্দশ অনুশীলন
description: নথিপত্র পক্রিয়াকরন থেকে শুরু করে সম্প্রদায়কে উন্নত করার ক্ষেত্রে, অপনার জীবনকে সহজ করুন একজন ওপেন সোর্স রক্ষণাবেক্ষণকারি হিসাবে।
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## রক্ষণাবেক্ষণকারী বলতে কী বোঝায়?
আপনি যদি একটি ওপেন সোর্স প্রকল্প রক্ষণাবেক্ষণ করেন যেটা অনেক লোক ব্যবহার করে, আপনি হয়ত লক্ষ্য করেছেন যে আপনি কম কোডিং করছেন এবং সমস্যাগুলিতে বেশি সাড়া দিচ্ছেন।
একটি প্রকল্পের প্রাথমিক পর্যায়ে, আপনি নতুন নতুন পরিকল্পনা নিয়ে পরীক্ষা-নিরীক্ষা করবেন এবং আপনার ইচ্ছার উপর ভিত্তি করে সিদ্ধান্ত নিবেন। কিন্তু আপনার প্রকল্পের জনপ্রিয়তা বাড়ার সাথে সাথে আপনি নিজেকে আপনার ব্যবহারকারী এবং অবদানকারীদের সাথে বেশি কাজ করতে দেখবেন।
একটা প্রকল্প রক্ষণাবেক্ষণ করতে কোডিং করার থেকেও বেশি কিছুর প্রয়োজন। এই কাজগুলো বেশির ভাগ সময়ই অপ্রত্যাশিত হয়ে থাকে, কিন্তু এগুলো প্রকল্প বড় করার মতোই সমান গুরুত্তপূর্ণ্য। নথিপত্র পক্রিয়াকরন থেকে শুরু করে সম্প্রদায়কে উন্নত করার ক্ষেত্রে, অপনার জীবনকে সহজ করার জন্য আমরা কিছু উপায় একত্রিত করেছি।
## আপনার প্রক্রিয়া নথিভুক্ত করা
রক্ষণাবেক্ষণকারি হিসেবে আপনার সব থেকে গুরুত্তপূর্ণ্য কাজগুলোর মধ্যে একটি হচ্ছে লিখে রাখা।
নথিভূক্ত করা শুধুমাত্র আপনার নিজের চিন্তাভাবনাকে স্পষ্ট করে না, এটি অন্যদেরকে আপনার কাছে জানতে চাওয়ার আগেই আপনার প্রয়োজন বা প্রত্যাশা বুঝতে সাহায্য করে।
যখন কোন কিছু আপনার লক্ষের সাথে না মিলে, তখন নথিপত্র লেখা থাকলে না বলতে সুবিধা হয়। এটা অন্যদেরকে আপনার সাথে একসাথে কাজ করা এবং সাহায্য করাকেও সহজ করে দেয়। আপনি কখনোই জানবেন না কে আপনার প্রকল্প পড়তে অথবা ব্যবহার করতে পারে।
যদি আপনি সম্পূর্ণ্য বিস্তারিত ভাবে নাও লিখেন, তবে একদম না লেখার থেকে খসড়া বুলেট পয়েন্ট আকারে লেখা ভাল।
আপনার নথিপত্র হালনাগাদ(আপডেট) করতে ভুলবেন না। আপনি যদি সর্বদা এটা করতে নাও পারেন তবে আপনার পুরানো নথিগুলো মুছুন অথবা এটি পুরানো বলে চিহ্নিত করুন যাতে অবদানকারীরা জানে যে এখানে পুরাতন নথি হালনাগাদ করার মাধ্যমে তারা এই প্রকল্পে অবদান রাখতে পারে৷
### আপনার কর্ম-পরিকল্পনা লিখুন
আপনার প্রকল্পের লক্ষ্যগুলো লেখার মাধ্যমে শুরু করুন। এগুলো আপনার রিডমি(README) ফাইলে সংযুক্ত করুন, অথবা ভিশন(VISION) নামে আলাদা ফাইল তৈরি করুন। যদি অন্য কোন গুরুত্তপুর্ণ্য জিনিস থাকে যেটা অন্যদের সাহায্য করবে যেমন প্রকল্পের রোডম্যাপ ইত্যাদি, সেগুলো সবার জন্য উন্মুক্ত করে দিন।
একটি স্পষ্ট এবং নথিভূক্ত কর্ম-পরিকল্পনা আপনাকে প্রকৃত লক্ষে অবিচল রাখবে এবং অন্যান্য অবদানকারীদের মাধ্যমে "scope creep" হওয়া অর্থাৎ প্রকৃত লক্ষ্য থেকে ধীরে ধীরে দূরে সরে যাওয়া এড়াতে সাহায্য করবে।
উদাহরণস্বরূপ @lord আবিষ্কার করলো যে একটি প্রকল্পের কর্ম-পরিকল্পনা তাকে বুঝতে সাহায্য করে কোন অনুরোধগুলিতে(requests) সময় ব্যয় করা উচিত। যখন সে প্রথম [Slate](https://github.com/lord/slate) এর ফিচার(বৈশিষ্ট) সংযুক্ত করার অনুরোধ পায় এবং যে তার প্রকল্পের লক্ষ্য থেকে দূরে সরে যায়, তখন সে একজন নতুন রক্ষণাবেক্ষণকারী হিসেবে অনুতপ্ত হয়।
### অন্যদেরকে আপনার প্রত্যাশাগুলো জানান
নিয়মকানুন(Rules) লিপিবদ্ধ করা খুবই যন্ত্রণাদায়ক। অনেক সময় আপনার মনে হতে পারে আপনি অন্যদের আচরণ তদারকি করছেন অথবা সকল আনন্দ-বিনোদনের গলা চেপে ধরছেন।
যদি নিয়মকানুন লিপিবদ্ধ করা এবং ন্যায্য ভাবে প্রয়োগ করা হয়, যতকিছুই হোক, ভাল নিয়মকানুন রক্ষণাবেক্ষণকারীদের ক্ষমতা বৃদ্ধি করে। এটা আপনাকে এমন কাজ করতে বাধ্য হওয়া থেকে রক্ষা করে যা আপনি করতে চান না।
আপনার প্রকল্পের বেশির ভাগ মানুষ আপনার বা আপনার পরিস্থিতি সম্পর্কে কিছুই জানে না। তারা মনে করতে পারে যে আপনি এটি নিয়ে কাজ করার জন্য টাকা পান, বিশেষ করে যদি এটি এমন কিছু হয় যা তারা নিয়মিত ব্যবহার করে এবং নির্ভর করে। হয়তো এক সময় আপনি আপনার প্রকল্পে অনেক সময় দিয়েছিলেন, কিন্তু এখন আপনি নতুন চাকরি বা পরিবার সদস্যদের নিয়ে ব্যস্ত।
এগুলোর সবই পুরপুরি ঠিক আছে! শুধু এটা নিশ্চিত করুন যে অন্যরা আপনার পরিস্থিতিগুলো যেন জানে।
প্রকল্প রক্ষণাবেক্ষণ যদি আপনার পার্ট-টাইম বা সম্পূর্ণভাবে স্বেচ্ছাসেবামূলক হয়, তবে আপনি কতটুকু সময় দিতে পারবেন সে সম্পর্কে সৎ থাকুন। এটা সেই সময়ের সমান নয় যেটা আপনি মনে করছেন প্রকল্পের প্রয়োজন বা অন্যরা আপনার কাছ থেকে যে পরিমান সময় চাচ্ছে।
লিখে রাখার মত কিছু নিয়মকানুন হচ্ছেঃ
* কিভাবে একটি অবদান পর্যালোচনা(reviewed) এবং গ্রহণ করা হবে (_তাদের কি টেষ্ট(test) প্রয়োজন? নাকি ইস্যু টেমপ্লেট(issue template) প্রয়োজন?_)
* কোন ধরনের অবদান আপনি গ্রহন করবেন (_আপনার কি কোন নির্দিষ্ট অংশের কোডিং এ সাহায্য প্রয়োজন?_)
* কখন ফলো-আপ করা উপযুক্ত (_যেমন, 'আপনি ৭ দিনের মধ্যে একজন রক্ষণাবেক্ষণকারীর কাছ থেকে প্রতিউত্তর আশা করতে পারেন। যদি এই সময়ের মধ্যে কোন প্রতিউত্তর না পান, তবে থ্রেডটি পিং করতে স্বচ্ছন্দ বোধ করুন(feel free to ping the thread)।_)
* আপনি এই প্রকল্পে কতটুকু সময় ব্যয় করবেন (_যেমন, "আমরা এই প্রকল্পে প্রতি সপ্তাহে শুধুমাত্র ৫ ঘন্টা সময় ব্যয় করবো"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), and [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) এগুলো হচ্ছে রক্ষণাবেক্ষণকারী এবং অবদানকারীদের জন্য মৌলিক নিয়ম সহ কিছু প্রকল্পের উদাহরণ।
## যোগাযোগ সর্বজনীন রাখুন
আপনার কথোপকথনগুলোও নথিভুক্ত করতে ভুলবেন না। যতটা সম্ভব, প্রকল্প-সংক্রান্ত সব যোগাযোগ প্রকাশ্যে রাখুন। কেউ যদি ব্যক্তিগতভাবে ফিচার অনুরোধ বা সাহায্যের জন্য যোগাযোগ করে, তাহলে বিনয়ের সঙ্গে তাকে পাবলিক প্ল্যাটফর্মে (যেমন ইস্যু ট্র্যাকার বা মেইলিং লিস্টে) আসতে বলুন।
রক্ষণাবেক্ষণকারীদের সঙ্গে কোনো গুরুত্বপূর্ণ সিদ্ধান্ত যদি ব্যক্তিগতভাবে নেন, তাহলে সেটার সারসংক্ষেপ প্রকাশ্যে লিখে রাখুন।
এতে নতুন কেউ কমিউনিটিতে যোগ দিলেও পুরোনো সদস্যদের মতো একই তথ্য পাবে।
## "না" বলতে শেখা
আপনি সবকিছু লিখে রেখেছেন। তবুও সবাই যে সেটা পড়বে—এমনটা বাস্তবে হয় না। তাই মাঝে মাঝে অন্যদের মনে করিয়ে দিতে হবে।
লিখিত নিয়ম থাকলে, "না" বলা ব্যক্তিগত আক্রমণ মনে হয় না।
"আপনার অবদান এই প্রকল্পের লক্ষ্য অনুযায়ী নয়"
এটা বলা অনেক সহজ—
"আমি আপনার অবদান পছন্দ করিনি" বলার চেয়ে।
একজন মেইনটেইনার (maintainer) হিসেবে আপনি এমন অনেক পরিস্থিতির সম্মুখীন হবেন যেখানে **'না' বলাটা জরুরি**। যেমন: এমন কোনো ফিচারের অনুরোধ যা প্রকল্পের পরিধির বাইরে, কেউ যখন মূল আলোচনা থেকে বিচ্যুত হয়ে অপ্রাসঙ্গিক কথা বলে, অথবা অন্যদের জন্য অপ্রয়োজনীয় কাজ করা।
### কথোপকথন বন্ধুত্বপূর্ণ রাখুন
আপনার সমস্যাটির উপর "না" বলার অনুশীলন করার সবচেয়ে গুরুত্বপূর্ণ জায়গাগুলির মধ্যে একটি হল অনুরোধের সারি টানা। একজন প্রকল্প রক্ষণাবেক্ষণকারী হিসাবে, আপনি অনিবার্যভাবে এমন পরামর্শ পাবেন যা আপনি গ্রহণ করতে চান না।
হয়তো অবদান আপনার প্রকল্পের পরিধি পরিবর্তন করে অথবা আপনার দৃষ্টিভঙ্গির সাথে মেলে না। হয়তো ধারণাটি ভালো, কিন্তু বাস্তবায়ন দুর্বল।
কারণ যাই হোক না কেন, আপনার প্রকল্পের মান পূরণ করে না এমন অবদানগুলিকে কৌশলে পরিচালনা করা সম্ভব।
যদি আপনি এমন কোনও অবদান পান যা আপনি গ্রহণ করতে চান না, তাহলে আপনার প্রথম প্রতিক্রিয়া হতে পারে তা উপেক্ষা করা অথবা ভান করা যে আপনি এটি দেখেননি। এটি করলে অন্য ব্যক্তির অনুভূতিতে আঘাত লাগতে পারে এবং এমনকি আপনার সম্প্রদায়ের অন্যান্য সম্ভাব্য অবদানকারীদেরও হতাশ করতে পারে।
অপরাধবোধ বা ভালো হতে চাও বলে অবাঞ্ছিত অবদান খোলা রাখবেন না। সময়ের সাথে সাথে, আপনার উত্তর না দেওয়া সমস্যা এবং জনসংযোগ আপনার প্রকল্পে কাজ করাকে আরও বেশি চাপপূর্ণ এবং ভীতিকর করে তুলবে।
যেসব অবদান আপনি গ্রহণ করতে চান না তা অবিলম্বে বন্ধ করে দেওয়া ভালো। যদি আপনার প্রকল্প ইতিমধ্যেই একটি বড় ধরনের ব্যাকলগের কারণে ভুগছে, তাহলে @steveklabnik-এর কাছে [সমস্যাগুলি দক্ষতার সাথে কীভাবে সমাধান করা যায়](https://words.steveklabnik.com/how-to-be-an-open-source-gardener) তার পরামর্শ আছে ।
দ্বিতীয়ত, অবদান উপেক্ষা করা আপনার সম্প্রদায়ের কাছে একটি নেতিবাচক সংকেত পাঠায়। কোনও প্রকল্পে অবদান রাখা ভীতিকর হতে পারে, বিশেষ করে যদি এটি কারও প্রথমবারের মতো হয়। এমনকি যদি আপনি তাদের অবদান গ্রহণ না করেন, তবুও এর পিছনে থাকা ব্যক্তিকে স্বীকৃতি দিন এবং তাদের আগ্রহের জন্য তাদের ধন্যবাদ জানান। এটি একটি বড় প্রশংসা!
যদি আপনি কোন অবদান গ্রহণ করতে না চান:
* তাদের অবদানের জন্য **ধন্যবাদ।**
* কেন এটি প্রকল্পের আওতায় **আসে না তা ব্যাখ্যা করুন এবং যদি পারেন, তাহলে উন্নতির জন্য স্পষ্ট পরামর্শ দিন। সদয় হোন, কিন্তু দৃঢ় থাকুন।**
* **প্রাসঙ্গিক ডকুমেন্টেশনের লিঙ্ক** , যদি আপনার কাছে থাকে। যদি আপনি এমন জিনিসের জন্য বারবার অনুরোধ লক্ষ্য করেন যা আপনি গ্রহণ করতে চান না, তাহলে পুনরাবৃত্তি এড়াতে সেগুলি আপনার ডকুমেন্টেশনে যোগ করুন।
* **অনুরোধটি বন্ধ করুন**
উত্তর দিতে ১-২ বাক্যের বেশি বাক্য ব্যবহার করা উচিত নয়। উদাহরণস্বরূপ, যখন [সেলেরির](https://github.com/celery/celery/) একজন ব্যবহারকারী উইন্ডোজ-সম্পর্কিত ত্রুটির কথা জানান, তখন @berkerpeksag নিম্নলিখিত বাক্য [ব্যবহার করে উত্তর দেন](https://github.com/celery/celery/issues/3383) :

যদি না বলার চিন্তা তোমাকে ভয় পায়, তাহলে তুমি একা নও। @jessfraz যেমনটি [বলেছেন](https://blog.jessfraz.com/post/the-art-of-closing/) :
> আমি মেসোস, কুবারনেটস, ক্রোমিয়াম, এই ধরণের বিভিন্ন ওপেন সোর্স প্রকল্পের রক্ষণাবেক্ষণকারীদের সাথে কথা বলেছি এবং তারা সকলেই একমত যে রক্ষণাবেক্ষণকারী হওয়ার সবচেয়ে কঠিন অংশগুলির মধ্যে একটি হল আপনি যে প্যাচগুলি চান না সেগুলিকে "না" বলা।
কারো অবদান গ্রহণ করতে না চাওয়ার জন্য দোষী বোধ করো না। @shykes [এর মতে , ওপেন সোর্সের প্রথম নিয়ম হল:](https://twitter.com/solomonstre/status/715277134978113536) _"না সাময়িক, হ্যাঁ চিরকাল।"_ অন্য ব্যক্তির উৎসাহের প্রতি সহানুভূতিশীল হওয়া ভালো, তবে অবদান প্রত্যাখ্যান করা এবং এর পেছনের ব্যক্তিকে প্রত্যাখ্যান করা একই কথা নয়।
পরিশেষে, যদি কোন অবদান যথেষ্ট ভালো না হয়, তাহলে তা গ্রহণ করার জন্য আপনার কোন বাধ্যবাধকতা নেই। আপনার প্রকল্পে যখন লোকেরা অবদান রাখে তখন সদয় এবং প্রতিক্রিয়াশীল হোন, তবে কেবল সেই পরিবর্তনগুলি গ্রহণ করুন যা আপনি সত্যিই বিশ্বাস করেন যে আপনার প্রকল্পকে আরও ভালো করে তুলবে। আপনি যত বেশি না বলার অভ্যাস করবেন, ততই এটি সহজ হয়ে উঠবে। প্রতিশ্রুতি দিন।
### সক্রিয় থাকুন
প্রথমেই অবাঞ্ছিত অবদানের পরিমাণ কমাতে, আপনার অবদান নির্দেশিকায় আপনার প্রকল্পের অবদান জমা দেওয়া এবং গ্রহণের প্রক্রিয়া ব্যাখ্যা করুন।
যদি আপনি খুব বেশি নিম্নমানের অবদান পান, তাহলে অবদানকারীদের আগে থেকে কিছু কাজ করতে বলুন, উদাহরণস্বরূপ:
* একটি ইস্যু বা জনসংযোগ টেমপ্লেট/চেকলিস্ট পূরণ করুন
* পিআর জমা দেওয়ার আগে একটি সমস্যা খুলুন
যদি তারা আপনার নিয়ম না মানে, তাহলে অবিলম্বে সমস্যাটি বন্ধ করুন এবং আপনার ডকুমেন্টেশনের দিকে নির্দেশ করুন।
যদিও এই পদ্ধতিটি প্রথমে অপ্রীতিকর মনে হতে পারে, তবুও সক্রিয় থাকা আসলে উভয় পক্ষের জন্যই ভালো। এটি এমন সম্ভাবনা কমায় যে কেউ আপনার অনেক সময় নষ্ট করা কাজের বিনিময়ে এমন একটি পুল রিকোয়েস্টে ফেলবে যা আপনি গ্রহণ করবেন না। এবং এটি আপনার কাজের চাপ পরিচালনা করা সহজ করে তোলে।
কখনও কখনও, যখন আপনি না বলেন, তখন আপনার সম্ভাব্য অবদানকারী বিরক্ত হতে পারেন বা আপনার সিদ্ধান্তের সমালোচনা করতে পারেন। যদি তাদের আচরণ প্রতিকূল হয়ে ওঠে, তাহলে [পরিস্থিতি শান্ত করার জন্য পদক্ষেপ নিন](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) অথবা এমনকি যদি তারা গঠনমূলকভাবে সহযোগিতা করতে ইচ্ছুক না হয়, তাহলে তাদের আপনার সম্প্রদায় থেকে সরিয়ে দিন।
### পরামর্শ গ্রহণ করুন
হয়তো আপনার কমিউনিটির কেউ নিয়মিত এমন অবদান জমা দেন যা আপনার প্রকল্পের মান পূরণ করে না। বারবার প্রত্যাখ্যানের সম্মুখীন হওয়া উভয় পক্ষের জন্যই হতাশাজনক হতে পারে।
যদি দেখেন যে কেউ আপনার প্রকল্প সম্পর্কে উৎসাহী, কিন্তু একটু মসৃণতার প্রয়োজন, তাহলে ধৈর্য ধরুন। প্রতিটি পরিস্থিতিতে স্পষ্টভাবে ব্যাখ্যা করুন কেন তাদের অবদান প্রকল্পের প্রত্যাশা পূরণ করে না। তাদের পা ভিজিয়ে দেওয়ার জন্য _"ভালো প্রথম সমস্যা"_ হিসাবে চিহ্নিত একটি সমস্যা, যেমন একটি সহজ বা কম অস্পষ্ট কাজের দিকে তাদের নির্দেশ করার চেষ্টা করুন । যদি আপনার সময় থাকে, তাহলে তাদের প্রথম অবদানের মাধ্যমে তাদের পরামর্শ দেওয়ার কথা বিবেচনা করুন, অথবা আপনার সম্প্রদায়ের অন্য কাউকে খুঁজে বের করুন যিনি তাদের পরামর্শ দিতে ইচ্ছুক হতে পারেন।
## আপনার সম্প্রদায়কে কাজে লাগান
আপনাকে সবকিছু নিজে করতে হবে না। আপনার প্রকল্পের সম্প্রদায়টি একটি কারণে বিদ্যমান! এমনকি যদি আপনার এখনও একটি সক্রিয় অবদানকারী সম্প্রদায় না থাকে, যদি আপনার অনেক ব্যবহারকারী থাকে, তাহলে তাদের কাজে লাগান।
### কাজের চাপ ভাগ করে নিন
যদি আপনি অন্যদের সাহায্য করার জন্য খুঁজছেন, তাহলে আশেপাশে জিজ্ঞাসা করে শুরু করুন।
নতুন অবদানকারীদের আকর্ষণ করার একটি উপায় হল [এমন সমস্যাগুলিকে স্পষ্টভাবে লেবেল করা যা নতুনদের জন্য যথেষ্ট সহজ](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels) । এরপর GitHub প্ল্যাটফর্মের বিভিন্ন স্থানে এই সমস্যাগুলি তুলে ধরবে, যার ফলে তাদের দৃশ্যমানতা বৃদ্ধি পাবে।
যখন আপনি নতুন অবদানকারীদের বারবার অবদান রাখতে দেখেন, তখন আরও দায়িত্ব প্রদানের মাধ্যমে তাদের কাজকে স্বীকৃতি দিন। অন্যরা কীভাবে ইচ্ছা করলে নেতৃত্বের ভূমিকায় পরিণত হতে পারে তা নথিভুক্ত করুন।
অন্যদেরকে [প্রকল্পের মালিকানা ভাগাভাগি](https://opensource.guide/building-community/#share-ownership-of-your-project) করতে উৎসাহিত করলে আপনার নিজের কাজের চাপ অনেকাংশে কমতে পারে, যেমন @lmccart তার প্রকল্প, [p5.js-](https://github.com/processing/p5.js) এ আবিষ্কার করেছেন।
যদি আপনার প্রকল্প থেকে সরে যেতে হয়, হয় বিরতিতে অথবা স্থায়ীভাবে, তাহলে অন্য কাউকে আপনার দায়িত্ব নিতে বলার মধ্যে কোনও লজ্জার কিছু নেই।
যদি অন্যরা এর নির্দেশনা সম্পর্কে উৎসাহী হয়, তাহলে তাদের অনুমতি দিন অথবা আনুষ্ঠানিকভাবে অন্য কারো কাছে নিয়ন্ত্রণ হস্তান্তর করুন। যদি কেউ আপনার প্রকল্পটি তৈরি করে এবং অন্য কোথাও সক্রিয়ভাবে এটি রক্ষণাবেক্ষণ করে, তাহলে আপনার মূল প্রকল্পের ফর্কের সাথে লিঙ্ক করার কথা বিবেচনা করুন। এটা খুবই ভালো যে এত মানুষ আপনার প্রকল্পটি টিকে থাকতে চায়!
@progrium [দেখেছেন যে তার প্রকল্প,](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) [ডোক্কুর](https://github.com/dokku/dokku) জন্য দৃষ্টিভঙ্গি নথিভুক্ত করা , প্রকল্প থেকে সরে আসার পরেও সেই লক্ষ্যগুলিকে বাঁচিয়ে রাখতে সাহায্য করেছে:
> আমি একটি উইকি পাতা লিখেছিলাম যেখানে আমি কী চাই এবং কেন চাই তা বর্ণনা করা হয়েছিল। কোনও কারণে, রক্ষণাবেক্ষণকারীরা প্রকল্পটি সেই দিকে নিয়ে যেতে শুরু করায় আমার অবাক লেগেছিল! আমি যেভাবে এটি করেছি ঠিক সেভাবেই কি এটি ঘটেছিল? সবসময় নয়। কিন্তু তবুও এটি প্রকল্পটিকে আমি যা লিখেছিলাম তার কাছাকাছি নিয়ে এসেছিল।
### অন্যদের তাদের প্রয়োজনীয় সমাধান তৈরি করতে দিন
যদি আপনার প্রকল্পের কাজ সম্পর্কে কোনও সম্ভাব্য অবদানকারীর ভিন্ন মতামত থাকে, তাহলে আপনি তাদের নিজস্ব কৌশল অবলম্বন করতে উৎসাহিত করতে পারেন।
কোনও প্রকল্প তৈরি করা খারাপ কিছু হতে পারে না। প্রকল্পগুলি অনুলিপি এবং সংশোধন করতে সক্ষম হওয়া ওপেন সোর্সের সেরা দিকগুলির মধ্যে একটি। আপনার সম্প্রদায়ের সদস্যদের তাদের নিজস্ব ফোর্কের উপর কাজ করতে উৎসাহিত করা তাদের প্রয়োজনীয় সৃজনশীল আউটলেট সরবরাহ করতে পারে, আপনার প্রকল্পের দৃষ্টিভঙ্গির সাথে সাংঘর্ষিক না হয়ে।
একই কথা প্রযোজ্য সেই ব্যবহারকারীর ক্ষেত্রেও যারা সত্যিই এমন একটি সমাধান চান যা তৈরি করার জন্য আপনার কাছে ব্যান্ডউইথ নেই। API এবং কাস্টমাইজেশন হুক অফার করলে অন্যরা সরাসরি উৎস পরিবর্তন না করেই তাদের নিজস্ব চাহিদা পূরণ করতে পারে। @orta [দেখেছেন যে](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) CocoaPods-এর জন্য উৎসাহিত প্লাগইনগুলি "কিছু আকর্ষণীয় ধারণা" তৈরি করেছে:
> এটা প্রায় অনিবার্য যে একবার কোনও প্রকল্প বড় হয়ে গেলে, রক্ষণাবেক্ষণকারীদের নতুন কোড কীভাবে প্রবর্তন করা হবে সে সম্পর্কে অনেক বেশি রক্ষণশীল হতে হবে। আপনি "না" বলতে পারদর্শী হয়ে উঠবেন, কিন্তু অনেকেরই বৈধ চাহিদা থাকে। তাই, পরিবর্তে আপনি আপনার টুলটিকে একটি প্ল্যাটফর্মে রূপান্তরিত করতে বাধ্য হবেন।
## রোবটগুলো আনুন
ঠিক যেমন কিছু কাজ আছে যা অন্যরা আপনাকে সাহায্য করতে পারে, তেমনি এমন কিছু কাজও আছে যা কোনও মানুষের কখনও করা উচিত নয়। রোবট আপনার বন্ধু। রক্ষণাবেক্ষণকারী হিসেবে আপনার জীবনকে সহজ করতে এগুলি ব্যবহার করুন।
### আপনার কোডের মান উন্নত করার জন্য পরীক্ষা এবং অন্যান্য চেকের প্রয়োজন।
আপনার প্রকল্পটি স্বয়ংক্রিয় করার সবচেয়ে গুরুত্বপূর্ণ উপায়গুলির মধ্যে একটি হল পরীক্ষা যোগ করা।
পরীক্ষাগুলি অবদানকারীদের আত্মবিশ্বাসী বোধ করতে সাহায্য করে যে তারা কোনও কিছু ভাঙবে না। এগুলি আপনার জন্য অবদানগুলি পর্যালোচনা করা এবং দ্রুত গ্রহণ করা সহজ করে তোলে। আপনি যত বেশি প্রতিক্রিয়াশীল হবেন, আপনার সম্প্রদায় তত বেশি জড়িত হতে পারবে।
সমস্ত আগত অবদানের উপর স্বয়ংক্রিয় পরীক্ষা সেট আপ করুন এবং নিশ্চিত করুন যে আপনার পরীক্ষাগুলি স্থানীয়ভাবে অবদানকারীদের দ্বারা সহজেই চালানো যেতে পারে। জমা দেওয়ার আগে সমস্ত কোড অবদানগুলিকে আপনার পরীক্ষায় উত্তীর্ণ হতে হবে। আপনি সমস্ত জমা দেওয়ার জন্য মানের একটি ন্যূনতম মান নির্ধারণ করতে সহায়তা করবেন। GitHub-এ [প্রয়োজনীয় স্থিতি পরীক্ষা](https://help.github.com/articles/about-required-status-checks/) নিশ্চিত করতে সাহায্য করতে পারে যে আপনার পরীক্ষাগুলি পাস না করে কোনও পরিবর্তন একত্রিত না হয়।
যদি আপনি পরীক্ষা যোগ করেন, তাহলে আপনার CONTRIBUTING ফাইলে সেগুলি কীভাবে কাজ করে তা ব্যাখ্যা করতে ভুলবেন না।
### মৌলিক রক্ষণাবেক্ষণের কাজগুলি স্বয়ংক্রিয় করতে সরঞ্জামগুলি ব্যবহার করুন
The good news about maintaining a popular project is that other maintainers have probably faced similar issues and built a solution for them.
একটি জনপ্রিয় প্রকল্প রক্ষণাবেক্ষণের বিষয়ে সুসংবাদ হল যে অন্যান্য রক্ষণাবেক্ষণকারীরা সম্ভবত একই ধরণের সমস্যার সম্মুখীন হয়েছেন এবং তাদের জন্য একটি সমাধান তৈরি করেছেন।
[রক্ষণাবেক্ষণ কাজের কিছু দিক স্বয়ংক্রিয় করতে সাহায্য করার জন্য বিভিন্ন ধরণের সরঞ্জাম উপলব্ধ](https://github.com/showcases/tools-for-open-source) রয়েছে । কয়েকটি উদাহরণ:
* [semantic-release](https://github.com/semantic-release/semantic-release) আপনার রিলিজগুলিকে স্বয়ংক্রিয় করে তোলে
* [mention-bot](https://github.com/facebook/mention-bot) পুল রিকোয়েস্টের জন্য সম্ভাব্য পর্যালোচকদের উল্লেখ করেছে
* [Danger](https://github.com/danger/danger) কোড পর্যালোচনা স্বয়ংক্রিয় করতে সাহায্য করে
* [no-response](https://github.com/probot/no-response) - সেই সমস্যাগুলি বন্ধ করে দেয় যেখানে লেখক আরও তথ্যের জন্য অনুরোধের জবাব দেননি
* [dependabot](https://github.com/dependabot) আপনার নির্ভরতা ফাইলগুলি প্রতিদিন পুরানো প্রয়োজনীয়তার জন্য পরীক্ষা করে এবং যে কোনওটির জন্য পৃথক পুল অনুরোধ খোলে।
বাগ রিপোর্ট এবং অন্যান্য সাধারণ অবদানের জন্য, GitHub-এ [Issue Templates এবং Pull Request Templates](https://github.com/blog/2111-issue-and-pull-request-templates) রয়েছে , যা আপনি আপনার প্রাপ্ত যোগাযোগকে সহজতর করার জন্য তৈরি করতে পারেন। @TalAter আপনার সমস্যা এবং PR টেমপ্লেট লিখতে সাহায্য করার জন্য একটি [Choose Your Own Adventure নির্দেশিকা তৈরি করেছে।](https://www.talater.com/open-source-templates/#/)
আপনার ইমেল বিজ্ঞপ্তিগুলি পরিচালনা করতে, আপনি অগ্রাধিকার অনুসারে সংগঠিত করার জন্য [ইমেল ফিল্টার সেট আপ করতে পারেন।](https://github.com/blog/2203-email-updates-about-your-own-activity)
আপনি যদি আরও একটু উন্নত হতে চান, তাহলে স্টাইল গাইড এবং লিন্টারগুলি প্রকল্পের অবদানগুলিকে মানসম্মত করতে পারে এবং সেগুলি পর্যালোচনা এবং গ্রহণ করা সহজ করে তুলতে পারে।
তবে, যদি আপনার মানদণ্ডগুলি খুব জটিল হয়, তাহলে অবদানের ক্ষেত্রে বাধাগুলি আরও বাড়িয়ে তুলতে পারে। নিশ্চিত করুন যে আপনি কেবলমাত্র পর্যাপ্ত নিয়ম যুক্ত করছেন যাতে প্রত্যেকের জীবন সহজ হয়।
যদি আপনি নিশ্চিত না হন যে কোন টুলগুলি ব্যবহার করবেন, তাহলে অন্যান্য জনপ্রিয় প্রকল্পগুলি কী করে, বিশেষ করে আপনার ইকোসিস্টেমের মধ্যে সেগুলি দেখুন। উদাহরণস্বরূপ, অন্যান্য নোড মডিউলগুলির জন্য অবদান প্রক্রিয়াটি কেমন দেখায়? অনুরূপ টুল এবং পদ্ধতি ব্যবহার করলে আপনার প্রক্রিয়াটি আপনার লক্ষ্য অবদানকারীদের কাছে আরও পরিচিত হবে।
## বিরতি দেওয়া ঠিক আছে
ওপেন সোর্স কাজ একসময় আপনাকে আনন্দ দিত। হয়তো এখন এটি আপনাকে এড়িয়ে চলা বা অপরাধবোধ করা শুরু করেছে।
হয়তো তুমি যখন তোমার প্রকল্পগুলো নিয়ে ভাবো, তখন তুমি অভিভূত বোধ করো অথবা ভয়ের অনুভূতি ক্রমশ বাড়ছে। আর এরই মধ্যে, সমস্যা এবং পুল রিকোয়েস্টের স্তূপ জমতে থাকে।
ওপেন সোর্স কাজের ক্ষেত্রে, বিশেষ করে রক্ষণাবেক্ষণকারীদের মধ্যে, বার্নআউট একটি বাস্তব এবং ব্যাপক সমস্যা। একজন রক্ষণাবেক্ষণকারী হিসেবে, যেকোনো ওপেন সোর্স প্রকল্পের টিকে থাকার জন্য আপনার সুখ একটি অ-আলোচনাযোগ্য প্রয়োজনীয়তা।
যদিও এটা বলাই বাহুল্য, একটু বিরতি নাও! ছুটি কাটানোর জন্য ক্লান্ত বোধ না করা পর্যন্ত অপেক্ষা করা উচিত নয়। @brettcannon, একজন পাইথন কোর ডেভেলপার, ১৪ বছর স্বেচ্ছাসেবক OSS কাজের পর [এক মাসব্যাপী ছুটি নেওয়ার সিদ্ধান্ত নিয়েছেন।](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/)
অন্য যেকোনো কাজের মতোই, নিয়মিত বিরতি আপনাকে সতেজ, খুশি এবং আপনার কাজের ব্যাপারে উত্তেজিত রাখবে।
কখনও কখনও, যখন মনে হয় সকলের আপনার প্রয়োজন, তখন ওপেন সোর্স কাজ থেকে বিরতি নেওয়া কঠিন হতে পারে। এমনকি লোকেরা আপনাকে দূরে সরে যাওয়ার জন্য দোষী বোধ করানোর চেষ্টা করতে পারে।
কোনও প্রকল্প থেকে দূরে থাকাকালীন আপনার ব্যবহারকারী এবং সম্প্রদায়ের জন্য সহায়তা খুঁজে বের করার জন্য যথাসাধ্য চেষ্টা করুন। যদি আপনি আপনার প্রয়োজনীয় সহায়তা খুঁজে না পান, তবে তবুও বিরতি নিন। যখন আপনি উপলব্ধ থাকবেন না তখন যোগাযোগ করতে ভুলবেন না, যাতে আপনার প্রতিক্রিয়াশীলতার অভাবের কারণে লোকেরা বিভ্রান্ত না হয়।
বিরতি নেওয়া কেবল ছুটির সময়ের জন্যই প্রযোজ্য নয়। যদি আপনি সপ্তাহান্তে বা কাজের সময়ে ওপেন সোর্স কাজ করতে না চান, তাহলে সেই প্রত্যাশাগুলো অন্যদের কাছে পৌঁছে দিন, যাতে তারা আপনাকে বিরক্ত না করে।
## আগে নিজের যত্ন নাও!
একটি জনপ্রিয় প্রকল্প রক্ষণাবেক্ষণের জন্য বৃদ্ধির প্রাথমিক পর্যায়ের তুলনায় ভিন্ন দক্ষতার প্রয়োজন হয়, তবে এটি কম ফলপ্রসূ নয়। একজন রক্ষণাবেক্ষণকারী হিসেবে, আপনি নেতৃত্ব এবং ব্যক্তিগত দক্ষতা এমন পর্যায়ে অনুশীলন করবেন যা খুব কম লোকই অনুভব করতে পারে। যদিও এটি পরিচালনা করা সবসময় সহজ নয়, স্পষ্ট সীমানা নির্ধারণ করা এবং আপনি যা নিয়ে স্বাচ্ছন্দ্য বোধ করেন কেবল তা গ্রহণ করা আপনাকে সুখী, সতেজ এবং উৎপাদনশীল থাকতে সাহায্য করবে।
================================================
FILE: _articles/bn/building-community.md
================================================
---
lang: bn
title: Building Welcoming Communities
description: Building a community that encourages people to use, contribute to, and evangelize your project.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Setting your project up for success
You've launched your project, you're spreading the word, and people are checking it out. Awesome! Now, how do you get them to stick around?
A welcoming community is an investment into your project's future and reputation. If your project is just starting to see its first contributions, start by giving early contributors a positive experience, and make it easy for them to keep coming back.
### Make people feel welcome
One way to think about your project's community is through what @MikeMcQuaid calls the [contributor funnel](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

As you build your community, consider how someone at the top of the funnel (a potential user) might theoretically make their way to the bottom (an active maintainer). Your goal is to reduce friction at each stage of the contributor experience. When people have easy wins, they will feel incentivized to do more.
Start with your documentation:
* **Make it easy for someone to use your project.** [A friendly README](../starting-a-project/#writing-a-readme) and clear code examples will make it easier for anyone who lands on your project to get started.
* **Clearly explain how to contribute**, using [your CONTRIBUTING file](../starting-a-project/#writing-your-contributing-guidelines) and keeping your issues up-to-date.
* **Good first issues**: To help new contributors get started, consider explicitly [labeling issues that are simple enough for beginners to tackle](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub will then surface these issues in various places on the platform, increasing useful contributions, and reducing friction from users tackling issues that are too hard for their level.
[GitHub's 2017 Open Source Survey](http://opensourcesurvey.org/2017/) showed incomplete or confusing documentation is the biggest problem for open source users. Good documentation invites people to interact with your project. Eventually, someone will open an issue or pull request. Use these interactions as opportunities to move them down the funnel.
* **When someone new lands on your project, thank them for their interest!** It only takes one negative experience to make someone not want to come back.
* **Be responsive.** If you don't respond to their issue for a month, chances are, they've already forgotten about your project.
* **Be open-minded about the types of contributions you'll accept.** Many contributors start with a bug report or a small fix. There are [many ways to contribute](../how-to-contribute/#what-it-means-to-contribute) to a project. Let people help how they want to help.
* **If there's a contribution you disagree with,** thank them for their idea and [explain why](../best-practices/#না-বলতে-শেখা) it doesn't fit into the scope of the project, linking to relevant documentation if you have it.
The majority of open source contributors are "casual contributors": people who contribute to a project only occasionally. A casual contributor may not have time to get fully up to speed with your project, so your job is to make it easy for them to contribute.
Encouraging other contributors is an investment in yourself, too. When you empower your biggest fans to run with the work they're excited about, there's less pressure to do everything yourself.
### Document everything
When you start a new project, it may feel natural to keep your work private. But open source projects thrive when you document your process in public.
When you write things down, more people can participate at every step of the way. You might get help on something you didn't even know you needed.
Writing things down means more than just technical documentation. Any time you feel the urge to write something down or privately discuss your project, ask yourself whether you can make it public.
Be transparent about your project's roadmap, the types of contributions you're looking for, how contributions are reviewed, or why you made certain decisions.
If you notice multiple users running into the same problem, document the answers in the README.
For meetings, consider publishing your notes or takeaways in a relevant issue. The feedback you'll get from this level of transparency may surprise you.
Documenting everything applies to the work you do, too. If you're working on a substantial update to your project, put it into a pull request and mark it as a work in progress (WIP). That way, other people can feel involved in the process early on.
### Be responsive
As you [promote your project](../finding-users), people will have feedback for you. They may have questions about how things work, or need help getting started.
Try to be responsive when someone files an issue, submits a pull request, or asks a question about your project. When you respond quickly, people will feel they are part of a dialogue, and they'll be more enthusiastic about participating.
Even if you can't review the request immediately, acknowledging it early helps increase engagement. Here's how @tdreyno responded to a pull request on [Middleman](https://github.com/middleman/middleman/pull/1466):

[A Mozilla study found that](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) contributors who received code reviews within 48 hours had a much higher rate of return and repeat contribution.
Conversations about your project could also be happening in other places around the internet, such as Stack Overflow, Twitter, or Reddit. You can set up notifications in some of these places so you are alerted when someone mentions your project.
### Give your community a place to congregate
There are two reasons to give your community a place to congregate.
The first reason is for them. Help people get to know each other. People with common interests will inevitably want a place to talk about it. And when communication is public and accessible, anybody can read past archives to get up to speed and participate.
The second reason is for you. If you don't give people a public place to talk about your project, they will likely contact you directly. In the beginning, it may seem easy enough to respond to private messages "just this once". But over time, especially if your project becomes popular, you will feel exhausted. Resist the temptation to communicate with people about your project in private. Instead, direct them to a designated public channel.
Public communication can be as simple as directing people to open an issue instead of emailing you directly or commenting on your blog. You could also set up a mailing list, or create a Twitter account, Slack, or IRC channel for people to talk about your project. Or try all of the above!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) sets aside office hours every other week to help community members:
> Kops also has time set aside every other week to offer help and guidance to the community. Kops maintainers have agreed to set aside time specifically dedicated to working with newcomers, helping with PRs, and discussing new features.
Notable exceptions to public communication are: 1) security issues and 2) sensitive code of conduct violations. You should always have a way for people to report these issues privately. If you don't want to use your personal email, set up a dedicated email address.
## Growing your community
Communities are extremely powerful. That power can be a blessing or a curse, depending on how you wield it. As your project's community grows, there are ways to help it become a force of construction, not destruction.
### Don't tolerate bad actors
Any popular project will inevitably attract people who harm, rather than help, your community. They may start unnecessary debates, quibble over trivial features, or bully others.
Do your best to adopt a zero-tolerance policy towards these types of people. If left unchecked, negative people will make other people in your community uncomfortable. They may even leave.
Regular debates over trivial aspects of your project distracts others, including you, from focusing on important tasks. New people who arrive to your project may see these conversations and not want to participate.
When you see negative behavior happening on your project, call it out publicly. Explain, in a kind but firm tone, why their behavior is not acceptable. If the problem persists, you may need to [ask them to leave](../code-of-conduct/#enforcing-your-code-of-conduct). Your [code of conduct](../code-of-conduct/) can be a constructive guide for these conversations.
### Meet contributors where they're at
Good documentation only becomes more important as your community grows. Casual contributors, who may not otherwise be familiar with your project, read your documentation to quickly get the context they need.
In your CONTRIBUTING file, explicitly tell new contributors how to get started. You may even want to make a dedicated section for this purpose. [Django](https://github.com/django/django), for example, has a special landing page to welcome new contributors.

In your issue queue, label bugs that are suitable for different types of contributors: for example, [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, or _"documentation"_. [These labels](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) make it easy for someone new to your project to quickly scan your issues and get started.
Finally, use your documentation to make people feel welcome at every step of the way.
You will never interact with most people who land on your project. There may be contributions you didn't receive because somebody felt intimidated or didn't know where to get started. Even a few kind words can keep someone from leaving your project in frustration.
For example, here's how [Rubinius](https://github.com/rubinius/rubinius/) starts [its contributing guide](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> We want to start off by saying thank you for using Rubinius. This project is a labor of love, and we appreciate all of the users that catch bugs, make performance improvements, and help with documentation. Every contribution is meaningful, so thank you for participating. That being said, here are a few guidelines that we ask you to follow so we can successfully address your issue.
### Share ownership of your project
People are excited to contribute to projects when they feel a sense of ownership. That doesn't mean you need to turn over your project's vision or accept contributions you don't want. But the more you give credit to others, the more they'll stick around.
See if you can find ways to share ownership with your community as much as possible. Here are some ideas:
* **Resist fixing easy (non-critical) bugs.** Instead, use them as opportunities to recruit new contributors, or mentor someone who'd like to contribute. It may seem unnatural at first, but your investment will pay off over time. For example, @michaeljoseph asked a contributor to submit a pull request on a [Cookiecutter](https://github.com/audreyr/cookiecutter) issue below, rather than fix it himself.

* **Start a CONTRIBUTORS or AUTHORS file in your project** that lists everyone who's contributed to your project, like [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md) does.
* If you've got a sizable community, **send out a newsletter or write a blog post** thanking contributors. Rust's [This Week in Rust](https://this-week-in-rust.org/) and Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) are two good examples.
* **Give every contributor commit access.** @felixge found that this made people [more excited to polish their patches](https://felixge.de/2013/03/11/the-pull-request-hack.html), and he even found new maintainers for projects that he hadn't worked on in awhile.
* If your project is on GitHub, **move your project from your personal account to an [Organization](https://help.github.com/articles/creating-a-new-organization-account/)** and add at least one backup admin. Organizations make it easier to work on projects with external collaborators.
The reality is that [most projects only have](https://peerj.com/preprints/1233/) one or two maintainers who do most of the work. The bigger your project, and the bigger your community, the easier it is to find help.
While you may not always find someone to answer the call, putting a signal out there increases the chances that other people will pitch in. And the earlier you start, the sooner people can help.
## Resolving conflicts
In the early stages of your project, making major decisions is easy. When you want to do something, you just do it.
As your project becomes more popular, more people will take interest in the decisions you make. Even if you don't have a big community of contributors, if your project has a lot of users, you'll find people weighing in on decisions or raising issues of their own.
For the most part, if you've cultivated a friendly, respectful community and documented your processes openly, your community should be able to find resolution. But sometimes you run into an issue that's a bit harder to address.
### Set the bar for kindness
When your community is grappling with a difficult issue, tempers may rise. People may become angry or frustrated and take it out on one another, or on you.
Your job as a maintainer is to keep these situations from escalating. Even if you have a strong opinion on the topic, try to take the position of a moderator or facilitator, rather than jumping into the fight and pushing your views. If someone is being unkind or monopolizing the conversation, [act immediately](../building-community/#dont-tolerate-bad-actors) to keep discussions civil and productive.
Other people are looking to you for guidance. Set a good example. You can still express disappointment, unhappiness, or concern, but do so calmly.
Keeping your cool isn't easy, but demonstrating leadership improves the health of your community. The internet thanks you.
### Treat your README as a constitution
Your README is [more than just a set of instructions](../starting-a-project/#writing-a-readme). It's also a place to talk about your goals, product vision, and roadmap. If people are overly focused on debating the merit of a particular feature, it may help to revisit your README and talk about the higher vision of your project. Focusing on your README also depersonalizes the conversation, so you can have a constructive discussion.
### Focus on the journey, not the destination
Some projects use a voting process to make major decisions. While sensible at first glance, voting emphasizes getting to an "answer," rather than listening to and addressing each other's concerns.
Voting can become political, where community members feel pressured to do each other favors or vote a certain way. Not everybody votes, either, whether it's the [silent majority](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) in your community, or current users who didn't know a vote was taking place.
Sometimes, voting is a necessary tiebreaker. As much as you are able, however, emphasize ["consensus seeking"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) rather than consensus.
Under a consensus seeking process, community members discuss major concerns until they feel they have been adequately heard. When only minor concerns remain, the community moves forward. "Consensus seeking" acknowledges that a community may not be able to reach a perfect answer. Instead, it prioritizes listening and discussion.
Even if you don't actually adopt a consensus seeking process, as a project maintainer, it's important that people know you are listening. Making other people feel heard, and committing to resolving their concerns, goes a long way to diffuse sensitive situations. Then, follow up on your words with actions.
Don't rush into a decision for the sake of having a resolution. Make sure that everybody feels heard and that all information has been made public before moving toward a resolution.
### Keep the conversation focused on action
Discussion is important, but there is a difference between productive and unproductive conversations.
Encourage discussion so long as it is actively moving towards resolution. If it's clear that conversation is languishing or going off-topic, jabs are getting personal, or people are quibbling about minor details, it's time to shut it down.
Allowing these conversations to continue is not only bad for the issue at hand, but bad for the health of your community. It sends a message that these types of conversations are permitted or even encouraged, and it can discourage people from raising or resolving future issues.
With every point made by you or by others, ask yourself, _"How does this bring us closer to a resolution?"_
If the conversation is starting to unravel, ask the group, _"Which steps should we take next?"_ to refocus the conversation.
If a conversation clearly isn't going anywhere, there are no clear actions to be taken, or the appropriate action has already been taken, close the issue and explain why you closed it.
### Pick your battles wisely
Context is important. Consider who is involved in the discussion and how they represent the rest of the community.
Is everybody in the community upset about, or even engaged with, this issue? Or is a lone troublemaker? Don't forget to consider your silent community members, not just the active voices.
If the issue does not represent the broader needs of your community, you may just need to acknowledge the concerns of a few people. If this is a recurring issue without a clear resolution, point them to previous discussions on the topic and close the thread.
### Identify a community tiebreaker
With a good attitude and clear communication, most difficult situations are resolvable. However, even in a productive conversation, there can simply be a difference in opinion on how to proceed. In these cases, identify an individual or group of people that can serve as a tiebreaker.
A tiebreaker could be the primary maintainer of the project, or it could be a small group of people who make a decision based on voting. Ideally, you've identified a tiebreaker and the associated process in a GOVERNANCE file before you ever have to use it.
Your tiebreaker should be a last resort. Divisive issues are an opportunity for your community to grow and learn. Embrace these opportunities and use a collaborative process to move to a resolution wherever possible.
## Community is the ❤️ of open source
Healthy, thriving communities fuel the thousands of hours poured into open source every week. Many contributors point to other people as the reason for working - or not working - on open source. By learning how to tap into that power constructively, you'll help someone out there have an unforgettable open source experience.
================================================
FILE: _articles/bn/code-of-conduct.md
================================================
---
lang: bn
title: Your Code of Conduct
description: Facilitate healthy and constructive community behavior by adopting and enforcing a code of conduct.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Why do I need a code of conduct?
A code of conduct is a document that establishes expectations for behavior for your project's participants. Adopting, and enforcing, a code of conduct can help create a positive social atmosphere for your community.
Codes of conduct help protect not just your participants, but yourself. If you maintain a project, you may find that unproductive attitudes from other participants can make you feel drained or unhappy about your work over time.
A code of conduct empowers you to facilitate healthy, constructive community behavior. Being proactive reduces the likelihood that you, or others, will become fatigued with your project, and helps you take action when someone does something you don't agree with.
## Establishing a code of conduct
Try to establish a code of conduct as early as possible: ideally, when you first create your project.
In addition to communicating your expectations, a code of conduct describes the following:
* Where the code of conduct takes effect _(only on issues and pull requests, or community activities like events?)_
* Whom the code of conduct applies to _(community members and maintainers, but what about sponsors?)_
* What happens if someone violates the code of conduct
* How someone can report violations
Wherever you can, use prior art. The [Contributor Covenant](https://contributor-covenant.org/) is a drop-in code of conduct that is used by over 40,000 open source projects, including Kubernetes, Rails, and Swift.
The [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) are also two good code of conduct examples.
Place a CODE_OF_CONDUCT file in your project's root directory, and make it visible to your community by linking it from your CONTRIBUTING or README file.
## Deciding how you'll enforce your code of conduct
You should explain how your code of conduct will be enforced **_before_** a violation occurs. There are several reasons to do so:
* It demonstrates that you are serious about taking action when it's needed.
* Your community will feel more reassured that complaints actually get reviewed.
* You'll reassure your community that the review process is fair and transparent, should they ever find themselves investigated for a violation.
You should give people a private way (such as an email address) to report a code of conduct violation and explain who receives that report. It could be a maintainer, a group of maintainers, or a code of conduct working group.
Don't forget that someone might want to report a violation about a person who receives those reports. In this case, give them an option to report violations to someone else. For example, @ctb and @mr-c [explain on their project](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by emailing **khmer-project@idyll.org** which only goes to C. Titus Brown and Michael R. Crusoe. To report an issue involving either of them please email **Judi Brown Clarke, Ph.D.** the Diversity Director at the BEACON Center for the Study of Evolution in Action, an NSF Center for Science and Technology.\*
For inspiration, check out Django's [enforcement manual](https://www.djangoproject.com/conduct/enforcement-manual/) (though you may not need something this comprehensive, depending on the size of your project).
## Enforcing your code of conduct
Sometimes, despite your best efforts, somebody will do something that violates this code. There are several ways to address negative or harmful behavior when it comes up.
### Gather information about the situation
Treat each community member's voice as important as your own. If you receive a report that someone violated the code of conduct, take it seriously and investigate the matter, even if it does not match your own experience with that person. Doing so signals to your community that you value their perspective and trust their judgment.
The community member in question may be a repeat offender who consistently makes others feel uncomfortable, or they may have only said or done something once. Both can be grounds for taking action, depending on context.
Before you respond, give yourself time to understand what happened. Read through the person's past comments and conversations to better understand who they are and why they might have acted in such a way. Try to gather perspectives other than your own about this person and their behavior.
### Take appropriate action
After gathering and processing sufficient information, you'll need to decide what to do. As you consider your next steps, remember that your goal as a moderator is to foster a safe, respectful, and collaborative environment. Consider not only how to deal with the situation in question, but how your response will affect the rest of your community's behavior and expectations moving forward.
When somebody reports a code of conduct violation, it is your, not their, job to handle it. Sometimes, the reporter is disclosing information at great risk to their career, reputation, or physical safety. Forcing them to confront their harasser could put the reporter in a compromising position. You should handle direct communication with the person in question, unless the reporter explicitly requests otherwise.
There are a few ways you might respond to a code of conduct violation:
* **Give the person in question a public warning** and explain how their behavior negatively impacted others, preferably in the channel where it occurred. Where possible, public communication conveys to the rest of the community that you take the code of conduct seriously. Be kind, but firm in your communication.
* **Privately reach out to the person** in question to explain how their behavior negatively impacted others. You may want to use a private communication channel if the situation involves sensitive personal information. If you communicate with someone privately, it's a good idea to CC those who first reported the situation, so they know you took action. Ask the reporting person for consent before CCing them.
Sometimes, a resolution cannot be reached. The person in question may become aggressive or hostile when confronted or does not change their behavior. In this situation, you may want to consider taking stronger action. For example:
* **Suspend the person** in question from the project, enforced through a temporary ban on participating in any aspect of the project
* **Permanently ban** the person from the project
Banning members should not be taken lightly and represents a permanent and irreconcilable difference of perspectives. You should only take these measures when it is clear that a resolution cannot be reached.
## Your responsibilities as a maintainer
A code of conduct is not a law that is enforced arbitrarily. You are the enforcer of the code of conduct and it's your responsibility to follow the rules that the code of conduct establishes.
As a maintainer you establish the guidelines for your community and enforce those guidelines according to the rules set forth in your code of conduct. This means taking any report of a code of conduct violation seriously. The reporter is owed a thorough and fair review of their complaint. If you determine that the behavior that they reported is not a violation, communicate that clearly to them and explain why you're not going to take action on it. What they do with that is up to them: tolerate the behavior that they had an issue with, or stop participating in the community.
A report of behavior that doesn't _technically_ violate the code of conduct may still indicate that there is a problem in your community, and you should investigate this potential problem and act accordingly. This may include revising your code of conduct to clarify acceptable behavior and/or talking to the person whose behavior was reported and telling them that while they did not violate the code of conduct, they are skirting the edge of what is expected and are making certain participants feel uncomfortable.
In the end, as a maintainer, you set and enforce the standards for acceptable behavior. You have the ability to shape the community values of the project, and participants expect you to enforce those values in a fair and even-handed way.
## Encourage the behavior you want to see in the world 🌎
When a project seems hostile or unwelcoming, even if it's just one person whose behavior is tolerated by others, you risk losing many more contributors, some of whom you may never even meet. It's not always easy to adopt or enforce a code of conduct, but fostering a welcoming environment will help your community grow.
================================================
FILE: _articles/bn/finding-users.md
================================================
---
lang: bn
title: Finding Users for Your Project
description: Help your open source project grow by getting it in the hands of happy users.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Spreading the word
There's no rule that says you have to promote an open source project when you launch. There are many fulfilling reasons to work in open source that have nothing to do with popularity. Instead of hoping others will find and use your open source project, you have to spread the word about your hard work!
## Figure out your message
Before you start the actual work of promoting your project, you should be able to explain what it does, and why it matters.
What makes your project different or interesting? Why did you create it? Answering these questions for yourself will help you communicate your project's significance.
Remember that people get involved as users, and eventually become contributors, because your project solves a problem for them. As you think about your project's message and value, try to view them through the lens of what _users and contributors_ might want.
For example, @robb uses code examples to clearly communicate why his project, [Cartography](https://github.com/robb/Cartography), is useful:

For a deeper dive into messaging, check out Mozilla's ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) exercise for developing user personas.
## Help people find and follow your project
Help people find and remember your project by pointing them to a single namespace.
**Have a clear handle to promote your work.** A Twitter handle, GitHub URL, or IRC channel is an easy way to point people to your project. These outlets also give your project's growing community a place to convene.
If you don't wish to set up outlets for your project yet, promote your own Twitter or GitHub handle in everything you do. Promoting your Twitter or GitHub handle will let people know how to contact you or follow your work. If you speak at a meetup or event, make sure that your contact information is included in your bio or slides.
**Consider creating a website for your project.** A website makes your project friendlier and easier to navigate, especially when it's paired with clear documentation and tutorials. Having a website also suggests that your project is active which will make your audience feel more comfortable using it. Provide examples to give people ideas for how to use your project.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), co-creator of Django, said that a website was _"by far the best thing we did with Django in the early days"_.
If your project is hosted on GitHub, you can use [GitHub Pages](https://pages.github.com/) to easily make a website. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), and [Middleman](https://middlemanapp.com/) are [a few examples](https://github.com/showcases/github-pages-examples) of excellent, comprehensive websites.

Now that you have a message for your project, and an easy way for people to find your project, let's get out there and talk to your audience!
## Go where your project's audience is (online)
Online outreach is a great way to share and spread the word quickly. Using online channels, you have the potential to reach a very wide audience.
Take advantage of existing online communities and platforms to reach your audience. If your open source project is a software project, you can probably find your audience on [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), or [Quora](https://www.quora.com/). Find the channels where you think people will most benefit from or be excited about your work.
See if you can find ways to share your project in relevant ways:
* **Get to know relevant open source projects and communities.** Sometimes, you don't have to directly promote your project. If your project is perfect for data scientists who use Python, get to know the Python data science community. As people get to know you, natural opportunities will arise to talk about and share your work.
* **Find people experiencing the problem that your project solves.** Search through related forums for people who fall into your project's target audience. Answer their question and find a tactful way, when appropriate, to suggest your project as a solution.
* **Ask for feedback.** Introduce yourself and your work to an audience that would find it relevant and interesting. Be specific about who you think would benefit from your project. Try to finish the sentence: _"I think my project would really help X, who are trying to do Y_". Listen and respond to others' feedback, rather than simply promoting your work.
Generally speaking, focus on helping others before asking for things in return. Because anyone can easily promote a project online, there will be a lot of noise. To stand out from the crowd, give people context for who you are and not just what you want.
If nobody pays attention or responds to your initial outreach, don't get discouraged! Most project launches are an iterative process that can take months or years. If you don't get a response the first time, try a different tactic, or look for ways to add value to others' work first. Promoting and launching your project takes time and dedication.
## Go where your project's audience is (offline)

Offline events are a popular way to promote new projects to audiences. They're a great way to reach an engaged audience and build deeper human connections, especially if you are interested in reaching developers.
If you're [new to public speaking](https://speaking.io/), start by finding a local meetup that's related to the language or ecosystem of your project.
If you've never spoken at an event before, it's perfectly normal to feel nervous! Remember that your audience is there because they genuinely want to hear about your work.
As you write your talk, focus on what your audience will find interesting and get value out of. Keep your language friendly and approachable. Smile, breathe, and have fun.
When you feel ready, consider speaking at a conference to promote your project. Conferences can help you reach more people, sometimes from all over the world.
Look for conferences that are specific to your language or ecosystem. Before you submit your talk, research the conference to tailor your talk for attendees and increase your chances of being accepted to speak at the conference. You can often get a sense of your audience by looking at a conference's speakers.
## Build a reputation
In addition to the strategies outlined above, the best way to invite people to share and contribute to your project is to share and contribute to their projects.
Helping newcomers, sharing resources, and making thoughtful contributions to others' projects will help you build a positive reputation. Being an active member in the open source community will help people have context for your work and be more likely to pay attention to and share your project. Developing relationships with other open source projects can even lead to official partnerships.
It's never too early, or too late, to start building your reputation. Even if you've launched your own project already, continue to look for ways to help others.
There is no overnight solution to building an audience. Gaining the trust and respect of others takes time, and building your reputation never ends.
## Keep at it!
It may take a long time before people notice your open source project. That's okay! Some of the most popular projects today took years to reach high levels of activity. Focus on building relationships instead of hoping that your project will spontaneously gain popularity. Be patient, and keep sharing your work with those who appreciate it.
================================================
FILE: _articles/bn/getting-paid.md
================================================
---
lang: bn
title: Getting Paid for Open Source Work
description: Sustain your work in open source by getting financial support for your time or your project.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Why some people seek financial support
Much of the work of open source is voluntary. For example, someone might come across a bug in a project they use and submit a quick fix, or they might enjoy tinkering with an open source project in their spare time.
There are many reasons why a person would not want to be paid for their open source work.
* **They may already have a full-time job that they love,** which enables them to contribute to open source in their spare time.
* **They enjoy thinking of open source as a hobby** or creative escape and don't want to feel financially obligated to work on their projects.
* **They get other benefits from contributing to open source,** such as building their reputation or portfolio, learning a new skill, or feeling closer to a community.
For others, especially when contributions are ongoing or require significant time, getting paid to contribute to open source is the only way they can participate, either because the project requires it, or for personal reasons.
Maintaining popular projects can be a significant responsibility, taking up 10 or 20 hours per week instead of a few hours per month.
Paid work also enables people from different walks of life to make meaningful contributions. Some people cannot afford to spend unpaid time on open source projects, based on their current financial position, debt, or family or other caretaking obligations. That means the world never sees contributions from talented people who can't afford to volunteer their time. This has ethical implications, as @ashedryden [has described](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), since work that is done is biased in favor of those who already have advantages in life, who then gain additional advantages based on their volunteer contributions, while others who are not able to volunteer then don't get later opportunities, which reinforces the current lack of diversity in the open source community.
If you're looking for financial support, there are two paths to consider. You can fund your own time as a contributor, or you can find organizational funding for the project.
## Funding your own time
Today, many people get paid to work part- or full-time on open source. The most common way to get paid for your time is to talk to your employer.
It's easier to make a case for open source work if your employer actually uses the project, but get creative with your pitch. Maybe your employer doesn't use the project, but they use Python, and maintaining a popular Python project help attract new Python developers. Maybe it makes your employer look more developer-friendly in general.
If you don't have an existing open source project you'd like to work on, but would rather that your current work output is open sourced, make a case for your employer to open source some of their internal software.
Many companies are developing open source programs to build their brand and recruit quality talent.
@hueniverse, for example, found that there were financial reasons to justify [Walmart's investment in open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). And @jamesgpearce found that Facebook's open source program [made a difference](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) in recruiting:
> It is closely aligned with our hacker culture, and how our organization was perceived. We asked our employees, "Were you aware of the open source software program at Facebook?". Two-thirds said "Yes". One-half said that the program positively contributed to their decision to work for us. These are not marginal numbers, and I hope, a trend that continues.
If your company goes down this route, it's important to keep the boundaries between community and corporate activity clear. Ultimately, open source sustains itself through contributions from people all over the world, and that's bigger than any one company or location.
If you can't convince your current employer to prioritize open source work, consider finding a new employer that encourages employee contributions to open source. Look for companies that make their dedication to open source work explicit. For example:
* Some companies, like [Netflix](https://netflix.github.io/), have websites that highlight their involvement in open source
Projects that originated at a large company, such as [Go](https://github.com/golang) or [React](https://github.com/facebook/react), will also likely employ people to work on open source.
Depending on your personal circumstances, you can try raising money independently to fund your open source work. For example:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon funded his work on [Redux](https://github.com/reactjs/redux) through a [Patreon crowdfunding campaign](https://redux.js.org/)
* @andrewgodwin funded work on Django schema migrations [through a Kickstarter campaign](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
Finally, sometimes open source projects put bounties on issues that you might consider helping with.
* @ConnorChristie was able to get paid for [helping](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol work on their JavaScript library [through a bounty on gitcoin](https://gitcoin.co/).
* @mamiM did Japanese translations for @MetaMask after the [issue was funded on Bounties Network](https://explorer.bounties.network/bounty/134).
## Finding funding for your project
Beyond arrangements for individual contributors, sometimes projects raise money from companies, individuals, or others to fund ongoing work.
Organizational funding might go towards paying current contributors, covering the costs of running the project (such as hosting fees), or investing in new features or ideas.
As open source's popularity increases, finding funding for projects is still experimental, but there are a few common options available.
### Raise money for your work through crowdfunding campaigns or sponsorships
Finding sponsorships works well if you have a strong audience or reputation already, or your project is very popular.
A few examples of sponsored projects include:
* **[webpack](https://github.com/webpack)** raises money from companies and individuals [through OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** a nonprofit organization that pays for work on [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), and other Ruby infrastructure projects
### Create a revenue stream
Depending on your project, you may be able to charge for commercial support, hosted options, or additional features. A few examples include:
* **[Sidekiq](https://github.com/mperham/sidekiq)** offers paid versions for additional support
* **[Travis CI](https://github.com/travis-ci)** offers paid versions of its product
* **[Ghost](https://github.com/TryGhost/Ghost)** is a nonprofit with a paid managed service
Some popular projects, like [npm](https://github.com/npm/cli) and [Docker](https://github.com/docker/docker), even raise venture capital to support their business growth.
### Apply for grant funding
Some software foundations and companies offer grants for open source work. Sometimes, grants can be paid out to individuals without setting up a legal entity for the project.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** received a grant from [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** work was funded by [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** received a grant from the [Sloan Foundation](https://sloan.org/programs/digital-technology)
* The **[Python Software Foundation](https://www.python.org/psf/grants/)** offers grants for Python-related work
For more detailed options and case studies, @nayafia [wrote a guide](https://github.com/nayafia/lemonade-stand) to getting paid for open source work. Different types of funding require different skills, so consider your strengths to figure out which option works best for you.
## Building a case for financial support
Whether your project is a new idea, or has been around for years, you should expect to put significant thought into identifying your target funder and making a compelling case.
Whether you're looking to pay for your own time, or fundraise for a project, you should be able to answer the following questions.
### Impact
Why is this project useful? Why do your users, or potential users, like it so much? Where will it be in five years?
### Traction
Try to collect evidence that your project matters, whether it's metrics, anecdotes, or testimonials. Are there any companies or noteworthy people using your project right now? If not, has a prominent person endorsed it?
### Value to funder
Funders, whether your employer or a grantmaking foundation, are frequently approached with opportunities. Why should they support your project over any other opportunity? How do they personally benefit?
### Use of funds
What, exactly, will you accomplish with the proposed funding? Focus on project milestones or outcomes rather than paying a salary.
### How you'll receive the funds
Does the funder have any requirements around disbursal? For example, you may need to be a nonprofit or have a nonprofit fiscal sponsor. Or perhaps the funds must be given to an individual contractor rather than an organization. These requirements vary between funders, so be sure to do your research beforehand.
## Experiment and don't give up
Raising money isn't easy, whether you're an open source project, a nonprofit, or a software startup, and in most cases require you to get creative. Identifying how you want to get paid, doing your research, and putting yourself in your funder's shoes will help you build a convincing case for funding.
================================================
FILE: _articles/bn/how-to-contribute.md
================================================
---
lang: bn
title: How to Contribute to Open Source
description: Want to contribute to open source? A guide to making open source contributions, for first-timers and veterans.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Why contribute to open source?
Contributing to open source can be a rewarding way to learn, teach, and build experience in just about any skill you can imagine.
Why do people contribute to open source? Plenty of reasons!
### Improve software you rely on
Lots of open source contributors start by being users of software they contribute to. When you find a bug in an open source software you use, you may want to look at the source to see if you can patch it yourself. If that's the case, then contributing the patch back is the best way to ensure that your friends (and yourself when you update to the next release) will be able to benefit from it.
### Improve existing skills
Whether it's coding, user interface design, graphic design, writing, or organizing, if you're looking for practice, there's a task for you on an open source project.
### Meet people who are interested in similar things
Open source projects with warm, welcoming communities keep people coming back for years. Many people form lifelong friendships through their participation in open source, whether it's running into each other at conferences or late night online chats about burritos.
### Find mentors and teach others
Working with others on a shared project means you'll have to explain how you do things, as well as ask other people for help. The acts of learning and teaching can be a fulfilling activity for everyone involved.
### Build public artifacts that help you grow a reputation (and a career)
By definition, all of your open source work is public, which means you get free examples to take anywhere as a demonstration of what you can do.
### Learn people skills
Open source offers opportunities to practice leadership and management skills, such as resolving conflicts, organizing teams of people, and prioritizing work.
### It's empowering to be able to make changes, even small ones
You don't have to become a lifelong contributor to enjoy participating in open source. Have you ever seen a typo on a website, and wished someone would fix it? On an open source project, you can do just that. Open source helps people feel agency over their lives and how they experience the world, and that in itself is gratifying.
## What it means to contribute
If you're a new open source contributor, the process can be intimidating. How do you find the right project? What if you don't know how to code? What if something goes wrong?
Not to worry! There are all sorts of ways to get involved with an open source project, and a few tips will help you get the most out of your experience.
### You don't have to contribute code
A common misconception about contributing to open source is that you need to contribute code. In fact, it's often the other parts of a project that are [most neglected or overlooked](https://github.com/blog/2195-the-shape-of-open-source). You'll do the project a _huge_ favor by offering to pitch in with these types of contributions!
Even if you like to write code, other types of contributions are a great way to get involved with a project and meet other community members. Building those relationships will give you opportunities to work on other parts of the project.
### Do you like planning events?
* Organize workshops or meetups about the project, [like @fzamperin did for NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Organize the project's conference (if they have one)
* Help community members find the right conferences and submit proposals for speaking
### Do you like to design?
* Restructure layouts to improve the project's usability
* Conduct user research to reorganize and refine the project's navigation or menus, [like Drupal suggests](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Put together a style guide to help the project have a consistent visual design
* Create art for t-shirts or a new logo, [like hapi.js's contributors did](https://github.com/hapijs/contrib/issues/68)
### Do you like to write?
* Write and improve the project's documentation, [like @CBID2 did for OpenSauced's documentation](https://github.com/open-sauced/docs/pull/151)
* Curate a folder of examples showing how the project is used
* Start a newsletter for the project, or curate highlights from the mailing list, [like @opensauced did for their product](https://news.opensauced.pizza/about/)
* Write tutorials for the project, [like PyPA's contributors did](https://packaging.python.org/)
* Write a translation for the project's documentation, [like @frontendwizard did for the instructions for freeCodeCamp's CSS Flexbox challenge](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077)
### Do you like organizing?
* Link to duplicate issues, and suggest new issue labels, to keep things organized
* Go through open issues and suggest closing old ones, [like @nzakas did for ESLint](https://github.com/eslint/eslint/issues/6765)
* Ask clarifying questions on recently opened issues to move the discussion forward
### Do you like to code?
* Find an open issue to tackle, [like @dianjin did for Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Ask if you can help write a new feature
* Automate project setup
* Improve tooling and testing
### Do you like helping people?
* Answer questions about the project on e.g., Stack Overflow ([like this Postgres example](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) or Reddit
* Answer questions for people on open issues
* Help moderate the discussion boards or conversation channels
### Do you like helping others code?
* Review code on other people's submissions
* Write tutorials for how a project can be used
* Offer to mentor another contributor, [like @ereichert did for @bronzdoc on Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### You don't just have to work on software projects!
While "open source" often refers to software, you can collaborate on just about anything. There are books, recipes, lists, and classes that get developed as open source projects.
For example:
* @sindresorhus curates a [list of "awesome" lists](https://github.com/sindresorhus/awesome)
* @h5bp maintains a [list of potential interview questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions) for front-end developer candidates
* @stuartlynn and @nicole-a-tesla made a [collection of fun facts about puffins](https://github.com/stuartlynn/puffin_facts)
Even if you're a software developer, working on a documentation project can help you get started in open source. It's often less intimidating to work on projects that don't involve code, and the process of collaboration will build your confidence and experience.
## Orienting yourself to a new project
For anything more than a typo fix, contributing to open source is like walking up to a group of strangers at a party. If you start talking about llamas, while they were deep in a discussion about goldfish, they'll probably look at you a little strangely.
Before jumping in blindly with your own suggestions, start by learning how to read the room. Doing so increases the chances that your ideas will be noticed and heard.
### Anatomy of an open source project
Every open source community is different.
Spending years on one open source project means you've gotten to know one open source project. Move to a different project, and you might find the vocabulary, norms, and communication styles are completely different.
That said, many open source projects follow a similar organizational structure. Understanding the different community roles and overall process will help you get quickly oriented to any new project.
A typical open source project has the following types of people:
* **Author:** The person/s or organization that created the project
* **Owner:** The person/s who has administrative ownership over the organization or repository (not always the same as the original author)
* **Maintainers:** Contributors who are responsible for driving the vision and managing the organizational aspects of the project (They may also be authors or owners of the project.)
* **Contributors:** Everyone who has contributed something back to the project
* **Community Members:** People who use the project. They might be active in conversations or express their opinion on the project's direction
Bigger projects may also have subcommittees or working groups focused on different tasks, such as tooling, triage, community moderation, and event organizing. Look on a project's website for a "team" page, or in the repository for governance documentation, to find this information.
A project also has documentation. These files are usually listed in the top level of a repository.
* **LICENSE:** By definition, every open source project must have an [open source license](https://choosealicense.com). If the project does not have a license, it is not open source.
* **README:** The README is the instruction manual that welcomes new community members to the project. It explains why the project is useful and how to get started.
* **CONTRIBUTING:** Whereas READMEs help people _use_ the project, contributing docs help people _contribute_ to the project. It explains what types of contributions are needed and how the process works. While not every project has a CONTRIBUTING file, its presence signals that this is a welcoming project to contribute to. A good example of an effective Contributing Guide would be the one from [Codecademy's Docs repository](https://www.codecademy.com/resources/docs/contribution-guide).
* **CODE_OF_CONDUCT:** The code of conduct sets ground rules for participants' behavior associated and helps to facilitate a friendly, welcoming environment. While not every project has a CODE_OF_CONDUCT file, its presence signals that this is a welcoming project to contribute to.
* **Other documentation:** There might be additional documentation, such as tutorials, walkthroughs, or governance policies, especially on bigger projects like [Astro Docs](https://docs.astro.build/en/contribute/#contributing-to-docs).
Finally, open source projects use the following tools to organize discussion. Reading through the archives will give you a good picture of how the community thinks and works.
* **Issue tracker:** Where people discuss issues related to the project.
* **Pull requests:** Where people discuss and review changes that are in progress, whether it's to improve a contributor's line of code, grammar usage, use of images, etc. Some projects, such as [MDN Web Docs](https://github.com/mdn/content/blob/main/.github/workflows/markdown-lint.yml), use certain GitHub Action flows to automate and quicken their code reviews.
* **Discussion forums or mailing lists:** Some projects may use these channels for conversational topics (for example, _"How do I..."_ or _"What do you think about..."_ instead of bug reports or feature requests). Others use the issue tracker for all conversations. A good example of this would be [CHAOSS' weekly Newsletter](https://chaoss.community/news/)
* **Synchronous chat channel:** Some projects use chat channels (such as Slack or IRC) for casual conversation, collaboration, and quick exchanges. A good example of this would be [EddieHub's Discord community](http://discord.eddiehub.org/).
## Finding a project to contribute to
Now that you've figured out how open source projects work, it's time to find a project to contribute to!
If you've never contributed to open source before, take some advice from U.S. President John F. Kennedy, who once said:, _"Ask not what your country can do for you - ask what you can do for your country."_
Contributing to open source happens at all levels, across projects. You don't need to overthink what exactly your first contribution will be, or how it will look.
Instead, start by thinking about the projects you already use, or want to use. The projects you'll actively contribute to are the ones you find yourself coming back to.
Within those projects, whenever you catch yourself thinking that something could be better or different, act on your instinct.
Open source isn't an exclusive club; it's made by people just like you. "Open source" is just a fancy term for treating the world's problems as fixable.
You might scan a README and find a broken link or a typo. Or you're a new user and you noticed something is broken, or an issue that you think should really be in the documentation. Instead of ignoring it and moving on, or asking someone else to fix it, see whether you can help out by pitching in. That's what open source is all about!
> According to a study conducted by Igor Steinmacher and other Computer Science researchers, [28% of casual contributions](https://www.igor.pro.br/publica/papers/saner2016.pdf) to open source are documentation, such as typo fixes, reformatting, or writing a translation.
If you're looking for existing issues you can fix, every open source project has a `/contribute` page that highlights beginner-friendly issues you can start out with. Navigate to the main page of the repository on GitHub, and add `/contribute` at the end of the URL (for example [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
You can also use one of the following resources to help you discover and contribute to new projects:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### A checklist before you contribute
When you've found a project you'd like to contribute to, do a quick scan to make sure that the project is suitable for accepting contributions. Otherwise, your hard work may never get a response.
Here's a handy checklist to evaluate whether a project is good for new contributors.
**Meets the definition of open source**
**Project actively accepts contributions**
Look at the commit activity on the main branch. On GitHub, you can see this information in the Insights tab of a repository's homepage, such as [Virtual-Coffee](https://github.com/Virtual-Coffee/virtualcoffee.io/pulse)
Next, look at the project's issues.
Now do the same for the project's pull requests.
**Project is welcoming**
A project that is friendly and welcoming signals that they will be receptive to new contributors.
## How to submit a contribution
You've found a project you like, and you're ready to make a contribution. Finally! Here's how to get your contribution in the right way.
### Communicating effectively
Whether you're a one-time contributor or trying to join a community, working with others is one of the most important skills you'll develop in open source.
Before you open an issue or pull request, or ask a question in chat, keep these points in mind to help your ideas come across effectively.
**Give context.** Help others get quickly up to speed. If you're running into an error, explain what you're trying to do and how to reproduce it. If you're suggesting a new idea, explain why you think it'd be useful to the project (not just to you!).
> 😇 _"X doesn't happen when I do Y"_
>
> 😢 _"X is broken! Please fix it."_
**Do your homework beforehand.** It's OK not to know things, but show that you tried. Before asking for help, be sure to check a project's README, documentation, issues (open or closed), mailing list, and search the internet for an answer. People will appreciate it when you demonstrate that you're trying to learn.
> 😇 _"I'm not sure how to implement X. I checked the help docs and didn't find any mentions."_
>
> 😢 _"How do I X?"_
**Keep requests short and direct.** Much like sending an email, every contribution, no matter how simple or helpful, requires someone else's review. Many projects have more incoming requests than people available to help. Be concise. You will increase the chance that someone will be able to help you.
> 😇 _"I'd like to write an API tutorial."_
>
> 😢 _"I was driving down the highway the other day and stopped for gas, and then I had this amazing idea for something we should be doing, but before I explain that, let me show you..."_
**Keep all communication public.** Although it's tempting, don't reach out to maintainers privately unless you need to share sensitive information (such as a security issue or serious conduct violation). When you keep the conversation public, more people can learn and benefit from your exchange. Discussions can be, in themselves, contributions.
> 😇 _(as a comment) "@-maintainer Hi there! How should we proceed on this PR?"_
>
> 😢 _(as an email) "Hey there, sorry to bother you over email, but I was wondering if you've had a chance to review my PR"_
**It's okay to ask questions (but be patient!).** Everybody was new to the project at some point, and even experienced contributors need to get up to speed when they look at a new project. By the same token, even longtime maintainers are not always familiar with every part of the project. Show them the same patience that you'd want them to show to you.
> 😇 _"Thanks for looking into this error. I followed your suggestions. Here's the output."_
>
> 😢 _"Why can't you fix my problem? Isn't this your project?"_
**Respect community decisions.** Your ideas may differ from the community's priorities or vision. They may offer feedback or decide not to pursue your idea. While you should discuss and look for compromise, maintainers have to live with your decision longer than you will. If you disagree with their direction, you can always work on your own fork or start your own project.
> 😇 _"I'm disappointed you can't support my use case, but as you've explained it only affects a minor portion of users, I understand why. Thanks for listening."_
>
> 😢 _"Why won't you support my use case? This is unacceptable!"_
**Above all, keep it classy.** Open source is made up of collaborators from all over the world. Context gets lost across languages, cultures, geographies, and time zones. In addition, written communication makes it harder to convey a tone or mood. Assume good intentions in these conversations. It's fine to politely push back on an idea, ask for more context, or further clarify your position. Just try to leave the internet a better place than when you found it.
### Gathering context
Before doing anything, do a quick check to make sure your idea hasn't been discussed elsewhere. Skim the project's README, issues (open and closed), mailing list, and Stack Overflow. You don't have to spend hours going through everything, but a quick search for a few key terms goes a long way.
If you can't find your idea elsewhere, you're ready to make a move. If the project is on GitHub, you'll likely communicate by doing the following:
* **Raising an Issue:** These are like starting a conversation or discussion
* **Pull requests** are for starting work on a solution.
* **Communication Channels:** If the project has a designated Discord, IRC, or Slack channel, consider starting a conversation or asking for clarification about your contribution.
Before you open an issue or pull request, check the project's contributing docs (usually a file called CONTRIBUTING, or in the README), to see whether you need to include anything specific. For example, they may ask that you follow a template, or require that you use tests.
If you want to make a substantial contribution, open an issue to ask before working on it. It's helpful to watch the project for a while (on GitHub, [you can click "Watch"](https://help.github.com/articles/watching-repositories/) to be notified of all conversations), and get to know community members, before doing work that might not get accepted.
### Opening an issue
You should usually open an issue in the following situations:
* Report an error you can't solve yourself
* Discuss a high-level topic or idea (for example, community, vision or policies)
* Propose a new feature or other project idea
Tips for communicating on issues:
* **If you see an open issue that you want to tackle,** comment on the issue to let people know you're on it. That way, people are less likely to duplicate your work.
* **If an issue was opened a while ago,** it's possible that it's being addressed somewhere else, or has already been resolved, so comment to ask for confirmation before starting work.
* **If you opened an issue, but figured out the answer later on your own,** comment on the issue to let people know, then close the issue. Even documenting that outcome is a contribution to the project.
### Opening a pull request
You should usually open a pull request in the following situations:
* Submit small fixes such as a typo, a broken link or an obvious error.
* Start work on a contribution that was already asked for, or that you've already discussed, in an issue.
A pull request doesn't have to represent finished work. It's usually better to open a pull request early on, so others can watch or give feedback on your progress. Just open it as a "draft" or mark as a "WIP" (Work in Progress) in the subject line or "Notes to Reviewers" sections if provided (or you can just create your own. Like this: `**## Notes to Reviewer**`). You can always add more commits later.
If the project is on GitHub, here's how to submit a pull request:
* **[Fork the repository](https://guides.github.com/activities/forking/)** and clone it locally. Connect your local to the original "upstream" repository by adding it as a remote. Pull in changes from "upstream" often so that you stay up to date so that when you submit your pull request, merge conflicts will be less likely. (See more detailed instructions [here](https://help.github.com/articles/syncing-a-fork/).)
* **[Create a branch](https://guides.github.com/introduction/flow/)** for your edits.
* **Reference any relevant issues** or supporting documentation in your PR (for example, "Closes #37.")
* **Include screenshots of the before and after** if your changes include differences in HTML/CSS. Drag and drop the images into the body of your pull request.
* **Test your changes!** Run your changes against any existing tests if they exist and create new ones when needed. It's important to make sure your changes don't break the existing project.
* **Contribute in the style of the project** to the best of your abilities. This may mean using indents, semi-colons or comments differently than you would in your own repository, but makes it easier for the maintainer to merge, others to understand and maintain in the future.
If this is your first pull request, check out [Make a Pull Request](http://makeapullrequest.com/), which @kentcdodds created as a walkthrough video tutorial. You can also practice making a pull request in the [First Contributions](https://github.com/Roshanjossey/first-contributions) repository, created by @Roshanjossey.
## What happens after you submit your contribution
Before we start celebrating, one of the following will happen after you submit your contribution:
### 😭 You don't get a response
Hopefully you [checked the project for signs of activity](#a-checklist-before-you-contribute) before making a contribution. Even on an active project, however, it's possible that your contribution won't get a response.
If you haven't gotten a response in over a week, it's fair to politely respond in that same thread, asking someone for a review. If you know the name of the right person to review your contribution, you can @-mention them in that thread.
**Don't reach out to that person privately**; remember that public communication is vital to open source projects.
If you give a polite reminder and still do not receive a response, it's possible that nobody will ever respond. It's not a great feeling, but don't let that discourage you! 😄 There are many possible reasons why you didn't get a response, including personal circumstances that may be out of your control. Try to find another project or way to contribute. If anything, this is a good reason not to invest too much time in making a contribution before other community members are engaged and responsive.
### 🚧 Someone requests changes to your contribution
It's common that you'll be asked to make changes to your contribution, whether that's feedback on the scope of your idea, or changes to your code.
When someone requests changes, be responsive. They've taken the time to review your contribution. Opening a PR and walking away is bad form. If you don't know how to make changes, research the problem, then ask for help if you need it. A good example of this would be [the feedback that another contributor has given to @a-m-lamb on their pull request to Codecademy's Docs](https://github.com/Codecademy/docs/pull/3239#pullrequestreview-1628036286).
If you don't have time to work on the issue anymore due to reasons such as the conversation has been going on for months, and your circumstances have changed or you're unable to find a solution, let the maintainer know so that they can open the issue for someone else, like [@RitaDee did for an issue at OpenSauced's app repository](https://github.com/open-sauced/app/issues/1656#issuecomment-1729353346).
### 👎 Your contribution doesn't get accepted
Your contribution may or may not be accepted in the end. Hopefully you didn't put too much work into it already. If you're not sure why it wasn't accepted, it's perfectly reasonable to ask the maintainer for feedback and clarification. Ultimately, however, you'll need to respect that this is their decision. Don't argue or get hostile. You're always welcome to fork and work on your own version if you disagree!
### 🎉 Your contribution gets accepted
Hooray! You've successfully made an open source contribution!
## You did it! 🎉
Whether you just made your first open source contribution, or you're looking for new ways to contribute, we hope you're inspired to take action. Even if your contribution wasn't accepted, don't forget to say thanks when a maintainer put effort into helping you. Open source is made by people like you: one issue, pull request, comment, or high-five at a time.
================================================
FILE: _articles/bn/index.html
================================================
---
layout: index
title: ওপেন সোর্স নির্দেশিকা
lang: bn
permalink: /bn/
---
================================================
FILE: _articles/bn/leadership-and-governance.md
================================================
---
lang: bn
title: Leadership and Governance
description: Growing open source projects can benefit from formal rules for making decisions.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Understanding governance for your growing project
Your project is growing, people are engaged, and you're committed to keeping this thing going. At this stage, you may be wondering how to incorporate regular project contributors into your workflow, whether it's giving someone commit access or resolving community debates. If you have questions, we've got answers.
## What are examples of formal roles used in open source projects?
Many projects follow a similar structure for contributor roles and recognition.
What these roles actually mean, though, is entirely up to you. Here are a few types of roles you may recognize:
* **Maintainer**
* **Contributor**
* **Committer**
**For some projects, "maintainers"** are the only people in a project with commit access. In other projects, they're simply the people who are listed in the README as maintainers.
A maintainer doesn't necessarily have to be someone who writes code for your project. It could be someone who's done a lot of work evangelizing your project, or written documentation that made the project more accessible to others. Regardless of what they do day-to-day, a maintainer is probably someone who feels responsibility over the direction of the project and is committed to improving it.
**A "contributor" could be anyone** who comments on an issue or pull request, people who add value to the project (whether it's triaging issues, writing code, or organizing events), or anybody with a merged pull request (perhaps the narrowest definition of a contributor).
**The term "committer"** might be used to distinguish commit access, which is a specific type of responsibility, from other forms of contribution.
While you can define your project roles any way you'd like, [consider using broader definitions](../how-to-contribute/#what-it-means-to-contribute) to encourage more forms of contribution. You can use leadership roles to formally recognize people who have made outstanding contributions to your project, regardless of their technical skill.
## How do I formalize these leadership roles?
Formalizing your leadership roles helps people feel ownership and tells other community members who to look to for help.
For a smaller project, designating leaders can be as simple as adding their names to your README or a CONTRIBUTORS text file.
For a bigger project, if you have a website, create a team page or list your project leaders there. For example, [Postgres](https://github.com/postgres/postgres/) has a [comprehensive team page](https://www.postgresql.org/community/contributors/) with short profiles for each contributor.
If your project has a very active contributor community, you might form a "core team" of maintainers, or even subcommittees of people who take ownership of different issue areas (for example, security, issue triaging, or community conduct). Let people self-organize and volunteer for the roles they're most excited about, rather than assigning them.
Leadership teams may want to create a designated channel (like on IRC) or meet regularly to discuss the project (like on Gitter or Google Hangout). You can even make those meetings public so other people can listen. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), for example, [hosts office hours every week](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Once you've established leadership roles, don't forget to document how people can attain them! Establish a clear process for how someone can become a maintainer or join a subcommittee in your project, and write it into your GOVERNANCE.md.
Tools like [Vossibility](https://github.com/icecrime/vossibility-stack) can help you publicly track who is (or isn't) making contributions to the project. Documenting this information avoids the community perception that maintainers are a clique that makes its decisions privately.
Finally, if your project is on GitHub, consider moving your project from your personal account to an Organization and adding at least one backup admin. [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) make it easier to manage permissions and multiple repositories and protect your project's legacy through [shared ownership](../building-community/#share-ownership-of-your-project).
## When should I give someone commit access?
Some people think you should give commit access to everybody who makes a contribution. Doing so could encourage more people to feel ownership of your project.
On the other hand, especially for bigger, more complex projects, you may want to only give commit access to people who have demonstrated their commitment. There's no one right way of doing it - do what makes you most comfortable!
If your project is on GitHub, you can use [protected branches](https://help.github.com/articles/about-protected-branches/) to manage who can push to a particular branch, and under which circumstances.
## What are some of the common governance structures for open source projects?
There are three common governance structures associated with open source projects.
* **BDFL:** BDFL stands for "Benevolent Dictator for Life". Under this structure, one person (usually the initial author of the project) has final say on all major project decisions. [Python](https://github.com/python) is a classic example. Smaller projects are probably BDFL by default, because there are only one or two maintainers. A project that originated at a company might also fall into the BDFL category.
* **Meritocracy:** **(Note: the term "meritocracy" carries negative connotations for some communities and has a [complex social and political history](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Under a meritocracy, active project contributors (those who demonstrate "merit") are given a formal decision making role. Decisions are usually made based on pure voting consensus. The meritocracy concept was pioneered by the [Apache Foundation](https://www.apache.org/); [all Apache projects](https://www.apache.org/index.html#projects-list) are meritocracies. Contributions can only be made by individuals representing themselves, not by a company.
* **Liberal contribution:** Under a liberal contribution model, the people who do the most work are recognized as most influential, but this is based on current work and not historic contributions. Major project decisions are made based on a consensus seeking process (discuss major grievances) rather than pure vote, and strive to include as many community perspectives as possible. Popular examples of projects that use a liberal contribution model include [Node.js](https://foundation.nodejs.org/) and [Rust](https://www.rust-lang.org/).
Which one should you use? It's up to you! Every model has advantages and trade-offs. And although they may seem quite different at first, all three models have more in common than they seem. If you're interested in adopting one of these models, check out these templates:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Do I need governance docs when I launch my project?
There is no right time to write down your project's governance, but it's much easier to define once you've seen your community dynamics play out. The best (and hardest) part about open source governance is that it is shaped by the community!
Some early documentation will inevitably contribute to your project's governance, however, so start writing down what you can. For example, you can define clear expectations for behavior, or how your contributor process works, even at your project's launch.
If you're part of a company launching an open source project, it's worth having an internal discussion before launch about how your company expects to maintain and make decisions about the project moving forward. You may also want to publicly explain anything particular to how your company will (or won't!) be involved with the project.
## What happens if corporate employees start submitting contributions?
Successful open source projects get used by many people and companies, and some companies may eventually have revenue streams eventually tied to the project. For example, a company may use the project's code as one component in a commercial service offering.
As the project gets more widely used, people who have expertise in it become more in-demand - you may be one of them! - and will sometimes get paid for work they do in the project.
It's important to treat commercial activity as normal and as just another source of development energy. Paid developers shouldn't get special treatment over unpaid ones, of course; each contribution must be evaluated on its technical merits. However, people should feel comfortable engaging in commercial activity, and feel comfortable stating their use cases when arguing in favor of a particular enhancement or feature.
"Commercial" is completely compatible with "open source". "Commercial" just means there is money involved somewhere - that the software is used in commerce, which is increasingly likely as a project gains adoption. (When open source software is used as part of a non-open-source product, the overall product is still "proprietary" software, though, like open source, it might be used for commercial or non-commercial purposes.)
Like anyone else, commercially-motivated developers gain influence in the project through the quality and quantity of their contributions. Obviously, a developer who is paid for her time may be able to do more than someone who is not paid, but that's okay: payment is just one of many possible factors that could affect how much someone does. Keep your project discussions focused on the contributions, not on the external factors that enable people to make those contributions.
## Do I need a legal entity to support my project?
You don't need a legal entity to support your open source project unless you're handling money.
For example, if you want to create a commercial business, you'll want to set up a C Corp or LLC (if you're based in the US). If you're just doing contract work related to your open source project, you can accept money as a sole proprietor, or set up an LLC (if you're based in the US).
If you want to accept donations for your open source project, you can set up a donation button (using PayPal or Stripe, for example), but the money won't be tax-deductible unless you are a qualifying nonprofit (a 501c3, if you're in the US).
Many projects don't wish to go through the trouble of setting up a nonprofit, so they find a nonprofit fiscal sponsor instead. A fiscal sponsor accepts donations on your behalf, usually in exchange for a percentage of the donation. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) and [Open Collective](https://opencollective.com/opensource) are examples of organizations that serve as fiscal sponsors for open source projects.
If your project is closely associated with a certain language or ecosystem, there may also be a related software foundation you can work with. For example, the [Python Software Foundation](https://www.python.org/psf/) helps support [PyPI](https://pypi.org/), the Python package manager, and the [Node.js Foundation](https://foundation.nodejs.org/) helps support [Express.js](https://expressjs.com/), a Node-based framework.
================================================
FILE: _articles/bn/legal.md
================================================
---
lang: bn
title: The Legal Side of Open Source
description: Everything you've ever wondered about the legal side of open source, and a few things you didn't.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Understanding the legal implications of open source
Sharing your creative work with the world can be an exciting and rewarding experience. It can also mean a bunch of legal things you didn't know you had to worry about. Thankfully, with this guide you don't have to start from scratch. (Before you dig in, be sure to read our [disclaimer](/notices/).)
## Why do people care so much about the legal side of open source?
Glad you asked! When you make a creative work (such as writing, graphics, or code), that work is under exclusive copyright by default. That is, the law assumes that as the author of your work, you have a say in what others can do with it.
In general, that means nobody else can use, copy, distribute, or modify your work without being at risk of take-downs, shake-downs, or litigation.
Open source is an unusual circumstance, however, because the author expects that others will use, modify, and share the work. But because the legal default is still exclusive copyright, you need to explicitly give these permissions with a license.
These rules also apply when someone contributes to your project. Without a license or other agreement in place, any contributions are exclusively owned by their authors. That means nobody -- not even you -- can use, copy, distribute, or modify their contributions.
Finally, your project may have dependencies with license requirements that you weren't aware of. Your project's community, or your employer's policies, may also require your project to use specific open source licenses. We'll cover these situations below.
## Are public GitHub projects open source?
When you [create a new project](https://help.github.com/articles/creating-a-new-repository/) on GitHub, you have the option to make the repository **private** or **public**.

**Making your GitHub project public is not the same as licensing your project.** Public projects are covered by [GitHub's Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), which allows others to view and fork your project, but your work otherwise comes with no permissions.
If you want others to use, distribute, modify, or contribute back to your project, you need to include an open source license. For example, someone cannot legally use any part of your GitHub project in their code, even if it's public, unless you explicitly give them the right to do so.
## Just give me the TL;DR on what I need to protect my project.
You're in luck, because today, open source licenses are standardized and easy to use. You can copy-paste an existing license directly into your project.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), and [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) are [popular open source licenses](https://innovationgraph.github.com/global-metrics/licenses), but there are other options to choose from. You can find the full text of these licenses, and instructions on how to use them, on [choosealicense.com](https://choosealicense.com/).
When you create a new project on GitHub, you'll be [asked to add a license](https://help.github.com/articles/open-source-licensing/).
## Which open source license is appropriate for my project?
It's hard to go wrong with the [MIT License](https://choosealicense.com/licenses/mit/) if you're starting with a blank slate. It's short, easily understood, and allows anyone to do anything so long as they keep a copy of the license, including your copyright notice. You'll be able to release the project under a different license if you ever need to.
Otherwise, picking the right open source license for your project depends on your objectives.
Your project very likely has (or will have) **dependencies**, each of which will have its own open source license with terms you have to respect. For example, if you're open sourcing a Node.js project, you'll probably use libraries from the Node Package Manager (npm).
Dependencies with **permissive licenses** like [MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), [ISC](https://choosealicense.com/licenses/isc), and [BSD](https://choosealicense.com/licenses/bsd-3-clause) allow you to license your project however you want.
Dependencies with **copyleft licenses** require closer attention. Including any library with a "strong" copyleft license like the [GPLv2](https://choosealicense.com/licenses/gpl-2.0), [GPLv3](https://choosealicense.com/licenses/gpl-3.0), or [AGPLv3](https://choosealicense.com/licenses/agpl-3.0) requires you to choose an identical or [compatible license](https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses) for your project. Libraries with a "limited" or "weak" copyleft license like the [MPL 2.0](https://choosealicense.com/licenses/mpl-2.0/) and [LGPL](https://choosealicense.com/licenses/lgpl-3.0/) can be included in projects with any license, provided you follow the [additional rules](https://fossa.com/blog/all-about-copyleft-licenses/#:~:text=weak%20copyleft%20licenses%20also%20obligate%20users%20to%20release%20their%20changes.%20however%2C%20this%20requirement%20applies%20to%20a%20narrower%20set%20of%20code.) they specify.
You may also want to consider the **communities** you hope will use and contribute to your project:
* **Do you want your project to be used as a dependency by other projects?** Probably best to use the most popular license in your relevant community. For example, [MIT](https://choosealicense.com/licenses/mit/) is the most popular license for [npm libraries](https://libraries.io/search?platforms=NPM).
* **Do you want your project to appeal to large businesses?** A large business may be comforted by an express patent license from all contributors. In this case, the [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) has you (and them) covered.
* **Do you want your project to appeal to contributors who do not want their contributions to be used in closed source software?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) or (if they also do not wish to contribute to closed source services) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) will go over well.
Your **company** may have policies for open source project licensing. Some companies require your projects to bear a permissive license to permit integration with the company's proprietary products. Other policies enforce a strong copyleft license and an additional contributor agreement ([see below](#does-my-project-need-an-additional-contributor-agreement)) so only your company can use the project in closed source software. Organizations may also have certain standards, social responsibility goals, or transparency needs which could require a particular licensing strategy. Talk to your [company's legal department](#what-does-my-companys-legal-team-need-to-know) for guidance.
When you create a new project on GitHub, you are given the option to select a license. Including one of the licenses mentioned above will make your GitHub project open source. If you'd like to see other options, check out [choosealicense.com](https://choosealicense.com) to find the right license for your project, even if it [isn't software](https://choosealicense.com/non-software/).
## What if I want to change the license of my project?
Most projects never need to change licenses. But occasionally circumstances change.
For example, as your project grows it adds dependencies or users, or your company changes strategies, any of which could require or want a different license. Also, if you neglected to license your project from the start, adding a license is effectively the same as changing licenses. There are three fundamental things to consider when adding or changing your project's license:
**It's complicated.** Determining license compatibility and compliance and who holds copyright can get complicated and confusing very quickly. Switching to a new but compatible license for new releases and contributions is different from relicensing all existing contributions. Involve your legal team at the first hint of any desire to change licenses. Even if you have or can obtain permission from your project's copyright holders for a license change, consider the impact of the change on your project's other users and contributors. Think of a license change as a "governance event" for your project that will more likely go smoothly with clear communications and consultation with your project's stakeholders. All the more reason to choose and use an appropriate license for your project from its inception!
**Your project's existing license.** If your project's existing license is compatible with the license you want to change to, you could just start using the new license. That's because if license A is compatible with license B, you'll comply with the terms of A while complying with the terms of B (but not necessarily vice versa). So if you're currently using a permissive license (e.g., MIT), you could change to a license with more conditions, so long as you retain a copy of the MIT license and any associated copyright notices (i.e., continue to comply with the MIT license's minimal conditions). But if your current license is not permissive (e.g., copyleft, or you don't have a license) and you aren't the sole copyright holder, you couldn't just change your project's license to MIT. Essentially, with a permissive license the project's copyright holders have given permission in advance to change licenses.
**Your project's existing copyright holders.** If you're the sole contributor to your project then either you or your company is the project's sole copyright holder. You can add or change to whatever license you or your company wants to. Otherwise there may be other copyright holders that you need agreement from in order to change licenses. Who are they? [People who have commits in your project](https://github.com/thehale/git-authorship) is a good place to start. But in some cases copyright will be held by those people's employers. In some cases people will have only made minimal contributions, but there's no hard and fast rule that contributions under some number of lines of code are not subject to copyright. What to do? It depends. For a relatively small and young project, it may be feasible to get all existing contributors to agree to a license change in an issue or pull request. For large and long-lived projects, you may have to seek out many contributors and even their heirs. Mozilla took years (2001-2006) to relicense Firefox, Thunderbird, and related software.
Alternatively, you can have contributors pre-approve certain license changes via an additional contributor agreement ([see below](#does-my-project-need-an-additional-contributor-agreement)). This shifts the complexity of changing licenses a bit. You'll need more help from your lawyers up front, and you'll still want to clearly communicate with your project's stakeholders when executing a license change.
## Does my project need an additional contributor agreement?
Probably not. For the vast majority of open source projects, an open source license implicitly serves as both the inbound (from contributors) and outbound (to other contributors and users) license. If your project is on GitHub, the GitHub Terms of Service make "inbound=outbound" the [explicit default](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
An additional contributor agreement -- often called a Contributor License Agreement (CLA) -- can create administrative work for project maintainers. How much work an agreement adds depends on the project and implementation. A simple agreement might require that contributors confirm, with a click, that they have the rights necessary to contribute under the project open source license. A more complicated agreement might require legal review and sign-off from contributors' employers.
Also, by adding "paperwork" that some believe is unnecessary, hard to understand, or unfair (when the agreement recipient gets more rights than contributors or the public do via the project's open source license), an additional contributor agreement may be perceived as unfriendly to the project's community.
Some situations where you may want to consider an additional contributor agreement for your project include:
* Your lawyers want all contributors to expressly accept (_sign_, online or offline) contribution terms, perhaps because they feel the open source license itself is not enough (even though it is!). If this is the only concern, a contributor agreement that affirms the project's open source license should be enough. The [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) is a good example of a lightweight additional contributor agreement.
* You or your lawyers want developers to represent that each commit they make is authorized. A [Developer Certificate of Origin](https://developercertificate.org/) requirement is how many projects achieve this. For example, the Node.js community [uses](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) the DCO [instead](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) of their prior CLA. A simple option to automate enforcement of the DCO on your repository is the [DCO Probot](https://github.com/probot/dco).
* Your project uses an open source license that does not include an express patent grant (such as MIT), and you need a patent grant from all contributors, some of whom may work for companies with large patent portfolios that could be used to target you or the project's other contributors and users. The [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) is a commonly used additional contributor agreement that has a patent grant mirroring the one found in the Apache License 2.0.
* Your project is under a copyleft license, but you also need to distribute a proprietary version of the project. You'll need every contributor to assign copyright to you or grant you (but not the public) a permissive license. The [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) is an example this type of agreement.
* You think your project might need to change licenses over its lifetime and want contributors to agree in advance to such changes.
If you do need to use an additional contributor agreement with your project, consider using an integration such as [CLA assistant](https://github.com/cla-assistant/cla-assistant) to minimize contributor distraction.
## What does my company's legal team need to know?
If you're releasing an open source project as a company employee, first, your legal team should know that you're open sourcing a project.
For better or worse, consider letting them know even if it's a personal project. You probably have an "employee IP agreement" with your company that gives them some control of your projects, especially if they are at all related to the company's business or you use any company resources to develop the project. Your company _should_ easily give you permission, and maybe already has through an employee-friendly IP agreement or a company policy. If not, you can negotiate (for example, explain that your project serves the company's professional learning and development objectives for you), or avoid working on your project until you find a better company.
**If you're open sourcing a project for your company,** then definitely let them know. Your legal team probably already has policies for what open source license (and maybe additional contributor agreement) to use based on the company's business requirements and expertise around ensuring your project complies with the licenses of its dependencies. If not, you and they are in luck! Your legal team should be eager to work with you to figure this stuff out. Some things to think about:
* **Third party material:** Does your project have dependencies created by others or otherwise include or use others' code? If these are open source, you'll need to comply with the materials' open source licenses. That starts with choosing a license that works with the third party open source licenses ([see above](#which-open-source-license-is-appropriate-for-my-project)). If your project modifies or distributes third party open source material, then your legal team will also want to know that you're meeting other conditions of the third party open source licenses such as retaining copyright notices. If your project uses others' code that doesn't have an open source license, you'll probably have to ask the third party maintainers to [add an open source license](https://choosealicense.com/no-license/#for-users), and if you can't get one, stop using their code in your project.
* **Trade secrets:** Consider whether there is anything in the project that the company does not want to make available to the general public. If so, you could open source the rest of your project, after extracting the material you want to keep private.
* **Patents:** Is your company applying for a patent of which open sourcing your project would constitute [public disclosure](https://en.wikipedia.org/wiki/Public_disclosure)? Sadly, you might be asked to wait (or maybe the company will reconsider the wisdom of the application). If you're expecting contributions to your project from employees of companies with large patent portfolios, your legal team may want you to use a license with an express patent grant from contributors (such as Apache 2.0 or GPLv3), or an additional contributor agreement ([see above](#which-open-source-license-is-appropriate-for-my-project)).
* **Trademarks:** Double check that your project's name [does not conflict with any existing trademarks](../starting-a-project/#avoiding-name-conflicts). If you use your own company trademarks in the project, check that it does not cause any conflicts. [FOSSmarks](http://fossmarks.org/) is a practical guide to understanding trademarks in the context of free and open source projects.
* **Privacy:** Does your project collect data on users? "Phone home" to company servers? Your legal team can help you comply with company policies and external regulations.
If you're releasing your company's first open source project, the above is more than enough to get through (but don't worry, most projects shouldn't raise any major concerns).
Longer term, your legal team can do more to help the company get more from its involvement in open source, and stay safe:
* **Employee contribution policies:** Consider developing a corporate policy that specifies how your employees contribute to open source projects. A clear policy will reduce confusion among your employees and help them contribute to open source projects in the company's best interest, whether as part of their jobs or in their free time. A good example is Rackspace's [Model IP and Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **What to release:** [(Almost) everything?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) If your legal team understands and is invested in your company's open source strategy, they'll be best able to help rather than hinder your efforts.
* **Compliance:** Even if your company doesn't release any open source projects, it uses others' open source software. [Awareness and process](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) can prevent headaches, product delays, and lawsuits.
* **Patents:** Your company may wish to join the [Open Invention Network](https://www.openinventionnetwork.com/), a shared defensive patent pool to protect members' use of major open source projects, or explore other [alternative patent licensing](https://www.eff.org/document/hacking-patent-system-2016).
* **Governance:** Especially if and when it makes sense to move a project to a [legal entity outside of the company](../leadership-and-governance/#do-i-need-a-legal-entity-to-support-my-project).
================================================
FILE: _articles/bn/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: bn
untranslated: false
title: ওপেন সোর্স রক্ষণাবেক্ষণকারীদের জন্য ভারসাম্য বজায় রাখা
description: একজন রক্ষণাবেক্ষণকারী হিসেবে নিজের যত্ন নেওয়ার এবং বার্নআউট এড়ানোর জন্য টিপস।
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
একটি ওপেন সোর্স প্রকল্পের জনপ্রিয়তা বৃদ্ধির সাথে সাথে, দীর্ঘমেয়াদে সতেজ এবং উৎপাদনশীল থাকার জন্য ভারসাম্য বজায় রাখতে স্পষ্ট সীমানা নির্ধারণ করা গুরুত্বপূর্ণ হয়ে ওঠে।
রক্ষণাবেক্ষণকারীদের অভিজ্ঞতা এবং ভারসাম্য খুঁজে বের করার কৌশল সম্পর্কে অন্তর্দৃষ্টি পেতে, আমরা [রক্ষণাবেক্ষণকারী সম্প্রদায়ের](http://maintainers.github.com/) ৪০ জন সদস্যের সাথে একটি কর্মশালা পরিচালনা করেছি , যেখানে আমরা ওপেন সোর্সে বার্নআউটের সাথে তাদের প্রত্যক্ষ অভিজ্ঞতা এবং তাদের কাজে ভারসাম্য বজায় রাখতে সাহায্য করেছে এমন অনুশীলনগুলি থেকে শিখতে পেরেছি। এখানেই ব্যক্তিগত বাস্তুবিদ্যার ধারণাটি কার্যকর হয়।
তাহলে, ব্যক্তিগত বাস্তুবিদ্যা কী? [রকউড লিডারশিপ ইনস্টিটিউটের বর্ণনা](https://rockwoodleadership.org/nonprofit-four-day-workweek-can-take-care-still-change-world/#:~:text=personal%20ecology%3A%20maintaining%20balance%2C%20pacing%20and%20efficiency%20to%20sustain%20your%20energy%20over%20a%20lifetime%20of%20activism) অনুসারে , এর মধ্যে রয়েছে " **আমাদের শক্তি সারা জীবন ধরে ধরে রাখার জন্য ভারসাম্য, গতি এবং দক্ষতা বজায় রাখা ।" এটি আমাদের কথোপকথনকে কাঠামোবদ্ধ করে, রক্ষণাবেক্ষণকারীদের তাদের কর্ম এবং অবদানকে সময়ের সাথে সাথে বিকশিত হওয়া একটি বৃহত্তর বাস্তুতন্ত্রের অংশ হিসাবে স্বীকৃতি দিতে সাহায্য করে।** [WHO দ্বারা সংজ্ঞায়িত](https://icd.who.int/browse/2025-01/foundation/en#129180281) দীর্ঘস্থায়ী কর্মক্ষেত্রের চাপের ফলে সৃষ্ট একটি সিন্ড্রোম, বার্নআউট, রক্ষণাবেক্ষণকারীদের মধ্যে অস্বাভাবিক নয়। এর ফলে প্রায়শই প্রেরণা হ্রাস পায়, মনোযোগ দিতে অক্ষমতা হয় এবং আপনার সাথে কাজ করা অবদানকারী এবং সম্প্রদায়ের প্রতি সহানুভূতির অভাব দেখা দেয়।
ব্যক্তিগত বাস্তুতন্ত্রের ধারণাটি গ্রহণ করে, রক্ষণাবেক্ষণকারীরা সক্রিয়ভাবে বার্নআউট এড়াতে পারেন, নিজের যত্নকে অগ্রাধিকার দিতে পারেন এবং তাদের সর্বোত্তম কাজ করার জন্য ভারসাম্যের অনুভূতি বজায় রাখতে পারেন।
## রক্ষণাবেক্ষণকারী হিসেবে নিজের যত্ন নেওয়ার এবং বার্নআউট এড়ানোর জন্য টিপস:
### ওপেন সোর্সে কাজ করার জন্য আপনার অনুপ্রেরণাগুলি চিহ্নিত করুন।
ওপেন সোর্স রক্ষণাবেক্ষণের কোন কোন অংশ আপনাকে উজ্জীবিত করে তা নিয়ে চিন্তা করার জন্য সময় নিন। আপনার অনুপ্রেরণাগুলি বোঝা আপনাকে এমনভাবে কাজকে অগ্রাধিকার দিতে সাহায্য করতে পারে যা আপনাকে নিযুক্ত রাখে এবং নতুন চ্যালেঞ্জের জন্য প্রস্তুত রাখে। ব্যবহারকারীদের কাছ থেকে ইতিবাচক প্রতিক্রিয়া, সম্প্রদায়ের সাথে সহযোগিতা এবং সামাজিকীকরণের আনন্দ, অথবা কোডে ডুব দেওয়ার সন্তুষ্টি, আপনার অনুপ্রেরণাগুলি স্বীকৃতি দেওয়া আপনার ফোকাসকে নির্দেশিত করতে সহায়তা করতে পারে।
### [](https://opensource.guide/maintaining-balance-for-open-source-maintainers/#reflect-on-what-causes-you-to-get-out-of-balance-and-stressed-out)আপনার ভারসাম্য নষ্ট হওয়ার এবং চাপের কারণ কী তা নিয়ে ভাবুন।
আমাদের কেন ক্লান্তি আসে তা বোঝা গুরুত্বপূর্ণ। ওপেন সোর্স রক্ষণাবেক্ষণকারীদের মধ্যে আমরা যে কয়েকটি সাধারণ বিষয় দেখেছি তা এখানে দেওয়া হল:
* **ইতিবাচক প্রতিক্রিয়ার অভাব:** ব্যবহারকারীরা অভিযোগ করলে যোগাযোগ করার সম্ভাবনা অনেক বেশি। সবকিছু ঠিকঠাক থাকলে, তারা চুপ করে থাকে। ইতিবাচক প্রতিক্রিয়া ছাড়াই সমস্যার ক্রমবর্ধমান তালিকা দেখা হতাশাজনক হতে পারে, যেখানে আপনার অবদান কীভাবে পরিবর্তন আনছে তা দেখানো হচ্ছে।
* **বিশ্রাম এবং রিচার্জ:** ওপেন সোর্সের বাইরে আপনার শখ এবং আগ্রহের জন্য সময় বের করুন। বিশ্রাম এবং পুনরুজ্জীবিত হওয়ার জন্য সপ্তাহান্তে ছুটি নিন - এবং আপনার উপলব্ধতা প্রতিফলিত করার জন্য আপনার [GitHub স্ট্যাটাস](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) সেট করুন ! একটি ভালো রাতের ঘুম দীর্ঘমেয়াদী আপনার প্রচেষ্টা বজায় রাখার ক্ষমতায় একটি বড় পরিবর্তন আনতে পারে।
যদি আপনার প্রকল্পের কিছু দিক বিশেষভাবে উপভোগ্য মনে হয়, তাহলে আপনার কাজকে এমনভাবে সাজানোর চেষ্টা করুন যাতে আপনি সারা দিন ধরে এটি অনুভব করতে পারেন।
* **সীমা নির্ধারণ করুন:** আপনি প্রতিটি অনুরোধে হ্যাঁ বলতে পারবেন না। এটি বলা এত সহজ হতে পারে, "আমি এখনই এটি করতে পারছি না এবং ভবিষ্যতে আমার কোনও পরিকল্পনা নেই," অথবা README-তে আপনার আগ্রহের বিষয়গুলি তালিকাভুক্ত করা। উদাহরণস্বরূপ, আপনি বলতে পারেন: "আমি কেবল সেইসব PR একত্রিত করি যেখানে স্পষ্টভাবে কারণগুলি তালিকাভুক্ত থাকে কেন সেগুলি তৈরি করা হয়েছিল," অথবা, "আমি কেবল বিকল্প বৃহস্পতিবার 6-7 টা থেকে 7 টা পর্যন্ত সমস্যাগুলি পর্যালোচনা করি।" এটি অন্যদের জন্য প্রত্যাশা নির্ধারণ করে এবং আপনার সময়ের উপর অবদানকারী বা ব্যবহারকারীদের চাহিদা কমাতে সাহায্য করার জন্য আপনাকে অন্য সময়ে নির্দেশ করার জন্য কিছু দেয়।
বিষাক্ত আচরণ এবং নেতিবাচক মিথস্ক্রিয়া বন্ধ করার ক্ষেত্রে দৃঢ় হতে শিখুন। যে বিষয়গুলিতে আপনার আগ্রহ নেই, সেগুলিতে শক্তি না দেওয়া ঠিক আছে।
মনে রাখবেন, ব্যক্তিগত বাস্তুতন্ত্র একটি চলমান অনুশীলন যা আপনার ওপেন সোর্স যাত্রায় অগ্রগতির সাথে সাথে বিকশিত হবে। স্ব-যত্নকে অগ্রাধিকার দিয়ে এবং ভারসাম্যের অনুভূতি বজায় রেখে, আপনি কার্যকরভাবে এবং টেকসইভাবে ওপেন সোর্স সম্প্রদায়ে অবদান রাখতে পারেন, দীর্ঘমেয়াদে আপনার মঙ্গল এবং আপনার প্রকল্পগুলির সাফল্য উভয়ই নিশ্চিত করতে পারেন।
## Additional Resources
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## অবদানকারীরা
এই নির্দেশিকার জন্য আমাদের সাথে তাদের অভিজ্ঞতা এবং টিপস ভাগ করে নেওয়া সমস্ত রক্ষণাবেক্ষণকারীকে অনেক ধন্যবাদ!
এই নির্দেশিকাটি [@abbycabs](https://github.com/abbycabs) লিখেছেন এবং এর অবদান:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + আরও অনেকে!
বাংলায় অনুবাদ করেছেন:
[@STANTHEGR8](https://github.com/STANTHEGR8)
================================================
FILE: _articles/bn/metrics.md
================================================
---
lang: bn
title: Open Source Metrics
description: Make informed decisions to help your open source project thrive by measuring and tracking its success.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Why measure anything?
Data, when used wisely, can help you make better decisions as an open source maintainer.
With more information, you can:
* Understand how users respond to a new feature
* Figure out where new users come from
* Identify, and decide whether to support, an outlier use case or functionality
* Quantify your project's popularity
* Understand how your project is used
* Raise money through sponsorships and grants
For example, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) finds that Google Analytics helps them prioritize work:
> Homebrew is provided free of charge and run entirely by volunteers in their spare time. As a result, we do not have the resources to do detailed user studies of Homebrew users to decide on how best to design future features and prioritise current work. Anonymous aggregate user analytics allow us to prioritise fixes and features based on how, where and when people use Homebrew.
Popularity isn't everything. Everybody gets into open source for different reasons. If your goal as an open source maintainer is to show off your work, be transparent about your code, or just have fun, metrics may not be important to you.
If you _are_ interested in understanding your project on a deeper level, read on for ways to analyze your project's activity.
## Discovery
Before anybody can use or contribute back to your project, they need to know it exists. Ask yourself: _are people finding this project?_

If your project is hosted on GitHub, [you can view](https://help.github.com/articles/about-repository-graphs/#traffic) how many people land on your project and where they come from. From your project's page, click "Insights", then "Traffic". On this page, you can see:
* **Total page views:** Tells you how many times your project was viewed
* **Total unique visitors:** Tells you how many people viewed your project
* **Referring sites:** Tells you where visitors came from. This metric can help you figure out where to reach your audience and whether your promotion efforts are working.
* **Popular content:** Tells you where visitors go on your project, broken down by page views and unique visitors.
[GitHub stars](https://help.github.com/articles/about-stars/) can also help provide a baseline measure of popularity. While GitHub stars don't necessarily correlate to downloads and usage, they can tell you how many people are taking notice of your work.
You may also want to [track discoverability in specific places](https://opensource.com/business/16/6/pirate-metrics): for example, Google PageRank, referral traffic from your project's website, or referrals from other open source projects or websites.
## Usage
People are finding your project on this wild and crazy thing we call the internet. Ideally, when they see your project, they'll feel compelled to do something. The second question you'll want to ask is: _are people using this project?_
If you use a package manager, such as npm or RubyGems.org, to distribute your project, you may be able to track your project's downloads.
Each package manager may use a slightly different definition of "download", and downloads do not necessarily correlate to installs or use, but it provides some baseline for comparison. Try using [Libraries.io](https://libraries.io/) to track usage statistics across many popular package managers.
If your project is on GitHub, navigate again to the "Traffic" page. You can use the [clone graph](https://github.com/blog/1873-clone-graphs) to see how many times your project has been cloned on a given day, broken down by total clones and unique cloners.

If usage is low compared to the number of people discovering your project, there are two issues to consider. Either:
* Your project isn't successfully converting your audience, or
* You're attracting the wrong audience
For example, if your project lands on the front page of Hacker News, you'll probably see a spike in discovery (traffic), but a lower conversion rate, because you're reaching everyone on Hacker News. If your Ruby project is featured at a Ruby conference, however, you're more likely to see a high conversion rate from a targeted audience.
Try to figure out where your audience is coming from and ask others for feedback on your project page to figure out which of these two issues you're facing.
Once you know that people are using your project, you might want to try to figure out what they are doing with it. Are they building on it by forking your code and adding features? Are they using it for science or business?
## Retention
People are finding your project and they're using it. The next question you'll want to ask yourself is: _are people contributing back to this project?_
It's never too early to start thinking about contributors. Without other people pitching in, you risk putting yourself into an unhealthy situation where your project is _popular_ (many people use it) but not _supported_ (not enough maintainer time to meet demand).
Retention also requires an [inflow of new contributors](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), as previously active contributors will eventually move on to other things.
Examples of community metrics that you may want to regularly track include:
* **Total contributor count and number of commits per contributor:** Tells you how many contributors you have, and who's more or less active. On GitHub, you can view this under "Insights" -> "Contributors." Right now, this graph only counts contributors who have committed to the default branch of the repository.

* **First time, casual, and repeat contributors:** Helps you track whether you're getting new contributors, and whether they come back. (Casual contributors are contributors with a low number of commits. Whether that's one commit, less than five commits, or something else is up to you.) Without new contributors, your project's community can become stagnant.
* **Number of open issues and open pull requests:** If these numbers get too high, you might need help with issue triaging and code reviews.
* **Number of _opened_ issues and _opened_ pull requests:** Opened issues means somebody cares enough about your project to open an issue. If that number increases over time, it suggests people are interested in your project.
* **Types of contributions:** For example, commits, fixing typos or bugs, or commenting on an issue.
## Maintainer activity
Finally, you'll want to close the loop by making sure your project's maintainers are able to handle the volume of contributions received. The last question you'll want to ask yourself is: _am I (or are we) responding to our community?_
Unresponsive maintainers become a bottleneck for open source projects. If someone submits a contribution but never hears back from a maintainer, they may feel discouraged and leave.
[Research from Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) suggests that maintainer responsiveness is a critical factor in encouraging repeat contributions.
Consider [tracking how long it takes for you (or another maintainer) to respond to contributions](https://github.blog/2023-07-19-metrics-for-issues-pull-requests-and-discussions/), whether an issue or a pull request. Responding doesn't require taking action. It can be as simple as saying: _"Thanks for your submission! I'll review this within the next week."_
You could also measure the time it takes to move between stages in the contribution process, such as:
* Average time an issue remains open
* Whether issues get closed by PRs
* Whether stale issues get closed
* Average time to merge a pull request
## Use 📊 to learn about people
Understanding metrics will help you build an active, growing open source project. Even if you don't track every metric on a dashboard, use the framework above to focus your attention on the type of behavior that will help your project thrive.
[CHAOSS](https://chaoss.community/) is a welcoming, open source community focused on analytics, metrics and software for community health.
================================================
FILE: _articles/bn/security-best-practices-for-your-project.md
================================================
---
lang: bn
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/bn/starting-a-project.md
================================================
---
lang: bn
title: Starting an Open Source Project
description: Learn more about the world of open source and get ready to launch your own project.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## The "what" and "why" of open source
So you're thinking about getting started with open source? Congratulations! The world appreciates your contribution. Let's talk about what open source is and why people do it.
### What does "open source" mean?
When a project is open source, that means **anybody is free to use, study, modify, and distribute your project for any purpose.** These permissions are enforced through [an open source license](https://opensource.org/licenses).
Open source is powerful because it lowers the barriers to adoption and collaboration, allowing people to spread and improve projects quickly. Also because it gives users a potential to control their own computing, relative to closed source. For example, a business using open source software has the option to hire someone to make custom improvements to the software, rather than relying exclusively on a closed source vendor's product decisions.
_Free software_ refers to the same set of projects as _open source_. Sometimes you'll also see [these terms](https://en.wikipedia.org/wiki/Free_and_open-source_software) combined as "free and open source software" (FOSS) or "free, libre, and open source software" (FLOSS). _Free_ and _libre_ refer to freedom, [not price](#does-open-source-mean-free-of-charge).
### Why do people open source their work?
[There are many reasons](https://ben.balter.com/2015/11/23/why-open-source/) why a person or organization would want to open source a project. Some examples include:
* **Collaboration:** Open source projects can accept changes from anybody in the world. [Exercism](https://github.com/exercism/), for example, is a programming exercise platform with over 350 contributors.
* **Adoption and remixing:** Open source projects can be used by anyone for nearly any purpose. People can even use it to build other things. [WordPress](https://github.com/WordPress), for example, started as a fork of an existing project called [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparency:** Anyone can inspect an open source project for errors or inconsistencies. Transparency matters to governments like [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) or the [United States](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), regulated industries like banking or healthcare, and security software like [Let's Encrypt](https://github.com/letsencrypt).
Open source isn't just for software, either. You can open source everything from data sets to books. Check out [GitHub Explore](https://github.com/explore) for ideas on what else you can open source.
### Does open source mean "free of charge"?
One of open source's biggest draws is that it does not cost money. "Free of charge", however, is a byproduct of open source's overall value.
Because [an open source license requires](https://opensource.org/definition-annotated/) that anyone can use, modify, and share your project for nearly any purpose, projects themselves tend to be free of charge. If the project cost money to use, anyone could legally make a copy and use the free version instead.
As a result, most open source projects are free, but "free of charge" is not part of the open source definition. There are ways to charge for open source projects indirectly through dual licensing or limited features, while still complying with the official definition of open source.
## Should I launch my own open source project?
The short answer is yes, because no matter the outcome, launching your own project is a great way to learn how open source works.
If you've never open sourced a project before, you might be nervous about what people will say, or whether anyone will notice at all. If this sounds like you, you're not alone!
Open source work is like any other creative activity, whether it's writing or painting. It can feel scary to share your work with the world, but the only way to get better is to practice - even if you don't have an audience.
If you're not yet convinced, take a moment to think about what your goals might be.
### Setting your goals
Goals can help you figure out what to work on, what to say no to, and where you need help from others. Start by asking yourself, _why am I open sourcing this project?_
There is no one right answer to this question. You may have multiple goals for a single project, or different projects with different goals.
If your only goal is to show off your work, you may not even want contributions, and even say so in your README. On the other hand, if you do want contributors, you'll invest time into clear documentation and making newcomers feel welcome.
As your project grows, your community may need more than just code from you. Responding to issues, reviewing code, and evangelizing your project are all important tasks in an open source project.
While the amount of time you spend on non-coding tasks will depend on the size and scope of your project, you should be prepared as a maintainer to address them yourself or find someone to help you.
**If you're part of a company open sourcing a project,** make sure your project has the internal resources it needs to thrive. You'll want to identify who's responsible for maintaining the project after launch, and how you'll share those tasks with your community.
If you need a dedicated budget or staffing for promotion, operations and maintaining the project, start those conversations early.
### Contributing to other projects
If your goal is to learn how to collaborate with others or understand how open source works, consider contributing to an existing project. Start with a project that you already use and love. Contributing to a project can be as simple as fixing typos or updating documentation.
If you're not sure how to get started as a contributor, check out our [How to Contribute to Open Source guide](../how-to-contribute/).
## Launching your own open source project
There is no perfect time to open source your work. You can open source an idea, a work in progress, or after years of being closed source.
Generally speaking, you should open source your project when you feel comfortable having others view, and give feedback on, your work.
No matter which stage you decide to open source your project, every project should include the following documentation:
* [Open source license](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Contributing guidelines](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code of conduct](../code-of-conduct/)
As a maintainer, these components will help you communicate expectations, manage contributions, and protect everyone's legal rights (including your own). They significantly increase your chances of having a positive experience.
If your project is on GitHub, putting these files in your root directory with the recommended filenames will help GitHub recognize and automatically surface them to your readers.
### Choosing a license
An open source license guarantees that others can use, copy, modify, and contribute back to your project without repercussions. It also protects you from sticky legal situations. **You must include a license when you launch an open source project.**
Legal work is no fun. The good news is that you can copy and paste an existing license into your repository. It will only take a minute to protect your hard work.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), and [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) are the most popular open source licenses, but [there are other options](https://choosealicense.com) to choose from.
When you create a new project on GitHub, you are given the option to select a license. Including an open source license will make your GitHub project open source.

If you have other questions or concerns around the legal aspects of managing an open source project, [we've got you covered](../legal/).
### Writing a README
READMEs do more than explain how to use your project. They also explain why your project matters, and what your users can do with it.
In your README, try to answer the following questions:
* What does this project do?
* Why is this project useful?
* How do I get started?
* Where can I get more help, if I need it?
You can use your README to answer other questions, like how you handle contributions, what the goals of the project are, and information about licenses and attribution. If you don't want to accept contributions, or your project is not yet ready for production, write this information down.
Sometimes, people avoid writing a README because they feel like the project is unfinished, or they don't want contributions. These are all very good reasons to write one.
For more inspiration, try using @dguo's ["Make a README" guide](https://www.makeareadme.com/) or @PurpleBooth's [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) to write a complete README.
When you include a README file in the root directory, GitHub will automatically display it on the repository homepage.
### Writing your contributing guidelines
A CONTRIBUTING file tells your audience how to participate in your project. For example, you might include information on:
* How to file a bug report (try using [issue and pull request templates](https://github.com/blog/2111-issue-and-pull-request-templates))
* How to suggest a new feature
* How to set up your environment and run tests
In addition to technical details, a CONTRIBUTING file is an opportunity to communicate your expectations for contributions, such as:
* The types of contributions you're looking for
* Your roadmap or vision for the project
* How contributors should (or should not) get in touch with you
Using a warm, friendly tone and offering specific suggestions for contributions (such as writing documentation, or making a website) can go a long way in making newcomers feel welcomed and excited to participate.
For example, [Active Admin](https://github.com/activeadmin/activeadmin/) starts [its contributing guide](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) with:
> First off, thank you for considering contributing to Active Admin. It's people like you that make Active Admin such a great tool.
In the earliest stages of your project, your CONTRIBUTING file can be simple. You should always explain how to report bugs or file issues, and any technical requirements (like tests) to make a contribution.
Over time, you might add other frequently asked questions to your CONTRIBUTING file. Writing down this information means fewer people will ask you the same questions over and over again.
For more help with writing your CONTRIBUTING file, check out @nayafia's [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) or @mozilla's ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/).
Link to your CONTRIBUTING file from your README, so more people see it. If you [place the CONTRIBUTING file in your project's repository](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub will automatically link to your file when a contributor creates an issue or opens a pull request.

### Establishing a code of conduct
Finally, a code of conduct helps set ground rules for behavior for your project's participants. This is especially valuable if you're launching an open source project for a community or company. A code of conduct empowers you to facilitate healthy, constructive community behavior, which will reduce your stress as a maintainer.
For more information, check out our [Code of Conduct guide](../code-of-conduct/).
In addition to communicating _how_ you expect participants to behave, a code of conduct also tends to describe who these expectations apply to, when they apply, and what to do if a violation occurs.
Much like open source licenses, there are also emerging standards for codes of conduct, so you don't have to write your own. The [Contributor Covenant](https://contributor-covenant.org/) is a drop-in code of conduct that is used by [over 40,000 open source projects](https://www.contributor-covenant.org/adopters), including Kubernetes, Rails, and Swift. No matter which text you use, you should be prepared to enforce your code of conduct when necessary.
Paste the text directly into a CODE_OF_CONDUCT file in your repository. Keep the file in your project's root directory so it's easy to find, and link to it from your README.
## Naming and branding your project
Branding is more than a flashy logo or catchy project name. It's about how you talk about your project, and who you reach with your message.
### Choosing the right name
Pick a name that is easy to remember and, ideally, gives some idea of what the project does. For example:
* [Sentry](https://github.com/getsentry/sentry) monitors apps for crash reporting
* [Thin](https://github.com/macournoyer/thin) is a fast and simple Ruby web server
If you're building upon an existing project, using their name as a prefix can help clarify what your project does (for example, [node-fetch](https://github.com/bitinn/node-fetch) brings `window.fetch` to Node.js).
Consider clarity above all. Puns are fun, but remember that some jokes might not translate to other cultures or people with different experiences from you. Some of your potential users might be company employees: you don't want to make them uncomfortable when they have to explain your project at work!
### Avoiding name conflicts
[Check for open source projects with a similar name](https://namechecker.vercel.app/), especially if you share the same language or ecosystem. If your name overlaps with a popular existing project, you might confuse your audience.
If you want a website, Twitter handle, or other properties to represent your project, make sure you can get the names you want. Ideally, [reserve those names now](https://instantdomainsearch.com/) for peace of mind, even if you don't intend to use them just yet.
Make sure that your project's name doesn't infringe upon any trademarks. A company might ask you to take down your project later on, or even take legal action against you. It's just not worth the risk.
You can check the [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) for trademark conflicts. If you're at a company, this is one of the things your [legal team can help you with](../legal/).
Finally, do a quick Google search for your project name. Will people be able to easily find your project? Does something else appear in the search results that you wouldn't want them to see?
### How you write (and code) affects your brand, too!
Throughout the life of your project, you'll do a lot of writing: READMEs, tutorials, community documents, responding to issues, maybe even newsletters and mailing lists.
Whether it's official documentation or a casual email, your writing style is part of your project's brand. Consider how you might come across to your audience and whether that is the tone you wish to convey.
Using warm, inclusive language (such as "them", even when referring to the single person) can go a long way in making your project feel welcoming to new contributors. Stick to simple language, as many of your readers may not be native English speakers.
Beyond how you write words, your coding style may also become part of your project's brand. [Angular](https://angular.io/guide/styleguide) and [jQuery](https://contribute.jquery.org/style-guide/js/) are two examples of projects with rigorous coding styles and guidelines.
It isn't necessary to write a style guide for your project when you're just starting out, and you may find that you enjoy incorporating different coding styles into your project anyway. But you should anticipate how your writing and coding style might attract or discourage different types of people. The earliest stages of your project are your opportunity to set the precedent you wish to see.
## Your pre-launch checklist
Ready to open source your project? Here's a checklist to help. Check all the boxes? You're ready to go! [Click "publish"](https://help.github.com/articles/making-a-private-repository-public/) and pat yourself on the back.
**Documentation**
**Code**
**People**
If you're an individual:
If you're a company or organization:
## You did it!
Congratulations on open sourcing your first project. No matter the outcome, working in public is a gift to the community. With every commit, comment, and pull request, you're creating opportunities for yourself and for others to learn and grow.
================================================
FILE: _articles/building-community.md
================================================
---
lang: en
title: Building Welcoming Communities
description: Building a community that encourages people to use, contribute to, and evangelize your project.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Setting your project up for success
You've launched your project, you're spreading the word, and people are checking it out. Awesome! Now, how do you get them to stick around?
A welcoming community is an investment into your project's future and reputation. If your project is just starting to see its first contributions, start by giving early contributors a positive experience, and make it easy for them to keep coming back.
### Make people feel welcome
One way to think about your project's community is through what @MikeMcQuaid calls the [contributor funnel](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

As you build your community, consider how someone at the top of the funnel (a potential user) might theoretically make their way to the bottom (an active maintainer). Your goal is to reduce friction at each stage of the contributor experience. When people have easy wins, they will feel incentivized to do more.
Start with your documentation:
* **Make it easy for someone to use your project.** [A friendly README](../starting-a-project/#writing-a-readme) and clear code examples will make it easier for anyone who lands on your project to get started.
* **Clearly explain how to contribute**, using [your CONTRIBUTING file](../starting-a-project/#writing-your-contributing-guidelines) and keeping your issues up-to-date.
* **Good first issues**: To help new contributors get started, consider explicitly [labeling issues that are simple enough for beginners to tackle](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub will then surface these issues in various places on the platform, increasing useful contributions, and reducing friction from users tackling issues that are too hard for their level.
[GitHub's 2017 Open Source Survey](http://opensourcesurvey.org/2017/) showed incomplete or confusing documentation is the biggest problem for open source users. Good documentation invites people to interact with your project. Eventually, someone will open an issue or pull request. Use these interactions as opportunities to move them down the funnel.
* **When someone new lands on your project, thank them for their interest!** It only takes one negative experience to make someone not want to come back.
* **Be responsive.** If you don't respond to their issue for a month, chances are, they've already forgotten about your project.
* **Be open-minded about the types of contributions you'll accept.** Many contributors start with a bug report or a small fix. There are [many ways to contribute](../how-to-contribute/#what-it-means-to-contribute) to a project. Let people help how they want to help.
* **If there's a contribution you disagree with,** thank them for their idea and [explain why](../best-practices/#learning-to-say-no) it doesn't fit into the scope of the project, linking to relevant documentation if you have it.
The majority of open source contributors are "casual contributors": people who contribute to a project only occasionally. A casual contributor may not have time to get fully up to speed with your project, so your job is to make it easy for them to contribute.
Encouraging other contributors is an investment in yourself, too. When you empower your biggest fans to run with the work they're excited about, there's less pressure to do everything yourself.
### Document everything
When you start a new project, it may feel natural to keep your work private. But open source projects thrive when you document your process in public.
When you write things down, more people can participate at every step of the way. You might get help on something you didn't even know you needed.
Writing things down means more than just technical documentation. Any time you feel the urge to write something down or privately discuss your project, ask yourself whether you can make it public.
Be transparent about your project's roadmap, the types of contributions you're looking for, how contributions are reviewed, or why you made certain decisions.
If you notice multiple users running into the same problem, document the answers in the README.
For meetings, consider publishing your notes or takeaways in a relevant issue. The feedback you'll get from this level of transparency may surprise you.
Documenting everything applies to the work you do, too. If you're working on a substantial update to your project, put it into a pull request and mark it as a work in progress (WIP). That way, other people can feel involved in the process early on.
### Be responsive
As you [promote your project](../finding-users), people will have feedback for you. They may have questions about how things work, or need help getting started.
Try to be responsive when someone files an issue, submits a pull request, or asks a question about your project. When you respond quickly, people will feel they are part of a dialogue, and they'll be more enthusiastic about participating.
Even if you can't review the request immediately, acknowledging it early helps increase engagement. Here's how @tdreyno responded to a pull request on [Middleman](https://github.com/middleman/middleman/pull/1466):

[A Mozilla study found that](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) contributors who received code reviews within 48 hours had a much higher rate of return and repeat contribution.
Conversations about your project could also be happening in other places around the internet, such as Stack Overflow, Twitter, or Reddit. You can set up notifications in some of these places so you are alerted when someone mentions your project.
### Give your community a place to congregate
There are two reasons to give your community a place to congregate.
The first reason is for them. Help people get to know each other. People with common interests will inevitably want a place to talk about it. And when communication is public and accessible, anybody can read past archives to get up to speed and participate.
The second reason is for you. If you don't give people a public place to talk about your project, they will likely contact you directly. In the beginning, it may seem easy enough to respond to private messages "just this once". But over time, especially if your project becomes popular, you will feel exhausted. Resist the temptation to communicate with people about your project in private. Instead, direct them to a designated public channel.
Public communication can be as simple as directing people to open an issue instead of emailing you directly or commenting on your blog. You could also set up a mailing list, or create a Twitter account, Slack, or IRC channel for people to talk about your project. Or try all of the above!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) sets aside office hours every other week to help community members:
> Kops also has time set aside every other week to offer help and guidance to the community. Kops maintainers have agreed to set aside time specifically dedicated to working with newcomers, helping with PRs, and discussing new features.
Notable exceptions to public communication are: 1) security issues and 2) sensitive code of conduct violations. You should always have a way for people to report these issues privately. If you don't want to use your personal email, set up a dedicated email address.
## Growing your community
Communities are extremely powerful. That power can be a blessing or a curse, depending on how you wield it. As your project's community grows, there are ways to help it become a force of construction, not destruction.
### Don't tolerate bad actors
Any popular project will inevitably attract people who harm, rather than help, your community. They may start unnecessary debates, quibble over trivial features, or bully others.
Do your best to adopt a zero-tolerance policy towards these types of people. If left unchecked, negative people will make other people in your community uncomfortable. They may even leave.
Regular debates over trivial aspects of your project distract others, including you, from focusing on important tasks. New people who arrive to your project may see these conversations and not want to participate.
When you see negative behavior happening on your project, call it out publicly. Explain, in a kind but firm tone, why their behavior is not acceptable. If the problem persists, you may need to [ask them to leave](../code-of-conduct/#enforcing-your-code-of-conduct). Your [code of conduct](../code-of-conduct/) can be a constructive guide for these conversations.
### Meet contributors where they're at
Good documentation only becomes more important as your community grows. Casual contributors, who may not otherwise be familiar with your project, read your documentation to quickly get the context they need.
In your CONTRIBUTING file, explicitly tell new contributors how to get started. You may even want to make a dedicated section for this purpose. [Django](https://github.com/django/django), for example, has a special landing page to welcome new contributors.

In your issue queue, label bugs that are suitable for different types of contributors: for example, [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, or _"documentation"_. [These labels](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) make it easy for someone new to your project to quickly scan your issues and get started.
Finally, use your documentation to make people feel welcome at every step of the way.
You will never interact with most people who land on your project. There may be contributions you didn't receive because somebody felt intimidated or didn't know where to get started. Even a few kind words can keep someone from leaving your project in frustration.
For example, here's how [Rubinius](https://github.com/rubinius/rubinius/) starts [its contributing guide](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> We want to start off by saying thank you for using Rubinius. This project is a labor of love, and we appreciate all of the users that catch bugs, make performance improvements, and help with documentation. Every contribution is meaningful, so thank you for participating. That being said, here are a few guidelines that we ask you to follow so we can successfully address your issue.
### Share ownership of your project
People are excited to contribute to projects when they feel a sense of ownership. That doesn't mean you need to turn over your project's vision or accept contributions you don't want. But the more you give credit to others, the more they'll stick around.
See if you can find ways to share ownership with your community as much as possible. Here are some ideas:
* **Resist fixing easy (non-critical) bugs.** Instead, use them as opportunities to recruit new contributors, or mentor someone who'd like to contribute. It may seem unnatural at first, but your investment will pay off over time. For example, @michaeljoseph asked a contributor to submit a pull request on a [Cookiecutter](https://github.com/audreyr/cookiecutter) issue below, rather than fix it himself.

* **Start a CONTRIBUTORS or AUTHORS file in your project** that lists everyone who's contributed to your project, like [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md) does.
* If you've got a sizable community, **send out a newsletter or write a blog post** thanking contributors. Rust's [This Week in Rust](https://this-week-in-rust.org/) and Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) are two good examples.
* **Give every contributor commit access.** @felixge found that this made people [more excited to polish their patches](https://felixge.de/2013/03/11/the-pull-request-hack.html), and he even found new maintainers for projects that he hadn't worked on in awhile.
* If your project is on GitHub, **move your project from your personal account to an [Organization](https://help.github.com/articles/creating-a-new-organization-account/)** and add at least one backup admin. Organizations make it easier to work on projects with external collaborators.
The reality is that [most projects only have](https://peerj.com/preprints/1233/) one or two maintainers who do most of the work. The bigger your project, and the bigger your community, the easier it is to find help.
While you may not always find someone to answer the call, putting a signal out there increases the chances that other people will pitch in. And the earlier you start, the sooner people can help.
## Resolving conflicts
In the early stages of your project, making major decisions is easy. When you want to do something, you just do it.
As your project becomes more popular, more people will take interest in the decisions you make. Even if you don't have a big community of contributors, if your project has a lot of users, you'll find people weighing in on decisions or raising issues of their own.
For the most part, if you've cultivated a friendly, respectful community and documented your processes openly, your community should be able to find resolution. But sometimes you run into an issue that's a bit harder to address.
### Set the bar for kindness
When your community is grappling with a difficult issue, tempers may rise. People may become angry or frustrated and take it out on one another, or on you.
Your job as a maintainer is to keep these situations from escalating. Even if you have a strong opinion on the topic, try to take the position of a moderator or facilitator, rather than jumping into the fight and pushing your views. If someone is being unkind or monopolizing the conversation, [act immediately](../building-community/#dont-tolerate-bad-actors) to keep discussions civil and productive.
Other people are looking to you for guidance. Set a good example. You can still express disappointment, unhappiness, or concern, but do so calmly.
Keeping your cool isn't easy, but demonstrating leadership improves the health of your community. The internet thanks you.
### Treat your README as a constitution
Your README is [more than just a set of instructions](../starting-a-project/#writing-a-readme). It's also a place to talk about your goals, product vision, and roadmap. If people are overly focused on debating the merit of a particular feature, it may help to revisit your README and talk about the higher vision of your project. Focusing on your README also depersonalizes the conversation, so you can have a constructive discussion.
### Focus on the journey, not the destination
Some projects use a voting process to make major decisions. While sensible at first glance, voting emphasizes getting to an "answer," rather than listening to and addressing each other's concerns.
Voting can become political, where community members feel pressured to do each other favors or vote a certain way. Not everybody votes, either, whether it's the [silent majority](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) in your community, or current users who didn't know a vote was taking place.
Sometimes, voting is a necessary tiebreaker. As much as you are able, however, emphasize ["consensus seeking"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) rather than consensus.
Under a consensus seeking process, community members discuss major concerns until they feel they have been adequately heard. When only minor concerns remain, the community moves forward. "Consensus seeking" acknowledges that a community may not be able to reach a perfect answer. Instead, it prioritizes listening and discussion.
Even if you don't actually adopt a consensus seeking process, as a project maintainer, it's important that people know you are listening. Making other people feel heard, and committing to resolving their concerns, goes a long way to diffuse sensitive situations. Then, follow up on your words with actions.
Don't rush into a decision for the sake of having a resolution. Make sure that everybody feels heard and that all information has been made public before moving toward a resolution.
### Keep the conversation focused on action
Discussion is important, but there is a difference between productive and unproductive conversations.
Encourage discussion so long as it is actively moving towards resolution. If it's clear that conversation is languishing or going off-topic, jabs are getting personal, or people are quibbling about minor details, it's time to shut it down.
Allowing these conversations to continue is not only bad for the issue at hand, but bad for the health of your community. It sends a message that these types of conversations are permitted or even encouraged, and it can discourage people from raising or resolving future issues.
With every point made by you or by others, ask yourself, _"How does this bring us closer to a resolution?"_
If the conversation is starting to unravel, ask the group, _"Which steps should we take next?"_ to refocus the conversation.
If a conversation clearly isn't going anywhere, there are no clear actions to be taken, or the appropriate action has already been taken, close the issue and explain why you closed it.
### Pick your battles wisely
Context is important. Consider who is involved in the discussion and how they represent the rest of the community.
Is everybody in the community upset about, or even engaged with, this issue? Or is a lone troublemaker? Don't forget to consider your silent community members, not just the active voices.
If the issue does not represent the broader needs of your community, you may just need to acknowledge the concerns of a few people. If this is a recurring issue without a clear resolution, point them to previous discussions on the topic and close the thread.
### Identify a community tiebreaker
With a good attitude and clear communication, most difficult situations are resolvable. However, even in a productive conversation, there can simply be a difference in opinion on how to proceed. In these cases, identify an individual or group of people that can serve as a tiebreaker.
A tiebreaker could be the primary maintainer of the project, or it could be a small group of people who make a decision based on voting. Ideally, you've identified a tiebreaker and the associated process in a GOVERNANCE file before you ever have to use it.
Your tiebreaker should be a last resort. Divisive issues are an opportunity for your community to grow and learn. Embrace these opportunities and use a collaborative process to move to a resolution wherever possible.
## Community is the ❤️ of open source
Healthy, thriving communities fuel the thousands of hours poured into open source every week. Many contributors point to other people as the reason for working - or not working - on open source. By learning how to tap into that power constructively, you'll help someone out there have an unforgettable open source experience.
================================================
FILE: _articles/code-of-conduct.md
================================================
---
lang: en
title: Your Code of Conduct
description: Facilitate healthy and constructive community behavior by adopting and enforcing a code of conduct.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Why do I need a code of conduct?
A code of conduct is a document that establishes expectations for behavior for your project's participants. Adopting, and enforcing, a code of conduct can help create a positive social atmosphere for your community.
Codes of conduct help protect not just your participants, but yourself. If you maintain a project, you may find that unproductive attitudes from other participants can make you feel drained or unhappy about your work over time.
A code of conduct empowers you to facilitate healthy, constructive community behavior. Being proactive reduces the likelihood that you, or others, will become fatigued with your project, and helps you take action when someone does something you don't agree with.
## Establishing a code of conduct
Try to establish a code of conduct as early as possible: ideally, when you first create your project.
In addition to communicating your expectations, a code of conduct describes the following:
* Where the code of conduct takes effect _(only on issues and pull requests, or community activities like events?)_
* Whom the code of conduct applies to _(community members and maintainers, but what about sponsors?)_
* What happens if someone violates the code of conduct
* How someone can report violations
Wherever you can, use prior art. The [Contributor Covenant](https://contributor-covenant.org/) is a drop-in code of conduct that is used by over 40,000 open source projects, including Kubernetes, Rails, and Swift.
The [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) are also two good code of conduct examples.
Place a CODE_OF_CONDUCT file in your project's root directory, and make it visible to your community by linking it from your CONTRIBUTING or README file.
## Deciding how you'll enforce your code of conduct
You should explain how your code of conduct will be enforced **_before_** a violation occurs. There are several reasons to do so:
* It demonstrates that you are serious about taking action when it's needed.
* Your community will feel more reassured that complaints actually get reviewed.
* You'll reassure your community that the review process is fair and transparent, should they ever find themselves investigated for a violation.
You should give people a private way (such as an email address) to report a code of conduct violation and explain who receives that report. It could be a maintainer, a group of maintainers, or a code of conduct working group.
Don't forget that someone might want to report a violation about a person who receives those reports. In this case, give them an option to report violations to someone else. For example, @ctb and @mr-c [explain on their project](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by emailing **khmer-project@idyll.org** which only goes to C. Titus Brown and Michael R. Crusoe. To report an issue involving either of them please email **Judi Brown Clarke, Ph.D.** the Diversity Director at the BEACON Center for the Study of Evolution in Action, an NSF Center for Science and Technology.*
For inspiration, check out Django's [enforcement manual](https://www.djangoproject.com/conduct/enforcement-manual/) (though you may not need something this comprehensive, depending on the size of your project).
## Enforcing your code of conduct
Sometimes, despite your best efforts, somebody will do something that violates this code. There are several ways to address negative or harmful behavior when it comes up.
### Gather information about the situation
Treat each community member's voice as important as your own. If you receive a report that someone violated the code of conduct, take it seriously and investigate the matter, even if it does not match your own experience with that person. Doing so signals to your community that you value their perspective and trust their judgment.
The community member in question may be a repeat offender who consistently makes others feel uncomfortable, or they may have only said or done something once. Both can be grounds for taking action, depending on context.
Before you respond, give yourself time to understand what happened. Read through the person's past comments and conversations to better understand who they are and why they might have acted in such a way. Try to gather perspectives other than your own about this person and their behavior.
### Take appropriate action
After gathering and processing sufficient information, you'll need to decide what to do. As you consider your next steps, remember that your goal as a moderator is to foster a safe, respectful, and collaborative environment. Consider not only how to deal with the situation in question, but how your response will affect the rest of your community's behavior and expectations moving forward.
When somebody reports a code of conduct violation, it is your, not their, job to handle it. Sometimes, the reporter is disclosing information at great risk to their career, reputation, or physical safety. Forcing them to confront their harasser could put the reporter in a compromising position. You should handle direct communication with the person in question, unless the reporter explicitly requests otherwise.
There are a few ways you might respond to a code of conduct violation:
* **Give the person in question a public warning** and explain how their behavior negatively impacted others, preferably in the channel where it occurred. Where possible, public communication conveys to the rest of the community that you take the code of conduct seriously. Be kind, but firm in your communication.
* **Privately reach out to the person** in question to explain how their behavior negatively impacted others. You may want to use a private communication channel if the situation involves sensitive personal information. If you communicate with someone privately, it's a good idea to CC those who first reported the situation, so they know you took action. Ask the reporting person for consent before CCing them.
Sometimes, a resolution cannot be reached. The person in question may become aggressive or hostile when confronted or does not change their behavior. In this situation, you may want to consider taking stronger action. For example:
* **Suspend the person** in question from the project, enforced through a temporary ban on participating in any aspect of the project
* **Permanently ban** the person from the project
Banning members should not be taken lightly and represents a permanent and irreconcilable difference of perspectives. You should only take these measures when it is clear that a resolution cannot be reached.
## Your responsibilities as a maintainer
A code of conduct is not a law that is enforced arbitrarily. You are the enforcer of the code of conduct and it's your responsibility to follow the rules that the code of conduct establishes.
As a maintainer you establish the guidelines for your community and enforce those guidelines according to the rules set forth in your code of conduct. This means taking any report of a code of conduct violation seriously. The reporter is owed a thorough and fair review of their complaint. If you determine that the behavior that they reported is not a violation, communicate that clearly to them and explain why you're not going to take action on it. What they do with that is up to them: tolerate the behavior that they had an issue with, or stop participating in the community.
A report of behavior that doesn't _technically_ violate the code of conduct may still indicate that there is a problem in your community, and you should investigate this potential problem and act accordingly. This may include revising your code of conduct to clarify acceptable behavior and/or talking to the person whose behavior was reported and telling them that while they did not violate the code of conduct, they are skirting the edge of what is expected and are making certain participants feel uncomfortable.
In the end, as a maintainer, you set and enforce the standards for acceptable behavior. You have the ability to shape the community values of the project, and participants expect you to enforce those values in a fair and even-handed way.
## Encourage the behavior you want to see in the world 🌎
When a project seems hostile or unwelcoming, even if it's just one person whose behavior is tolerated by others, you risk losing many more contributors, some of whom you may never even meet. It's not always easy to adopt or enforce a code of conduct, but fostering a welcoming environment will help your community grow.
================================================
FILE: _articles/de/best-practices.md
================================================
---
lang: de
title: Gute Maintainer-Praxis
description: Erleichtern Sie Ihr Leben als Open-Source-Maintainer! Von der Dokumentation von Prozessen bis zum Einsatz Ihrer Community.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Was bedeutet es, eine Software instand zu halten?
Wenn Sie ein Open-Source-Projekt pflegen, welches viele Leute benutzen, haben Sie vielleicht bemerkt, dass Sie weniger programmieren und mehr auf Issues reagieren.
In der Anfangsphase eines Projekts experimentieren Sie mit neuen Ideen und treffen Entscheidungen nach Ihren Wünschen. Da Ihr Projekt immer beliebter wird, werden Sie mehr mit Ihren Benutzer\*innen und Mitwirkenden zusammenarbeiten.
Die Instandhaltung eines Projekts erfordert mehr als nur Code. Diese Aufgaben sind oft unerwartet, aber genauso wichtig für ein wachsendes Projekt. Wir haben einige Möglichkeiten zusammengestellt, um Ihnen das Leben zu erleichtern, von der Dokumentation von Prozessen bis hin zur Nutzung Ihrer Community.
## Dokumentieren Sie Ihre Prozesse
Dinge aufzuschreiben, ist eine der wichtigsten Aufgaben, die Sie als Maintainer\*in erledigt.
Dokumentation verdeutlicht nicht nur Ihr eigenes Denken, sondern macht auch anderen Menschen verständlich, was Sie brauchen oder erwarten, bevor sie überhaupt fragen.
Dinge aufzuschreiben, erleichtert das "Nein" sagen, wenn etwas nicht in Ihren Projektrahmen passt. Es macht es auch einfacher für die Menschen, mitzumachen und zu helfen. Sie wissen nie, wer Ihr Projekt lesen oder nutzen könnte.
Selbst wenn Sie keine vollständigen Absätze niederschreiben: besser Stichworte aufzulisten, als gar nichts zu schreiben.
Denken Sie daran, Ihre Dokumentation auf dem neuesten Stand zu halten. Wenn Sie dies nicht immer tun können, löschen Sie Veraltetes oder markieren es als solches, damit Mitwirkende wissen, dass Updates gerne angenommen werden.
### Schreiben Sie Ihre Projektvision auf
Schreiben Sie zunächst die Ziele Ihres Projekts auf. Fügen Sie sie Ihrer README hinzu oder erstellen Sie eine separate Datei namens VISION. Wenn es andere dafür nützliche Artefakte gibt (z.B. eine Projekt-Roadmap) machen Sie auch diese öffentlich.
Eine klare, dokumentierte Vision hilft Ihnen, sich zu konzentrieren und den "Scope Creep" durch Beiträge anderer zu vermeiden.
Zum Beispiel entdeckte @lord, dass eine Projektvision ihm herauszufinden half, in welche Anfragen er Zeit stecken sollte. Als frisch gebackener Maintainer bedauerte er, dass er sich nicht auf den Kern seines Projekts fokussiert hat, als er seine erste Feature-Anfrage für [Slate](https://github.com/lord/slate) erhielt.
### Kommunizieren Sie Ihre Erwartungen
Es kann nervenaufreibend sein, Regeln niederzuschreiben. Manchmal hat man das Gefühl, das Verhalten anderer Leute zu überwachen, oder ein Spaßverderber zu sein.
Allerdings sind niedergeschriebene und fair durchgesetzte Regeln nützlich für Projektbetreuer\*innen. Sie verhindern, dass man in Dinge hineingezogen wird, die man nicht tun will.
Die meisten Menschen, die auf Ihr Projekt stoßen, wissen nichts über Sie oder Ihre Lebensumstände. Sie vermuten vielleicht, dass Sie dafür bezahlt werden, daran zu arbeiten, insbesondere wenn sie Ihr Projekt regelmäßig benutzen und davon abhängig sind. Vielleicht haben Sie mal viel Zeit in Ihr Projekt gesteckt, sind aber jetzt mit einem neuen Job oder Familienmitglied beschäftigt.
All das ist völlig in Ordnung! Stellen Sie nur sicher, dass andere davon erfahren.
Wenn Sie Ihr Projekt in Teilzeit oder auf freiwilliger Basis betreuen, seien Sie ehrlich, wie viel Zeit Ihnen zur Verfügung steht. Die weicht vermutlich von der Zeit ab, die Ihrer Meinung nach für das Projekt benötigt wird, oder die andere erwarten.
Hier sind ein paar Regeln, die es wert sind, aufgeschrieben zu werden:
* Wie ein Beitrag geprüft und akzeptiert wird (_Benötigen sie Tests? Ein Issue-Template?_)
* Die Arten von Beiträgen, die Sie akzeptieren werden (_Wollen Sie nur Hilfe bei einem bestimmten Teil Ihres Codes?_)
* Wenn es angebracht ist, den Vorgang zu verfolgen (z.B. _"Sie können innerhalb von 7 Tagen eine Antwort von einer Betreuerin oder einem Betreuer erwarten. Wenn Sie bis dahin noch nichts gehört haben, können Sie gerne den Thread pingen."_)
* Wie viel Zeit Sie für das Projekt aufwenden (z.B. _"Wir verbringen nur ca. 5 Stunden pro Woche für dieses Projekt"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules) und [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) bspw. geben ihren Betreuer\*innen und Mitwirkenden nützliche Grundregeln mit.
### Kommunikation öffentlich halten
Vergessen Sie nicht, auch Ihre Interaktionen zu dokumentieren. Wo immer Sie können, halten Sie die Kommunikation über Ihr Projekt öffentlich. Wenn jemand versucht, Sie privat zu kontaktieren, um eine Feature- oder Support-Anfrage zu besprechen, verweisen Sie sich höflich an einen öffentlichen Kommunikationskanal, wie z.B. eine Mailingliste oder einen Issue Tracker.
Wenn Sie sich mit anderen Betreuer\*innen treffen oder eine wichtige Entscheidung privat treffen, dokumentieren Sie diese Gespräche in der Öffentlichkeit, selbst wenn es nur um die Veröffentlichung einer Notiz geht.
Auf diese Weise haben alle Neulinge in Ihrer Community die selben Informationsmöglichkeiten wie Alteingesessene.
## Lernen, "Nein" zu sagen
Sie haben Dinge aufgeschrieben, und im Idealfall würden auch alle Ihre Dokumentation lesen. Allerdings werden Sie in Wirklichkeit andere daran erinnern müssen, dass dieses Wissen existiert.
Alles zu verschriftlichen hilft, persönliche Befindlichkeiten aus Situationen zu entfernen, in denen Sie Ihre Regeln durchsetzen müssen.
"Nein" zu sagen macht keinen Spaß, aber _"Ihr Beitrag entspricht nicht den Kriterien dieses Projekts"_ fühlt sich weniger persönlich an als _"Ich mag Ihren Beitrag nicht"_.
"Nein" zu sagen hilft in viele Situationen, in denen Sie als Maintainer\*in auftreten werden: unnötige Arbeit für andere erledigen, nicht in den Anwendungsbereich passende Feature-Anfragen, jemand zur Ordnung rufen, der eine Diskussion entgleist, usw.
### Das Gespräch freundlich halten
Die wichtigsten Orte, an denen Sie üben werden "Nein" zu sagen, sind Ihr Issue Tracker und die Pull-Request-Liste. Als Projektbetreuer\*in werden Sie unweigerlich Vorschläge erhalten, die Sie nicht akzeptieren wollen.
Vielleicht verändert ein dort eingereichter Beitrag den Umfang Ihres Projekts oder passt nicht zu Ihrer Vision. Vielleicht ist die Idee gut, aber schlecht umgesetzt.
Unabhängig vom Ablehnungsgrund ist es möglich, Beiträge, die nicht den Standards Ihres Projekts entsprechen, taktvoll zu behandeln.
Wenn Sie einen Beitrag erhalten, den Sie nicht annehmen möchten, könnte Ihre erste Reaktion darin bestehen, ihn zu ignorieren oder so zu tun, als ob Sie ihn nicht gesehen hätten. Dies könnte die Gefühle anderer Personen verletzen und sogar andere potenzielle Mitwirkende in Ihrer Gemeinschaft demotivieren.
Lassen Sie keinen unerwünschten Beitrag offen, weil Sie sich schuldig fühlen oder nett sein wollen. Im Laufe der Zeit werden unbeantwortete Issues und PRs die Projektarbeit stressiger und einschüchternder machen.
Schließen Sie Beiträge lieber sofort, von denen Sie wissen, dass Sie sie nicht annehmen wollen. Wenn Ihr Projekt bereits unter einem großen Rückstand leidet, hat @steveklabnik Vorschläge für [eine effiziente Behandlung von Issues](https://words.steveklabnik.com/how-to-be-an-open-source-gardener) (Englisch).
Zweitens sendet das Ignorieren von Beiträgen ein negatives Signal an die Gemeinschaft um Ihr Projekt. Einen Projektbeitrag einzureichen, kann einschüchternd sein, besonders für Neulinge. Auch wenn Sie ihren Beitrag nicht annehmen, danken Sie der einreichenden Person für ihr Interesse. Das ist ein großes Kompliment!
Wenn Sie einen Betrag nicht annehmen wollen:
* **Bedanken** Sie sich für den Beitrag.
* **Erklären Sie, warum es nicht in den Rahmen des Projekts passt** und geben Sie klare Verbesserungsvorschläge, wenn Sie dazu in der Lage sind. Seien Sie dabei freundlich, aber bestimmt.
* **Verlinken Sie auf die entsprechende Dokumentation**, wenn Sie diese haben. Wenn Sie wiederholt ähnliche Beiträge bekommen, die Sie nicht akzeptieren wollen, weisen Sie darauf in Ihrer Dokumentation hin, um weitere Wiederholungen zu vermeiden.
* **Schließen Sie die Anfrage**
Sie sollten nicht mehr als 1-2 Sätze benötigen, um zu antworten. Als beispielsweise ein Benutzer von [celery](https://github.com/celery/celery/) einen Windows-bezogenen Fehler meldete, [antwortet](https://github.com/celery/celery/issues/3383) @berkerpeksag mit:

Wenn Ihnen der Gedanke, "Nein" zu sagen, Angst macht, sind Sie nicht allein. Wie @jessfraz [es formulierte](https://blog.jessfraz.com/post/the-art-of-closing/):
> Ich habe mit Maintainern aus verschiedenen Open-Source-Projekten gesprochen, Mesos, Kubernetes, Chromium, und sie alle sind sich einig, dass einer der schwierigsten Aufgaben des Maintainertums darin besteht, "Nein" zu Patches zu sagen, die man nicht will.
>
> I've talked to maintainers from several different open source projects, Mesos, Kubernetes, Chromium, and they all agree one of the hardest parts of being a maintainer is saying "No" to patches you don't want.
Fühlen Sie sich nicht schuldig, weil Sie den Beitrag von jemandem nicht annehmen wollen. Die erste Regel in Open-Source-Projekten, [nach](https://twitter.com/solomonstre/status/715277134978113536) @shykes lautet: "'Nein' ist vorübergehend. 'Ja' ist für immer." Obwohl es gut ist, sich in die Begeisterung einer anderen Person hineinzufühlen, ist die Ablehnung eines Beitrags nicht dasselbe wie die Ablehnung der Person dahinter.
Wenn ein Beitrag nicht gut genug ist, sind Sie nicht verpflichtet, ihn anzunehmen. Seien Sie freundlich und reaktionsschnell, wenn Menschen zu Ihrem Projekt beitragen möchten. Aber akzeptieren Sie nur Änderungen, von denen Sie wirklich glauben, dass sie Ihr Projekt verbessern werden. Je öfter Sie "Nein" sagen, desto einfacher wird es. Versprochen.
### Seien Sie proaktiv
Um das Volumen der unerwünschten Beiträge zu reduzieren, erklären Sie den Prozess der Einreichung und Annahme von Beiträgen in einem "Contribution Guide".
Wenn Sie zu viele minderwertige Beiträge erhalten, verlangen Sie zum Beispiel, dass die Mitwirkenden vorher ein wenig Arbeit leisten, z.B.:
* eine Issue- oder PR-Vorlage/-Checkliste ausfüllen
* ein Issue erstellen, bevor sie ein Pull Request einreichen
Wer nicht Ihren Regeln folgt, dessen Issue können Sie sofort schließen und dabei auf Ihre Dokumentation verweisen.
Auch wenn sich dieser Ansatz zunächst unfreundlich anfühlt, ist es für beide Seiten gut, proaktiv zu sein. Es verringert die Chance, dass jemand zu viele Arbeitsstunden in ein Pull Request vergeudete, das Sie nicht akzeptieren werden. Und es macht Ihre Arbeit einfacher zu verwalten.
Manchmal, wenn Sie "Nein" sagen, kann Ihr potenzieller Mitwirkender verärgert sein oder Ihre Entscheidung kritisieren. Wenn deren Verhalten feindselig wird, unternehmen Sie [Schritte, um die Situation zu entschärfen](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) oder entfernen Sie sie sogar aus Ihrer Gemeinschaft, wenn keine Bereitschaft zur konstruktiven Zusammenarbeit erkennbar ist.
### Mentorschaft etablieren
Vielleicht reicht jemand in Ihrer Community regelmäßig Beiträge ein, die nicht den Standards Ihres Projekts entsprechen. Es kann für beide Seiten frustrierend sein, immer wieder Ablehnungen zu erfahren.
Wenn Sie sehen, dass jemand von Ihrem Projekt begeistert ist, aber ein wenig aufpoliert werden muss, haben Sie Geduld. Erklären Sie in jeder Situation deutlich, warum ein Beitrag nicht den Erwartungen des Projekts entspricht. Versuchen Sie, sie auf eine einfachere oder weniger zweideutige Aufgabe hinzuweisen. Beispielsweise ein Problem, das mit _"good first issue"_ gekennzeichnet ist. Wenn Sie die Zeit dazu haben, erwägen Sie folgendes: Die oder den Mitwirkenden durch den ersten Beitragsprozess hindurch anzuleiten oder finden Sie in Ihrer Community jemanden, der/die zu einer solchen Betreuung bereit sein könnte.
## Nutzen Sie Ihre Community
Sie müssen nicht alles selbst machen. Die Gemeinschaft Ihres Projekts existiert aus einem bestimmten Grund! Auch wenn Sie noch keine aktiv Beitragenden haben: Viele Benutzer\*innen können Ihnen bei der Projektarbeit helfen.
### Teilen Sie die Arbeitslast
Wenn Sie auf der Suche nach Mitwirkenden sind, fragen Sie doch einfach mal herum.
Sie können auch [Issues, die für Anfänger einfach genug sind, explizit markieren (Englisch)](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub weist auf solche Issues vermehrt hin, sodass beitragswillige Neulinge zu nützlicher Mitarbeit ermuntert werden.
Wenn Sie neue Mitwirkende bemerken, die wiederholt Beiträge leisten, erkennen Sie deren Arbeit an, indem Sie ihnen mehr Verantwortung anbieten. Dokumentieren Sie, wie andere in Führungsrollen hineinwachsen können, wenn sie es wünschen.
Andere zu ermutigen, [sich am Projekt zu beteiligen](../building-community/#teilen-sie-die-eigentümerschaft-an-ihrem-projekt), kann den eigenen Arbeitsaufwand erheblich reduzieren, wie @lmccart in ihrem Projekt [p5.js](https://github.com/processing/p5.js) feststellte.
Wenn Sie sich aus Ihrem Projekt zurückziehen müssen (egal ob temporär oder auf Dauer), ist es keine Schande, jemand anders zu bitten, für Sie zu übernehmen.
Wenn andere Leute von Ihrer Projektrichtung begeistert sind, gewähren Sie ihnen Commit-Rechte oder übergeben Sie formell die Kontrolle. Wenn jemand einen Fork Ihres Projektes erstellt hat, und es an anderer Stelle aktiv pflegt, sollten Sie in Erwägung ziehen, aus Ihrem ursprünglichen Projekt heraus auf den Fork zu verweisen. Es ist großartig, dass Menschen Ihr Projekt weiterleben sehen wollen!
@progrium [fand heraus](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) (Englisch), dass es seinem Projekt [Dokku](https://github.com/dokku/dokku) auch nach seinem Rückzug weiter zu leben half, dass er die Vision dokumentiert hatte,
> Ich habe eine Wiki-Seite geschrieben, die beschreibt, was ich wollte und warum ich es wollte. Aus irgendeinem Grund war es für mich eine Überraschung, dass die Maintainer\*innen das Projekt in diese Richtung bewegten! Ist es genau so passiert, wie ich es getan habe? Nicht immer. Aber sie brachten das Projekt trotzdem näher an das heran, was ich aufgeschrieben habe.
>
> I wrote a wiki page describing what I wanted and why I wanted it. For some reason it came as a surprise to me that the maintainers started moving the project in that direction! Did it happen exactly how I'd do it? Not always. But it still brought the project closer to what I wrote down.
### Lassen Sie andere ihre eigenen Lösungen bauen
Wenn ein potenzieller Mitwirkender eine andere Meinung über das Ziel Ihres Projekt hat, sollten Sie ihn oder sie vielleicht sanft ermutigen, an einem eigenem Fork zu arbeiten.
Ein Projekt zu forken, muss keine schlechte Sache sein. Projekte kopieren und modifizieren zu können, ist eine der besten Möglichkeiten, die Open Source mitbringt. Ihre Community-Mitglieder zur Arbeit an eigenen Forks zu ermutigen, kann ein notwendiges Ventil für Kreativität bieten, die nicht mit der Vision Ihres Projekts in Konflikt gerät.
Das Gleiche gilt für Benutzer\*innen, die wirklich eine Lösung haben möchten, deren Erstellung Sie einfach nicht leisten können. Das Anbieten von APIs und Plugin-Systemen kann anderen helfen, ihre eigenen Bedürfnisse zu erfüllen, ohne den Quellcode direkt ändern zu müssen. @orta [fand heraus](https://artsy.github.io/blog/2016/07/03/handling-big-projects/), dass Plugins für CocoaPods zu "einigen der interessantesten Ideen" führten:
> Es ist fast unvermeidlich, dass Maintainer, sobald ein Projekt groß wird, viel konservativer werden müssen, was die Einführung von neuem Code angeht. Sie werden gut darin, "Nein" zu sagen, aber viele Menschen haben legitime Bedürfnisse. Verwandeln Sie also Ihr Werkzeug in eine Plattform.
>
> It's almost inevitable that once a project becomes big, maintainers have to become a lot more conservative about how they introduce new code. You become good at saying "no", but a lot of people have legitimate needs. So, instead you end up converting your tool into a platform.
## Delegieren Sie an Bots
So wie es Aufgaben gibt, die andere Menschen Ihnen abnehmen können, gibt es auch Aufgaben, die kein Mensch jemals zu erledigen haben sollte. Bots sind Ihre Freunde. Verwenden Sie sie, um sich Ihr Leben als Maintainer\*in zu erleichtern.
### Verlangen Sie Tests und andere Kontrollen, um die Codequalität zu verbessern.
Eine der wichtigsten Möglichkeiten, wie Sie Ihr Projekt automatisieren können, ist das Hinzufügen von Tests.
Tests geben Mitwirkenden den Mut zu Änderungsvorschlägen, denn sie können nichts (unbemerkt) kaputt machen. Sie erleichtern es sich damit auch selbst, Beiträge schnell zu prüfen und anzunehmen. Je reaktionsschneller Sie sind, desto engagierter kann Ihre Gemeinschaft sein.
Richten Sie automatische Tests ein, die bei allen eingehenden Beiträgen ausgeführt werden und stellen Sie sicher, dass Ihre Tests problemlos lokal von den Mitwirkenden ausgeführt werden können. Verlangen Sie, dass alle Codebeiträge Ihre Tests bestehen, bevor sie eingereicht werden können. Sie sichern einen Mindeststandards für die Qualität aller Einreichungen. [Verpflichtende Status-Checks](https://help.github.com/articles/about-required-status-checks/) auf GitHub können dazu beitragen, dass keine Änderungsvorschläge angenommen werden, die nicht Ihre Tests bestanden werden.
Wenn Sie Tests hinzufügen, erklären Sie deren Funktionsweise in Ihrer CONTRIBUTING-Datei.
### Automatisieren Sie grundlegende Wartungsaufgaben
Viele Maintainer\*innen populärer Projekte sind mit ähnlichen Problemen konfrontiert, darum gibt es [viele fertig entwickelte Lösung](https://github.com/showcases/tools-for-open-source), die Wartungsarbeiten automatisieren können. Einige Beispiele:
* [semantic-release](https://github.com/semantic-release/semantic-release) automatisiert Ihre Veröffentlichungen
* [mention-bot](https://github.com/facebook/mention-bot) erwähnt potentielle Reviewer für Pull Requests
* [Danger](https://github.com/danger/danger) hilft bei der Automatisierung des Code Review
* [no-response](https://github.com/probot/no-response) schließt Issues deren Autor\*in nicht auf Nachfragen antwortet
* [dependabot](https://github.com/dependabot) prüft bekannte Abhängigkeitsdateien täglich und eröffnet Pull Requests, sobald Aktualisierungen verfügbar werden
Für Fehlerberichte und andere allgemeine Beiträge hat GitHub [Issue- und Pull-Request-Templates](https://github.com/blog/2111-issue-and-pull-request-templates), die Sie erstellen können, um die Kommunikation zu optimieren. @TalAter hat einen [Choose Your Own Adventure Guide](https://www.talater.com/open-source-templates/#/) erstellt, der Ihnen beim Schreiben dieser Vorlagen hilft.
Um Ihre E-Mail-Benachrichtigungen zu verwalten, können Sie [E-Mail-Filter](https://github.com/blog/2203-email-updates-about-your-own-activity) so einrichten, dass sie nach Priorität sortiert werden.
Wenn Sie etwas fortgeschrittener werden wollen, können Stilvorgaben und Linter die Projektbeiträge standardisieren, und so leichter überprüf- und akzeptierbar machen.
Wenn Ihre Standards jedoch zu kompliziert sind, erhöht dies möglicherweise die Barriere für Mitwirkende. Stellen Sie sicher, dass Sie nur gerade genug Regeln einführen, um allen das Leben leichter zu machen.
Wenn Sie sich nicht sicher sind, welche Tools Sie verwenden sollen, schauen Sie sich an, was andere beliebte Projekte tun, insbesondere die in Ihrem Ökosystem. Wie sieht beispielsweise der Beitragsprozess für andere Node-Module aus? Durch die Verwendung ähnlicher Tools und Ansätze wird Ihr Prozess auch für Ihre Zielgruppe vertrauter.
## Es ist okay, Pause zu machen
Open-Source-Arbeit hat Ihnen einmal Freude gemacht. Vielleicht bereitet sie Ihnen inzwischen Sorgen oder Schuldgefühle.
Vielleicht fühlen Sie sich überfordert oder spüren eine wachsende Angst, wenn Sie an Ihre Projekte denken. Und in der Zwischenzeit häufen sich die Issues und Pull Requests.
Burnout ist ein echtes und allgegenwärtiges Problem in der Open-Source-Arbeit, vor allem bei Maintainer\*innen. Dabei ist Ihr Wohlbefinden eine unabdingbare Voraussetzung für das Überleben eines jeden Open-Source-Projekts.
Obwohl es gar nicht extra gesagt werden müsste: Machen Sie ruhig mal Urlaub! Sie sollten darauf nicht warten, bis Sie sich ausgebrannt fühlen. @brettcannon, ein Python Core Developer, entschied sich nach 14 Jahren freiwilliger OSS-Arbeit für einen [einmonatigen Urlaub](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/).
Genau wie bei jeder anderen Art von Arbeit, werden Sie durch regelmäßige Pausen ausgeruht, glücklich und wieder gespannt auf Ihre Arbeit sein.
Manchmal kann es schwierig sein, eine Pause von der Open-Source-Arbeit zu machen, wenn es sich so anfühlt, als ob alle Sie brauchen. Vielleicht versuchen die Leute Ihnen für Ihre Abwesenheit Schuldgefühle einzureden.
Tun Sie Ihr Bestes, um Unterstützung für Ihre Benutzer\*innen und die Community zu finden, während Sie von einem Projekt weg sind. Wenn Sie nicht die Unterstützung finden, die Sie brauchen, machen Sie trotzdem eine Pause. Stellen Sie sicher, dass Sie kommunizieren, wann Sie nicht erreichbar sind, damit die Leute nicht durch Ihre mangelnde Reaktionsfähigkeit verwirrt werden.
Pausen gelten nicht nur für den Urlaub. Wenn Sie keine Open-Source-Arbeit am Wochenende oder während der Arbeitszeit machen wollen, teilen Sie diese Erwartungen anderen mit, damit sie Sie nicht stören.
## Achten Sie zuerst auf sich!
Die Aufrechterhaltung eines beliebten Projekts erfordert andere Fähigkeiten als die früheren Phasen des Wachstums, aber es ist nicht weniger lohnend. Als Maintainer\*in üben Sie Führung und persönliche Fähigkeiten auf einem Niveau, das nur wenige Menschen erleben. Es ist zwar nicht immer einfach zu handhaben, aber klare Grenzen zu setzen und nur das zu übernehmen, womit Sie sich wohlfühlen, hilft Ihnen, glücklich, ausgeruht und produktiv zu bleiben.
================================================
FILE: _articles/de/building-community.md
================================================
---
lang: de
title: Offenherzige Gemeinschaften aufbauen
description: Bauen Sie eine Community auf, die Menschen ermutigt, Ihr Projekt zu nutzen, zu unterstützen und weiter zu verbreiten.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Ihr Projekt zum Erfolg führen
Ihr gerade gestartetes Projekt wird schon verbreitet und Leute schauen vorbei? Fantastisch! Wie überzeugen Sie sie, da zu bleiben?
Eine einladende, offenherzige Gemeinschaft ist eine Investition in die Zukunft und in den Ruf Ihres Projekts. Wenn Ihr Projekt gerade erst die initialen Beiträge erfährt, fangen Sie damit an, den frühen Mitwirkenden eine positive Erfahrung zu bereiten, und machen Sie es ihnen leicht, wiederzukommen.
### Geben Sie Leuten das Gefühl, willkommen zu sein
Die Community Ihres Projekts kann nach @MikeMcQuaid als "Mitwirkendenrichter" ([contributor funnel](https://speakerdeck.com/mikemcquaid/the-open-source-contributor-funnel)) aufgefasst werden:

Während Sie Ihre Community aufbauen, überlegen Sie sich, wie jemand am Eingang des Trichters (potenzielle\*r Benutzer\*in) theoretisch den Weg nach unten finden könnte (aktive\*r Mitstreiter\*in). Ihr Ziel ist es, jede Phase des Mithelfens möglichst reibungslos zu gestalten. Denn wenn die Leute "leichte Beute" machen können, ermutigt sie dies zu weiteren Beiträgen.
Beginnen Sie mit der Dokumentation:
* **Helfen Sie beim Einstieg in ihr Projekt.** [Eine freundliche README](../starting-a-project/#eine-readme-schreiben) und anschauliche Codebeispiele erleichtern Allen, die auf Ihr Projekt stoßen, den Einstieg.
* **Erklären Sie in klaren Worten, wie Leute beitragen sollen**, bspw. in [einer CONTRIBUTING-Datei](../starting-a-project/#ihre-beitragsrichtlinien-aufschreiben), und indem Sie die Issues stets aktuell halten.
* **Good first issues**: Um neuen Mitwirkenden den Einstieg zu erleichtern, sollten Sie [für Anfänger\*innen geeignete Issues explizit kenntlich machen (Englisch)](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub weist auf solche Issues vermehrt hin, sodass beitragswillige Neulinge zu nützlicher Mitarbeit ermuntert werden, ohne sich erst durch vermutlich zu schwere Issues durchkämpfen zu müssen.
[GitHubs Open-Source-Umfrage aus dem Jahr 2017](http://opensourcesurvey.org/2017/) zeigte, dass unvollständige oder verwirrende Dokumentation das größte Problem für Open-Source-Anwender\*innen ist. Eine gute Dokumentation lädt zur Interaktion mit Ihrem Projekt ein. Wenn jemand ein Issue oder Pull Request erstellt, bietet sich für Sie die Möglichkeit, diese Person durch den Trichter zu bugsieren.
* **Wenn Leute neu zu Ihrem Projekt hinzustoßen, danken Sie ihnen für ihr Interesse!** Ansonsten braucht es nur eine negative Erfahrung, um jemanden nachhaltig abzuschrecken.
* **Antworten Sie schnell.** Wenn Sie einen Monat lang nicht auf jemandes Issue reagieren, ist es wahrscheinlich, dass diese Person Ihr Projekt bereits vergessen hat.
* **Nehmen Sie unterschiedliche Arten von Beiträgen an.** Viele Mitwirkende beginnen mit einem Fehlerbericht oder einer kleinen Korrektur: Es gibt [viele Möglichkeiten, einen Beitrag zu leisten](../how-to-contribute/#was-einen-beitrag-leisten-bedeutet) zu einem Projekt. Lassen Sie Leute so helfen, wie diese es möchten.
* **Wenn es einen Beitrag gibt, mit dem Sie nicht einverstanden sind,** bedanken Sie sich trotzdem, aber [erklären warum](../best-practices/#lernen-nein-zu-sagen) die Idee nicht in den Projektrahmen passt. Verlinken Sie auf relevante Dokumentation, wenn vorhanden.
Die Mehrheit der Open-Source-Mitwirkenden sind "Gelegenheitsmitwirkende": Personen, die nur gelegentlich an einem Projekt mitarbeiten. Möglicherweise haben sie nicht die Zeit, sich mit Ihrem Projekt vertraut zu machen. Daher ist es Ihre Aufgabe, es Leuten leicht zu machen, einen Beitrag zu leisten.
Andere zur Mitarbeit zu ermutigen, ist auch eine Investition in sich selbst: Wenn Sie Ihre größten Fans dazu befähigen, mit an etwas zu arbeiten, das sie begeistert, stehen Sie unter weniger Druck, alles selbst zu erledigen.
### Dokumentieren Sie alles
Wenn Sie ein neues Projekt starten, mag es sich normal anfühlen, Ihre Arbeit privat zu halten. Aber Open-Source-Projekte gedeihen, wenn Sie Ihren Prozess öffentlich dokumentieren.
Wenn Sie Dinge aufschreiben, können mehr Leute an jedem Schritt des Weges teilnehmen. Vielleicht bekommen Sie Hilfe zu etwas, von dem Sie nicht einmal wussten, dass Sie es brauchen.
Dinge aufzuschreiben, ist mehr als nur technische Dokumentation. Wenn Sie den Drang verspüren, etwas aufzuschreiben oder Ihr Projekt privat zu diskutieren, fragen Sie sich, ob Sie es nicht doch öffentlich machen können.
Seien Sie transparent, was die Roadmap Ihres Projekts angeht, die Arten von Beiträgen, nach denen Sie suchen, wie Beiträge überprüft werden, oder warum Sie bisherige Entscheidungen so getroffen haben.
Wenn Sie feststellen, dass mehrere Benutzer\*innen auf das gleiche Problem stoßen, dokumentieren Sie die Antworten in der README.
Ziehen Sie in Betracht, Besprechungsnotizen oder Schlussfolgerungen zu veröffentlichen. Die Rückmeldungen, die Sie aufgrund dieser Transparenz erhalten, könnten Sie überraschen.
Alles zu dokumentieren, gilt auch für Ihre Arbeit. Wenn Sie an einem umfangreichen Update Ihres Projekts arbeiten, erstellen Sie früh einen Pull Request und kennzeichnen Sie ihn als "Work in Progress" (WIP). So fühlen sich andere Personen frühzeitig in den Prozess eingebunden.
### Antworten Sie schnell
Wenn Sie [für Ihr Projekt werben](../finding-users), werden Sie sicherlich Rückmeldungen geben - vielleicht in Form von Fragen, wie etwas in Ihrem Projekt funktioniert, oder wo sie Hilfe für die Benutzung finden können.
Versuchen Sie, schnell zu reagieren, wenn jemand ein Issue oder Pull Request einreicht, oder eine Frage zu Ihrem Projekt stellt. Eine schnelle Antwort gibt den Leuten das Gefühl, an einem Dialog teilzunehmen, und das kann ermutigend wirken, weiter mitzuhelfen.
Auch wenn Sie die Anfrage nicht sofort inhaltlich prüfen können, hilft eine frühzeitige Bestätigung, das Engagement zu erhöhen. Ein Beispiel: @tdreyno reagiert auf einen Pull Request an [Middleman](https://github.com/middleman/middleman/pull/1466):

[Eine Mozilla-Studie fand heraus, dass](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) Mitwirkende, deren Codebeitrag innerhalb von 48 Stunden überprüft wurde, deutlich häufiger nochmal mithalfen.
Ihr Projekt kann an allen möglichen Stellen des Internets besprochen werden, wie z.B. auf Stack Overflow, Twitter oder Reddit. Dort können Sie Benachrichtigungen einrichten, um über Erwähnungen Ihres Projektes informiert zu werden.
### Geben Sie Ihrer Gemeinschaft einen Ort, an dem sie sich versammeln kann.
Es gibt zwei Gründe, Ihrer Gemeinschaft einen Ort der Begegnung zu geben.
Der erste Grund ist, Menschen mit gemeinsamen Interessen zu helfen, sich kennenzulernen. Menschen mit gemeinsamen Interessen wollen sich zwangsläufig treffen können, um über diese zu reden. Wenn die Kommunikation öffentlich und zugänglich ist, kann jeder die Archive lesen, um sich auf den neuesten Stand zu bringen und sich daran zu beteiligen.
Der zweite Grund nützt Ihnen selbst: Wenn Sie den Leuten _keinen_ öffentlichen Ort geben, um über Ihr Projekt zu sprechen, werden sie wahrscheinlich direkt mit Ihnen in Verbindung treten. Am Anfang mag es einfach erscheinen, hin und wieder mal auf private Nachrichten zu antworten, aber mit der Zeit, besonders wenn Ihr Projekt populär wird, werden Sie sich erschöpft fühlen und der Versuchung widerstehen, mit Leuten über Ihr Projekt privat zu kommunizieren, anstatt sie an einen bestimmten öffentlichen Kanal zu verweisen.
Öffentliche Kommunikation kann ganz einfach sein: Bitten Sie Leute, ein Issue zu öffnen, anstatt Ihnen direkt eine E-Mail zu schreiben oder in Ihr Blog zu kommentieren. Sie können für Leute, die über Ihr Projekt sprechen möchten, auch eine Mailingliste einrichten oder einen Twitter-Account, einen Slack- oder IRC-Kanal. Oder gleich alles auf einmal!
[Kubernetes' Kops](https://github.com/kubernetes/kops#getting-involved) legt alle zwei Wochen Bürozeiten fest, um den Mitglieder*innen der Gemeinschaft zu helfen:
> Die Kops-Betreuer\*innen haben sich bereit erklärt, Zeit einzuplanen für die Arbeit mit Neuankömmlingen, die Unterstützung von Pull Requests, sowie für die Diskussion über neue Funktionen.
>
> Kops also has time set aside every other week to offer help and guidance to the community. Kops maintainers have agreed to set aside time specifically dedicated to working with newcomers, helping with PRs, and discussing new features.
Wichtige Ausnahmen von öffentlicher Kommunikation sind: 1) Sicherheitsprobleme und 2) Verstöße gegen den Verhaltenskodex; Sie sollten immer eine Möglichkeit anbieten, solche Probleme privat zu melden. Wenn Sie Ihre persönliche E-Mail-Adresse dafür nicht verwenden möchten, richten Sie eine dedizierte Adresse ein.
## Ihre Nutzergemeinschaft vergrößern
Eine Gemeinschaft kann sehr kraftvoll sein. Dies kann zu Segen und Fluch werden, je nach Art der Nutzung. Wenn die Projektgemeinschaft wächst, gibt es Möglichkeiten, ihr zu einer konstruktiven Kraft zu verhelfen, anstatt zu einer destruktiven.
### Dulden Sie keine destruktiven Akteure
Jedes populäre Projekt wird unweigerlich Menschen anziehen, die Ihrer Gemeinschaft mehr schaden als helfen. Beispielsweise indem Sie können unnötige Debatten starten, über triviale Dinge streiten oder andere schikanieren.
Tun Sie Ihr Bestes, um eine Null-Toleranz-Politik gegenüber solchen Leuten zu verfolgen. Denn wenn obiges Verhalten unsanktioniert bleibt, werden andere Kontributor\*innen sich genervt fühlen und evtl. sogar Ihr Projekt verlassen.
Regelmäßige Debatten über triviale Aspekte Ihres Projekts lenken alle davon ab, sich auf wichtige Aufgaben zu konzentrieren. Neue Leute, die zu Ihrem Projekt kommen, können diese Gespräche sehen und wollen nicht teilnehmen.
Wenn Sie ein destruktives Verhalten in Ihrem Projekt beobachten, sprechen Sie es öffentlich an. Erklären Sie freundlich aber bestimmt, warum so etwas nicht akzeptabel ist. Wenn das Problem weiterbesteht, müssen Sie die [Verursacher\*innen bitten, das Projekt zu verlassen](../code-of-conduct/#ihre-verantwortung-als-maintainerin), Ihr [Verhaltenskodex](../code-of-conduct/) kann eine konstruktive Anleitung für solche Gespräche sein.
### Holen Sie Mitwirkende dort ab, wo sie sich stehen
Eine gute Dokumentation wird immer wichtiger, je mehr Ihre Community wächst. Mitwirkende, die nur gelegentlich Beiträge leisten und damit mit Ihrem Projekt nicht zwingend vertraut sind, lesen Ihre Dokumentation, um schnell den nötigen Überblick zu bekommen.
Geben Sie in Ihrer CONTRIBUTING-Datei explizit an, wie sie anfangen sollen. Vielleicht möchten Sie sogar eine eigene Sektion für diesen Zweck einrichten: [Django](https://github.com/django/django) zum Beispiel, hat eine spezielle Startseite, die neue Mitwirkende willkommen heißt.

Die Liste der Issues sollte durchsortiert sein, Bugs z.B. als solche markiert, sowie Issues auch für unterschiedliche potentielle Kontributor\*innen: z.B. [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, oder _"documentation"_. [Solche "Labels"](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) vereinfachen es Neuankömmlingen, sich in Ihrem Projekt zurechtzufinden und mit der Lösung eines Problems zu beginnen.
Nicht zuletzt sollten Sie die Dokumentation nutzen, um Leute mit offenen Armen zu empfangen und ihnen Schritt-für-Schritt zu helfen.
Sie werden mit den meisten Leuten, die auf Ihr Projekt stoßen, nie interagieren. Ihnen könnten Beiträge entgehen, weil jemand sich eingeschüchtert fühlte, oder nicht herausfand, was es denn zu tun gab. Schon ein paar freundliche Worte können verhindern, dass jemand einfach weiter zieht.
Zum Beispiel: [Rubinius](https://github.com/rubinius/rubinius/) beginnt [den Kontributionsratgeber](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md) mit:
> Zum Einstieg möchten wir Dir erstmal unseren Dank aussprechen, dass Du Rubinius nutzt. Dieses Projekt wurde mit viel Liebe aufgebaut und wir schätzen alle Benutzer\*innen, die Fehler aufspüren, Geschwindigkeitsverbesserungen vornehmen und bei der Dokumentation helfen. Jeder Beitrag bedeutet uns etwas, also vielen Dank für Ihre Teilnahme! Wir bitten Sie jedoch, einige Richtlinien zu befolgen, damit wir Ihr Issue erfolgreich bearbeiten können.
>
> We want to start off by saying thank you for using Rubinius. This project is a labor of love, and we appreciate all of the users that catch bugs, make performance improvements, and help with documentation. Every contribution is meaningful, so thank you for participating. That being said, here are a few guidelines that we ask you to follow so we can successfully address your issue.
### Teilen Sie die Eigentümerschaft an Ihrem Projekt
Leute sind begeistert davon, an Projekten mitzuwirken, wenn sie ein Gefühl für Verantwortung bekommen. Das bedeutet nicht, dass Sie Ihre Projektvision umdrehen müssen, oder Beiträge annehmen, die Sie nicht wollen. Je mehr Anerkennung Sie anderen Menschen jedoch schenken, desto eher werden diese bei Ihrem Projekt bleiben.
Schauen Sie, ob Sie Wege finden können, Verantwortlichkeiten so weit wie möglich mit Ihren Projektteilnehmern\*innen zu teilen:
* **Lassen Sie einfache (unkritische) Bugs unangetastet.** Nutzen Sie diese stattdessen als Gelegenheit, neue Mitwirkende zu rekrutieren, oder helfen Sie einem hilfsbereiten Neuling, den Prozess eines Bug-Fixes zu durchlaufen. Es mag zunächst unnatürlich erscheinen, aber Ihre Investition wird sich im Laufe der Zeit auszahlen. @michaeljoseph hat zum Beispiel einen Mitwirkenden gebeten, einen Pull Request zu einem der folgenden Probleme in [Cookiecutter](https://github.com/audreyr/cookiecutter) zu stellen, anstatt es selbst zu beheben.

* **Führen Sie eine CONTRIBUTORS- oder AUTHORS-Datei in Ihrem Projekt**, die alle Leute aufzählt, die einen Beitrag geleistet haben, wie z.B. bei [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* Wenn Sie schon eine etwas größere Gemeinschaft versammelt haben, **senden Sie eine Rundmail oder schreiben ins Blog**, dass Sie Kontributor\*innen danken. Rusts [This Week in Rust](https://this-week-in-rust.org/) und Hoodies [Shoutout-Grüße](http://hood.ie/blog/shoutouts-week-24.html) sind zwei gute Beispiele dafür.
* **Geben Sie allen Mitwirkenden Schreibzugriff.** @felixge fand heraus, dass dies Leute [zu mehr Feinschliff ihrer Beiträge anspornt](https://felixge.de/2013/03/11/the-pull-request-hack.html), und gewann sogar neue Maintainer\*innen für Projekte, an denen er selbst schon eine Weile nicht mehr arbeitete.
* Wenn Ihr Projekt auf GitHub liegt, **verschieben Sie es von Ihrem Privat-Konto in das einer [Organisation](https://help.github.com/articles/creating-a-new-organization-account/)** und fügen Sie zur Sicherheit mindestens eine\*n weitere\*n Administrator\*in hinzu. Organisationen machen die Zusammenarbeit mit externen Mithelfenden einfacher.
Realistischerweise haben [die meisten Projekte](https://peerj.com/preprints/1233/) nur einen oder zwei Verantwortliche, welche die meiste Arbeit erledigen. Ja größer Ihr Projekt, und je größer seine Nutzer\*innengemeinschaft, desto einfacher wird es sein, Hilfe zu finden.
Während Sie vielleicht nicht immer Leute finden, die einem Aufruf folgen, erhöht so ein Signals doch die Wahrscheinlichkeit, dass Andere mitmachen. Je früher Sie damit anfangen, desto eher können die Leute helfen.
## Konflikte beilegen
In der Anfangsphase Ihres Projekts ist es einfach, wichtige Entscheidungen zu treffen: Wenn Sie etwas tun wollen, dann tun Sie es einfach.
Je beliebter Ihr Projekt wird, desto mehr Menschen werden sich für von Ihnen getroffene Entscheidungen interessieren. Selbst wenn Sie keine große Gemeinschaft von Mitwirkenden haben: Wenn Ihr Projekt viele Benutzer\*innen hat, werden darunter Leute sein, die sich über Entscheidungen auslassen oder ihre eigenen Themen ansprechen.
Wenn Sie eine freundliche, respektvolle Gemeinschaft gepflegt und Ihre Prozesse offen dokumentiert haben, sollten alle zur Lösungsfindung in der Lage sein. Aber manchmal stoßen Sie auf ein Problem, das etwas schwieriger zu lösen ist.
### Setzen Sie die Messlatte für Freundlichkeit
Wenn sich Ihre Gemeinschaft mit einem schwierigen Thema auseinandersetzt, können sich Gemüter schnell mal erhitzen. Menschen können wütend oder frustriert werden und es an anderen oder an Ihnen auslassen.
Ihre Aufgabe als Maintainer\*in ist es, solche Situationen vor einer Eskalation zu schützen. Selbst wenn Sie eine klare eigene Meinung zu diesem Thema haben, versuchen Sie, die moderierende Position einzunehmen, anstatt sich in den Kampf zu stürzen und Ihre Ansichten durchzusetzen. Wenn jemand unfreundlich wird oder das Gespräch an sich reißt, [handeln Sie sofort](../building-community/#dulden-sie-keine-destruktiven-akteure), um die Diskussionen zivil und produktiv zu halten.
Andere Leute erwarten von Ihnen, ein gutes Beispiel abzugeben. Sie können immer noch Enttäuschung, Unzufriedenheit oder Besorgnis ausdrücken, aber tun Sie dies auf eine ruhige Art und Weise.
Es ist nicht einfach, einen kühlen Kopf zu bewahren, aber Führung zu zeigen, verbessert die Gesundheit der Gemeinschaft. Das Internet wird Ihnen dafür danken!
### Nutzen Sie die README als Verfassung
Ihre README-Datei ist [mehr als nur eine Anleitung](../starting-a-project/#eine-readme-schreiben). Sie ist auch das Dokument, das Ihre Ziele, Ihre Produktvision und Ihre Roadmap aufzeigt. Wenn die Leute sich zu sehr darauf konzentrieren, über die Vorzüge einer bestimmten Funktion zu diskutieren, kann es helfen, Ihre README zu überprüfen und das überragende Ziel Ihres Projekts anzusprechen. Der Verweis auf Ihre README entpersönlicht eine Diskussion auch, sodass Sie wieder konstruktiver geführt werden kann.
### Der Weg ist das Ziel
Einige Projekte eigene "Abstimmungsprozesse", um wichtige Entscheidungen zu treffen. Auf den ersten Blick ist es sinnvoll, so eine Antwort zu finden, anstatt sich gegenseitig zuzuhören und auf die Sichtweisen anderer einzugehen.
Abstimmungen können aber politisch werden, wenn sich die Community-Mitglieder unter Druck gesetzt fühlen, sich gegenseitig einen Gefallen zu tun oder eine bestimmte Wahl zu treffen. Außerdem stimmt nicht jeder mit ab, z.B. weil es ein [stille Mehrheit](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) in Ihrer Gemeinschaft geben könnte, oder neue Benutzer\*innen einfach nicht wussten, dass eine Abstimmung stattfindet.
Manchmal ist eine Abstimmung notwendig, um ein Patt aufzulösen. Versuchen Sie daher - so gut es geht - die [Konsensfindung](https://de.wikipedia.org/wiki/Konsensprinzip) statt den Konsens selbst zu betonen.
Im Rahmen der Konsensfindungsprozesses diskutieren die Mitglieder der Gemeinschaft wichtige Anliegen, bis sie das Gefühl haben, angemessen gehört worden zu sein. Wenn dann nur noch geringe Bedenken bestehen, kommt die Gemeinschaft voran. Die Konsensfindung erlaubt auch, dass eine Gemeinschaft möglicherweise keine perfekte Antwort finden kann. Stattdessen priorisiert sie das Zuhören und die Diskussion.
Auch wenn Sie als Projektbetreuer\*in keine Konsensfindung betreiben möchten, ist es wichtig, dass die Leute ein offenes Ohr bei Ihnen finden. Anderen zuzuhören, und sich für die Lösung ihrer Probleme einzusetzen, hilft beim Entschärfen sensibler Situationen sehr. Lassen Sie Ihren Worten aber auch Taten folgen.
Überstürzen Sie Entscheidungen nicht, nur um eine Lösung herbeizuführen. Stellen Sie sicher, dass jeder sich gehört fühlt und dass alle Informationen öffentlich gemacht wurden, bevor Sie sich auf eine Entscheidung zubewegen.
### Halten Sie Diskussionen fokussiert auf Aktionen
Diskussionen sind wichtig, aber es gibt einen Unterschied zwischen produktiven und unproduktiven Gesprächen.
Fördern Sie Diskussionen, die sich aktiv auf eine Lösung zubewegen: Wenn klar wird, dass Dinge zerredet werden, oder die Konversation vom Thema abweicht, persönliche Anfeindungen passieren, oder die Leute sich über kleine Details streiten, ist es Zeit für eine Beendigung der Diskussion.
Die Fortsetzung solcher Diskussionen ist nicht nur schlecht für das jeweilige Thema, sondern auch für die Gesundheit Ihrer Gemeinschaft. Die Botschaft zu vermitteln, dass unproduktive Diskussionen erlaubt oder sogar gefördert werden, könnte Leute zukünftig davon abgehalten werden, Probleme anzusprechen oder zu lösen.
Bei jedem Diskussionsbeitrag ihrerseits, oder von anderen, sollten Sie sich fragen _"Wie bringt uns dies einer Lösung näher?"_
Falls die Diskussion abdriftet, fragen Sie die Teilnehmer\*innen: _"Welche Schritte sollten wir als nächstes gehen?"_, um sie wieder zu fokussieren.
Wenn eine Diskussion offensichtlich nirgendwo hinführt, es keine klaren Maßnahmen zu ergreifen gibt, oder schon welche ergriffen wurden, schließen Sie das Issue und erklären Sie, warum Sie es geschlossen haben.
### Wählen Sie Auseinandersetzungen mit Bedacht
Der Kontext ist wichtig: Überlegen Sie, wer an der Diskussion beteiligt ist und wie die Teilnehmer\*innen den Rest der Gemeinschaft repräsentieren.
Ist jeder in der Community verärgert oder gar mit diesem Thema beschäftigt? Ist er oder sie ein\*e einzelne\*r Unruhestifter\*in? Berücksichtigen Sie nicht nur die Aktiven, sondern vergessen Sie Ihre stillen Community-Mitglieder\*innen nicht.
Wenn das Thema nicht die breiteren Bedürfnisse Ihrer Gemeinschaft widerspiegelt, müssen Sie vielleicht nur die Sorgen einiger Weniger anerkennen. Wenn es sich um ein wiederkehrendes Problem ohne klare Lösung handelt, weisen Sie sie auf frühere Diskussionen hin und schließen Sie das Issue.
### Identifizieren Sie einen Community-Tiebreaker
Mit einer positiven Herangehensweise und klarer Kommunikation sind selbst die schwierigsten Situationen lösbar. Aber auch in einem produktiven Gespräch kann es einfach zu Meinungsverschiedenheiten kommen. Identifizieren Sie dann eine Person oder Gruppe, die als Schiedsrichter\*in fungieren kann.
Ein\*e solche\*r Schiedsrichter\*in kann die oder der Hauptverantwortliche für das Projekt sein, oder eine kleine Gruppe von Leuten, die über eine Entscheidung abstimmen. Idealerweise haben Sie einen Tiebreaker und den damit verbundenen Prozess in einer GOVERNANCE-Datei identifiziert, bevor Sie diese verwenden müssen.
Ihr\*e Schiedsrichter\*in sollte der letzte Ausweg sein, denn zunächst entzweiend wirkende Probleme sind eine Chance für Ihre Gemeinschaft, zu wachsen und zu lernen. Nutzen Sie diese Möglichkeiten, um in einem gemeinsamen Prozess zu einer Lösung zu kommen, wo immer dies möglich ist.
## Das ❤️ von Open-Source sind Gemeinschaften
Gesunde, blühende Gemeinschaften sorgen für den Antrieb für Tausende von Stunden, die jede Woche in Open-Source gesteckt werden. Viele Mitwirkende verweisen auf andere Menschen als Grund dafür, an Open-Source zu arbeiten (oder eben nicht). Indem Sie lernen, diese Kraft konstruktiv zu nutzen, werden Sie jemandem da draußen helfen, ein unvergessliches Open-Source-Erlebnis zu haben.
================================================
FILE: _articles/de/code-of-conduct.md
================================================
---
lang: de
title: Ihr Verhaltenskodex
description: Fördern Sie ein gesundes und konstruktives Miteinander durch die Festlegung und Durchsetzung eines Verhaltenskodex.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Warum brauche ich einen Verhaltenskodex?
Ein Verhaltenskodex ist ein Dokument, das die Erwartungen an das Verhalten der Projektteilnehmer\*innen festlegt. Einen Verhaltenskodex festzulegen und durchzusetzen, kann dazu beitragen, eine positive soziale Atmosphäre für Ihre Community zu schaffen.
Verhaltenskodizes schützen nicht nur Ihre Mitwirkenden, sondern auch Sie selbst. Wenn Sie ein Projekt pflegen, werden Sie vielleicht feststellen, dass unproduktive Einstellungen von anderen dazu führen können, dass Sie sich im Laufe der Zeit ausgelaugt oder unglücklich über Ihre Arbeit fühlen.
Ein Verhaltenskodex bevollmächtigt Sie, ein gesundes, konstruktives Miteinander zu fördern. Proaktiv zu sein, verringert die Wahrscheinlichkeit, dass Sie oder andere projektmüde werden, und hilft Ihnen, Maßnahmen gegen unerwünschtes Verhalten zu ergreifen.
## Einen Verhaltenskodex festlegen
Versuchen Sie, so früh wie möglich einen Verhaltenskodex festzulegen: idealerweise, sobald Sie Ihr Projekt starten.
Neben der Klarstellung Ihrer Erwartungen beschreibt ein Verhaltenskodex Folgendes:
* Wo er gilt _(nur für Issue und Pull Requests oder auch bei Community-Veranstaltungen?)_
* Für wen er gilt _(Community-Mitglieder und Maintainer\*innen; Aber was ist mit den Sponsor\*innen?)_
* Was passiert, wenn jemand gegen ihn verstößt
* Wie jemand Verstöße melden kann
Wo immer Sie können, nutzen Sie Vorhandenes. Der [Contributor Covenant](https://contributor-covenant.org/) ist ein Verhaltenskodex, der von über 40.000 Open-Source-Projekten wie Kubernetes, Rails und Swift verwendet wird.
Der [Django-Verhaltenskodex](https://www.djangoproject.com/conduct/) und der [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) sind ebenfalls zwei gute Beispiele.
Legen Sie eine CODE_OF_CONDUCT-Datei in das Stammverzeichnis Ihres Projekts und machen Sie sie für Ihre Community sichtbar, indem Sie sie von Ihrer CONTRIBUTING- oder README-Datei verlinken.
## Entscheiden, wie Sie Ihren Verhaltenskodex durchsetzen.
Sie sollten erklären, wie Ihr Verhaltenskodex durchgesetzt wird, **_bevor_** es zu einem Verstoß kommt. Dafür gibt es mehrere Gründe:
* Es zeigt, dass Sie es mit Maßnahmen ernst meinen, wenn sie gebraucht werden.
* Ihre Community wird sich sicherer fühlen, dass Beschwerden tatsächlich geprüft werden.
* Sie vergewissern Ihre Community, dass der Überprüfungsprozess fair und transparent ist, sollte es jemals zu einem Verstoß kommen.
Sie sollten Leuten einen privaten Weg (z.B. eine E-Mail-Adresse) geben, um einen Verstoß gegen den Verhaltenskodex zu melden und erklären, wer diesen Bericht erhält. Es kann ein\*e Maintainer\*in, eine Gruppe von Maintainer\*innen oder eine Verhaltenskodex-Arbeitsgruppe sein.
Vergessen Sie nicht, dass jemand einen Verstoß über eine Person melden können möchte, die diese Berichte erhält. Bieten Sie in diesem Fall die Möglichkeit, Verstöße an eine andere Person zu melden. @ctb und @mr-c zum Beispiel [erklären zu ihrem Projekt](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Fälle von missbräuchlichem, belästigendem oder anderweitig inakzeptablem Verhalten können per E-Mail an **khmer-project@idyll.org** gemeldet werden, die nur an C. Titus Brown und Michael R. Crusoe geht. Um ein Problem zu melden, das einen von ihnen betrifft, senden Sie bitte eine E-Mail an **Judi Brown Clarke, Ph.D.** den Diversity Director am BEACON Center for the Study of Evolution in Action, einem NSF Center for Science and Technology.*
>
> Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by emailing **khmer-project@idyll.org** which only goes to C. Titus Brown and Michael R. Crusoe. To report an issue involving either of them please email **Judi Brown Clarke, Ph.D.** the Diversity Director at the BEACON Center for the Study of Evolution in Action, an NSF Center for Science and Technology.*
Django's [Enforcement Manual](https://www.djangoproject.com/conduct/enforcement-manual/) dürfte für Sie eine gute Vorlage liefern, auch wenn Sie für ein kleineres Projekt vielleicht weniger umfassende Regeln benötigen.
## Durchsetzung Ihres Verhaltenskodexes
Manchmal wird jemand trotz Ihrer Bemühungen etwas tun, das gegen diesen Kodex verstößt. Es gibt mehrere Möglichkeiten, negatives oder schädliches Verhalten zu bekämpfen, wenn es auftritt.
### Sammeln Sie Informationen über die Situation.
Nehmen Sie jede Stimme aus der Community so wichtig wie Ihre eigene. Wenn Sie einen Bericht erhalten, dass jemand gegen den Verhaltenskodex verstoßen hat, nehmen Sie ihn oder sie ernst und untersuchen Sie die Angelegenheit, auch wenn sie nicht Ihren eigenen Erfahrungen mit dieser Person entspricht. Damit signalisieren Sie Ihrer Gemeinschaft, dass Sie ihre Perspektive schätzen und ihrem Urteilsvermögen vertrauen.
Das betroffene Community-Mitglied kann ein\*e Wiederholungstäter\*in sein, der oder die anderen immer wieder Ärger bereitet, oder es hat nur einmal etwas gesagt oder getan. Beides kann je nach Kontext Anlass zum Handeln sein.
Bevor Sie antworten, geben Sie sich Zeit, um zu verstehen, was passiert ist. Lesen Sie die bisherigen Kommentare und Gespräche der Person durch, um besser zu verstehen, wer es ist und warum sie oder er so gehandelt haben könnten. Versuchen Sie, andere Perspektiven als Ihre eigenen über diese Person und ihr Verhalten zu sammeln.
### Ergreifen Sie geeignete Maßnahmen
Nachdem Sie genügend Informationen gesammelt und verstanden haben, müssen Sie entscheiden, was zu tun ist. Denken Sie bei Ihren nächsten Schritten daran, dass es Ihr Ziel als Moderator\*in ist, eine sichere, respektvolle und kollaborative Umgebung zu fördern. Überlegen Sie nicht nur, wie Sie mit dieser Situation umgehen, sondern auch, wie sich Ihre Reaktion auf das Verhalten und die Erwartungen Ihrer Community auswirken könnte.
Wenn jemand einen Verstoß gegen einen Verhaltenskodex meldet, sind Sie gefragt, nicht die Community. Manchmal enthüllt die oder der Meldende Informationen, die eine große Gefahr für Karriere, Ruf oder körperliche Unversehrtheit darstellen. Sie oder ihn zu zwingen, den Gemeldeten zu konfrontieren, könnte eine kompromittierende Situation erzeugen. Sie sollten die direkte Kommunikation mit der gemeldeten Person übernehmen, es sei denn, die oder der Meldende verlangt ausdrücklich etwas anderes.
Es gibt einige Möglichkeiten, wie Sie auf einen Verstoß gegen den Verhaltenskodex reagieren können:
* **Geben Sie der betreffenden Person eine öffentliche Warnung** und erklären Sie, wie sich sein oder ihr Verhalten negativ auf andere ausgewirkt hat. Nutzen Sie dafür vorzugsweise den Kommunikationskanal, auf dem das schädliche Verhalten aufgetreten ist. Öffentliche Kommunikation zeigt dem Rest der Gemeinschaft, dass Sie den Verhaltenskodex ernst nehmen. Seien Sie freundlich, aber bestimmt.
* **Privat auf die betreffende Person zugehen**, um zu erklären, wie sich ihr oder sein Verhalten negativ auf andere ausgewirkt hat. Sie können einen privaten Kommunikationskanal verwenden, wenn es sich um sensible persönliche Daten handelt. Wenn Sie mit jemandem privat kommunizieren, setzen Sie die meldende Person darüber in Kenntnis. Aber setzen Sie sie bei E-Mails nicht ohne Erlaubnis in CC.
Manchmal kann keine Lösung erreicht werden. Die gemeldete Person kann aggressiv oder feindselig werden, wenn er oder sie damit konfrontiert wird oder das Verhalten nicht ändert. In dieser Situation sollten Sie vielleicht stärkere Maßnahmen in Betracht ziehen. Zum Beispiel:
* **zeitweise Suspendierung** in Form eines vorübergehenden Verbots, sich in irgendeiner Art am Projekt zu beteiligen.
* Die Person **dauerhaft aus dem Projekt verbannen**.
Projektteilnehmer\*innen auszuschließen, sollte nicht auf die leichte Schulter genommen werden, da es eine permanente und unvereinbare Meinungsverschiedenheit darstellt. Sie sollten diese Maßnahmen nur ergreifen, wenn klar ist, dass eine Lösung nicht möglich ist.
## Ihre Verantwortung als Maintainerin
Ein Verhaltenskodex sollte nicht willkürlich durchgesetzt werden. Sie sind der oder die Vollstrecker\*in des Verhaltenskodexes und es ist Ihre Verantwortung, diese Regeln auch zu befolgen.
Als Maintainer\*in legen Sie die Richtlinien für Ihre Community fest und setzen diese durch. Dies bedeutet, dass jeder Bericht über einen Verstoß gegen den Verhaltenskodex ernst genommen wird. Dem oder der Beschwerdeführer\*in ist eine gründliche und faire Prüfung geschuldet. Wenn Sie feststellen, dass das gemeldete Verhalten kein Verstoß ist, stellen Sie dies klar und erklären Sie, warum Sie nichts dagegen unternehmen werden. Die Reaktion der meldenden Person ist eine andere Sache: das nur persönlich als problematisch empfundene Verhalten zu tolerieren oder die Projekt-Community zu verlassen.
Ein gemeldetes Verhalten, das _genau genommen nicht_ gegen den Verhaltenskodex verstößt, kann dennoch auf ein Problem in Ihrer Gemeinschaft hinweisen. Sie sollten dieses potenzielle Problem untersuchen und entsprechend handeln. Dies kann die Überarbeitung Ihres Verhaltenskodex umfassen, um akzeptables Verhalten zu klären und/oder mit der Person zu sprechen, deren Verhalten gemeldet wurde. In diesem Falle stellen Sie klar, dass sie oder er vielleicht nicht konkret gegen den Verhaltenskodex verstoßen hat, aber den Rand des Akzeptablen erreicht haben, und andere Teilnehmer\*innen sich unwohl fühlen.
Letztendlich setzen Sie als Maintainer\*in die Standards für akzeptables Verhalten (durch). Sie haben die Fähigkeit, die Gemeinschaftswerte des Projekts zu gestalten. Die Teilnehmer\*innen erwarten, dass Sie diese Werte auf faire und ausgewogene Weise durchsetzen.
## Fördern Sie das Verhalten, das Sie in der Welt sehen wollen 🌎
Wenn ein Projekt feindselig oder unwillkommen erscheint, und wenn auch nur durch das von Anderen tolerierte Verhalten einer einzelnen Person, riskieren Sie den Verlust vieler weiterer Mitwirkender. Es ist nicht immer einfach, einen Verhaltenskodex anzunehmen oder durchzusetzen, aber die Förderung einer einladenden Umgebung wird Ihrer Gemeinschaft helfen, zu wachsen.
================================================
FILE: _articles/de/finding-users.md
================================================
---
lang: de
title: Finden Sie Nutzer*innen für Ihr Projekt
description: Ziehen Sie Ihr Open-Source-Projekt groß, indem Sie es in die Hände zufriedener Anwender*innen legen.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Tue Gutes und rede darüber!
Es gibt keine Regel, die besagt, dass man den Start eines Open-Source-Projektes verkünden _muss_. Viele erfüllende Beweggründe für Open-Source-Arbeit haben nichts mit Popularität zu tun. Aber anstatt _zu hoffen_, dass Ihr Open-Source-Projekt gefunden und genutzt wird, sollten Sie über Ihre harte Arbeit reden.
## Klären Sie Ihre Botschaft
Bevor Sie mit der eigentlichen Arbeit an einem Projekt beginnen, sollten Sie (er)klären, was es tut und warum es wichtig ist.
Was macht Ihr Projekt anders oder interessant und warum haben Sie es begonnen? Die Beantwortung dieser Fragen hilft Ihnen dabei, die Bedeutung Ihres Projekts zu kommunizieren.
Denken Sie daran, dass Menschen sich als Nutzer\*innen engagieren und letztendlich zu Mitwirkenden werden, weil Ihr Projekt ein Problem für sie löst. Wenn Sie über die Botschaft und den Wert Ihres Projekts nachdenken, versuchen Sie durch die Brille der _Benutzer\*innen und Mitwirkenden_ zu blicken. Was könnten jene sich wünschen?
Code-Beispiele wie @robb sie verwendet, können klar kommunizieren, warum sein Projekt "[Cartography](https://github.com/robb/Cartography)" nützlich ist:

Tiefere Einblicke in das Thema "Botschaften" finden Sie in Mozillas ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/)-Übung zur Entwicklung von Personas.
## Helfen Sie Menschen dabei, Ihr Projekt zu finden und zu beobachten
Helfen Sie Leuten dabei, Ihr Projekt zu finden und es sich zu merken, indem Sie sie auf einen einzigen Namensraum verweisen.
**Preisen Sie Ihre Arbeit an unter _einem_ Nutzernamen an.** Twitter-Name, GitHub-URL oder IRC-Kanal sind einfache Möglichkeiten, Leute auf Ihr Projekt aufmerksam zu machen. Diese "Marktstände" bieten auch der wachsenden Gemeinschaft Ihres Projekts einen Ort, an dem sie sich treffen können.
Wenn Sie noch keine "Marktstände" für Ihr Projekt einrichten möchten, bewerben Sie immer Ihren eigenen Twitter- oder GitHub-Namen. Werben Sie für Ihren Twitter- oder GitHub-Namen, damit die Leute wissen, wie Sie zu erreichen sind oder wo Ihre Arbeit beobachtet werden kann. Wenn Sie bei einem Meeting oder einer Veranstaltung sprechen, stellen Sie sicher, dass Sie Ihre Kontaktinformationen erwähnen oder in Ihren Folien nennen.
**Ziehen Sie eine Website für Ihr Projekt in Betracht.** Eine Website macht Ihr Projekt freundlicher und einfacher zu navigieren. Vor allem, wenn die Seite klare Dokumentation und Tutorials enthält. Außerdem zeigt eine Website auch, dass Ihr Projekt aktiv ist, was wiederum Ihrem Publikum Vertrauen in den Nutzen Ihres Projektes gibt.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689) (Mitbegründer von Django) sagte, dass eine Website _"mit Abstand das Beste, das wir in der Frühphase von Django gemacht haben"_.
Wenn Ihr Projekt auf GitHub gehostet ist, können Sie mithilfe der [Pages-Funktion](https://pages.github.com/) einfach eine Webseite erstellen. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), und [Middleman](https://middlemanapp.com/) sind [einige Beispiele](https://github.com/showcases/github-pages-examples) für exzellente, reichhaltige Seiten.

Nun, da Sie die Botschaft Ihres Projekt klargestellt haben, und seine einfache Auffindbarkeit gewährleistet haben, lassen Sie uns rausgehen und mit Ihrem Publikum sprechen!
## Gehen Sie auf die Zielgruppe Ihres Projekts zu (online)
Internetkommunikation ist ein großartiger Weg, um die Botschaft Ihres Projektes schnell zu verbreiten und verteilen zu lassen: Online-Kanälen bieten das Potenzial, ein sehr breites Publikum zu erreichen.
Nutzen Sie die Vorteile bestehender Online-Communities und -Plattformen, um Ihr Publikum zu erreichen. Wenn es sich bei Ihrem Open-Source-Projekt um ein Softwareprojekt handelt, erreichen Sie Ihr Publikum wahrscheinlich auf [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), oder [Quora](https://www.quora.com/). Finden Sie die Kanäle, von denen Sie denken, dass die Menschen am meisten von Ihrer Arbeit profitieren werden, oder sich begeistern lassen.
Finden Sie Wege, um Ihr Projekt auf relevante Art und Weise mit anderen zu teilen:
* **Lernen Sie relevante Open-Source-Projekte und Communities kennen.** Manchmal müssen Sie nicht direkt für Ihr Projekt werben. Wenn Ihr Projekt perfekt für Datenwissenschaftler geeignet ist, die Python nutzen, lernen Sie die Python Data Science Community kennen. Wenn die Leute Sie kennenlernen, ergeben sich natürliche Gelegenheiten, über Ihre Arbeit zu sprechen und sie mit anderen zu teilen.
* **Finden Sie Personen, die mit dem Problem konfrontiert sind, das Ihr Projekt löst.** Suchen Sie in verwandten Foren nach Personen, die in die Zielgruppe Ihres Projekts fallen, beantworten Sie deren Fragen und finden Sie einen taktvollen Weg, um Ihr Projekt als Lösung vorzuschlagen.
* **Bitten Sie um Feedback.** Stellen Sie sich und Ihre Arbeit einem Publikum vor, das Sie für relevant und interessant hält, und geben Sie an, wer Ihrer Meinung nach von Ihrem Projekt profitieren könnte. Versuchen Sie, diesen Satz zu vervollständigen: _"Ich denke, dass mein Projekt wirklich den X helfen würde, die versuchen, Y zu tun."_. Hören Sie zu und reagieren Sie auf das Feedback anderer, anstatt einfach nur Ihre Arbeit anzupreisen.
Generell gilt: Konzentrieren Sie sich darauf, anderen zu helfen, bevor Sie um Gegenleistungen bitten. Da jeder leicht ein Projekt online bewerben kann, wird es eine Menge Rauschen geben: Um sich von der Masse abzuheben, machen Sie den Leuten Ihren persönlichen Kontext klar, und nicht nur Ihre Wünsche.
Wenn niemand auf Ihre anfängliche Kommunikation achtet oder darauf reagiert, lassen Sie sich nicht entmutigen! Die meisten Projektstarts sind ein iterativer Prozess, der Monate oder Jahre dauern kann. Wenn Sie beim ersten Mal keine Antwort erhalten, versuchen Sie es mit einer anderen Taktik oder suchen Sie nach Wegen, wie Sie die Arbeit anderer zuerst aufwerten können. Ein Projekt zu starten und zu bewerben, erfordert Zeit und Engagement.
## Gehen Sie auf die Zielgruppe Ihres Projekts zu (offline)

Offline-Veranstaltungen helfen Ihnen dabei, neue Projekte beim Publikum bekannt zu machen und engagierte Leute zu erreichen. Insbesondere können Sie mit Entwickler\*innen direkt in Kontakt treten und Interesse an Ihrem Projekt wecken.
Wenn Sie gerade erst anfangen, [Vorträge zu halten](http://speaking.io/), tun Sie das am besten auf einem lokalen Treffen ("Meetup"), bei dem es um die Sprache oder die Programmierumgebung geht, in der Ihr Projekt angesiedelt ist.
Wenn Sie noch nie auf einer Veranstaltung gesprochen haben, sind Gefühle der Nervosität völlig normal: Denken Sie daran, dass Ihr Publikum da ist, weil es wirklich von Ihrer Arbeit hören möchte.
Während Sie Ihren Vortrag ausarbeiten, konzentrieren Sie sich auf das für Ihr Publikum Interessante, das ihm einen Mehrwert bietet. Gestalten Sie Ihren Vortrag in einem freundlichen, zugänglichen Tonfall. Lächeln, atmen und Spaß haben.
Wenn Sie sich gut vorbereitet fühlen, sollten Sie sich überlegen, mit einem Konferenzvortrag für Ihr Projekt zu werben. Das kann Ihnen helfen, mehr Menschen zu erreichen; Manchmal aus der ganzen Welt.
Suchen Sie nach Konferenzen, die speziell auf Ihre Sprache oder Ihre Programmierumgebung zugeschnitten sind. Bevor Sie Ihren Vortrag einreichen, recherchieren Sie die Konferenz, um Ihren Vortrag auf die Teilnehmer\*innen zuzuschneiden und Ihre Chancen zu erhöhen, auf der Konferenz als Redner\*in akzeptiert zu werden. Sie können oft ein Gefühl für Ihr Publikum bekommen, wenn Sie frühere Redner\*innen der Konferenz recherchieren.
## Reputation aufbauen
Zusätzlich zu den oben skizzierten Strategien ist der beste Weg, Menschen für Beiträge in Ihrem Projekt zu gewinnen, deren Projekte zu teilen und zu unterstützen.
Wenn Sie Neuankömmlingen helfen, Ressourcen gemeinsam nutzen und durchdachte Beiträge zu anderen Projekten leisten, können Sie einen guten Ruf aufbauen. Ein aktives Mitglied in der Open-Source-Gemeinschaft zu sein, hilft Leuten dabei, den Kontext Ihrer Arbeit zu verstehen. Es wird zudem wahrscheinlicher, dass Leute Ihr Projekt aufmerksam verfolgen und teilen. Die Entwicklungsbeziehungen zu anderen Open-Source-Projekten können sogar zu offiziellen Kooperationen führen.
Es ist nie zu früh oder zu spät, um mit dem Aufbau eines guten Rufs zu beginnen. Auch wenn Sie bereits ein eigenes Projekt gestartet haben, suchen Sie weiterhin nach Möglichkeiten, anderen zu helfen.
Ein Publikum aufzubauen schafft man nicht über Nacht. Das Vertrauens und den Respekt anderer zu gewinnen, nimmt Zeit in Anspruch, und der Aufbau Ihres Rufes endet nie.
## Weitermachen!
Es kann lange dauern, bis Leute Ihr Open-Source-Projekt bemerken. Das ist in Ordnung! Einige der populärsten Projekte erreichten erst nach Jahren ein hohes Aktivitätsniveau. Konzentrieren Sie sich darauf, Kontakte aufzubauen, anstatt zu hoffen, dass Ihr Projekt spontan an Popularität gewinnt. Seien Sie geduldig und teilen Sie Ihre Arbeit mit denen, die sie zu schätzen wissen.
================================================
FILE: _articles/de/getting-paid.md
================================================
---
lang: de
title: Für Open-Source-Arbeit bezahlt werden
description: Verstetigen Sie Ihre Open-Source-Arbeit, indem Sie finanzielle Unterstützung für Ihre Zeit oder Ihr Projekt erhalten.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Warum manche Menschen finanzielle Unterstützung suchen
Ein Großteil der Open-Source-Arbeit wird ehrenamtlich geleistet, z.B. wenn jemand in einem Projekt, das er/sie benutzt, auf einen Fehler stößt und eine schnelle Lösung vorschlägt. Außerdem basteln viele Leute einfach in ihrer Freizeit an einem Open-Source-Projekt.
Es gibt viele Gründe, warum eine Person _nicht_ für ihre Open-Source-Arbeit bezahlt werden möchte.
* **Sie haben vielleicht schon einen Vollzeitjob, den sie lieben,** und der ihnen ermöglicht, in ihrer Freizeit einen Beitrag zu Open-Source-Software zu leisten.
* **Sie mögen Open-Source als Hobby,** oder als kreative Flucht und wollen sich finanziell nicht verpflichtet fühlen, an ihren Projekten arbeiten zu müssen.
* **Sie ziehen andere Vorteile aus ihren Open-Source-Beiträgen,** wie z.B. den Aufbau ihres Rufs oder Portfolios, das Erlernen neuer Fertigkeiten oder das Gefühl, in einer Gemeinschaft eingebettet zu sein.
Für andere kann eine Bezahlung die einzige Möglichkeit sein, sich an Open-Source zu beteiligen. Sei es, weil das Projekt ständige oder zeitintensive Mitarbeit erfordert, oder seien es persönliche Gründe.
Populäre Projekte aufrecht zu erhalten, kann eine große Verantwortung sein, die 10 oder 20 Stunden pro Woche in Anspruch nimmt, statt nur ein paar Stunden pro Monat.
Bezahlte Arbeit ermöglicht Leuten aus verschiedenen Lebenssituationen heraus, sinnvolle Beiträge zu leisten. Manche Menschen können es sich eben nicht leisten, unbezahlte Zeit für Open-Source-Projekte aufzuwenden, z.B. weil ihre finanzielle Situation, Schulden, Familien- oder anderen Betreuungspflichten dies nicht zulassen. Das heißt, die möglichen Beiträge von talentierten Menschen, die es sich ehrenamtliche Arbeitszeit nicht leisten können, würden nie das Licht der Welt erblicken. Dies hat ethische Implikationen, wie @ashedryden [beschreibt](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), da die Beiträge, die das Licht der Welt erblicken, eher zu Gunsten derjenigen tendieren, die bereits Vorteile im Leben haben. Und sie diese aufgrund ihrer freiwilligen Beiträge weiter ausbauen können, während Andere, die nicht zu freiwilligem Engagement in der Lage sind, auch daraus keine Vorteile ziehen können. Dies wiederum verstärkt den derzeitigen Mangel an Vielfalt in der Open-Source-Welt.
Wenn Sie auf der Suche nach finanzieller Unterstützung sind, gibt es zwei Möglichkeiten: Sie können Ihre eigene Arbeitszeit finanzieren, oder Sie können eine organisatorische Finanzierung für das Projekt finden.
## Die eigene Arbeitszeit finanzieren
Heutzutage werden viele Leute für Open-Source in Teil- oder Vollzeit bezahlt. Der häufigste Weg dahin ist, mit Ihrem Arbeitgeber darüber zu sprechen.
Es ist einfacher, sich für Open-Source-Arbeiten zu entscheiden, wenn Ihr Arbeitgeber das Projekt tatsächlich nutzt. Wenn nicht, werden Sie kreativ: Vielleicht nutzt Ihr Arbeitgeber nicht das Projekt, aber Python, und die Pflege eines beliebten Python-Projekts hilft dabei, neue Python-Entwickler\*innen anzuziehen. Vielleicht sieht Ihr Arbeitgeber dadurch generell entwicklerfreundlicher aus.
Wenn Sie kein existierendes Open-Source-Projekt haben, an dem Sie gerne arbeiten würden, sondern lieber Ihre aktuellen Arbeitsergebnisse quell-offen hätten, sollten Sie Ihren Arbeitgeber bitten, einen Teil seiner internen Software zu öffnen.
Viele Unternehmen entwickeln Open-Source-Programme, um ihre Marke aufzubauen und Talente zu rekrutieren.
@hueniverse z.B., fand heraus, dass es finanzielle Gründe gab, die [Investition von Walmart in Open-Source zu rechtfertigten.](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). Und @jamesgpearce fand heraus, dass Facebooks Open-Source-Program [den Unterschied in der Personalakquise](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) machte:
> Es ist eng mit unserer Hackerkultur und der Wahrnehmung unseres Unternehmens verbunden. Wir fragten unsere Angestellten: "Kanntet ihr das Open-Source-Programm von Facebook?". Zwei Drittel sagten "Ja". Die Hälfte sagte, dass das Programm positiv zu ihrer Entscheidung beigetragen hat, für uns zu arbeiten. Das sind keine marginalen Zahlen, und ein sich hoffentlich fortsetzender Trend.
>
> It is closely aligned with our hacker culture, and how our organization was perceived. We asked our employees, "Were you aware of the open source software program at Facebook?". Two-thirds said "Yes". One-half said that the program positively contributed to their decision to work for us. These are not marginal numbers, and I hope, a trend that continues.
Wenn Ihr Unternehmen diesen Weg einschlägt, ist es wichtig, die Grenzen zwischen Gemeinschafts- und Unternehmenstätigkeit klar zu halten, denn Open-Source erhält sich letztlich durch Beiträge von Menschen auf der ganzen Welt. Und das ist größer als jedes einzelne Unternehmen oder jeder einzelne Standort.
Wenn Sie Ihren derzeitigen Arbeitgeber nicht davon überzeugen können, Open-Source-Arbeit zu priorisieren, sollten Sie sich überlegen, einen neuen Arbeitgeber zu finden, der Mitarbeit an Open-Source fördert. Zum Beispiel:
* Manche Firmen, wie [Netflix](https://netflix.github.io/), zeigen ihr Open-Source-Engagement auf ihren Webseiten
Aus einer großen Firma stammende Projekte, wie z.B. [Go](https://github.com/golang) oder [React](https://github.com/facebook/react), stellen u. U. auch weiterhin Leute für Open-Source-Arbeit an.
Außerdem können Sie versuchen, abhängig von Ihren persönlichen Umständen, selbstständig Geld zu sammeln, um Ihre Open-Source-Arbeit zu finanzieren, zum Beispiel:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon finanzierte seine Arbeit an [Redux](https://github.com/reactjs/redux) mittels einer [Patreon-Crowdfunding-Kampagne](https://redux.js.org/)
* @andrewgodwin finanzierte Arbeit an Djangos Schemamigrations [mittels einer Kickstarter-Kampagne](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
## Geldquellen für Ihr Projekt auftun
Abgesehen von Vereinbarungen für einzelne Projektteilnehmer\*innen, sammeln Projekte manchmal Geld von Unternehmen, Einzelpersonen oder anderen ein, um die laufende Arbeit zu finanzieren.
Geld von einer Organisation kann verwendet werden, aktuelle Projektteilnehmer\*innen zu bezahlen, die Kosten für den Betrieb des Projekts zu decken (z.B. Hosting-Gebühren) oder in neue Funktionen oder Ideen zu investieren.
Da Open-Source populärer wird, ist die Finanzierung von Projekten immer noch experimentell, aber es gibt einige allgemeine Optionen.
### Geld mittels Crowdfunding-Kampagnen oder Sponsoren einsammeln
Sponsoren lassen sich einfacher finden, wenn Sie bereits ein starkes Publikum oder einen guten Ruf haben, oder Ihr Projekt sehr beliebt ist.
Hier einige Beispiele für gesponsorte Projekte:
* **[webpack](https://github.com/webpack)** sammelt Geld von Firmen und Einzelpersonen [mittels OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** eine nicht-Gewinn-orientierte Organisation zahlt für die Arbeit an [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), und anderen Ruby-Infrastrukturprojekten
### Eine Einnahmequelle schaffen
Abhängig von Ihrem Projekt können Sie kommerziellen Support, gehostete Optionen oder zusätzliche Funktionen in Rechnung stellen. Wie beispielsweise:
* **[Sidekiq](https://github.com/mperham/sidekiq)** bietet Bezahlversionen mit zusätzlichem Support
* **[Travis CI](https://github.com/travis-ci)** bietet Bezahlversionen ihres Dienstes
* **[Ghost](https://github.com/TryGhost/Ghost)** ist ein Non-Profit mit Bezahldiensten
Einige populäre Projekte, wie z.B. [npm](https://github.com/npm/cli) und [Docker](https://github.com/docker/docker), sammeln sogar Wagniskapital ein, um ihr Wachstum zu unterstützen.
### Fördermittel beantragen
Einige Softwarestiftungen und Unternehmen bieten Zuschüsse für Open-Source-Arbeiten an. Manchmal können Zuschüsse an Einzelpersonen ausgezahlt werden, ohne eine juristische Person für das Projekt zu gründen.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** erhielt eine Förderung des [Mozilla Open-Source Support](https://www.mozilla.org/en-US/grants/)
* Arbeiten an **[OpenMRS](https://github.com/openmrs)** wurden von [Stripes Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees) gefördert
* **[Libraries.io](https://github.com/librariesio)** erhielt Fördermittel der [Sloan Foundation](https://sloan.org/programs/digital-technology)
* Die **[Python Software Foundation](https://www.python.org/psf/grants/)** fördert Python-relevante Arbeiten
Weitere, detaillierter erklärte Möglichkeiten, um für Open-Source-Arbeit bezahlt zu werden, finden Sie in [der Anleitung "Lemonade Stand"](https://github.com/nayafia/lemonade-stand) von @nayafia. Die verschiedenen Finanzierungsarten erfordern unterschiedliche Fähigkeiten, die Sie Ihren Stärken entsprechend in Erwägung ziehen sollten.
## Eine Argumentationslinie für finanzielle Unterstützung aufbauen
Egal ob Ihr Projekt eine neue Idee umsetzt, oder schon seit Jahren besteht: Sie sollten sich Gedanken über passende Finanzierung machen, Geldquellen identifizieren, und diesen ein überzeugendes Argument liefern können.
Egal, ob Sie für Ihre eigene Zeit bezahlen oder für ein Projekt Geld sammeln möchten, sollten Sie in der Lage sein, die folgenden Fragen zu beantworten.
### Einfluss
Wie kann dieses Projekt von Nutzen sein? Warum gefällt es Ihren (potenziellen) Nutzer\*innen so gut? Wo wird es in fünf Jahren sein?
### Wichtigkeit
Versuchen Sie Beweise für die Wichtigkeit Ihres Projektes zu sammeln: Metriken, Anekdoten oder Referenzen. Gibt es Unternehmen oder wichtige Personen, die Ihr Projekt gerade nutzen? Falls nicht, hat eine bekannte Person es befürwortet?
### Nutzen für die Geldgeber
Geldgeber (seien es Ihr\*e Arbeitgeber\*in oder eine Förderstiftung) werden von vielen anderen angesprochen: Warum sollte gerade Ihr Projekt unterstützt werden? Wie profitiert der Geldgeber selbst davon?
### Nutzung der Gelder
Was genau werden Sie mit der vorgeschlagenen Finanzierung erreichen? Konzentrieren Sie sich auf Projektmeilensteine oder -ergebnisse, anstatt ein Gehalt zu zahlen.
### Wie empfangen Sie das Geld
Hat der Geldgeber irgendwelche Anforderungen an die Auszahlung? Müssen Sie beispielsweise eine gemeinnützige Organisation sein, oder einen gemeinnützigen finanziellen Sponsor haben? Oder werden die Mittel an eine\*n einzelne\*n Auftragnehmer\*in anstatt an eine Organisation vergeben? Diese Anforderungen variieren zwischen den Geldgebern, also sollten Sie dies im Vorhinein in Erfahrung bringen.
## Experimentieren und nicht aufgeben
Es ist nicht einfach, Geld zu sammeln. Egal ob Sie ein Open-Source-Projekt, einen gemeinnützigen Verein oder ein Software-Startup betreiben. In den meisten Fällen müssen Sie kreativ werden. Identifizieren Sie die Art der Bezahlung, stellen Sie Recherchen an und versetzen Sie sich selbst in die Rolle der Geldgeber\*innen. Dies wird Ihnen beim Finden eines überzeugenden Argumentes für die Finanzierung helfen.
================================================
FILE: _articles/de/how-to-contribute.md
================================================
---
lang: de
title: Wie zu Open Source beitragen?
description: Möchten Sie zu Open Source beitragen? Hier finden Sie einen Leitfaden für Einsteiger und Fortgeschrittene.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Warum eigentlich zu Open-Source-Projekten beitragen?
Zu Open Source beizutragen, kann ein lohnender Weg sein, um nahezu alle erdenklichen Fertigkeiten zu erlernen, zu lehren und Erfahrungen zu sammeln.
Warum tragen Menschen zu Open Source bei? Es gibt viele Gründe!
### Software verbessern, auf die Sie sich verlassen
Viele Open-Source-Beitragende waren vorher Nutzer\*innen der Software, zu der sie beitragen. Wenn Sie einen Fehler in einer von Ihnen verwendeten Open-Source-Software finden, sollten Sie sich im Quellcode umsehen, ob Sie den Fehler evtl. selbst patchen können. Wenn ja, ist einen Patch einzureichen der beste Weg sicherzustellen, dass Ihre Kolleg\*innen (und Sie selbst, wenn Sie auf die nächste Version aktualisieren) davon profitieren können.
### Bestehende Fähigkeiten verbessern
Ob Programmierung, User Interface Design, Grafikdesign, Schreiben oder Organisieren: Wenn Sie auf der Suche nach Praxiserfahrung sind, werden Sie dafür passende Aufgaben in einem Open-Source-Projekt finden.
### Treffen Sie Menschen, die an ähnlichen Dingen interessiert sind
Open-Source-Projekte mit warmherzigen, einladenden Communities schaffen langfristige Hobbys für viele Leute. Lebenslange Freundschaften können durch ihre Teilnahme an Open Source entstehen, sei es bei Konferenzen oder bei nächtlichen Online-Chats über Lahmacuns.
### Mentoren finden und andere unterrichten
Wenn Sie mit anderen an einem gemeinsamen Projekt arbeiten, müssen Sie erklären, wie Sie dabei vorgehen und gleichzeitig andere Menschen um Hilfe bitten. Das Lernen und Lehren kann eine erfüllende Tätigkeit für alle Beteiligten sein.
### Öffentliche Ergebnisse zeugen von Ihrer Arbeit und fördern Ihren Ruf (und Ihre Karriere)
Per Definition ist Ihre gesamte Open-Source-Arbeit öffentlich. Sie erstellen automatisch ein Portfolio. So können Sie überall vorzeigen, was Sie zu leisten im Stande sind.
### Sozialkompetenzen erlernen
Softwareentwicklung ist eine soziale Tätigkeit, und Open-Source-Projekte bieten Führungserfahrungen, denn es müssen z.B. Konflikte gelöst, Teams organisiert und Aufgaben priorisiert werden.
### Es ist ermutigend, auch kleine Änderungen vornehmen zu können
Sie müssen nicht lebenslang an Open Source mithelfen. Haben Sie schon einmal einen Tippfehler auf einer Website gesehen und sich gewünscht, dass ihn jemand beheben würde? Bei einem Open-Source-Projekt können Sie genau das tun. Open Source hilft Leuten, selbst in die Hand zu nehmen, wie sie die Welt erleben, und das ist an sich schon befriedigend.
## Was "einen Beitrag leisten" bedeutet
Wenn Sie gerade erst anfangen, Open-Source-Arbeit zu leisten, kann der Prozess einschüchternd wirken. Wie finden Sie das richtige Projekt? Was, wenn Sie nicht wissen, wie man programmiert? Was, wenn etwas schief geht?
Keine Sorge! Es gibt viele Möglichkeiten, zu einem Open-Source-Projekt beizutragen. Die folgenden paar Tipps helfen Ihnen, dabei gute Erfahrungen zu machen.
### Sie brauchen keine Programmierkenntnisse
Ein weit verbreiteter Irrtum! Aber in Wirklichkeit sind es oft andere Projektaspekte, die am [meisten Unterstützung benötigen](https://github.com/blog/2195-the-shape-of-open-source). Sie tun dem Projekt einen _großen_ Gefallen, indem Sie anbieten, bei nicht-Code-Aspekten mitzuwirken!
Auch wenn Sie gerne Code schreiben, gibt es vielleicht bessere Möglichkeiten, sich an einem Projekt zu beteiligen und andere Leute aus der Community zu treffen. Solche Beziehungen aufzubauen, ebnet Ihnen den Weg zur Mitarbeit an anderen Projektaspekten.
### Planen Sie gerne Veranstaltungen?
* Veranstalten Sie Workshops oder Meetups über das Projekt, wie @fzamperin [für NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Organisieren Sie die Projektkonferenz (falls vorhanden)
* Unterstützen Sie die Community-Mitglieder dabei, die richtigen Konferenzen zu finden und dort Vortragsideen einzureichen.
### Mögen Sie Design-Arbeit?
* Verbessern Sie Layouts, um das Projekt benutzerfreundlicher zu machen
* Führen Sie Nutzerstudien durch, um Navigation oder Menüs der Software zu verfeinern ([wie z.B. Drupal es vorschlägt](https://www.drupal.org/community-initiatives/drupal-core/usability))
* Erstellen Sie einen Designleitfaden, um dem Projekt zu einem einheitlichen visuellen Design zu verhelfen
* Erstellen Sie Kunst für T-Shirts oder ein neues Logo, [wie z.B. die Mitwirkenden von hapi.js](https://github.com/hapijs/contrib/issues/68)
### Schreiben Sie gerne?
* Erstellen und verbessern Sie die Projektdokumentation
* Erstellen Sie eine Übersicht von Anwendungsbeispielen, welche die Verwendungsmöglichkeiten der Software zeigen
* Starten Sie einen Newsletter für das Projekt oder kuratieren Sie Highlights aus der Mailingliste
* Schreiben Sie Tutorials für das Projekt, so [wie die Mitwirkenden von PyPA](https://packaging.python.org/)
* Übersetzen Sie die Projektdokumentation
### Organisieren Sie gerne?
* Verlinken Sie doppelte Issues und schlagen Sie neue Labels vor, um den Issue Tracker in Ordnung zu halten
* Gehen Sie offene Issues durch und schlagen Sie alte zur Schließung vor, wie @nzakas [in ESLint](https://github.com/eslint/eslint/issues/6765)
* Stellen Sie konstruktive Fragen zu kürzlich eingereichten Issues, um Diskussionen voranzubringen
### Mögen Sie das Programmieren?
* Finden Sie ein offenes Issue, das Sie bearbeiten können, wie @dianjin [in Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Bieten Sie die Implementierung neuer Funktionen an
* Automatisieren Sie etwas, z.B. die Softwareinstallation
* Verbessern Sie Werkzeuge oder Tests
### Helfen Sie gerne anderen Leuten?
* Beantworten Sie Fragen zum Projekt, z.B. auf Stack Overflow ([wie dieses Postgres-Beispiel zeigt](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) oder auf Reddit
* Beantworten Sie Fragen in offenen Issues
* Helfen Sie bei der Moderation von Diskussionsforen oder anderen Kommunikationskanälen
### Helfen Sie gerne Anderen beim Programmieren?
* Überprüfen Sie den Code in Pull Requests
* Schreiben Sie Tutorials, wie ein Projekt verwendet werden kann
* Bieten Sie einem Anderen Mentoring an, wie @ereichert für @bronzdoc [in Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Es muss nicht immer ein Softwareprojekt sein!
Während sich "Open Source" oft auf Software bezieht, kann man an fast allen anderen Arten von Projekten zusammenarbeiten: Bücher, Rezepte, Listen, Kurse, uvm. werden als Open-Source-Projekte entwickelt.
Zum Beispiel:
* @sindresorhus kuratiert eine [Liste von "awesome"-Listen](https://github.com/sindresorhus/awesome)
* @h5bp unterhält eine [Liste möglicher Bewerbungsfragen](https://github.com/h5bp/Front-end-Developer-Interview-Questions) für Frontend-Entwickler\*innen
* @stuartlynn und @nicole-a-tesla [sammeln lustige Fakten über Papageitaucher](https://github.com/stuartlynn/puffin_facts)
Auch wenn Sie ein\*e Software-Entwickler\*in sind, kann Ihnen die Arbeit an einem Dokumentationsprojekt den Einstieg in Open Source erleichtern. Es ist oft weniger einschüchternd, an Projekten zu arbeiten, die keinen Code beinhalten, um Vertrauen und Erfahrung in den Zusammenarbeitsprozess als solchen zu stärken.
## Sich in einem neuen Projekt orientieren
Für alles über eine Tippfehlerkorrektur hinaus ist ein Beitrag zu Open Source, als würde man sich zu einer Gruppe von Fremden auf einer Party gesellen. Wenn Sie anfangen, über Lamas zu reden, während die Anderen tief in einer Diskussion über Goldfische stecken, werden diese Sie wahrscheinlich ein wenig seltsam ansehen.
Bevor Sie blindlings mit Ihren eigenen Vorschlägen daherkommen, lernen Sie zunächst, die Situation einzuschätzen. Dies erhöht die Chancen, dass später Ihre Ideen wahrgenommen und gehört werden.
### Anatomie eines Open-Source-Projekts
Jede Open-Source-Community ist anders.
Jahrelanges Arbeiten an einem Open-Source-Projekt bedeutet, dass Sie dieses eine kennengelernt haben. Wechseln Sie zu einem anderen Projekt, werden Sie feststellen, dass das Vokabular, die Normen und die Kommunikationsstile völlig unterschiedlich sein können.
Allerdings folgen viele Open-Source-Projekte einer ähnlichen Organisationsstruktur. Das Verständnis der verschiedenen Rollen in der Community und des Gesamtprozesses wird Ihnen helfen, sich schnell auf jedes neue Projekt einzustellen.
Ein typisches Open-Source-Projekt beinhaltet die folgenden Typen von Personen:
* **Autor\*in:** Die Person/en oder Organisation, die das Projekt erstellt hat/haben
* **Owners:** Die Person/en, die administrativen Zugang zu der Organisation oder dem Repository hat/haben (nicht immer derselbe wie der/die ursprüngliche Autor*in).
* **Maintainers:** Mitwirkende, die für die Umsetzung der Vision verantwortlich sind und für die organisatorischen Aspekte des Projekts. (Dies können auch Autoren oder Eigentümerinnen des Projekts sein.)
* **Contributors:** Alle, die etwas zum Projekt beigetragen haben.
* **Community-Mitglieder:** Personen, die das Projekt nutzen. Sie können in Diskussionen aktiv sein oder ihre Meinung über die Richtung des Projekts äußern.
Größere Projekte können auch Gremien oder Arbeitsgruppen haben, die sich auf verschiedene Aufgaben konzentrieren, wie z.B. Tooling, Triage, Community-Moderation und Eventorganisation. Suchen Sie auf der Website eines Projekts nach einer "Team"-Seite oder im Repository nach "Governance"-Dokumentation, um diese Informationen zu finden.
Ein Projekt hat auch eine Dokumentation. Diese Dateien werden in der Regel im Hauptverzeichnis eines Repositories aufgelistet.
* **LICENSE:** Per Definition muss jedes Open-Source-Projekt eine [Open-Source-Lizenz](https://choosealicense.com) haben. Wenn das Projekt keine Lizenz hat, ist es nicht Open Source.
* **README:** Die README ist die Bedienungsanleitung, die neue Community-Mitglieder im Projekt willkommen heißt. Sie erklärt, warum das Projekt nützlich ist, und wie man beginnen kann, es zu nutzen.
* **CONTRIBUTING:** Während READMEs den Menschen helfen, das Ergebnis des Projektes _zu nutzen_, hilft die Kontributionsdokumentation dabei, zum Projekt beizutragen. Sie erklärt, welche Arten von Beiträgen benötigt werden und wie der Prozess funktioniert. Obwohl nicht jedes Projekt eine CONTRIBUTING-Datei hat, signalisiert ihre Präsenz, dass dieses Projekt offen für Beiträge ist.
* **CODE_OF_CONDUCT:** Der Verhaltenskodex legt die Grundregeln für das Verhalten der Teilnehmer\*innen fest und trägt dazu bei, ein freundliches und einladendes Umfeld zu schaffen. Obwohl nicht jedes Projekt eine CODE_OF_CONDUCT-Datei hat, signalisiert ihre Präsenz, dass dieses Projekt offen für Beiträge ist.
* **Andere Dokumentation:** Es kann zusätzliche Tutorials, Walkthroughs oder Governance-Richtlinien geben, vor allem bei größeren Projekten.
Schließlich verwenden Open-Source-Projekte die folgenden Werkzeuge, um Diskussionen zu organisieren. Wenn Sie die Archive durchlesen, erhalten Sie ein gutes Bild davon, wie die Gemeinschaft denkt und arbeitet.
* **Issue Tracker:** Hier diskutieren Personen über Themen, die im Zusammenhang mit dem Projekt stehen.
* **Pull Requests:** Hier diskutieren und überprüfen Personen anstehende Änderungen.
* **Diskussionsforen oder Mailinglisten:** Einige Projekte nutzen solche Kanäle für Konversationen (z.B. _"Wie kann ich..."_ oder _"Was denkt ihr über..."_) anstelle von Fehlerberichten oder Feature Requests. Andere verwenden den Issue Tracker für alle Konversationen.
* **Synchroner Chat-Kanal:** Einige Projekte verwenden Kanäle wie z.B. Slack oder IRC für gelegentliche Gespräche, Zusammenarbeit und schnellen Austausch.
## So finden Sie ein Projekt, zu dem Sie beitragen können
Sie haben gelernt, wie Open-Source-Projekte funktionieren. Jetzt ist es an der Zeit, ein Projekt zum Beitragen zu finden!
Wenn Sie noch nie zu Open Source beigetragen haben, nehmen Sie einen Ratschlag von US-Präsident John F. Kennedy an, der einmal sagte: _"Fragen Sie nicht, was Ihr Land für Sie tun kann - fragen Sie, was Sie für Ihr Land tun können".
Zu Open Source können Sie auf allen möglichen Ebenen beitragen, in allen möglichen Projekten. Sie müssen nicht darüber nachdenken, was genau Ihr erster Beitrag sein wird oder wie er aussehen wird.
Denken Sie stattdessen zunächst über die Projekte nach, die Sie bereits verwenden oder verwenden möchten. Nach dieser Logik könnten dies die Projekte werden, zu denen Sie aktiv beitragen werden.
Innerhalb dieser Projekte, wann immer Sie sich denken, dass etwas besser oder anders sein könnte, handeln Sie nach Ihrem Instinkt.
Open Source ist kein exklusiver Club, sondern besteht auf Leuten wie Ihnen. "Open Source" ist nur ein schicker Begriff, um die Probleme der Welt als behebbar zu begreifen.
Sie können eine README überfliegen und einen defekten Link oder einen Tippfehler finden. Oder Sie sind ein\*e neue\*r Benutzer\*in und haben bemerkt, dass etwas kaputt ist, oder ein Problem, das Ihrer Meinung nach wirklich dokumentiert sein sollte. Anstatt es zu ignorieren und weiterzuziehen oder jemand zu bitten, es zu reparieren, können Sie vielleicht selbst mitmachen und mithelfen. Das ist des Pudels Kern bei Open Source!
> [28% der Gelegenheitsbeiträge](https://www.igor.pro.br/publica/papers/saner2016.pdf) zu Open Source betreffen die Dokumentation (z.B. eine Korrektur der Rechtschreibung oder Formatierung, oder das Schreiben einer Übersetzung).
>
> [28% of casual contributions](https://www.igor.pro.br/publica/papers/saner2016.pdf) to open source are documentation, such as a typo fix, reformatting, or writing a translation.
Wenn Sie Issues suchen, die Sie beheben könnten, hat jedes Open-Source-Projekt eine Seite, die Neuling-freundliche Issues aufzeigt. Navigieren Sie zur Repository-Hauptseite auf GitHub und fügen Sie `/contribute` der URL hinzu (z.B.[`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
Weiterhin, können Sie auf folgenden Seiten neue Projekte zum Beitragen entdecken (alle englischsprachig):
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Eine Checkliste, bevor Sie einen Beitrag leisten
Wenn Sie ein Projekt gefunden haben, zu dem Sie beitragen möchten, prüfen Sie kurz, ob das Projekt Ihren Beitrag wahrscheinlich annehmen wird oder nicht. Sonst wird Ihre harte Arbeit vielleicht nicht fruchten.
Hier ist eine praktische Checkliste, um zu beurteilen, ob ein Projekt für neue Mitwirkende geeignet ist.
**Erfüllt die Definition von Open Source**
**Das Projekt nimmt aktiv Beiträge entgegen**
Sehen Sie sich die Commit-Aktivität auf dem Main Branch an. Auf GitHub können Sie diese Informationen auf der Repository-Hauptsite sehen.
Schauen Sie sich als nächstes die Issues des Projekts an.
Führen Sie nun die selben Schritte für die Pull Requests des Projekts durch.
**Das Projekt ist einladend**
Ein Projekt, das freundlich und einladend ist, signalisiert Offenheit gegenüber neuen Mitwirkenden.
## Wie man einen Beitrag einreicht
Sie haben ein Projekt gefunden, das Ihnen gefällt und sind zum Leisten eines Beitrags bereit? Endlich! So erreichen Sie dies auf die richtige Art und Weise.
### Effektive Kommunikation
Unabhängig davon, ob Sie ein\*e einmalige\*r Beitragende\*r sind oder versuchen, einer Gemeinschaft beizutreten, ist die Zusammenarbeit mit anderen eine der wichtigsten Fähigkeiten, die Sie bei der Open-Source-Arbeit entwickeln werden.
Bevor Sie ein Issue oder einen Pull Request aufmachen oder eine Frage im Chat stellen, sollten Sie diese Punkte im Hinterkopf behalten, damit Ihre Ideen effektiv rüberkommen.
**Erklären Sie den Kontext.** Bringen Sie andere schnell auf den neuesten Stand. Wenn Sie auf einen Fehler stoßen, erklären Sie, was Sie zu tun versuchen und wie Sie ihn reproduzieren können. Wenn Sie eine neue Idee vorschlagen, erklären Sie deren Nutzen für das Projekt (nicht nur für Sie!).
> 😇 _"X funktioniert nicht, wenn ich Y tue"_
>
> 😢 _"X ist kaputt! Bitte reparieren!"_
**Machen Sie Ihre Hausaufgaben vorher.** Es ist OK, nichts zu wissen, aber zeigen Sie, dass Sie es versucht haben. Bevor Sie um Hilfe bitten, stellen Sie sicher, dass Sie die README, die Dokumentation, Issues (offene und geschlossene), die Mailingliste und das Internet nach einer Antwort durchsucht haben. Die Leute werden Lernversuche zu schätzen wissen.
> 😇 _"Ich bin mir nicht sicher, wie man X implementiert. Ich habe die Hilfeseiten überprüft, aber X dort nicht erwähnt gefunden."_
>
> 😢 _"Wie mache ich X?"_
**Halte Anfragen kurz und direkt.** Ähnlich wie das Senden einer E-Mail, erfordert jeder Beitrag, egal wie einfach oder hilfreich er ist, eine Überprüfung durch jemand anderen. Viele Projekte haben mehr eingehende Anfragen als helfende Personen. Seien Sie kurz und bündig. Sie erhöhen die Chance, dass Ihnen jemand helfen kann.
> 😇 _"Ich würde gerne eine API-Anleitung schreiben."_
>
> 😢 _"Ich fuhr neulich auf der Autobahn und hielt zum Tanken an, und dann hatte ich diese erstaunliche Idee für etwas, was wir tun sollten, aber bevor ich das erkläre, lass mich dir etwas zeigen..."_
**Kommuniziere öffentlich.** Obwohl es verlockend ist, sollten Sie sich nicht privat an Projektbetreuer\*innen wenden, es sei denn, Sie müssen vertrauliche Informationen weitergeben (z.B. ein Sicherheitsproblem oder eine schwere Verletzung des Verhaltenskodex). Vom öffentlichen Austausch können mehr Menschen lernen und profitieren. Diskussionen können an sich schon Beiträge zum Projekt sein.
> 😇 _(als Kommentar) "@-maintainer Hallo! Wie sollen wir dieses PR behandeln?"_
>
> 😢 _(als E-Mail) "Hallo, und t'schuldigung, dass ich per Mail schreibe, aber ich habe mich gefragt, ob Sie schon Zeit hatten, mein PR zu prüfen?"_
**Fragen stellen, ist OK (aber seien Sie geduldig!).** Jeder war irgendwann einmal neu im Projekt, und selbst erfahrene Mitwirkende müssen sich auf den neuesten Stand bringen, wenn sie sich ein neues Projekt ansehen. Ebenso sind selbst langjährige Maintainer\*innen nicht immer mit jedem Teil des Projekts vertraut. Zeigen Sie ihnen die gleiche Geduld, die Sie von ihnen erwarten würden.
> 😇 _"Danke, dass Sie sich diesen Fehler angesehen haben. Ich bin Ihren Ratschlägen gefolgt. Hier ist die Ausgabe."_
>
> 😢 _"Warum kannst Du mein Problem nicht lösen? Ist das nicht Dein Projekt?"_
**Respektieren Sie die Entscheidungen der Gemeinschaft.** Ihre Ideen könnten von den Prioritäten oder der Vision der Gemeinschaft abweichen. Diese gibt Ihnen vielleicht eine Rückmeldung oder beschließt, Ihre Idee nicht weiterzuverfolgen. Auch wenn Sie Kompromisse suchen und besprechen sollten, müssen die Maintainer\*innen mit einer Entscheidung länger leben als Sie selbst. Wenn Sie mit deren Richtung nicht einverstanden sind, können Sie jederzeit an Ihrem eigenen Fork arbeiten oder Ihr eigenes Projekt starten.
> 😇 _"Ich bin enttäuscht, dass Sie meinen Anwendungsfall nicht unterstützen können, aber ich verstehe Ihre Erläuterung, dass er nur einen kleinen Teil der Benutzer\*innen betrifft. Danke fürs Zuhören."_
>
> 😢 _"Warum unterstützen Sie meinen Anwendungsfall nicht? Das ist inakzeptabel!"_
**Vor allem: Bewahren Sie Stil.** Open Source besteht aus Menschen aus der ganzen Welt, die mit uns zusammenarbeiten. Nuancen gehen über Sprachen, Kulturen, Regionen und Zeitzonen hinweg verloren. Darüber hinaus erschwert die schriftliche Kommunikation die Vermittlung eines Tonfalls oder einer Stimmung. Nehmen Sie in Open-Source-Diskussionen gute Absichten an. Es ist in Ordnung, eine Idee höflich zurückzuweisen, nach Kontext zu fragen oder Ihre Position genauer zu erklären. Versuchen Sie einfach, das Internet als einen besseren Ort zu verlassen, als Sie es gefunden haben.
### Erfassen Sie den Kontext
Bevor Sie etwas tun, sollten Sie kurz sicherstellen, dass Ihre Idee nicht schon an anderer Stelle besprochen wurde. Überfliegen Sie die README des Projekts, Issues (offen und geschlossen), die Mailingliste und Stack Overflow. Sie müssen nicht stundenlang alles durchgehen, aber eine schnelle Suche nach ein paar Schlüsselbegriffen bringt Sie weiter.
Wenn Sie Ihre Idee woanders nicht finden können, sind Sie bereit für den ersten Schritt. Wenn sich das Projekt auf GitHub befindet, werden Sie Ihre Idee vermutlich als Issue kommunizieren oder einen Pull Request erstellen:
* **Issues** sind wie ein Gespräch oder eine Diskussion.
* **Pull Requests** sind der Beginn der Arbeit an einer Lösung.
* **Eine unkomplizierte Kommunikation,** wie z.B. die Klärung einer Vorgehensweise oder Frage, versuchen Sie es in Stack Overflow, IRC, Slack oder anderen Chat-Kanälen, falls das Projekt über solche verfügt.
Bevor Sie ein Issue oder einen Pull Request öffnen, überprüfen Sie die Beitragsdokumentationen des Projekts (normalerweise eine Datei namens CONTRIBUTING, oder in der README), um zu verstehen, was in Anfragen erwünscht ist. Beispielsweise kann das Projekt verlangen, dass Sie einer Vorlage folgen oder Tests verwenden.
Wenn Sie einen substantiellen Beitrag leisten wollen, öffnen Sie einen Issue, bevor Sie daran arbeiten. Bevor Sie Arbeiten ausführen, die möglicherweise nicht angenommen werden, schauen Sie sich das Projekt lieber eine Weile an (auf GitHub, [auf "Watch" klicken](https://help.github.com/articles/watching-repositories/), um über alle Konversationen informiert zu werden), und lernen die Community-Mitglieder kennen.
### Ein Issue erstellen
In der Regel sollten Sie in den folgenden Situationen ein Issue erstellen:
* Melden Sie einen Fehler, den Sie nicht selbst beheben können.
* Diskutieren Sie ein übergeordnetes Thema oder eine Idee (z.B. über die Community, Vision oder Regelungen des Projekts).
* Ein neues Feature oder eine andere Projektidee vorschlagen
Tipps für die Kommunikation zu Issues:
* **Wenn Sie ein offenes Issue sehen, das Sie in Angriff nehmen wollen,** kommentieren Sie dies und lassen Sie die Leute wissen, dass Sie am Ball sind. Auf diese Weise ist es weniger wahrscheinlich, dass jemand eine Arbeit doppelt macht.
* **Wenn ein Issue vor einer Weile geöffnet wurde,** ist es möglich, dass es woanders bearbeitet wird, oder bereits gelöst wurde. Daher bitten Sie um Bestätigung, bevor Sie mit der Arbeit beginnen.
* **Wenn Sie ein Issue geöffnet haben, aber die Antwort später selbst herausgefunden haben,** kommentieren Sie das Issue, um anderen Leuten die Antwort mitzuteilen. Schließen Sie danach das Issue. Auch die Dokumentation dieses Ergebnisses ist ein Beitrag zum Projekt.
### Einen Pull Request erstellen
In den folgenden Situationen sollten Sie in der Regel einen Pull Request öffnen:
* Triviale Korrekturen einreichen (z.B. eines Tippfehlers, eines defekten Links oder eines offensichtlichen Fehlers)
* Beginn der Arbeit an einem Beitrag, um den Sie bereits gebeten wurden oder den Sie bereits in einem Issue diskutiert haben.
Einen Pull Request muss keine fertige Arbeit darstellen. Es ist in der Regel besser, es frühzeitig zu starten, damit andere zuschauen oder Feedback zu Ihrem Fortschritt geben können. Markieren Sie es einfach als "WIP" (Work in Progress) in der Betreffzeile. Sie können später jederzeit weitere Commits hinzufügen.
Wenn das Projekt auf GitHub läuft, können Sie hier einen Pull Request stellen:
* **[Forken Sie das Repository](https://guides.github.com/activities/forking/)** und klonen Sie es lokal. Verbinden Sie Ihr lokales mit dem ursprünglichen "upstream"-Repository, indem Sie es als Remote hinzufügen. Pullen Sie Änderungen von "upstream" möglichst oft, damit Sie auf dem Laufenden bleiben, und Konflikte beim Einreichen Ihres Pull Requests weniger wahrscheinlich werden. ([detailliertere Anweisungen finden Sie hier](https://help.github.com/articles/syncing-a-fork/).)
* **[Erstellen Sie einen Branch](https://guides.github.com/introduction/flow/)** für Ihre Änderungen.
* **Verweisen Sie auf relevante Issues** oder unterstützende Dokumentation in Ihrem PR (z.B. "Closes #37").
* **Fügen Sie Vorher-/Nachher-Bildschirmfotos hinzu**, wenn Ihre Änderungen Unterschiede in HTML/CSS enthalten. Ziehen Sie die Bilder per Drag & Drop in den Textkörper Ihres Pull Requests.
* **Testen Sie Ihre Änderungen!** Führen Sie vorhandene Tests aus und erstellen bei Bedarf neue. Egal ob es Tests gibt oder nicht, stellen Sie sicher, dass Ihre Änderungen das bestehende Projekt nicht brechen.
* **Tragen Sie im Stil des Projekts bei,** nach bestem Wissen und Gewissen. Dies kann bedeuten, dass Sie Einrückungen, Semikolons oder Kommentare anders verwenden als in Ihrem eigenen Repository, aber es erleichtert dem oder der Betreuer\*in das Zusammenführen, und anderen das Verständnis und die Pflege in der Zukunft.
Wenn dies Ihr erster Pull Request ist, sehen Sie sich [Make a Pull Request](http://makeapullrequest.com/) an, die @kentcdodds als Video-Tutorial erstellt hat. Sie können auch üben, ein Pull Request in @Roshanjossey\s "[First Contributions](https://github.com/Roshanjossey/first-contributions)"-Repository zu erstellen.
## Was passiert, nachdem Sie einen Beitrag eingereicht haben?
Geschafft! Herzlichen Glückwunsch, dass Sie zu einem Open-Source-Projekt beigetragen haben. Wir hoffen, dass weitere folgen.
Nachdem Sie einen Beitrag eingereicht haben, tritt einer der folgenden Fälle ein:
### 😭 Sie erhalten keine Antwort.
Hoffentlich haben Sie [das Projekt auf Anzeichen von Aktivität überprüft](#eine-checkliste-bevor-sie-einen-beitrag-leisten), bevor Sie einen Beitrag leisten. Auch bei einem aktiven Projekt kann es jedoch vorkommen, dass Ihr Beitrag keine Resonanz findet.
Wenn Sie seit über einer Woche keine Antwort erhalten haben, ist es fair, nachzuhaken und höflich jemanden um eine Rezension zu bitten. Wenn Sie den Namen der richtigen Person kennen, um Ihren Beitrag zu überprüfen, können Sie sie oder ihn mit einem `@` erwähnen.
Kontaktieren Sie diese Person **nicht** privat, denn öffentliche Kommunikation ist für Open-Source-Projekte unerlässlich.
Wenn Sie höflich nachhaken und trotzdem niemand antwortet, könnte dies für immer so bleiben. Es ist kein gutes Gefühl, aber lassen Sie sich davon nicht entmutigen. Sowas passiert allen mal! Es gibt viele mögliche Gründe und Umstände, die außerhalb Ihrer Kontrolle liegen, und die eine Antwort an Sie verhindert haben könnten. Versuchen Sie, ein anderes Projekt oder einen anderen Weg zu finden, um einen Beitrag zu leisten. Genau darum ist es ein guter Grund, nicht zu viel Zeit in Beiträge zu investieren, bevor nicht andere Mitglieder des Projektes auf Sie reagieren.
### 🚧 Jemand wünscht Änderungen an Ihrem Beitrag.
Es ist üblich, dass Sie aufgefordert werden, Änderungen an Ihrem Beitrag vorzunehmen, z.B. bezüglich des Umfangs Ihrer Idee oder bezüglich Ihres Code.
Wenn jemand Änderungen vorschlägt, reagieren Sie darauf. Der- oder diejenige hat sich die Zeit genommen, Ihren Beitrag zu überprüfen. Einen Pull Request zu eröffnen, aber nicht weiterzuverfolgen, ist schlechter Stil. Wenn Sie nicht wissen, wie Sie Änderungen vornehmen sollen, recherchieren Sie dies und bitten um Hilfe, wenn Sie sie brauchen.
Wenn Sie keine Zeit mehr haben, an dem Problem zu arbeiten (zum Beispiel, wenn das Thema seit Monaten vor sich hin brodelt aber sich Ihre Umstände geändert haben), lassen Sie es den Maintainer\*in wissen, damit sie oder er keine Antwort erwartet. Vielleicht übernimmt jemand anderes Ihren Pull Request.
### 👎 Ihr Beitrag wird nicht angenommen.
Ihr Beitrag kann schlussendlich akzeptiert werden oder auch nicht. Hoffentlich haben Sie nicht schon zu viel Arbeit investiert. Wenn Sie nicht sicher sind, warum es nicht akzeptiert wurde, ist es durchaus sinnvoll, die oder den Maintainer\*in um Rückmeldung und Erläuterung zu bitten. Letztendlich müssen Sie jedoch deren Entscheidung respektieren. Werden Sie nicht ausfallend. Sie haben immer die Möglichkeit, an Ihrem eigenen Fork des Projektes zu arbeiten, wenn Sie mit dem Original nicht einverstanden sind!
### 🎉 Ihr Beitrag wird angenommen.
Hurra! Sie haben erfolgreich einen Open-Source-Beitrag geleistet!
## Sie haben es geschafft!
Egal, ob Sie gerade Ihren ersten Open-Source-Beitrag geleistet haben oder nach neuen Beitragsmöglichkeiten suchen: Wir hoffen, Sie zum Mitmachen motiviert zu haben. Selbst wenn Ihr Beitrag nicht angenommen wurde, vergessen Sie nicht, sich zu bedanken, wenn ein\*e Projektbetreuer\*in sich bemüht hat, Ihnen zu helfen. Open Source wird von Leuten wie Ihnen gemacht: Issue für Issue, Pull Request für Pull Request, usw., oder auch mal alle Neune auf einmal.
================================================
FILE: _articles/de/index.html
================================================
---
layout: index
title: Open Source Guides
lang: de
permalink: /de/
---
================================================
FILE: _articles/de/leadership-and-governance.md
================================================
---
lang: de
title: Führung und Lenkung
description: Wachsende Open-Source-Projekte können von formellen Entscheidungsfindungsregeln profitieren.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Die Lenkungen eines wachsenden Projektes verstehen
Ihr Projekt wächst, Leute sind engagiert und Sie setzen sich dafür ein, dass alles läuft. In diesem Stadium fragen Sie sich vielleicht, wie Sie regelmäßig Mitwirkende in Ihren Arbeitsprozess einbinden können - sei es durch die Gewährung von direktem Commit-Zugang oder durch die Führung von Debatten in der Gemeinschaft. Wir liefern Antworten auf Ihre Fragen.
## Welche formalen Rollen kann es in Open-Source-Projekten geben?
Viele Projekte folgen einer ähnlichen Struktur hinsichtlich Mitwirkung und Anerkennung.
Was diese Rollen aber tatsächlich bedeuten, liegt ganz bei Ihnen. Nachfolgend sind einige Arten von Rollen aufgeführt, die Sie vielleicht schon kennen:
* **Maintainer\*in**
* **Mitwirkende\*r**
* **Committer\*in**
**Bei einigen Projekten sind "Maintainer\*innen"** die einzigen Personen mit Commit-Rechten. In anderen Projekten sind es einfach die Leute, die in der README als Maintainer\*innen aufgelistet sind.
Ein\*e Maintainer\*in muss in Ihrem Projekt nicht zwangsläufig Code schreiben. Es kann auch eine Person sein, die viel Öffentlichkeitsarbeit für Ihr Projekt geleistet hat, viel Dokumentation geschrieben hat, oder das Projekt für andere zugänglicher gemacht hat. Unabhängig davon, was sie tagtäglich tun, fühlen sich Maintainer\*innen wahrscheinlich für die Richtung des Projekts verantwortlich und setzen sich für dessen Verbesserung ein.
"Mitwirkende" könnten alle Menschen sein, die ein Issue oder Pull Request kommentiert, die dem Projekt einen Mehrwert verleihen (sei es durch Problembehebungen, das Schreiben von Code oder die Organisation von Veranstaltungen) oder alle, deren Pull Requests akzeptiert wurden (vielleicht die engste Definition für einen Beitrag).
**Der Begriff "Committer\*in"** könnte verwendet werden, um die höhere Verantwortung des Commit-Rechtes von anderen Formen der Mitarbeit zu unterscheiden.
Sie können Ihre Projektrollen zwar nach Belieben definieren, aber Sie sollten die Verwendung von [breiteren Definitionen in Betracht ziehen](../how-to-contribute/#was-einen-beitrag-leisten-bedeutet), um mehr Beitragsformen zu fördern. Mit Hilfe von Führungsrollen können Sie Personen, die unabhängig von ihren fachlichen Fähigkeiten herausragende Leistungen für Ihr Projekt erbracht haben, formell auszeichnen.
## Wie formalisiere ich diese Führungsrollen?
Führungsrollen zu formalisieren, hilft den Menschen, ein eigenes Verantwortungsbewusstsein zu entwickeln und zeigt anderen Mitwirkenden, wen sie um Hilfe bitten sollen.
In einem kleineren Projekt kann die Ernennung von Verantwortlichen einfach durch Hinzufügen Ihrer Namen zur README- oder CONTRIBUTORS-Datei geschehen.
Für ein größeres Projekt mit einer Website, erstellen Sie eine Teamseite und listen die Verantwortlichen dort auf. Zum Beispiel hat [Postgres](https://github.com/postgres/postgres/) eine [umfassende Teamseite](https://www.postgresql.org/community/contributors/) mit Kurzprofilen aller Mitwirkenden.
Wenn Ihr Projekt eine sehr aktive Gemeinschaft von Mitwirkenden hat, können Sie ein Maintainer\*innen-"Kernteam" bilden oder sogar Gremien, welche die Verantwortung für verschiedene Themengebiete übernehmen (z.B. Sicherheit, Issue-Bearbeitung oder Community-Management). Lassen Sie die Leute sich selbst organisieren! Anstatt ihnen Rollen zuzuweisen, lassen Sie Freiwillige das übernehmen, was diese am meisten begeistert.
Führungsteams können einen Kommunikationskanal einrichten (z.B. mit IRC) oder sich regelmäßig treffen, um das Projekt zu besprechen (z.B. in Gitter oder Google Hangout). Sie können diese Meetings sogar öffentlich machen, damit andere Leute zuhören können. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby) zum Beispiel, [lädt zu wöchentlichen Sprechstunden ein](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Vergessen Sie nicht, nach der Festlegung von Führungsrollen zu dokumentieren, wie Menschen diese erreichen können! Richten Sie einen klaren Prozess ein, wie Leute Maintainer\*in werden oder einem Gremium in Ihrem Projekt beitreten können, und beschreiben Sie diesen Prozess in einer GOVERNANCE.md.
Tools wie [Vossibility](https://github.com/icecrime/vossibility-stack) können Ihnen dabei helfen, öffentlich zu verfolgen, wer zum Projekt beiträgt (oder nicht). Die Dokumentation dieser Informationen beugt dem Eindruck vor, dass eine Maintainer\*innen-Clique ihre Privatinteressen durchsetzen würde.
Wenn sich Ihr Projekt auf GitHub befindet, können Sie Ihr Projekt von Ihrem persönlichen Konto in eine Organisation verschieben und mindestens einen Backup-Administrator einrichten. [GitHub-Organisationen](https://help.github.com/articles/creating-a-new-organization-account/) erleichtern die Verwaltung von mehreren Repositories und Berechtigungen, und schützen ihr Projektarchiv durch [gemeinsame Verantwortung](../building-community/#teilen-sie-die-eigentümerschaft-an-ihrem-projekt).
## Wann sollte ich jemandem Commit-Rechte geben?
Einige Leute denken, dass Sie allen Commit-Zugang geben sollten, die einen Beitrag geleistet haben. Dies könnte dazu führen, dass sich mehr Menschen für Ihr Projekt interessieren.
Andererseits (besonders bei größeren, komplexeren Projekten) möchten Sie vielleicht nur Personen zu Commits berechtigen, die ihr Engagement unter Beweis gestellt haben. Es gibt hier nicht _den einen_ richtigen Weg. Tun Sie, was Ihnen behagt!
Wenn sich Ihr Projekt auf GitHub befindet, können Sie unter [protected branches](https://help.github.com/articles/about-protected-branches/) verwalten, wer unter welchen Umständen auf einen bestimmten Branch committen darf.
## Welche Verwaltungsstrukturen nutzen Open-Source-Projekte häufiger?
Es gibt drei Verwaltungsstrukturen, die häufig bei Open-Source-Projekten vorkommen.
* * **BDFL:** BDFL steht für "Benevolent Dictator for Life" (gutmütige\*r Diktator\*in auf Lebenszeit). Bei dieser Struktur hat eine Person (in der Regel die oder der Erstautor\*in des Projekts) das letzte Wort bei allen wichtigen Projektentscheidungen. [Python](https://github.com/python) ist ein klassisches Beispiel. Kleinere Projekte haben wahrscheinlich standardmäßig ein\*e BDFL, da es nur einen oder zwei Maintainer\*innen gibt. Aus Unternehmen stammende Projekte können ebenfalls in die Kategorie BDFL fallen.
* **Meritokratie:** **(Hinweis: Der Begriff "Meritokratie" ist bei einigen Communitys negativ konnotiert und hat eine [komplexe soziale und politische Geschichte](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Unter einer Meritokratie erhalten aktive Projektmitarbeiter\*innen (diejenigen, die "sich die Meriten angelesen" haben) eine formelle Entscheidungsrolle. Entscheidungen werden in der Regel auf der Grundlage eines reinen Abstimmungskonsenses getroffen. Das Konzept der Meritokratie wurde von der [Apache Foundation](http://www.apache.org/) entwickelt; [alle Apache-Projekte](http://www.apache.org/index.html#projects-list) sind Meritokratien. Beiträge können nur von Personen geleistet werden, die sich selbst vertreten, nicht von einem Unternehmen.
* **Liberales Beitragsmodell:** Nach einem liberalen Beitragsmodell werden die Menschen, die aktuell die meiste Arbeit leisten, als die einflussreichsten anerkannt. Dabei wird aber ihre frühere Beitragshistorie außer Acht gelassen. Wichtige Projektentscheidungen werden auf der Grundlage eines Konsensfindungsprozesses (Besprechen der wichtigsten Missstände) und nicht auf Grundlage reiner Abstimmung getroffen. Dabei streben solche Projekte nach Einbeziehung möglichst vieler Perspektiven der Gemeinschaft. Beliebte Beispiele für Projekte, die ein liberales Beitragsmodell verwenden, sind [Node.js](https://foundation.nodejs.org/) und [Rust](https://www.rust-lang.org/).
Welches Modell sollten Sie verwenden? Das obliegt Ihnen! Jedes Modell hat Vor- und Nachteile. Und obwohl sie zunächst sehr unterschiedlich erscheinen mögen, haben alle drei Modelle mehr gemeinsam als zu vermuten wäre. Wenn Sie daran interessiert sind, eines dieser Modelle zu übernehmen, schauen Sie sich diese Vorlagen an (alle auf Englisch):
* [BDFL-Modellvorlage](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritokratische Modellvorlage](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberale Beitragspolitik](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Muss ich Projektleitung und -Steuerung schon zum Projektstart dokumentieren?
Es gibt nicht den einen richtigen Zeitpunkt, um die Leitungs- und Steuerungsrichtlinien Ihres Projekts aufzuschreiben. Allerdings sind sie einfacher zu definieren, sobald Sie die Entwicklung von Community-Dynamiken gesehen haben. Das Beste (und Schwierigste) an Open-Source-Projektsteuerung ist, dass sie von der Gemeinschaft geprägt wird!
Frühzeitige Dokumentationen wird selbst auch dazu beitragen, wie sich Ihr Projekt entwickelt, also schreiben Sie ruhig früh auf, was Sie früh wissen. So können Sie beispielsweise schon zum Projektstart klare Erwartungen an die Funktionsweise Ihres Mitwirkungsprozesses definieren.
Wenn Sie Teil eines Unternehmens sind, das ein Open-Source-Projekt startet, lohnt sich eine interne Diskussion vor dem Start. Wie erwartet Ihr Unternehmen, dass es das Projekt aufrechterhält und Entscheidungen trifft? Möglicherweise möchten Sie auch öffentlich erklären, ob oder wie Ihr Unternehmen in das Projekt eingebunden wird.
## Was passiert, wenn Firmenangehörige Beiträge einreichen?
Erfolgreiche Open-Source-Projekte werden von vielen Menschen und Unternehmen genutzt, und einige davon verfügen möglicherweise über Einnahmen, die letztendlich durch das Projekt generiert wurden. Beispielsweise kann eine Firma den Projektcode als eine Komponente eines kommerziellen Serviceangebots verwenden.
Mit zunehmender Verbreitung des Projekts werden Menschen, die über Fachwissen verfügen, immer gefragter (Sie könnten eine\*r davon sein!) und wird manchmal für die Arbeit bezahlt, die sie im Projekt leisten.
Es ist wichtig, kommerzielle Aktivitäten als normal und als eine weitere Motivation für die Entwicklungsarbeit zu betrachten. Bezahlte Entwickler\*innen sollten natürlich keine Sonderbehandlung gegenüber unbezahlten erhalten. Jeder Beitrag muss nach seinen technischen Eigenschaften bewertet werden. Allerdings sollten die Leute zu kommerziellen Aktivitäten bereit sein, und sich damit wohl fühlen, wenn sie ihre Anwendungsfälle angeben oder sich für eine bestimmte Verbesserung oder Funktion aussprechen.
"Kommerziell" ist vollständig kompatibel mit "Open-Source". "Kommerziell" bedeutet nur, dass irgendwo Geld im Spiel ist, z.B. dass die Software unternehmerisch eingesetzt wird. Dies wird umso wahrscheinlicher, je weiter sich ein Projekt verbreitet. Wenn Open-Source-Software als Teil eines Nicht-Open-Source-Produkts verwendet wird, ist das Gesamtprodukt immer noch "proprietäre" Software, obwohl sie (wie Open-Source!) für kommerzielle oder nicht-kommerzielle Zwecke verwendet werden kann.
Wie jeder andere auch, gewinnen kommerziell motivierte Entwickler\*innen durch die Qualität und Quantität ihrer Beiträge Einfluss auf das Projekt. Natürlich kann ein\*e Entwickler\*in, die oder der für die Arbeitszeit bezahlt wird, mehr tun als unbezahlte Beitragende, aber das ist in Ordnung: Bezahlung beeinflusst nur als einer von vielen möglichen Faktoren, was jemand tut. Halten Sie Ihre Projektdiskussionen auf den Inhalt der Beiträge fokussiert, nicht auf die externen Faktoren, die es den Menschen ermöglichen, diese Beiträge zu leisten.
## Brauche ich für mein Projekt eine juristische Person?
Sie benötigen keine juristische Person, um Ihr Open-Source-Projekt zu verwalten. Es sei denn, es kommt Geld ins Spiel.
Wenn Sie beispielsweise ein kommerzielles Unternehmen gründen möchten, sollten Sie eine GmbH oder UG gründen (wenn Sie in Deutschland ansässig sind). Wenn Sie nur Auftragsarbeiten im Zusammenhang mit Ihrem Open-Source-Projekt durchführen, können Sie Geld als (Einzel)Unternehmergesellschaft akzeptieren oder eine GmbH gründen.
Wenn Sie Spenden für Ihr Open-Source-Projekt annehmen möchten, können Sie einen Spendenkanal einrichten (z.B. über PayPal oder Stripe), aber das Geld ist nicht steuerlich absetzbar. Es sei denn, dieser Prozess läuft über einen anerkannten gemeinnützigen Verein.
Viele Projekte wollen sich nicht die Mühe machen, einen gemeinnützigen Verein zu gründen, also finden sie stattdessen einen gemeinnützigen, steuerrechtlichen Sponsor. Ein solcher Sponsor nimmt Spenden in Ihrem Namen entgegen (teilweise im Austausch gegen einen prozentualen Anteil der Spende). [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects), [Open Collective](https://opencollective.com/opensource), und das deutsche [Center for the Cultivation of Technology](https://techcultivation.org/) sind Beispiele für Organisationen, die als steuerrechtliche Sponsoren für Open-Source-Projekte fungieren.
Wenn Ihr Projekt spezifisch für eine bestimmte Programmiersprache oder ein bestimmtes Ökosystem gedacht ist, kann es auch eine entsprechende Software-Stiftung geben, mit der Sie zusammenarbeiten können. So unterstützt beispielsweise die [Python Software Foundation](https://www.python.org/psf/) den Paketmanager [PyPI](https://pypi.org/), und die [Node.js-Foundation](https://foundation.nodejs.org/) unterstützt das Node-basierte Framework [Express.js](https://expressjs.com/).
================================================
FILE: _articles/de/legal.md
================================================
---
lang: de
title: Rechtliche Aspekte von Open-Source-Projekten
description: Alle Rechtsfragen zu Open-Source-Projekten, über die Sie sich jemals Gedanken gemacht haben, und einige, über die nicht.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Die rechtlichen Implikationen von offenem Quellcode verstehen
Ihr kreatives Werk mit der Welt zu teilen, ist eine anregende und erfüllende Erfahrung. Jedoch können auch unerwartete Rechtsfragen auftreten. Dankenswerterweise müssen Sie bei deren Beantwortung nicht von Null anfangen. Wir decken Sie hier mit Hinweise ein, aber bitte beachten Sie unseren [Haftungsausschluss](/notices/).
## Warum sorgen sich Leute so um Rechtsfragen im Open-Source-Bereich?
Danke, dass Sie fragen! Wenn Sie ein kreatives Werk erarbeiten (bspw. einen Text, ein Bild, oder eben Code) fällt es standardmäßig und automatisch unter das Urheberrecht. Das bedeutet, das von Rechts wegen Sie, der/die Autor\*in des Werkes bestimmen dürfen, was andere damit tun dürfen.
Generell gilt, dass niemand sonst Ihr Werk nutzen, kopieren, verbreiten, oder modifizieren darf, ohne Abmahnungen oder Klagen zu riskieren.
Open-Source ist diesbezüglich natürlich anders, denn die/der Autor\*in erwartet ja, dass andere das Werk nutzen, modifizieren und teilen. Aber weil der Rechtsgrundsatz zunächst "exklusives Urheberrecht" lautet, benötigen Sie eine Lizenz, die klare Erlaubnisse verteilt.
Wenn Sie keine Open-Source-Lizenz einsetzen, erhält zudem jede\*r ebenfalls das ausschließliche Urheberrechts, der/die zu Ihrem Projekt beiträgt. Das würde bedeuten, dass wirklich niemand die Beiträge nutzen, kopieren, verbreiten, oder modifizieren dürfte. Selbst Sie nicht.
Schlussendlich könnte Ihr Projekt auch von anderen abhängen, die wiederum Lizenzbedingungen haben, derer Sie sich nicht bewusst waren. Die Gemeinschaft um Ihr Projekt und/oder Regelungen Ihrer Arbeitsstelle können auch bestimmte Open-Source-Lizenzen bedingen. Diese Fälle behandeln wir weiter unten.
## Sind publizierte GitHub-Projekte Open-Source?
Wenn Sie [ein neues Projekt auf GitHub erstellen](https://help.github.com/articles/creating-a-new-repository/), können Sie dies **öffentlich** oder **privat** tun.

**Ihr GitHub-Projekt öffentlich zu machen, ist nicht dasselbe, wie eine Lizenz zu vergeben.** Öffentliche Projekte unterliegen [GitHubs Servicebedingungen](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), die Anderen das Ansehen und Forken Ihres Projektes erlauben. Dies bringt allerdings keine weiteren Erlaubnisse für Ihr Werk mit sich.
Wenn Sie anderen die Nutzung, Verbreitung, Modifikation Ihres Projektes sowie das Beitragen erlauben möchten, müssen Sie eine Open-Source-Lizenz vergeben. Beispielsweise darf legalerweise kein Mensch irgendeinen Teil Ihres GitHub-Projektes in seinen/ihren eigenen Code nutzen (selbst wenn er öffentlich ist), solange Sie nicht das Recht dazu explizit eingeräumt haben.
## Sag mir nur kurz, wie ich mein Projekt schützen kann.
Sie haben Glück, denn Open-Source-Lizenzen sind heutzutage standardisiert und einfach zu nutzen. Sie können eine existierende Lizenz direkt in ihr Projekt kopieren.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), und [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) sind die populärsten Open-Source-Lizenzen, aber es gibt auch andere zur Auswahl. Sie finden deren Volltexte, sowie Anleitungen zur deren Nutzung auf [choosealicense.com](https://choosealicense.com/), sowie eine Gruppierung nach Lizenztyp auf [ifrOSS.org/lizenz-center](http://www.ifross.org/lizenz-center).
Wenn Sie ein neues Projekt auf GitHub anlegen, wird Ihnen [die Nutzung einer Lizenz vorgeschlagen](https://help.github.com/articles/open-source-licensing/).
## Welche Open-Source-Lizenz passt zu meinem Projekt?
Wenn Sie ein komplett neues Projekt starten, können Sie mit der [MIT-Lizenz](https://choosealicense.com/licenses/mit/) nichts falsch machen. Sie ist kurz, verständlich, und erlaubt allen alles, solange sie eine Lizenzkopie und Ihren Urheberrechtshinweis beibehalten.
Ansonsten hängt die korrekte Lizenzwahl von den Zielen Ihres Projektes ab.
Wahrscheinlich hat Ihr Projekt externe Abhängigkeiten (oder wird diese haben). Beispielsweise wenn Sie ein Node.js-Projekt veröffentlichen, werden Sie vermutlich Bibliotheken vom Node Package Manager (npm) nutzen. Jede dieser Bibliotheken ist eine Abhängigkeiten von Ihrem Projekt und hat ihre eigene Open-Source-Lizenz. Wenn jede dieser Lizenzen "permissiv" ist (also der Öffentlichkeit die Nutzung, Modifikation, und das Teilen bedingungslos erlaubt), können _Sie_ jede Lizenz verwenden, die sie möchten. Weit verbreitete permissive Lizenzen sind z.B. MIT, Apache 2.0, ISC und BSD.
Wenn allerdings irgendeine der Bibliotheken, von denen Ihr Projekt abhängt, ein "starkes Copyleft" hat (also der Öffentlichkeit die Nutzung, Modifikation, und das Teilen ebenso erlaubt, aber unter der Bedingung, die selbe Lizenz zu nutzen), dann wird Ihr Projekt diese Lizenz auch verwenden (müssen). Weit verbreitete Copyleft-Lizenzen sind z.B. die GPLv2, GPLv3, sowie die AGPLv3.
Sie sollten auch die **Gemeinschaften** beachten, von denen Sie sich Nutzung und Beiträge Ihres Projektes erhoffen.
* **Möchten Sie Ihr Projekt in anderen nachgenutzt wissen?** Am Besten nutzen Sie dann die populärste Lizenz im Umfeld ihres Projektes. Beispielsweise ist die [MIT-Lizenz](https://choosealicense.com/licenses/mit/) für [npm-Bibliotheken](https://libraries.io/npm) am populärsten.
* **Soll Ihr Projekt auch große Firmen anziehen?** Große Firmen möchten sich vermutlich Patentrechte sichern, auch von allen Mitwirkenden. Diesen Fall deckt [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) ab.
* **Soll Ihr Projekt Mitwirkende anziehen, die ihre Beiträge aus Closed-Source-Software raushalten möchten?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) oder (wenn sie auch nicht zu Closed-Source-Diensten beitragen möchten) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) würden dazu passen.
Ihre **Firma** hat evtl. spezifische Lizenzanforderungen für ihre Open-Source-Projekte. Beispielsweise fordert sie eine permissive Lizenz, sodass sie Ihr Projekt in firmeneigener Closed-Source-Software nutzen kann. Oder Ihre Firma könnte eine starke Copyleft-Lizenz und eine zusätzliche Vereinbarung nutzen (siehe unten). Sodann kann nur sie und keine andere Firma, Ihr Projekt in einer Closed-Source-Software nutzen. Oder, Ihre Firma könnte spezielle Standards technischer Art haben, oder bezogen auf soziale Verantwortung, oder an Transparenz. All dies könnte eine spezifische Lizenzstrategie bedingen. Sprechen Sie mit der [Rechtsabteilung Ihrer Firma](#was-muss-die-rechtsabteilung-meines-unternehmens-wissen).
Wenn Sie ein GitHub-Projekt erstellen, wird Ihnen die Lizenzwahl vorgeschlagen. Dabei eine der oben genannten Lizenzen auszuwählen, "open-sourced" ihr Projekt. Wenn Sie aus weiteren Möglichkeiten die richtige Lizenz finden möchten, bitte schauen Sie sich [choosealicense.com](https://choosealicense.com) an, auch wenn Ihr Projekt [keine Software](https://choosealicense.com/non-software/) an sich ist.
## Was, wenn ich die Lizenz meines Projektes ändern möchte?
Die meisten Projekte müssen ihre Lizenz nie ändern. Aber manchmal kommen andere Umstände.
Zum Beispiel: Während des Wachstums Ihres Projektes bindet es weitere externe Bibliotheken ein oder gewinnt Nutzer\*innen hinzu. Oder, Ihre Firma ändert die Strategie. All dies kann (oder muss sogar) eine andere Lizenzentscheidung nach sich ziehen. Außerdem: Falls Sie zu Beginn keine Lizenz vergeben haben, ist dies nachzuholen effektiv dasselbe wie eine Lizenzänderung. Die folgenden drei Dinge sind grundsätzlich zu beachten, wenn Sie die Lizenzvergabe oder -änderung für Ihr Projekt in Betracht ziehen:
**Es ist kompliziert** Lizenzkompatibilitäten und deren Befolgung zu ermitteln. Auch die Urheberrechtsinhaber\*in(nen) herauszufinden, kann schnell kompliziert und verwirrend werden. Auf eine andere aber kompatible Lizenz für einen neue Release-Version und neue Beiträge zu wechseln, funktioniert anders als alle existierenden Beiträge zu relizenzieren. Ziehen Sie Ihre Kolleg\*innen von der Rechtsabteilung beim ersten Anflug des Verlangens nach Relizenzierung hinzu. Selbst wenn Sie die Erlaubnisse der Urheberrechtsinhaber\*innen für eine Lizenzänderung haben oder bekommen können: Bedenken Sie den Umbruch, den dies für Ihre Projekt und seine Nutzer\*innen bedeutet. Behandeln Sie eine Lizenzänderung als eine Richtungsentscheidung, die geschmeidiger über die Bühne gehen kann, wenn Sie mit allen Projektteilnehmer\*innen klar kommunizieren und alle konsultieren. All dies sind zudem gute Gründe, schon zu Beginn eines Projektes eine passende Lizenz zu wählen.
**Die vorhandene Lizenz Ihres Projektes.** Wenn diese kompatibel mit der gewünschten neuen Lizenz ist, können Sie die neue einfach anfangen zu verwenden. Dies funktioniert, da eine Kompatibilität von Lizenz A mit Lizenz B bedeutet, dass Sie die Bedingungen von Lizenz A auch erfüllen, wenn Sie sich an Lizenz B halten (Umgekehrt gilt dies allerdings nicht notwendigerweise ebenso). Wenn Sie z.B. eine permissive Lizenz nutzen (wie MIT), können Sie auf eine Lizenz mit mehr Bedingungen wechseln, solange Sie die Kopie des MIT-Lizenztextes und die assoziierten Urheberrechtshinweise beibehalten (also die MIT-Minimalbedingungen erfüllen). Wenn allerdings Ihre aktuelle Lizenz nicht-permissiv ist (sondern z.B. copyleft, oder wenn Sie keine Lizenz nutzen), und Sie nicht der oder die einzige Urheberrechtsinhaber\*in sind, können Sie Ihr Projekt nicht einfach auf MIT umstellen. Im Kern bedeutet eine permissive Lizenz auch, dass ein\*e Urheberrechtsinhaber\*in schon im Vorhinein die Erlaubnis zur Lizenzänderung gegeben hat.
**Die bestehenden Urheber\*innen Ihres Projekts.** Wenn Sie die oder der einzige Mitwirkende an Ihrem Projekt sind, dann sind entweder Sie oder Ihr Unternehmen der/die einzige Rechteinhaber\*in des Projekts. Sie können die Lizenz hinzufügen oder ändern, die Sie oder Ihr Unternehmen haben möchten. Andernfalls kann es andere Urheberrechtsinhaber\*innen geben, von denen Sie die Zustimmung benötigen, um die Lizenzen zu ändern. Wer sind sie? Menschen, die sich in Ihrem Projekt engagieren, kommen hierfür infrage. Aber in manchen Fällen werden die Verwertungsrechte von den Arbeitgeber\*innen dieser Leute gehalten, in anderen Fällen haben die Leute nur minimale Beiträge geleistet, aber es gibt keine exakte Regel, dass Beiträge unter einer bestimmten Anzahl von Code-Zeilen nicht dem Urheberrecht unterliegen. Was tun? Das kommt darauf an. Für ein relativ kleines und junges Projekt kann es möglich sein, alle existierenden Mitwirkenden dazu zu bringen, einer Lizenzänderung in einem Issue oder einem Pull-Antrag zuzustimmen. Für große und langlebige Projekte müssen Sie möglicherweise viele Mitwirkende und sogar deren Erben suchen. Mozilla brauchte Jahre (2001-2006), um Firefox, Thunderbird und verwandte Software neu zu lizenzieren.
Alternativ können Sie auch im Voraus bestimmte Lizenzänderungen unter bestimmten Bedingungen vereinbaren, die über die von Ihrer bestehenden Open-Source-Lizenz hinausgehen. Solche zusätzlichen Vereinbarungen, auch "contributor (license) agreements" genannt, werden unten weiter erklärt. Sie verschieben die Komplexität des Lizenzwechsels etwas: Sie brauchen mehr Hilfe von Ihren Anwälten im Vorfeld, und Sie werden trotzdem mit den Beteiligten Ihres Projekts kommunizieren wollen, wenn Sie eine Lizenzänderung durchführen.
## Benötigt mein Projekt eine zusätzliche Kontributionsvereinbarung?
Wahrscheinlich nicht. Für die überwiegende Mehrheit der Open-Source-Projekte gilt eine Open-Source-Lizenz implizit sowohl für reinkommende Beiträge als auch ausgehend an andere Mitwirkende und Benutzer\*innen. Wenn Ihr Projekt auf GitHub steht, machen GitHubs Terms of Service diese "inbound=outbound" genannte Praxis zum [expliziten Standard](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Eine zusätzliche Kontributionsvereinbarung - oft auch Contributor License Agreement (CLA) genannt - kann Verwaltungsarbeit für die Projektbetreuer\*in schaffen. Hierbei hängt der Umfang der zusätzlichen Arbeit vom Projekt und der Implementierung ab. Eine einfache Vereinbarung erfordert, dass die Mitwirkenden mit einem Klick bestätigen, dass sie die erforderlichen Rechte innehaben, um zum Projekts im Rahmen dessen Open-Source-Lizenz beizutragen.
Durch das Hinzufügen von "Papierkram", den einige für unnötig, schwer verständlich oder ungerecht halten (wenn der/die Empfänger\*in der Vereinbarung mehr Rechte als die Mitwirkenden oder die Öffentlichkeit über die Open-Source-Lizenz des Projekts erhält), kann eine zusätzliche Kontributionsvereinbarung als unfreundlich für die Gemeinschaft des Projekts empfunden werden.
Einige Situationen, in denen Sie eine zusätzliche Kontributionsvereinbarung für Ihr Projekt in Betracht ziehen sollten, sind z.B:
* Ihre Anwälte wollen, dass alle Mitwirkenden ausdrücklich die Kontributionsbedingungen akzeptieren (_unterschreiben_, on- oder off-line), vielleicht weil sie der Meinung sind, dass die Open-Source-Lizenz selbst nicht ausreicht (obwohl sie ausreicht!). Wenn dies die einzige Sorge ist, sollte eine Kontributionsvereinbarung, welche die Open-Source-Lizenz des Projekts bestätigt, ausreichen. Das [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) ist ein gutes Beispiel für eine leichtgewichtige, zusätzliche Kontributionsvereinbarung. Für manche Projekte kann ein [Developer Certificate of Origin](https://github.com/probot/dco) eine Alternative sein.
* Sie oder Ihre Anwälte wollen Entwickler\*innen bestätigen lassen, dass Ihre Commits autorisiert sind. Viele Projekte nutzen dafür das [Developer Certificate of Origin](https://developercertificate.org/). Beispielsweise nutzt die Node.js-Community [ein DCO](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) anstatt ihres [vorherigen CLAs](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution). [DCO Probot](https://github.com/probot/dco) bietet eine einfache Möglichkeit, in Ihrem Projekt ein solches DCO automatisch einzufordern.
* Ihr Projekt verwendet eine Open-Source-Lizenz, die keine ausdrückliche Patenterteilung enthält (z.B. MIT), die Sie aber von allen Mitwirkenden benötigen. Von denen können Einige für Unternehmen mit großen Patentportfolios arbeiten, die gegen Sie oder die anderen Mitwirkenden und Benutzer\*innen des Projekts verwendet werden könnten. Die [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) ist eine häufig verwendete zusätzliche Kontributionsvereinbarung mit einer der Apache License 2.0 entsprechenden Patenterteilung.
* Ihr Projekt steht unter einer Copyleft-Lizenz, aber Sie müssen auch eine proprietäre Version des Projekts verbreiten. Sie werden von allen Kontributor\*innen eine Rechteverwertungsvereinbarung einholen müssen, die Ihnen (aber nicht der Öffentlichkeit) eine permissive Lizenz gewährt. Das [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) ist ein Beispiel für eine solche Vereinbarungen.
* Sie sind der Meinung, dass Ihr Projekt im Laufe seiner Laufzeit seine Lizenz wechseln muss und möchten, dass die Mitwirkenden dieser Änderungen im Voraus zustimmen.
Wenn Sie mit Ihrem Projekt wirklich eine zusätzliche Kontributionsvereinbarung verwenden müssen, sollten Sie eine Integration wie den [CLA-Assistenten](https://github.com/cla-assistant/cla-assistant) verwenden, um Mitwirkende nur minimalstmöglich abzulenken.
## Was muss die Rechtsabteilung meines Unternehmens wissen?
Wenn Sie ein Open-Source-Projekt als Mitarbeiter\*in eines Unternehmens veröffentlichen, sollte die Rechtsabteilung zunächst wissen, dass Sie ein Open-Source-Projekt durchführen.
Ungeachtet der möglichen Vor- oder Nachteile sollten Sie es mitteilen, auch wenn es sich um ein persönliches Projekt handelt. Sie haben wahrscheinlich eine "Rechteübertragungsvereinbarung" mit ihrer Firma, die ihr einen gewissen Grad an Kontrolle über ihre Projekte gibt. Insbesondere, wenn diese irgendwie mit dem Geschäft des Unternehmens zu tun haben oder Sie die Ressourcen des Unternehmens für die Entwicklung des Projekts nutzen. Ihr Unternehmen _sollte_ Ihnen problemlos die Erlaubnis erteilen, und hat vielleicht schon eine mitarbeiterfreundliche Rechtevereinbarung oder Firmenpolitik. Wenn nicht, können Sie verhandeln (z.B. erklären, dass Ihr Projekt den beruflichen Lern- und Entwicklungszielen des Unternehmens dient), oder vermeiden, an Ihrem Projekt zu arbeiten, bis Sie ein besseres Unternehmen gefunden haben.
**Wenn Sie ein Projekt im Namen Ihrer Firma öffnen möchten,** teilen Sie dies definitiv mit. Ihre Rechtsabteilung hat wahrscheinlich bereits Richtlinien für eine Open-Source-Lizenz (und vielleicht eine zusätzliche Kontributionsvereinbarung), die auf den geschäftlichen Anforderungen des Unternehmens basieren und die sicherstellen, dass Ihr Projekt mit den Lizenzen seiner Dependencies übereinstimmt - wenn nicht, dann haben Sie und Ihre Rechtsabteilung Glück! Letztere dürfte erpicht darauf sein, mit Ihnen zusammenzuarbeiten, um folgende Dinge herauszufinden:
* **Material Dritter:** Hängt Ihr Projekt von Software ab, die von anderen erstellt wurden, oder enthält oder verwendet es anderweitig den Code Dritter? Wenn ja und diese Open-Source-lizenziert sind, müssen Sie diese einhalten. Dies beginnt mit der Wahl einer Lizenz für Ihr Projekt, die mit den Open-Source-Lizenzen der Drittanbieter kompatibel ist (siehe oben). Wenn Ihr Projekt Open-Source-Material Dritter modifiziert oder verbreitet, wird Ihre Rechtsabteilung auch sicher sein wollen, dass Sie Zusatzbedingungen der Drittanbieterlizenzen erfüllen, wie z.B. die Beibehaltung von Urheberrechtsvermerken. Wenn Ihr Projekt anderen Code verwendet, der nicht unter einer Open-Source-Lizenz steht, müssen Sie wahrscheinlich die Drittanbieter bitten, eine [Open-Source-Lizenz hinzuzufügen](https://choosealicense.com/no-license/#for-users). Wenn dies nicht erfolgreich ist, müssen Sie aufhören, deren Code in Ihrem Projekt zu verwenden.
* **Geschäftsgeheimnisse:** Überlegen Sie, ob Teile des Projektes Ihres Unternehmen nicht der Öffentlichkeit zugänglich gemacht werden sollten. Solches Material können Sie aus Ihrem Projekt extrahieren, privat halten, und den Rest veröffentlichen.
* **Patente:** Wenn Ihr Unternehmen ein Patent anmeldet, für das die Veröffentlichung Ihres Projektes eine [Offenlegung](https://en.wikipedia.org/wiki/Public_disclosure) darstellen würde, werden Sie evtl. gebeten zu warten (oder vielleicht wird das Unternehmen überdenken, ob die Patentanmeldung sinnvoll ist). Wenn Sie Beiträge von Mitarbeiter\*innen von Unternehmen mit großen Patentportfolios erwarten, könnte Ihre Rechtsabteilung sich eine Lizenz mit einer ausdrücklichen Patenterteilung von Mitwirkenden wünschen (z.B. die Apache 2.0 oder GPLv3), oder eine zusätzliche Kontributionsvereinbarung (siehe oben).
* **Marken- und Warenzeichen:** Vergewissern Sie sich, dass Ihr Projektname [nicht im Widerspruch zu bestehenden Marken steht](../starting-a-project/#namenskonflikte-vermeiden). Wenn Sie Ihre eigenen Firmenmarken im Projekt verwenden, stellen Sie sicher, dass diese keine Konflikte verursachen. [FOSSmarks](http://fossmarks.org/) ist ein praktischer Leitfaden, um Marken im Rahmen von freien und Open-Source-Projekten zu verstehen.
* **Privatsphäre:** Sammelt Ihr Projekt Daten über Benutzer\*innen? Sendet sie zurück an Firmenserver? Ihre Rechtsabteilung kann Sie bei der Einhaltung von Unternehmensrichtlinien und externen Vorschriften unterstützen.
Wenn Sie das erste Open-Source-Projekt Ihres Unternehmens veröffentlichen, ist das mehr als genug, um durchzukommen (aber keine Sorge, die meisten Projekte sollten keine größeren Bedenken aufwerfen).
Längerfristig kann Ihre Rechtsabteilung mehr tun, um dem Unternehmen zu helfen, von seinem Engagement für Open-Source zu profitieren, und auf der sicheren Seite zu bleiben:
* **Richtlinie für Beiträge von Angestellten:** Erwägen Sie die Entwicklung einer Unternehmenspolitik, die festlegt, wie Ihre Mitarbeiter\*innen zu Open-Source-Projekten beitragen. Eine klare Richtlinie verringert die Verwirrung unter Ihren Mitarbeiter\*innen und hilft ihnen dabei, Open-Source-Projekte im besten Interesse des Unternehmens zu unterstützen, sei es als Teil ihrer Arbeit oder in ihrer Freizeit. Ein gutes Beispiel von Rackspace ist deren [Model IP und Open-Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **Was veröffentlichen?** [(Fast) alles?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html). Wenn Ihre Rechtsabteilung die Open-Source-Strategie Ihres Unternehmens versteht und in sie investiert, kann sie Ihnen am besten helfen, anstatt Ihre Bemühungen zu behindern.
* **Compliance:** Auch wenn Ihr Unternehmen keine Open-Source-Projekte veröffentlicht, verwendet es die Open-Source-Software von anderen. [Bewusstsein darüber und Prozesse dafür](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) helfen, Kopfschmerzen, Produktverzögerungen und Klagen zu vermeiden.
* **Patente:** Ihr Unternehmen kann dem [Open Invention Network](https://www.openinventionnetwork.com/) beitreten: Einem gemeinsamen defensiven Patent-Pool, um die Nutzung großer Open-Source-Projekte durch Mitglieder zu schützen, oder kann andere [alternative Patentlizenzen](https://www.eff.org/document/hacking-patent-system-2016) in Betracht ziehen.
* **Governance:** Vor allem, wenn es sinnvoll ist, ein Projekt in eine [juristische Person außerhalb des Unternehmens](../leadership-and-governance/#brauche-ich-für-mein-projekt-eine-juristische-person) zu verlegen.
================================================
FILE: _articles/de/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: de
untranslated: false
title: Balance für Open-Source-Maintainer halten
description: Tipps zur Selbsthilfe und zur Vermeidung von Burnout als Maintainer.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
Wenn ein Open-Source-Projekt immer beliebter wird, ist es wichtig, sich klare Grenzen zu setzen, um die Balance zu halten, damit man auf lange Sicht motiviert und produktiv bleibt.
Um Einblicke in die Erfahrungen von Maintainern und ihre Strategien, eine Balance zu finden, zu gewinnen, haben wir einen Workshop mit 40 Mitgliedern der Maintainer-Community durchgeführt. So konnten wir aus erster Hand von ihren Erfahrungen mit Burnout in der Open-Source-Branche und den Praktiken lernen, die ihnen geholfen haben, bei ihrer Arbeit eine Balance zu halten. An dieser Stelle kommt das Konzept der persönlichen Ökologie ins Spiel.
Was also ist persönliche Ökologie? Laut dem Rockwood Leadership Institute geht es darum, "das Gleichgewicht, das Tempo und die Effizienz aufrechtzuerhalten, um unsere Energie ein Leben lang zu erhalten." Dies gab unseren Gesprächen einen Rahmen und half den Maintainern, ihre Beiträge als Teil eines größeren Ökosystems zu erkennen, das sich im Laufe der Zeit weiterentwickelt. Burnout, ein Syndrom, das aus chronischem Stress am Arbeitsplatz resultiert, wie [von der WHO definiert](https://icd.who.int/browse/2025-01/foundation/en#129180281), ist unter Maintainern keine Seltenheit. Dies führt oft zu einem Motivationsverlust, einer Unfähigkeit, sich zu konzentrieren, und einem Mangel an Empathie für die Mitwirkenden und die Community, mit der man arbeitet.
Indem sie sich mit dem Konzept der persönlichen Ökologie vertraut machen, können Maintainer Burnout vorbeugen, der eigenen Gesundheit Priorität einräumen und ein Gefühl der Ausgeglichenheit bewahren, um ihre Bestleistung zu erbringen.
## Tipps zur Selbsthilfe und zur Vorbeugung von Burnout als Maintainer:
### Erkennen Sie Ihre Motivation für Open-Source-Arbeit
Nehmen Sie sich Zeit, darüber nachzudenken, was Sie an der Pflege von Open-Source-Projekten reizt. Wenn Sie Ihre Motivationen verstehen, können Sie die Arbeit so priorisieren, dass Sie engagiert und bereit für neue Herausforderungen bleiben. Ob es das positive Feedback der Benutzer ist, die Freude an der Zusammenarbeit und am Austausch mit der Gemeinschaft oder die Befriedigung, in den Code einzutauchen - das Erkennen Ihrer Motivationen kann Ihnen helfen, Ihren Fokus zu richten.
### Überlegen Sie, was Sie aus dem Gleichgewicht und in Stress bringt
Es ist wichtig zu verstehen, was die Ursachen für Burnout sind. Hier sind ein paar gemeinsame Ursachen, die wir bei Open-Source-Betreuern festgestellt haben:
* **Mangel an positivem Feedback:** Nutzer sind viel eher bereit, Beschwerden zu äußern, wenn sie ein Problem haben. Wenn alles gut läuft, schweigen sie eher. Es kann entmutigend sein, eine wachsende Liste von Problemen zu sehen, ohne positives Feedback, das zeigt, wie Ihre Beiträge etwas bewirken.
* **Nicht "Nein" sagen:** Es kann leicht passieren, dass man bei einem Open-Source-Projekt mehr Verantwortung übernimmt, als man sollte. Ob von Nutzern, Mitwirkenden oder anderen Betreuern - wir können nicht immer ihren Erwartungen gerecht werden.
* **Alleine arbeiten:** Ein Maintainer zu sein, kann unglaublich einsam sein. Selbst wenn Sie mit einer Gruppe von Betreuern zusammenarbeiten, war es in den letzten Jahren schwierig, sich persönlich mit zerstreuten Teams zu treffen.
* **Nicht genug Zeit oder Ressourcen:** Dies gilt insbesondere für freiwillige Maintainer, die ihre Freizeit für die Arbeit an einem Projekt opfern müssen.
* **Unterschiedliche Forderungen:** Open Source ist voll von Gruppen mit unterschiedlichen Motivationen, die schwer zu durchschauen sind. Wenn Sie für Ihre Arbeit an Open Source bezahlt werden, können die Interessen Ihres Arbeitgebers manchmal mit denen der Community kollidieren.
### Halte Ausschau nach Zeichen für Burnout
Können Sie Ihr Tempo 10 Wochen lang beibehalten? 10 Monate? 10 Jahre?
Es gibt Tools wie die [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) von [@shaunagm](https://github.com/shaunagm) die Ihnen dabei helfen können, Ihr aktuelles Tempo zu reflektieren und zu sehen, ob Sie Anpassungen vornehmen können. Einige Betreuer verwenden auch Wearables, um Messwerte wie Schlafqualität und Herzfrequenzvariabilität (die beide mit Stress in Verbindung stehen) zu verfolgen.
### Was brauchen Sie, um sich und Ihre Gemeinschaft weiterhin zu erhalten?
Dies wird für jeden Betreuer unterschiedlich sein und sich je nach Lebensphase und anderen äußeren Faktoren ändern. Aber hier sind ein paar Aspekte, die wir gehört haben:
* **Vertrauen Sie der Community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.
Sie können auch nach Möglichkeiten suchen, mit der Nutzergemeinde in Kontakt zu treten, damit Sie regelmäßig Feedback erhalten und die Auswirkungen Ihrer Open-Source-Arbeit verstehen.
* **Finanzierung erforschen:** Whether you're looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you're thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
* **Tools einsetzen:** Entdecken Sie Tools wie [GitHub Copilot](https://github.com/features/copilot/) und [GitHub Actions](https://github.com/features/actions), um alltägliche Aufgaben zu automatisieren und Zeit für sinnvollere Beiträge zu gewinnen.
* **Ausruhen und regenerieren:** Nehmen Sie sich Zeit für Ihre Hobbys und Interessen außerhalb von Open Source. Nehmen Sie sich am Wochenende frei, um sich zu entspannen und zu erholen - und stellen Sie Ihren [GitHub-Status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) so ein, dass er Ihre Verfügbarkeit widerspiegelt! Erholsamer Schlaf kann einen großen Unterschied machen, wenn es darum geht, Ihre Leistung langfristig aufrechtzuerhalten.
Wenn Ihnen bestimmte Aspekte Ihres Projekts besonders viel Spaß machen, versuchen Sie, Ihre Arbeit so zu strukturieren, dass Sie sie während des Tages erleben können.
* **Grenzen setzen:** Sie können nicht zu jeder Anfrage Ja sagen. Das kann so einfach sein, wie zu sagen: "Das kann ich im Moment nicht machen und ich habe auch nicht vor, es in Zukunft zu machen", oder in der README aufzulisten, was Sie gerne machen würden und was nicht. Sie könnten zum Beispiel sagen: "Ich führe nur PRs zusammen, die eine klare Begründung haben, warum sie gemacht wurden", oder "Ich überprüfe Probleme nur abwechselnd donnerstags von 18 - 19 Uhr". Das setzt Erwartungen für andere und gibt Ihnen etwas, auf das Sie zu anderen Zeiten verweisen können, um Forderungen von Mitwirkenden oder Benutzern nach Ihrer Zeit zu deeskalieren.
Lernen Sie, giftiges Verhalten und negative Interaktionen konsequent zu unterbinden. Es ist in Ordnung, keine Energie für Dinge aufzuwenden, die Ihnen egal sind.
Denken Sie daran, dass persönliche Ökologie eine fortlaufende Praxis ist, die sich im Laufe Ihrer Open-Source-Reise weiterentwickeln wird. Indem Sie Ihre Selbstfürsorge in den Vordergrund stellen und ein Gleichgewicht aufrechterhalten, können Sie einen effektiven und nachhaltigen Beitrag zur Open-Source-Gemeinschaft leisten und sowohl Ihr Wohlbefinden als auch den Erfolg Ihrer Projekte auf lange Sicht sicherstellen.
## Weitere Artikel
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](https://governingopen.com/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Mitwirkende
Vielen Dank an alle Maintainer, die uns ihre Erfahrungen und Tipps für diesen Leitfaden zur Verfügung gestellt haben!
Dieser Leitfaden wurde von [@abbycabs](https://github.com/abbycabs) geschrieben mit Beiträgen von:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious)
[@WebSnke](https://github.com/WebSnke) + vielen anderen!
================================================
FILE: _articles/de/metrics.md
================================================
---
lang: de
title: Open-Source-Metriken
description: Treffen Sie fundierte Entscheidungen und helfen Sie Ihrem Open-Source-Projekt, indem Sie dessen Erfolg messen und verfolgen.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Warum überhaupt etwas messen?
Daten können Open-Source-Betreuer\*innen helfen, bessere Entscheidungen zu treffen, wenn sie mit Bedacht verwendet werden.
Mit mehr Informationen können Sie:
* Verstehen, wie Benutzer\*innen auf eine neue Funktion reagieren
* Herausfinden, woher neue Nutzer\*innen kommen
* Identifizieren und entscheiden, ob ein Anwendungsfall oder eine Funktionalität für Randfälle unterstützt wird
* Die Beliebtheit Ihres Projekts quantifizieren
* Verstehen, wie Ihr Projekt verwendet wird
* Geld durch Sponsoring und Zuschüsse erhalten
[Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) z.B. fand heraus, dass Google Analytics ihnen half, Arbeit zu priorisieren:
> Homebrew wird kostenlos zur Verfügung gestellt und ausschließlich von Freiwilligen in ihrer Freizeit betrieben. Daher verfügen wir nicht über die Ressourcen, um detaillierte Benutzerstudien von Homebrew-Benutzern durchzuführen, um zu entscheiden, wie zukünftige Features am besten gestaltet und die aktuelle Arbeit priorisiert werden können. Mit anonymen aggregierten Benutzeranalysen können wir Korrekturen und neue Funktionen basierend darauf priorisieren, wie, wo und wann Menschen Homebrew verwenden.
>
> Homebrew is provided free of charge and run entirely by volunteers in their spare time. As a result, we do not have the resources to do detailed user studies of Homebrew users to decide on how best to design future features and prioritise current work. Anonymous aggregate user analytics allow us to prioritise fixes and features based on how, where and when people use Homebrew.
Popularität ist nicht alles. Jeder kommt aus verschiedenen Gründen auf Open-Source. Wenn Ihr Ziel als Open-Source-Betreuer\*in darin besteht, Ihre Arbeit zu präsentieren, Ihren Code transparent zu machen oder einfach nur um Spaß zu haben, sind Metriken für Sie möglicherweise nicht wichtig.
Wenn Sie daran interessiert sind, Ihr Projekt auf einer tieferen Ebene zu verstehen, lesen Sie weiter, um die Aktivitäten Ihres Projekts zu analysieren.
## Entdeckt werden
Bevor Leute Ihr Projekt nutzen oder zu ihm beitragen können, müssen sie wissen, dass es existiert. Fragen Sie sich selbst: _Finden Leute dieses Projekt?_

Wenn Ihr Projekt auf GitHub gehostet wird, [können Sie sich ansehen](https://help.github.com/articles/about-repository-graphs/#traffic), wie viele Personen Ihr Projekt finden und wie sie es gefunden haben. Im Repo Ihres Projektes, klicken Sie "Insights" und dann "Traffic". Auf der Seite sehen Sie:
* **Views** zeigen an, wie oft Ihr Projekt angesehen wurde.
* **Unique visitors** zeigt, wie viele Personen Ihr Projekt angesehen haben.
* **Referring sites:** Diese Metrik kann Ihnen helfen, herauszufinden, wo Sie Ihr Publikum erreichen und ob Ihre Werbekampagnen funktionieren.
* **Popular content** zeigt, wohin Besucher\*innen auf Ihrer Projektseite gehen, aufgeschlüsselt nach Seitenaufrufen und einzelnen Besucher\*innen.
[GitHub-Sterne](https://help.github.com/articles/about-stars/) korrelieren nicht unbedingt mit Downloads und Nutzung, aber zeigen Ihnen, wie viele Menschen Ihre Arbeit schätzen.
Vielleicht möchten Sie auch [die Auffindbarkeit an bestimmten Orten verfolgen](https://opensource.com/business/16/6/pirate-metrics): z.B. Google PageRank, von Ihrer Projektwebsite ausgehende Empfehlungen, oder eingehende Empfehlungen anderer Open-Source-Projekte oder -Webseiten.
## Benutzung
Leute finden Ihr Projekt auf dieser wilden und verrückten Sache, die wir das Internet nennen. Wenn sie Ihr Projekt sehen, werden sie sich im Idealfall angespornt fühlen, etwas zu tun. Die zweite Frage, die Sie sich stellen sollten, lautet: _Nutzen Leute dieses Projekt?_
Wenn Sie einen Paketmanager wie [npm](https://www.npmjs.com/) oder [RubyGems.org](https://rubygems.org/) verwenden, um Ihr Projekt zu verteilen, können Sie vielleicht die Downloads Ihres Projekts verfolgen.
Paketmanager verwenden leicht unterschiedliche "Download"-Definitionen, und Downloads korrelieren nicht unbedingt mit "Installation" oder "Verwendung", aber sie bieten eine Basislinie für Vergleiche: Probieren Sie [Libraries.io](https://libraries.io/) aus, um Nutzungsstatistiken über viele populäre Paketmanager hinweg zu verfolgen.
Wenn sich Ihr Projekt auf GitHub befindet, navigieren Sie erneut zur Traffic-Seite. Aus [dem clone-Diagramm](https://github.com/blog/1873-clone-graphs) können Sie ablesen, wie oft Ihr Projekt an einem bestimmten Tag heruntergeladen wurde, aufgeschlüsselt nach Gesamtzahl und Nutzer\*innen.

Wenn die Nutzung im Vergleich zur Anzahl der Personen, die Ihr Projekt entdecken, gering ist, gibt es zwei Punkte zu beachten:
* Entweder schafft es Ihr Projekt nicht, Besucher\*innen zu Nutzer\*innen zu konvertieren,
* oder Sie ziehen die falsche Zielgruppe an.
Wenn Ihr Projekt z.B. auf der Titelseite von [Hacker News](https://news.ycombinator.com/) landet, werden Sie wahrscheinlich eine Steigerung der Entdeckungsrate (Traffic) sehen, aber eine niedrigere Konversionsrate, weil Sie alle auf Hacker News erreichen. Wenn Ihr Ruby-Projekt jedoch auf einer Ruby-Konferenz vorgestellt wird, ist es wahrscheinlicher, dass Sie eine hohe Konversionsrate von einem Zielpublikum sehen.
Versuchen Sie herauszufinden, woher Ihr Publikum kommt, und bitten Sie auf Ihrer Projektseite um Feedback der Besucher\*innen, um herauszufinden, welche dieser beiden Effekte Ihr Projekt betrifft.
Sobald Sie wissen, dass Leute Ihr Projekt benutzen, möchten Sie vielleicht versuchen, herauszufinden, was sie damit machen. Bauen sie darauf auf, indem sie Ihren Code forken und Funktionen hinzufügen? Nutzen sie es für wissenschaftliche oder gewerbsmäßige Zwecke?
## Nachhaltigkeit
Leute finden Ihr Projekt und benutzen es. Sie sollten sich nun die Frage stellen: _Wird auch wieder an das Projekt zurückgegeben?_
Es ist nie zu früh, um über Mitwirkende nachzudenken: Ohne andere Leute, die mitmachen, riskieren Sie, dass Sie sich in eine ungesunde Situation begeben, in der Ihr Projekt _populär_ ist (viele Leute benutzen es), aber nicht _unterstützt_ (nicht genug Zeit, um die Nachfrage zu befriedigen).
Nachhaltigkeit setzt auch [die Gewinnung neuer Mitwirkender](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2) voraus, da zuvor Aktive auch mit der Zeit sich anderen Themen zuwenden werden.
Beispiele für Community-Metriken, die Sie regelmäßig verfolgen möchten, sind unter anderem:
* **Gesamtzahl der Mitwirkenden und Anzahl der Commits pro Mitwirkenden:** Sagt Ihnen, wie viele Leute an Ihrem Projekt mitwirken, und wer mehr oder weniger aktiv ist. Auf GitHub können Sie dies unter "Insights" -> "Contributors" einsehen. Dieses Diagramm zeigt momentan nur die Mitwirkenden, die zum Default-Branch des Repositories beigetragen haben.

* **Erstmalige, gelegentliche und regelmäßige Mitwirkende:** Hilft Ihnen nachzuvollziehen, ob Sie neue Mitwirkende hinzugewinnen können, und ob sie auch wiederholt mithelfen. (Gelegentlich Mitwirkende sind solche mit geringer Commit-Anzahl. Ob es sich dabei um einen, weniger als fünf Commits oder um andere Zahlen handelt, sei Ihnen überlassen). Ohne neue Helfer\*innen kann die Community Ihres Projekts stagnieren.
* **Anzahl der offenen Issues und Pull Requests:** Wenn diese Zahlen zu hoch werden, benötigen Sie vielleicht Hilfe beim Sichten der Issues und bei Code-Reviews.
* **Anzahl der _eröffneten_ Issues und Pull Requests:** Issues aufzumachen bedeutet, dass sich jemand genug für Ihr Projekt interessiert, um ein Problem lösen zu wollen. Wenn sich diese Zahl im Laufe der Zeit erhöht, dann zeigt dies wachsendes Interesse an Ihrem Projekt.
* **Arten der Mithilfe:** Zum Beispiel Commits, das Beheben von Tippfehlern oder Bugs oder das Kommentieren eines Issues.
## Betreuer\*innen-Aktivität
Schließlich möchten Sie den Kreis schließen, indem Sie sicherstellen, dass die Maintainer\*innen Ihres Projekts in der Lage sind, das Volumen der erhaltenen Beiträge zu bewältigen. Die letzte Frage, die Sie sich stellen sollten, ist: _Antworte ich (oder antworten wir) auf unsere Community?_
Unresponsive Betreuer\*innen werden zum Flaschenhals für Open-Source-Projekte. Wenn jemand einen Beitrag einreicht, der aber nie beantwortet wird, wird sich die Person entmutigt fühlen und sich abwenden.
[Untersuchungen von Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) deuten darauf hin, dass eine schnelle und freundliche Reaktion der Maintainer\*innen Mitwirkende zu weiteren Beiträgen ermutigt.
Überlegen Sie, wie lange es dauert, bis Sie (oder ein\*e andere\*r Betreuer\*in) auf Beiträge reagieren, egal ob es sich um ein Issue oder ein Pull Request handelt. Die Reaktion muss keine Maßnahme sein; Auch ein einfaches : _"Vielen Dank für diesen Beitrag! Ich werde ihn innerhalb einer Woche überprüfen."_ zählt.
Sie können auch die Zeit messen, die benötigt wird, um zwischen den einzelnen Phasen des Beitragsprozesses zu wechseln, wie z.B:
* Die durchschnittliche Dauer, die ein Issue offen bleibt
* Ob Issues durch PRs geschlossen werden
* Ob veraltete Issues geschlossen werden
* Die durchschnittliche Zeit für den Merge eines Pull Requests
## Nutzen Sie 📊 um die Helfer\*innen besser zu verstehen
Selbst wenn Sie nicht alle Metriken auf einem Dashboard verfolgen, können Sie mit Hilfe der obigen Hinweise Ihre Aufmerksamkeit auf die Art des Verhaltens lenken, die Ihrem Projekt zum Erfolg verhelfen wird.
================================================
FILE: _articles/de/security-best-practices-for-your-project.md
================================================
---
lang: de
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/de/starting-a-project.md
================================================
---
lang: de
title: Ein Open-Source-Projekt starten
description: Erfahren Sie mehr über die Open-Source-Welt und machen Sie sich bereit, Ihr eigenes Projekt zu starten.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## Was ist Open-Source, und warum?
Sie denken also über einen Sprung in die Open-Source-Welt nach? Herzlichen Glückwunsch, die Welt weiß Ihren Beitrag zu schätzen! Lassen Sie uns darüber sprechen, was Open-Source ist und warum sich Leute dafür engagieren.
### Was genau bedeutet "Open-Source"?
Ein Open-Source-Projekt kann von **jedem Menschen für jeden Zweck verwendet, inspiziert, modifiziert und weiterverbreitet werden.** Diese Rechte werden [mittels einer Open-Source-Lizenz durchgesetzt](https://opensource.org/licenses).
Open-Source ist so mächtig, weil es Barrieren für Nutzung und Zusammenarbeit senkt und Personen somit ermöglicht, Ideen schneller zu verbreiten und Dinge schneller zu verbessern. Zudem ermöglicht es den Benutzer\*innen\*n, ihr eigenes Computing besser unter Kontrolle zu behalten, als mit proprietären Lösungen. Ein Unternehmen, das Open-Source-Software verwendet, kann beispielsweise jemanden einstellen, um maßgeschneiderte Verbesserungen an der Software vorzunehmen, anstatt von den Produktentscheidungen des Anbieters abhängig zu sein.
_Freie Software_ meint dieselbe Art von Projekten wie _Open-Source_. Der [Begriff](https://de.wikipedia.org/wiki/Free/Libre_Open_Source_Software) wird manchmal auch kombiniert mit "Freie/Libre und Open-Source-Software" (FOSS bzw. FLOSS). _Frei_ und _Libre_ meinen hierbei die Freiheit, nicht den [Preis](#bedeutet-open-source-auch-gratis).
### Warum veröffentlichen Menschen den Quellcode ihrer Software?
[Es gibt viele Gründe](https://ben.balter.com/2015/11/23/why-open-source/) warum eine Person oder Organisation ein Projekt open-sourcen wollen würde. Beispielsweise:
* **Zusammenarbeit:** Open-Source-Projekte nehmen Beiträge aus der ganzen Welt an. [Exercism](https://github.com/exercism/) beispielsweise ist eine Programmierübungsplatform mit über 350 Kontributor\*innen.
* **Anpassungen:** Open-Source-Projekte können von jedem Menschen für fast jeden Zweck benutzt werden. Leute können daraus sogar andere Dinge bauen. [WordPress](https://github.com/WordPress) beispielsweise begann als ein Fork eines existierenden Projekts namens [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparenz:** In einem Open-Source-Projekt können Fehler oder Ungereimtheiten von jedem behoben werden. Transparenz ist sowohl für Regierungen in [Bulgarien](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) oder den [Vereinigten Staaten](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), für regulierte Industrien wie den Banken- oder Gesundheitssektor und für Sicherheitssoftware wie [Let's Encrypt](https://github.com/letsencrypt) gleichermaßen wichtig.
Open-Source ist nicht nur für Software, sondern auch für alle anderen Bereiche geeignet, von Datensätzen bis hin zu Büchern. Stöbern Sie durch [GitHub Explore](https://github.com/explore), um einen Eindruck der thematischen Breite von Open-Source-Projekten zu bekommen.
### Bedeutet Open-Source auch "gratis"?
Einer der größten Vorteile von Open-Source ist, dass es kein Geld kostet. "Gratis" dagegen ist nur ein Nebenprodukt des Gesamtwertes.
Weil [eine Open-Source-Lizenz bedingt](https://opensource.org/osd-annotated), dass jeder die Software nutzen, modifizieren, und weiterverbreiten darf (für nahezu jeden Zweck), nehmen die Projekte selbst meist kein Geld dafür. Wenn sie es täten, könnte jeder ganz legal die Projekte kopieren und die dann freie Version nutzen.
Daher sind die meisten Open-Source-Projekte kostenlos, aber das ist kein Teil der Open-Source-Definition. Es gibt für Open-Source-Projekte Möglichkeiten, sich indirekt bezahlen zu lassen (z.B. über Doppel-Lizenzierung oder eingeschränkte Funktionen) und dabei trotzdem die offizielle Definition von Open-Source weiterhin einzuhalten.
## Sollte ich mein eigenes Open-Source-Projekt starten?
Die kurze Antwort ist "Ja!", denn egal wie das Ergebnis aussieht: Ein eigenes Projekt zu starten ist eine großartige Möglichkeit zu lernen, wie Open-Source funktioniert.
Wenn Sie noch nie den Quellcode eines Projektes geöffnet haben, werden Sie vielleicht nervös darüber sein, was die Leute sagen werden, oder ob es jemandem auffallen wird. Mit diesen Bedenken sind Sie nicht allein!
Open-Source-Arbeit ist eine kreative Aktivität wie Schreiben oder Malen, oder anderes. Es kann beängstigend sein, seine Arbeit mit der Welt zu teilen. Jedoch ist Übung der einzige Weg besser zu werden, auch wenn man kein Publikum hat.
Wenn Sie noch nicht überzeugt sind, nehmen Sie sich einen Moment Zeit, um darüber nachzudenken, was Ihre Ziele sein könnten.
### Ihre Ziele definieren
Ziele können Ihnen helfen, herauszufinden, woran Sie arbeiten sollen, was Sie ablehnen sollten und wo Sie Hilfe von anderen brauchen. Fragen Sie sich zuerst: _Warum starte ich dieses Projekt?_
Es gibt keine richtige Antwort auf diese Frage. Vielleicht haben Sie mehrere Ziele für ein einzelnes Projekt oder verschiedene Projekte mit unterschiedlichen Zielen.
Wenn es Ihr einziges Ziel ist, Ihre Arbeit zu zeigen, wollen Sie vielleicht nicht einmal Beiträge und sagen dies sogar in Ihrer README. Andererseits, wenn Sie sich Beiträge wünschen: Investieren Sie Zeit in eine klare Dokumentation, damit sich Neuankömmlinge willkommen fühlen.
Wenn Ihr Projekt wächst, braucht Ihre Community mehr als nur Code von Ihnen. Die Reaktion auf Probleme, die Überprüfung von Code und das Anpreisen Ihres Projekts sind alles wichtige Aufgaben in einem Open-Source-Projekt.
Während die Zeit, die Sie für nicht-Programmieraufgaben aufwenden, von der Größe und dem Umfang Ihres Projekts abhängt, sollten Sie als Betreuer\*in darauf vorbereitet sein, diese selbst anzugehen oder jemanden zu finden, der Ihnen hilft.
**Wenn Sie Teil eines Unternehmens sind, das ein Projekt startet**, stellen Sie sicher, dass Ihr Projekt über die internen Ressourcen verfügt, die es braucht, um zu gedeihen: Sie wollen klarstellen, wer für die Wartung des Projekts nach dem Start verantwortlich ist und wie Sie diese Aufgaben mit Ihrer Community teilen.
Wenn Sie ein dediziertes Budget oder Personal für Werbung, Betrieb und Wartung des Projekts benötigen, planen Sie dies frühzeitig.
### Zu anderen Projekten beitragen
Ist Ihr Ziel zu lernen, wie man mit anderen zusammenarbeitet oder wie Open-Source funktioniert, sollten Sie in Erwägung ziehen zu einem bestehenden Projekt beizutragen. Dies kann so einfach sein wie die Korrektur von Tippfehlern oder das Aktualisieren der Dokumentation.
Wenn Sie sich nicht sicher sind, wie Sie als Mitwirkende\*r anfangen können, schauen Sie sich unseren Artikel "[Wie zu Open-Source beitragen?](../how-to-contribute/)" an.
## Ein eigenes Open-Source-Projekt starten
Es gibt keine perfekte Zeit, um Ihre Arbeit zu veröffentlichen. Sie können eine Idee, ein in Arbeit befindliches Projekt, oder ein Jahre altes Closed-Source-Projekt öffnen.
Im Allgemeinen können Sie sich für Open-Source entscheiden, wenn Sie möchten, dass andere Ihre Arbeit sehen sollen und bereit sind, Feedback zu akzeptieren.
Unabhängig davon, in welcher Phase Sie sich für Open-Source entscheiden, sollte jedes Projekt die folgende Dokumentation enthalten:
* [Eine Open-Source-Lizenz](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [Eine README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Beitragsrichtlinien](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [einen Verhaltenskodex](../code-of-conduct/)
Als Maintainer\*in helfen Ihnen diese Komponenten, Erwartungen zu kommunizieren, Beiträge zu verwalten und die gesetzlichen Rechte aller (einschließlich Ihrer eigenen) zu schützen. Sie tragen zudem zu einer positiven Erfahrung in Ihrem Projekt bei.
Wenn sich Ihr Projekt auf GitHub befindet, können Sie diese Dateien mit den empfohlenen Dateinamen in Ihrem Stammverzeichnis ablegen, damit GitHub sie erkennt und automatisch an Ihre Leser\*innen weitergeben kann.
### Eine Lizenz auswählen
Eine Open-Source-Lizenz garantiert, dass andere Ihr Projekt ohne Nebenwirkungen nutzen, kopieren, modifizieren und wieder einbringen können. Außerdem schützt sie Sie vor unangenehmen rechtlichen Situationen. **Wenn Sie ein Open-Source-Projekt starten, müssen Sie eine Lizenz angeben.**
Rechtsangelegenheiten sind kein Spaß. Die gute Nachricht ist, dass Sie eine bestehende Lizenz kopieren und in Ihr Repository einfügen können. Es dauert also nur eine Minute, Ihre harte Arbeit zu schützen.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), und [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) sind die populärsten Open-Source-Lizenzen, aber [es gibt viele andere](https://choosealicense.com) zur Auswahl.
Wenn Sie ein neues Projekt auf GitHub erstellen, haben Sie die Möglichkeit, eine Lizenz auszuwählen. Mit einer Open-Source-Lizenz wird Ihr GitHub-Projekt auch wirklich zum Open-Source-Projekt.

Wenn Sie weitere Fragen oder Bedenken bezüglich der rechtlichen Aspekte der Verwaltung eines Open-Source-Projekts haben, [können Sie sich an uns wenden](../legal/).
### Eine README schreiben
READMEs erklären nicht nur, wie Sie Ihr Projekt verwenden, sondern auch, warum Ihr Projekt wichtig ist und was Ihre Benutzer\*innen damit machen können.
Versuchen Sie in Ihrer README folgende Fragen zu beantworten:
* Was macht dieses Projekt?
* Warum ist es nützlich?
* Wie kann ich es nutzen oder dazu etwas beitragen?
* Wo wird mir geholfen, wenn ich Hilfe benötige?
Sie können Ihre README verwenden, um andere Fragen zu beantworten: z.B. wie Sie mit Beiträgen handhaben, welche Ziele das Projekt verfolgt, oder wie es um Lizenzen und Zuschreibungen steht. Wenn Sie keine Beiträge annehmen wollen oder Ihr Projekt noch nicht produktionsreif ist, schreiben Sie auch diese Informationen auf.
Manchmal vermeiden es Leute, eine README zu schreiben, weil sie das Gefühl haben, das Projekt sei unvollendet, oder weil sie keine Beiträge wollen. Aber auch dies sind gute Gründe, eine zu schreiben.
Weitere Inspirationen zum Schreiben einer README finden Sie in @dguo's ["Make a README"-Anleitung](https://www.makeareadme.com/) oder in @PurpleBooth's [README-Vorlage](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2).
Wenn Sie eine README-Datei im Hauptordner Ihres Projektes anlegen, zeigt GitHub diese automatisch auf der Homepage des Repos an.
### Ihre Beitragsrichtlinien aufschreiben
Eine CONTRIBUTING-Datei erklärt Ihrem Publikum, wie es zu Ihrem Projekt beitragen kann. Folgende Informationen können darin beispielsweise enthalten sein:
* Wie eine Fehlerbericht eingereicht werden kann (probieren Sie hierfür die [Issue- und Pull-Request-Vorlagen](https://github.com/blog/2111-issue-and-pull-request-templates))
* Wie neue Funktionen vorgeschlagen werden sollten
* Wie die Entwicklungsumgebung eingerichtet wird
* Wie getestet wird
Neben thematischen Details präsentiert die CONTRIBUTING-Datei auch Ihre Erwartungen an Beiträge, z.B:
* Wie Sie möchten, dass andere beitragen
* Ihre Pläne und Ziele für das Projekt
* Wie Mitwirkende Sie kontaktieren sollten (oder auch nicht)
Mit einem warmen, freundlichen Ton und spezifischen Vorschlägen für Beiträge (wie z.B. "Dokumentationen verfassen" oder "eine Website erstellen") können Sie dazu beitragen, dass sich Neuankömmlinge willkommen und wohlfühlen.
Beispielsweise leitet [Active Admin](https://github.com/activeadmin/activeadmin/) [ihre Beitragsrichtlinien](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) ein mit:
> Zuerst einmal vielen Dank, dass Sie überlegt haben, einen Beitrag zu Active Admin zu leisten, denn es sind Menschen wie Sie, die Active Admin so großartig machen.
>
> First off, thank you for considering contributing to Active Admin. It's people like you that make Active Admin such a great tool.
In der Anfangsphase Ihres Projekts kann Ihre CONTRIBUTING-Datei einfach sein. Sie sollten immer erklären, wie Fehler oder Probleme gemeldet werden können und welche technischen Anforderungen (z.B. Tests) Leute erfüllen müssen, um einen Beitrag zu leisten.
Im Laufe der Zeit können Sie weitere häufig gestellte Fragen zu Ihrer CONTRIBUTING-Datei hinzufügen. Diese Informationen aufzuschreiben verhindert, dass weniger Leute die immer wieder gleichen Fragen stellen werden.
@nayafia's [CONTRIBUTING-Vorlage](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) oder @mozilla's ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/) helfen Ihnen, Ihre Beitragsrichtlinien zu entwerfen.
Verlinken Sie Ihre CONTRIBUTING-Datei in Ihrer README, damit sie gleich bemerkt wird. Wenn Sie sie zudem [in Ihr Repo einchecken](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), wird GitHub automatisch auf sie aufmerksam machen, wenn jemand ein Issue oder Pull Request erstellt.

### Einen Verhaltenskodex etablieren
Letztendlich hilft ein Verhaltenskodex, Grundregeln für das Verhalten der Projektbeteiligten festzulegen - insbesondere wenn Sie ein Open-Source-Projekt für eine Community oder ein Unternehmen starten. Ein Verhaltenskodex hilft Ihnen, ein gesundes, konstruktives Gemeinschaftsverhalten zu fördern, das Ihnen als Maintainer\*in Stress erspart.
Weitere Information finden Sie in unserer [Anleitung für Verhaltenskodizes](../code-of-conduct/).
Neben der Klarstellung, _welches_ Verhalten Sie von den Mitwirkenden erwarten, beschreibt ein Verhaltenskodex auch, auf wen sich diese Erwartungen beziehen, wann sie gelten und was zu tun ist, wenn ein Verstoß vorliegt.
Ähnlich zu Open-Source-Lizenzen, kommen auch Standards für Verhaltenskodizes auf, sodass Sie keinen komplett eigenen schreiben müssen. Der [Contributor Covenant](https://contributor-covenant.org/) ist ein einsatzbereiter Verhaltenskodex, der von [über 40'000 Open-Source-Projekten](http://contributor-covenant.org/adopters/) verwendet wird, einschließlich Kubernetes, Rails und Swift. Egal welchen Text Sie nutzen, Sie sollten vorbereitet sein, ihn wenn nötig auch durchzusetzen.
Fügen Sie den Text direkt in eine CODE_OF_CONDUCT-Datei in Ihrem Repository ein. Halten Sie die Datei im Stammverzeichnis Ihres Projekts, damit sie leicht zu finden ist, und verlinken Sie sie von Ihrer README.
## Ihr Projekt benennen und zur Marke machen
Eine Marke besteht aus mehr als einem auffälligen Logo oder einem einprägsamen Projektnamen. Es geht darum, wie Sie über Ihr Projekt sprechen und wen Sie mit Ihrer Botschaft erreichen.
### Den richtigen Namen auswählen
Wählen Sie einen Namen, der leicht zu merken ist und im Idealfall eine Vorstellung davon vermittelt, was das Projekt bewirkt. Beispielsweise:
* [Sentry](https://github.com/getsentry/sentry) überwacht Apps und meldet Abstürze
* [Thin](https://github.com/macournoyer/thin) ist ein schneller, einfacher Web-Server in Ruby
Wenn Sie auf einem bestehenden Projekt aufbauen, kann die Verwendung des Namens als Präfix helfen, zu klären, was Ihr Projekt tut ([node-fetch](https://github.com/bitinn/node-fetch) z.B. implementiert `window.fetch` für Node.js).
Denken Sie vor allem an die Klarheit. Wortspiele machen Spaß, aber denken Sie daran, dass manche Witze nicht in andere Kulturen oder für Menschen mit anderen Erfahrungen als Ihren, übersetzt werden können. Einige Ihrer potenziellen Nutzer\*innen könnten Mitarbeiter\*innen in Unternehmen sein: Sie wollen es ihnen nicht unangenehm machen, wenn sie Ihr Projekt bei der Arbeit erklären müssen!
### Namenskonflikte vermeiden
[Prüfen Sie, ob es Open-Source-Projekte mit ähnlichem Namen gibt](http://ivantomic.com/projects/ospnc/), insbesondere in derselben Sprache oder demselben Ökosystem. Wenn Ihr Projektname mit einem existierenden, populären Projekt überlappt, könnte das Ihr Publikum verwirren.
Wenn Sie möchten, dass eine Website, ein Twitter-Handle, o.Ä. Ihr Projekt repräsentieren, stellen Sie sicher, dass Sie die von Ihnen gewünschten Namen erhalten können. Um auf Nummer sicher zu gehen, können Sie [diese Namen jetzt reservieren](https://instantdomainsearch.com/), auch wenn Sie sie noch nicht verwenden möchten.
Achten Sie darauf, dass der Name Ihres Projekts keine Marken verletzt, denn ein Unternehmen könnte Sie auffordern, Ihr Projekt zu einem späteren Zeitpunkt abzubrechen. Im schlimmsten Fall leitet ein Unternehmen sogar rechtliche Schritte gegen Sie ein. Dieses Risiko einzugehen, ist es einfach nicht wert.
Nutzen Sie die [WIPO Global Brand Database](http://www.wipo.int/branddb/en/), um auf Namenskonflikte zu prüfen. Wenn Sie in einer Firma sind, ist dies eine der Aufgaben, bei denen [Ihr Justiziariat Sie unterstützen kann](../legal/).
Zum Schluss noch eine schnelle Google-Suche nach Ihrem Projektnamen: Werden die Leute Ihr Projekt leicht finden können, oder erscheint etwas anderes in den Suchergebnissen, das Sie nicht sehen möchten?
### Auch der Schreib- und Programmierstil beeinflussen Ihre Marke!
Während Sie an dem Projekt arbeiten, werden Sie eine Menge schreiben: README, Anleitungen, Dokumentation, Antworten auf Anfragen, vielleicht sogar Newsletter an eine Mailingliste.
Egal ob offizielle Dokumentation oder informelle E-Mail: Ihr Schreibstil ist ein Markenzeichen Ihres Projektes. Bedenken Sie, wie er bei Ihrem Publikum ankommt, und ob dies dem Tonfall entspricht, den Sie herüberbringen möchten.
Freundliche, inklusive Sprache kann Ihr Projekt einladender für neue Mitwirkende machen. Bleiben Sie auch bei einfacher/leichter Sprache, denn nicht alle Ihrer Leser\*innen haben die Fähigkeit, komplizierte Formulierungen sofort zu verstehen.
Neben Wortwahl und Schreibstil wird auch Ihr Programmierstil Teil der Marke Ihres Projekts. [Angular](https://github.com/johnpapa/angular-styleguide) und [jQuery](https://contribute.jquery.org/style-guide/js/) beispielsweise haben strenge Richtlinien dafür.
Eine Stilrichtlinie ist nicht sofort zum Start Ihres Projekts nötig, und vielleicht genießen Sie es auch, unterschiedliche Programmierstile in Ihr Projekt zu integrieren. Allerdings sollten Sie davon ausgehen, dass verschiedene Schreib- und Programmierstile verschiedene Leute anziehen oder abstoßen. Die Weichen für die Gemeinschaft, die Sie letztendlich aufbauen möchten, werden schon in frühen Projektphasen gestellt.
## Ihre Checkliste zur Startvorbreitung
Bereit für den Start Ihres Open-Source-Projektes? Diese Checkliste hilft Ihnen dabei. Alle Stationen bereit? Dann los! [Klicken Sie auf "publish"](https://help.github.com/articles/making-a-private-repository-public/) und klopfen Sie sich auf die Schulter.
**Dokumentation**
**Code**
**Menschen**
Wenn Sie als Einzelperson arbeiten:
Wenn Sie als Firma oder Organisation arbeiten:
## Geschafft!
Herzlichen Glückwunsch zu Ihrem ersten Open-Source-Projekt! Egal was dabei rauskommt, öffentlich zu arbeiten, ist es ein Geschenk an die Gemeinschaft. Sie erschaffen mit jedem Commit, jedem Kommentar und jedem Pull Request eine Gelegenheit für sich selbst und andere, etwas zu lernen und intellektuell zu wachsen.
================================================
FILE: _articles/el/best-practices.md
================================================
---
lang: el
title: Βέλτιστες Πρακτικές για Συντηρητές
description: Διευκολύνοντας την ζωή σας ως συντηρητής ανοιχτού κώδικα, από την τεκμηρίωση των διαδικασιών μέχρι και την αξιοποίηση της κοινότητάς σας.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Τι σημαίνει να είσαι συντηρητής;
Αν συντηρείτε ένα έργο ανοιχτού κώδικα που χρησιμοποιείται από πολλούς ανθρώπους, μπορεί να έχετε παρατηρήσει ότι προγραμματίζετε λιγότερο και απαντάτε περισσότερο σε ερωτήματα.
Στα αρχικά στάδια ενός πρότζεκτ, πειραματίζεστε με νέες ιδέες και παίρνετε αποφάσεις με βάση το τι θέλετε. Καθώς το έργο σας αυξάνει τη φήμη του, θα βρεθείτε να συνεργάζεστε περισσότερο με τους χρήστες και τους συνεισφορείς σας.
Η συντήρηση ενός έργου απαιτεί κάτι περισσότερο από κώδικα. Αυτές οι εργασίες είναι συχνά απροσδόκητες, αλλά είναι εξίσου σημαντικές για ένα αναπτυσσόμενο πρότζεκτ. Συγκεντρώσαμε μερικούς τρόπους για να κάνετε τη ζωή σας ευκολότερη, από την τεκμηρίωση των διαδικασιών μέχρι την αξιοποίηση της κοινότητάς σας.
## Τεκμηριώνοντας τις διαδικασίες σας
Η καταγραφή των πραγμάτων είναι ένα από τα πιο σημαντικά πράγματα που μπορείτε να κάνετε ως συντηρητής.
Η τεκμηρίωση του πρότζεκτ όχι μόνο αποσαφηνίζει τη δική σας σκέψη, αλλά βοηθάει και τους άλλους να καταλάβουν τι χρειάζεστε ή τι περιμένετε, πριν καν ρωτήσουν.
Η καταγραφή των πραγμάτων καθιστά ευκολότερο να λέτε όχι όταν κάτι δεν ταιριάζει στο πεδίο εφαρμογής σας. Επίσης, διευκολύνει τους άλλους να συνεισφέρουν και να βοηθήσουν. Ποτέ δεν ξέρετε ποιος μπορεί να διαβάσει ή να χρησιμοποιήσει το έργο σας.
Ακόμα και αν δεν χρησιμοποιείτε ολόκληρες παραγράφους, το να σημειώνετε πράγματα με bullet points είναι καλύτερο από το να μην γράφετε τίποτα.
Να θυμάστε να διατηρείτε την τεκμηρίωσή σας ενημερωμένη. Αν δεν μπορείτε να το κάνετε πάντα αυτό, διαγράψτε την ξεπερασμένη τεκμηρίωσή σας ή αναφέρετε ότι είναι ξεπερασμένη, ώστε οι συνεισφέροντες να γνωρίζουν ότι οι ενημερώσεις είναι ευπρόσδεκτες.
### Καταγράψτε το όραμα του πρότζεκτ σας
Ξεκινήστε γράφοντας τους στόχους του έργου σας. Προσθέστε τους στο αρχείο README ή δημιουργήστε ένα ξεχωριστό αρχείο με το όνομα VISION. Αν υπάρχουν άλλα αντικείμενα που θα μπορούσαν να βοηθήσουν, όπως ένας χάρτης πορείας του έργου, δημοσιοποιήστε και αυτά.
Η ύπαρξη ενός σαφούς, τεκμηριωμένου οράματος σας κρατάει εστιασμένους και σας βοηθά να αποφύγετε τον "ερπυσμό του πεδίου εφαρμογής" από τις συνεισφορές των άλλων.
Για παράδειγμα, ο @lord διαπίστωσε ότι η ύπαρξη ενός οράματος έργου τον βοήθησε να καταλάβει σε ποια αιτήματα να αφιερώσει χρόνο. Ως νέος συντηρητής, μετάνιωσε που δεν τήρησε το πεδίο εφαρμογής του έργου του, όταν έλαβε το πρώτο του αίτημα για μία νέα λειτορυγία για το [Slate](https://github.com/lord/slate).
### Επικοινωνήστε τις προσδοκίες σας
Οι κανόνες μπορεί να είναι νευραλγικοί για να τους γράψετε. Μερικές φορές μπορεί να αισθάνεστε ότι αστυνομεύετε τη συμπεριφορά των άλλων ή ότι σκοτώνετε όλη τη διασκέδαση.
Γραμμένοι και επιβαλλόμενοι δίκαια, ωστόσο, οι καλοί κανόνες ενδυναμώνουν τους συντηρητές. Σας αποτρέπουν από το να σας παρασύρουν να κάνετε πράγματα που δεν θέλετε.
Οι περισσότεροι άνθρωποι που έρχονται σε επαφή με το πρότζεκτ σας δεν γνωρίζουν τίποτα για εσάς ή τις συνθήκες που επικρατούν. Μπορεί να υποθέσουν ότι πληρώνεστε για να εργάζεστε σε αυτό, ειδικά αν πρόκειται για κάτι που χρησιμοποιούν τακτικά και από το οποίο εξαρτώνται. Ίσως κάποια στιγμή αφιερώσατε πολύ χρόνο στο πρότζεκτ σας, αλλά τώρα είστε απασχολημένοι με μια νέα δουλειά ή ένα νέο μέλος της οικογένειας.
Όλα αυτά είναι απολύτως εντάξει! Απλώς βεβαιωθείτε ότι οι άλλοι άνθρωποι το γνωρίζουν.
Αν η συντήρηση του έργου σας γίνεται με μερική απασχόληση ή καθαρά εθελοντικά, να είστε ειλικρινείς σχετικά με το πόσο χρόνο διαθέτετε. Αυτό δεν είναι το ίδιο με το πόσο χρόνο νομίζετε ότι απαιτεί το έργο ή πόσο χρόνο θέλουν οι άλλοι να ξοδέψετε.
Ακολουθούν μερικοί κανόνες που αξίζει να καταγράψετε:
* Πώς μια συνεισφορά εξετάζεται και γίνεται αποδεκτή (_Χρειάζονται δοκιμές; Ένα πρότυπο θέματος;_)
* Τα είδη των συνεισφορών που θα δεχτείτε (_Θέλετε βοήθεια μόνο για ένα συγκεκριμένο μέρος του κώδικά σας;_)
* Πότε είναι σκόπιμο να δώσετε συνέχεια (_για παράδειγμα, "Μπορείτε να περιμένετε απάντηση από έναν συντηρητή εντός 7 ημερών. Αν δεν έχετε ακούσει τίποτα μέχρι τότε, μπορείτε να στείλετε μήνυμα στο νήμα."_)
* Πόσο χρόνο αφιερώνετε στο έργο (_για παράδειγμα, "Ξοδεύουμε μόνο περίπου 5 ώρες την εβδομάδα σε αυτό το έργο"_)
Το [Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), και το [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) είναι κάποια παραδείγματα από πρότζεκτ με κανόνες για τους συντηρητές και τους συνεισφέροντες.
### Κρατήστε την επικοινωνία δημόσια
Μην ξεχνάτε επίσης να τεκμηριώνετε τις αλληλεπιδράσεις σας. Όπου μπορείτε, κρατήστε την επικοινωνία σχετικά με το πρότζεκτ σας δημόσια. Αν κάποιος προσπαθήσει να επικοινωνήσει μαζί σας ιδιαιτέρως για να συζητήσει ένα αίτημα χαρακτηριστικών ή μια ανάγκη υποστήριξης, κατευθύνετε τον ευγενικά σε ένα δημόσιο κανάλι επικοινωνίας, όπως μια λίστα αλληλογραφίας ή έναν ανιχνευτή προβλημάτων.
Εάν συναντηθείτε με άλλους συντηρητές ή λάβετε μια σημαντική απόφαση ιδιωτικά, τεκμηριώστε αυτές τις συζητήσεις δημόσια, ακόμη και αν πρόκειται απλώς για την ανάρτηση των σημειώσεών σας.
Με αυτόν τον τρόπο, όποιος προσχωρεί στην κοινότητά σας θα έχει πρόσβαση στις ίδιες πληροφορίες με κάποιον που είναι εκεί για χρόνια.
## Μαθαίνοντας να λέτε όχι
Έχετε καταγράψει τα πράγματα. Ιδανικά, όλοι θα διάβαζαν το έγγραφο τεκμηρίωσής σας, αλλά στην πραγματικότητα, θα πρέπει να υπενθυμίζετε στους άλλους ότι υπάρχει αυτή η γνώση.
Το να έχετε τα πάντα καταγεγραμμένα, ωστόσο, βοηθά στην αποπροσωποποίηση των καταστάσεων όταν χρειάζεται να επιβάλλετε τους κανόνες σας.
Το να λέτε όχι δεν έχει πλάκα, αλλά _"Η συνεισφορά σας δεν ταιριάζει με τα κριτήρια αυτού του έργου"_ μοιάζει λιγότερο προσωπικό από το _"Δεν μου αρέσει η συνεισφορά σας"_.
Το να λέτε όχι ισχύει σε πολλές περιπτώσεις που θα συναντήσετε ως συντηρητής: αιτήσεις για χαρακτηριστικά που δεν ταιριάζουν στο πεδίο εφαρμογής, κάποιος που εκτροχιάζει μια συζήτηση, που κάνει περιττή δουλειά για άλλους.
### Κρατήστε τη συζήτηση φιλική
Ένα από τα πιο σημαντικά μέρη που θα εξασκηθείτε στο να λέτε όχι είναι στην ουρά των ζητημάτων και των αιτημάτων (issues and pull requests). Ως συντηρητής έργου, αναπόφευκτα θα λάβετε προτάσεις που δεν θέλετε να δεχτείτε.
Ίσως η συνεισφορά να αλλάζει το πεδίο εφαρμογής του έργου σας ή να μην ταιριάζει με το όραμά σας. Ίσως η ιδέα είναι καλή, αλλά η υλοποίηση είναι φτωχή.
Ανεξάρτητα από τον λόγο, είναι δυνατόν να χειριστείτε με διακριτικότητα τις συνεισφορές που δεν ανταποκρίνονται στα πρότυπα του έργου σας.
Αν λάβετε μια συνεισφορά που δεν θέλετε να αποδεχτείτε, η πρώτη σας αντίδραση μπορεί να είναι να την αγνοήσετε ή να προσποιηθείτε ότι δεν την είδατε. Κάτι τέτοιο θα μπορούσε να πληγώσει τα αισθήματα του άλλου ατόμου και να αποθαρρύνει ακόμη και άλλους πιθανούς συνεισφέροντες στην κοινότητά σας.
Μην αφήνετε μια ανεπιθύμητη συνεισφορά ανοιχτή επειδή αισθάνεστε ένοχοι ή επειδή θέλετε να είστε ευγενικοί. Με την πάροδο του χρόνου, τα αναπάντητα ζητήματα και αιτήματα θα κάνουν την εργασία στο έργο σας να μοιάζει πολύ πιο αγχωτική και εκφοβιστική.
Είναι προτιμότερο να κλείνετε αμέσως τις συνεισφορές που ξέρετε ότι δεν θέλετε να δεχτείτε. Αν το έργο σας πάσχει ήδη από ένα μεγάλο ανεκτέλεστο, ο @steveklabnik έχει προτάσεις για το [πώς να ταξινομείτε αποτελεσματικά τα θέματα](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Δεύτερον, η αγνόηση συνεισφορών στέλνει ένα αρνητικό μήνυμα στην κοινότητά σας. Η συνεισφορά σε ένα έργο μπορεί να είναι εκφοβιστική, ειδικά αν είναι η πρώτη φορά που κάποιος συνεισφέρει. Ακόμα και αν δεν αποδεχτείτε τη συνεισφορά του, αναγνωρίστε το άτομο που βρίσκεται πίσω από αυτή και ευχαριστήστε το για το ενδιαφέρον του. Είναι ένα μεγάλο κομπλιμέντο!
Εάν δεν θέλετε να δεχτείτε μια συνεισφορά:
* **Ευχαριστήστε τους** για τη συνεισφορά τους
* **Εξηγήστε γιατί δεν ταιριάζει** στο πεδίο εφαρμογής του έργου, και προσφέρετε σαφείς προτάσεις βελτίωσης, αν είστε σε θέση. Να είστε ευγενικοί, αλλά σταθεροί.
* **Να παραπέμψετε σε σχετική τεκμηρίωση**, αν την έχετε. Εάν παρατηρήσετε επαναλαμβανόμενες αιτήσεις για πράγματα που δεν θέλετε να δεχτείτε, προσθέστε τα στην τεκμηρίωσή σας για να αποφύγετε την επανάληψη.
* **Κλείστε το αίτημα**
Δεν θα πρέπει να χρειάζεστε περισσότερες από 1-2 προτάσεις για να απαντήσετε. Για παράδειγμα, όταν ένας χρήστης του [celery](https://github.com/celery/celery/) ανέφερε ένα σφάλμα σχετικό με τα Windows, ο @berkerpeksag [απάντησε με](https://github.com/celery/celery/issues/3383):

Αν η σκέψη να πείτε όχι σας τρομάζει, δεν είστε οι μόνοι. Όπως [το έθεσε](https://blog.jessfraz.com/post/the-art-of-closing/) ο @jessfraz:
> Έχω μιλήσει με συντηρητές από διάφορα πρότζεκτς ανοιχτού κώδικα, Mesos, Kubernetes, Chromium, και όλοι συμφωνούν ότι ένα από τα δυσκολότερα μέρη του να είσαι συντηρητής είναι να λέει κανείς "Όχι" σε patches που δεν θέλεις.
Μην αισθάνεστε ένοχοι που δεν θέλετε να αποδεχτείτε την συνεισφορά κάποιου. Ο πρώτος κανόνας του ανοιχτού κώδικα, [σύμφωνα με τον](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"Το όχι είναι προσωρινό, το ναι είναι παντοτινό."_ Ενώ η κατανόηση του ενθουσιασμού ενός άλλου ατόμου είναι καλό πράγμα, η απόρριψη μιας συνεισφοράς δεν είναι το ίδιο με την απόρριψη του ατόμου πίσω από αυτήν.
Σε τελική ανάλυση, αν μια συνεισφορά δεν είναι αρκετά καλή, δεν είστε υποχρεωμένοι να την αποδεχτείτε. Να είστε ευγενικοί και να ανταποκρίνεστε όταν οι άνθρωποι συνεισφέρουν στο έργο σας, αλλά να δέχεστε μόνο τις αλλαγές που πραγματικά πιστεύετε ότι θα κάνουν το έργο σας καλύτερο. Όσο πιο συχνά εξασκείστε στο να λέτε όχι, τόσο πιο εύκολο γίνεται. Υπόσχεση.
### Να είστε προνοητικοί
Για να μειώσετε εξαρχής τον όγκο των ανεπιθύμητων συνεισφορών, εξηγήστε τη διαδικασία του έργου σας για την υποβολή και την αποδοχή συνεισφορών στον οδηγό συνεισφοράς σας.
Αν λαμβάνετε πάρα πολλές συνεισφορές χαμηλής ποιότητας, απαιτήστε από τους συνεισφέροντες να κάνουν λίγη δουλειά εκ των προτέρων, για παράδειγμα:
* Συμπλήρωση ενός ζητήματος (issue) ή έναν κατάλογο αιτήματος (pull request)
* Άνοιγμα ζητήματος πριν την υποβολή ενός αιτήματος
Αν δεν τηρούν τους κανόνες σας, κλείστε αμέσως το θέμα και παραπέμψτε στην τεκμηρίωσή σας.
Αν και αυτή η προσέγγιση μπορεί να σας φανεί αγενής στην αρχή, το να είστε προληπτικοί είναι στην πραγματικότητα καλό και για τα δύο μέρη. Μειώνει την πιθανότητα κάποιος να αφιερώσει πολλές χαμένες ώρες εργασίας σε ένα pull request που δεν πρόκειται να αποδεχτείτε. Και καθιστά ευκολότερη τη διαχείριση του φόρτου εργασίας σας.
Μερικές φορές, όταν λέτε όχι, ο πιθανός συνεισφορέας σας μπορεί να εκνευριστεί ή να επικρίνει την απόφασή σας. Αν η συμπεριφορά του γίνει εχθρική, [λάβετε μέτρα για να εκτονώσετε την κατάσταση](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) ή ακόμα και να τον απομακρύνετε από την κοινότητά σας, αν δεν είναι πρόθυμος να συνεργαστεί εποικοδομητικά.
### Αποδεχτείτε την καθοδήγηση
Ίσως κάποιος στην κοινότητά σας υποβάλλει τακτικά συνεισφορές που δεν ανταποκρίνονται στα πρότυπα του έργου σας. Μπορεί να είναι απογοητευτικό και για τα δύο μέρη να περνούν επανειλημμένα από απορρίψεις.
Αν δείτε ότι κάποιος είναι ενθουσιασμένος με το έργο σας, αλλά χρειάζεται λίγη βελτίωση, κάντε υπομονή. Εξηγήστε με σαφήνεια σε κάθε περίπτωση γιατί οι συνεισφορές τους δεν ανταποκρίνονται στις προσδοκίες του έργου. Προσπαθήστε να τους υποδείξετε μια πιο εύκολη ή λιγότερο ασαφή εργασία, όπως ένα ζήτημα με την ένδειξη _"καλό πρώτο ζήτημα",_ για να αρχίσουν να συμμετέχουν. Αν έχετε χρόνο, σκεφτείτε να τους καθοδηγήσετε κατά την πρώτη τους συνεισφορά ή βρείτε κάποιον άλλον στην κοινότητά σας που θα μπορούσε να είναι πρόθυμος να τους καθοδηγήσει.
## Αξιοποιήστε την κοινότητά σας
Δεν χρειάζεται να κάνετε τα πάντα μόνοι σας. Η κοινότητα του έργου σας υπάρχει για κάποιο λόγο! Ακόμα και αν δεν έχετε ακόμα μια ενεργή κοινότητα συνεισφερόντων, αν έχετε πολλούς χρήστες, βάλτε τους να δουλέψουν.
### Μοιραστείτε το φόρτο εργασίας
Αν ψάχνετε για άλλους να συνεισφέρουν, ξεκινήστε ρωτώντας γύρω σας.
Ένας τρόπος για να κερδίσετε νέους συνεισφέροντες είναι να επισημάνετε ρητά [θέματα που είναι αρκετά απλά για να τα αντιμετωπίσουν οι αρχάριοι](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). Στη συνέχεια, το GitHub θα εμφανίσει αυτά τα ζητήματα σε διάφορα σημεία της πλατφόρμας, αυξάνοντας την προβολή τους.
Όταν βλέπετε νέους συνεισφέροντες να κάνουν επαναλαμβανόμενες συνεισφορές, αναγνωρίστε το έργο τους προσφέροντας περισσότερες ευθύνες. Τεκμηριώστε τον τρόπο με τον οποίο οι άλλοι μπορούν να εξελιχθούν σε ηγετικούς ρόλους αν το επιθυμούν.
Το να ενθαρρύνετε τους άλλους να [μοιράζονται την ιδιοκτησία του έργου](../building-community/#μοιραστείτε-την-ιδιοκτησία-του-πρότζεκτ-σας) μπορεί να μειώσει σημαντικά τον δικό σας φόρτο εργασίας, όπως ανακάλυψε η @lmccart στο έργο της, [p5.js](https://github.com/processing/p5.js).
Αν χρειαστεί να αποχωρήσετε από το έργο σας, είτε για διακοπή είτε μόνιμα, δεν είναι ντροπή να ζητήσετε από κάποιον άλλον να αναλάβει τη θέση σας.
Αν άλλοι άνθρωποι είναι ενθουσιασμένοι με την κατεύθυνσή του, δώστε τους δεσμευτική πρόσβαση ή παραδώστε επίσημα τον έλεγχο σε κάποιον άλλον. Αν κάποιος έχει διακλαδίσει το έργο σας (fork) και το συντηρεί ενεργά αλλού, σκεφτείτε το ενδεχόμενο να παραπέμψετε στη διακλάδωση από το αρχικό σας έργο. Είναι σπουδαίο που τόσοι πολλοί άνθρωποι θέλουν να συνεχίσει το έργο σας να ζει!
Ο @progrium [διαπίστωσε ότι](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) καταγράφοντας το όραμα για το έργο του, [Dokku](https://github.com/dokku/dokku), βοήθησε αυτούς τους στόχους να συνεχίσουν να ζουν ακόμα και μετά την αποχώρησή του από το έργο:
> Έγραψα μια σελίδα wiki που περιέγραφε τι ήθελα και γιατί το ήθελα. Για κάποιο λόγο με εξέπληξε το γεγονός ότι οι συντηρητές άρχισαν να κινούν το πρότζεκτ προς αυτή την κατεύθυνση! Συνέβη ακριβώς όπως θα το έκανα εγώ; Όχι πάντα. Αλλά και πάλι έφερε το έργο πιο κοντά σε αυτό που έγραψα.
### Αφήστε τους άλλους να φτιάξουν τις λύσεις που χρειάζονται
Αν ένας πιθανός συνεισφέροντας έχει διαφορετική άποψη για το τι πρέπει να κάνει το έργο σας, ίσως θελήσετε να τον ενθαρρύνετε απαλά να δουλέψει στο δικό του fork.
Η διακλάδωση ενός έργου δεν χρειάζεται να είναι κάτι κακό. Η δυνατότητα αντιγραφής και τροποποίησης έργων είναι ένα από τα καλύτερα πράγματα στον ανοικτό κώδικα. Το να ενθαρρύνετε τα μέλη της κοινότητάς σας να εργαστούν στη δική τους διακλάδωση μπορεί να τους προσφέρει τη δημιουργική διέξοδο που χρειάζονται, χωρίς να έρχεται σε σύγκρουση με το όραμα του έργου σας.
Το ίδιο ισχύει και για έναν χρήστη που θέλει πραγματικά μια λύση την οποία απλά δεν έχετε το εύρος ζώνης για να κατασκευάσετε. Η προσφορά APIs και customization hooks μπορεί να βοηθήσει τους άλλους να ικανοποιήσουν τις δικές τους ανάγκες, χωρίς να χρειάζεται να τροποποιήσουν άμεσα τον πηγαίο κώδικα. Ο @orta [διαπίστωσε ότι](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) η ενθάρρυνση των plugins για τα CocoaPods οδήγησε σε "μερικές από τις πιο ενδιαφέρουσες ιδέες":
> Είναι σχεδόν αναπόφευκτο ότι μόλις ένα πρότζεκτ γίνει μεγάλο, οι συντηρητές πρέπει να γίνουν πολύ πιο συντηρητικοί σχετικά με το πώς εισάγουν νέο κώδικα. Γίνεστε καλοί στο να λέτε "όχι", αλλά πολλοί άνθρωποι έχουν νόμιμες ανάγκες. Οπότε, αντί γι' αυτό, καταλήγετε να μετατρέψετε το εργαλείο σας σε πλατφόρμα.
## Φέρτε τα ρομπότ
Όπως ακριβώς υπάρχουν εργασίες στις οποίες μπορούν να σας βοηθήσουν άλλοι άνθρωποι, έτσι υπάρχουν και εργασίες που δεν θα έπρεπε ποτέ να κάνει κανένας άνθρωπος. Τα ρομπότ είναι οι φίλοι σας. Χρησιμοποιήστε τα για να κάνετε τη ζωή σας ως συντηρητής ευκολότερη.
### Απαιτήστε δοκιμές και άλλους ελέγχους για να βελτιώσετε την ποιότητα του κώδικά σας
Ένας από τους σημαντικότερους τρόπους με τους οποίους μπορείτε να αυτοματοποιήσετε το πρότζεκτ σας είναι η προσθήκη δοκιμών (tests).
Οι δοκιμές βοηθούν τους συνεισφέροντες να αισθάνονται σίγουροι ότι δεν θα χαλάσουν τίποτα. Επίσης, σας διευκολύνουν να αναθεωρείτε και να αποδέχεστε γρήγορα τις συνεισφορές. Όσο πιο ευέλικτοι είστε, τόσο πιο αφοσιωμένη μπορεί να είναι η κοινότητά σας.
Ορίστε αυτόματες δοκιμές που θα εκτελούνται σε όλες τις εισερχόμενες συνεισφορές και βεβαιωθείτε ότι οι δοκιμές σας μπορούν εύκολα να εκτελούνται τοπικά από τους συνεισφέροντες. Απαιτήστε ότι όλες οι συνεισφορές κώδικα περνούν τις δοκιμές σας πριν υποβληθούν. Θα βοηθήσετε στον καθορισμό ενός ελάχιστου προτύπου ποιότητας για όλες τις υποβολές. Οι [Απαιτούμενοι έλεγχοι κατάστασης](https://help.github.com/articles/about-required-status-checks/) στο GitHub μπορούν να βοηθήσουν να διασφαλιστεί ότι καμία αλλαγή δεν συγχωνεύεται χωρίς να έχουν περάσει οι δοκιμές σας.
Αν προσθέσετε δοκιμές, φροντίστε να εξηγήσετε πώς λειτουργούν στο αρχείο CONTRIBUTING.
### Χρησιμοποιήστε εργαλεία για την αυτοματοποίηση βασικών εργασιών συντήρησης
Τα καλά νέα σχετικά με τη συντήρηση ενός δημοφιλούς πρότζεκτ είναι ότι άλλοι συντηρητές έχουν πιθανότατα αντιμετωπίσει παρόμοια ζητήματα και έχουν κατασκευάσει μια λύση για αυτά.
Υπάρχει μια [ποικιλία διαθέσιμων εργαλείων](https://github.com/showcases/tools-for-open-source) που βοηθούν στην αυτοματοποίηση ορισμένων πτυχών των εργασιών συντήρησης. Μερικά παραδείγματα:
* Το [semantic-release](https://github.com/semantic-release/semantic-release) αυτοματοποιεί τις εκδόσεις σας
* Το [mention-bot](https://github.com/facebook/mention-bot) αναφέρει πιθανούς αναθεωρητές (reviewers) για τα pull requests
* Το [Danger](https://github.com/danger/danger) βοηθά στην αυτοματοποίηση της αναθεώρησης κώδικα (code review)
* Το [no-response](https://github.com/probot/no-response) κλείνει θέματα στα οποία ο συγγραφέας δεν έχει απαντήσει σε ένα αίτημα για περισσότερες πληροφορίες
* Το [dependabot](https://github.com/dependabot) ελέγχει τα αρχεία εξαρτήσεων σας κάθε μέρα για ξεπερασμένες απαιτήσεις και ανοίγει μεμονωμένα pull requests για όποια βρει
Για αναφορές σφαλμάτων και άλλες κοινές συνεισφορές, το GitHub διαθέτει [Πρότυπα ζητημάτων και πρότυπα αιτημάτων](https://github.com/blog/2111-issue-and-pull-request-templates), τα οποία μπορείτε να δημιουργήσετε για να βελτιώσετε την επικοινωνία που λαμβάνετε. Ο @TalAter δημιούργησε έναν οδηγό [Choose Your Own Adventure guide](https://www.talater.com/open-source-templates/#/) για να σας βοηθήσει να γράψετε τα πρότυπα των ζητημάτων και των PR σας.
Για να διαχειριστείτε τις ειδοποιήσεις ηλεκτρονικού ταχυδρομείου σας, μπορείτε να δημιουργήσετε [φίλτρα ηλεκτρονικού ταχυδρομείου](https://github.com/blog/2203-email-updates-about-your-own-activity) για να οργανώνετε με βάση την προτεραιότητα.
Αν θέλετε να προχωρήσετε λίγο περισσότερο, οι οδηγοί στυλ και οι λιντέρ μπορούν να τυποποιήσουν τις συνεισφορές στο πρότζεκτ και να τις κάνουν πιο εύκολες στην αναθεώρηση και στην αποδοχή τους.
Ωστόσο, αν τα πρότυπα σας είναι πολύ περίπλοκα, μπορεί να αυξήσουν τα εμπόδια στη συνεισφορά. Βεβαιωθείτε ότι προσθέτετε μόνο αρκετούς κανόνες για να κάνετε τη ζωή όλων πιο εύκολη.
Αν δεν είστε σίγουροι για το ποια εργαλεία να χρησιμοποιήσετε, κοιτάξτε τι κάνουν άλλα δημοφιλή πρότζεκτ, ειδικά αυτά που ανήκουν στο οικοσύστημά σας. Για παράδειγμα, πώς μοιάζει η διαδικασία συνεισφοράς για άλλες ενότητες του Node; Η χρήση παρόμοιων εργαλείων και προσεγγίσεων θα κάνει επίσης τη διαδικασία σας πιο οικεία στους συνεισφέροντες-στόχους σας.
## Δεν πειράζει να κάνετε διάλειμμα!
Η εργασία σε ανοιχτό κώδικα κάποτε σας έδινε χαρά. Ίσως τώρα αρχίζει να σας κάνει να νιώθετε αποφυγή ή ενοχές.
Ίσως αισθάνεστε συγκλονισμένοι ή μια αυξανόμενη αίσθηση τρόμου όταν σκέφτεστε τα πρότζεκτ σας. Και εν τω μεταξύ, τα ζητήματα και τα αιτήματα για την έκδοση προτάσεων συσσωρεύονται.
Η επαγγελματική εξουθένωση είναι ένα πραγματικό και διάχυτο ζήτημα στην εργασία ανοιχτού κώδικα, ειδικά μεταξύ των συντηρητών. Ως συντηρητής, η ευτυχία σας είναι αδιαπραγμάτευτη προϋπόθεση για την επιβίωση κάθε έργου ανοιχτού κώδικα.
Αν και θα έπρεπε να είναι αυτονόητο, κάντε ένα διάλειμμα! Δεν θα πρέπει να περιμένετε μέχρι να νιώσετε εξαντλημένοι για να κάνετε διακοπές. Ο @brettcannon, ένας κύριος προγραμματιστής της Python, αποφάσισε να κάνει [ένα μήνα διακοπές](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) μετά από 14 χρόνια εθελοντικής εργασίας στο OSS.
Ακριβώς όπως και σε κάθε άλλο είδος εργασίας, το να κάνετε τακτικά διαλείμματα θα σας κρατήσει ανανεωμένους, χαρούμενους και ενθουσιασμένους με τη δουλειά σας.
Μερικές φορές, μπορεί να είναι δύσκολο να κάνεις ένα διάλειμμα από την εργασία ανοιχτού κώδικα όταν νιώθεις ότι όλοι σε χρειάζονται. Οι άνθρωποι μπορεί ακόμη και να προσπαθήσουν να σας κάνουν να νιώσετε ένοχοι που απομακρύνεστε.
Κάνετε ό,τι μπορείτε για να βρείτε υποστήριξη για τους χρήστες και την κοινότητά σας, ενώ βρίσκεστε μακριά από ένα έργο. Αν δεν μπορείτε να βρείτε την υποστήριξη που χρειάζεστε, κάντε ένα διάλειμμα ούτως ή άλλως. Φροντίστε να επικοινωνείτε όταν δεν είστε διαθέσιμοι, ώστε οι άνθρωποι να μην μπερδεύονται από την έλλειψη ανταπόκρισής σας.
Το να κάνετε διαλείμματα ισχύει και για κάτι περισσότερο από τις διακοπές. Αν δεν θέλετε να κάνετε εργασίες ανοιχτού κώδικα τα Σαββατοκύριακα ή κατά τη διάρκεια των ωρών εργασίας, επικοινωνήστε αυτές τις προσδοκίες στους άλλους, ώστε να ξέρουν να μην σας ενοχλούν.
## Φροντίστε πρώτα τον εαυτό σας!
Η διατήρηση ενός δημοφιλούς πρότζεκτ απαιτεί διαφορετικές δεξιότητες από τα προηγούμενα στάδια ανάπτυξης, αλλά δεν είναι λιγότερο ικανοποιητική. Ως συντηρητής, θα εξασκήσετε ηγετικές και προσωπικές δεξιότητες σε ένα επίπεδο που λίγοι άνθρωποι έχουν την ευκαιρία να βιώσουν. Αν και δεν είναι πάντα εύκολο να το διαχειριστείτε, ο καθορισμός σαφών ορίων και η ανάληψη μόνο όσων σας βολεύουν θα σας βοηθήσει να παραμείνετε ευτυχισμένοι, ανανεωμένοι και παραγωγικοί.
================================================
FILE: _articles/el/building-community.md
================================================
---
lang: el
title: Χτίζοντας Ευπρόσδεκτες Κοινότητες
description: Χτίζοντας μια κοινωνιά που να ενθαρρύνει τα μέλη της να χρησιμοποιεί, να συνεισφέρει, και να προωθεί το πρότζεκτ σας.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Προετοιμάζοντας το πρότζεκτ σας για την επιτυχία
Ξεκινήσατε το πρότζεκτ σας, το διαδίδετε και ο κόσμος το ελέγχει. Φοβερό! Τώρα, πώς θα τους κάνετε να παραμείνουν;
Μια φιλόξενη κοινότητα είναι μια επένδυση στο μέλλον και τη φήμη του πρότζεκτ σας. Αν το πρότζεκτ σας μόλις αρχίζει να βλέπει τις πρώτες συνεισφορές, ξεκινήστε δίνοντας στους πρώτους συνεισφέροντες μια θετική εμπειρία και διευκολύνετέ τους να συνεχίσουν να επιστρέφουν.
### Κάντε τους ανθρώπους να αισθάνονται ευπρόσδεκτοι
Ένας τρόπος για να σκεφτείτε την κοινότητα του έργου σας είναι αυτό που ο @MikeMcQuaid αποκαλεί [contributor funnel](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

Καθώς χτίζετε την κοινότητά σας, σκεφτείτε πώς κάποιος που βρίσκεται στην κορυφή του χωνιού (ένας δυνητικός χρήστης) θα μπορούσε θεωρητικά να φτάσει στο κάτω μέρος (ένας ενεργός συντηρητής). Στόχος σας είναι να μειώσετε τις τριβές σε κάθε στάδιο της εμπειρίας του συνεισφέροντος. Όταν οι άνθρωποι έχουν εύκολες επιτυχίες, θα νιώθουν κίνητρο να κάνουν περισσότερα.
Ξεκινήστε με την τεκμηρίωσή σας:
* **Κάντε εύκολο για κάποιον να χρησιμοποιήσει το πρότζεκτ σας.** [Ένα φιλικό README](../starting-a-project/#γράφοντας-ένα-readme) και σαφή παραδείγματα κώδικα θα διευκολύνουν οποιονδήποτε βρεθεί στο πρότζεκτ σας να ξεκινήσει.
* **Εξηγήστε με σαφήνεια πώς να συνεισφέρετε**, χρησιμοποιώντας [το αρχείο CONTRIBUTING](../starting-a-project/#γράφοντας-τις-κατευθυντήριες-γραμμές-συνεισφοράς-σας) και διατηρώντας τα θέματά σας ενημερωμένα.
* **Καλά πρώτα θέματα**: Για να βοηθήσετε τους νέους συνεισφέροντες να ξεκινήσουν, σκεφτείτε ρητά [την επισήμανση θεμάτων που είναι αρκετά απλά για να τα αντιμετωπίσουν οι αρχάριοι](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). Στη συνέχεια, το GitHub θα εμφανίσει αυτά τα θέματα σε διάφορα σημεία της πλατφόρμας, αυξάνοντας τις χρήσιμες συνεισφορές και μειώνοντας τις τριβές από τους χρήστες που αντιμετωπίζουν θέματα που είναι πολύ δύσκολα για το επίπεδό τους.
[Η έρευνα του GitHub για τον ανοικτό κώδικα του 2017](http://opensourcesurvey.org/2017/) έδειξε ότι η ελλιπής ή συγκεχυμένη τεκμηρίωση είναι το μεγαλύτερο πρόβλημα για τους χρήστες ανοικτού κώδικα. Η καλή τεκμηρίωση προσκαλεί τους ανθρώπους να αλληλεπιδράσουν με το πρότζεκτ σας. Τελικά, κάποιος θα ανοίξει ένα ζήτημα ή ένα αίτημα. Χρησιμοποιήστε αυτές τις αλληλεπιδράσεις ως ευκαιρίες για να τους μετακινήσετε προς τα κάτω στο χωνί.
* **Όταν κάποιος νέος μπαίνει στο έργο σας, ευχαριστήστε τον για το ενδιαφέρον του!** Αρκεί μια αρνητική εμπειρία για να κάνει κάποιον να μην θέλει να επιστρέψει.
* **Ανταποκριθείτε.** Αν δεν απαντήσετε στο θέμα τους για ένα μήνα, οι πιθανότητες είναι ότι έχουν ήδη ξεχάσει το έργο σας.
* **Να είστε ανοιχτόμυαλοι όσον αφορά τους τύπους συνεισφορών που θα δεχτείτε.** Πολλοί συνεισφέροντες ξεκινούν με μια αναφορά σφάλματος ή μια μικρή διόρθωση. Υπάρχουν [πολλοί τρόποι συνεισφοράς](../how-to-contribute/#τι-σημαίνει-να-συνεισφέρετε) σε ένα πρότζεκτ. Αφήστε τους ανθρώπους να βοηθήσουν με τον τρόπο που θέλουν να βοηθήσουν.
* **Αν υπάρχει μια συνεισφορά με την οποία διαφωνείτε,** ευχαριστήστε τους για την ιδέα τους και [εξηγήστε γιατί](../best-practices/#μαθαίνοντας-να-λέτε-όχι) δεν ταιριάζει στο πεδίο εφαρμογής του πρότζεκτυ, παραπέμποντας στη σχετική τεκμηρίωση αν την έχετε.
Η πλειονότητα των συνεισφερόντων ανοιχτού κώδικα είναι "περιστασιακοί συνεισφέροντες": άνθρωποι που συνεισφέρουν σε ένα πρότζεκτ μόνο περιστασιακά. Ένας περιστασιακός συνεισφέρων μπορεί να μην έχει χρόνο να ενημερωθεί πλήρως για το πρότζεκτ σας, οπότε η δουλειά σας είναι να τους διευκολύνετε να συνεισφέρουν.
Η ενθάρρυνση άλλων συνεισφερόντων είναι μια επένδυση και στον εαυτό σας. Όταν εξουσιοδοτείτε τους μεγαλύτερους θαυμαστές σας να ασχοληθούν με το πρότζεκτ για το οποίο είναι ενθουσιασμένοι, υπάρχει λιγότερη πίεση να κάνετε τα πάντα εσείς.
### Καταγράψτε τα πάντα
Όταν ξεκινάτε ένα νέο πρότζεκτ, μπορεί να σας φαίνεται φυσικό να κρατάτε την εργασία σας ιδιωτική. Αλλά τα έργα ανοικτού κώδικα ευδοκιμούν όταν τεκμηριώνετε τη διαδικασία σας δημόσια.
Όταν καταγράφετε τα πράγματα, περισσότεροι άνθρωποι μπορούν να συμμετέχουν σε κάθε βήμα της διαδικασίας. Μπορεί να λάβετε βοήθεια για κάτι που δεν γνωρίζατε καν ότι χρειαζόσασταν.
Η καταγραφή των πραγμάτων σημαίνει κάτι περισσότερο από απλή τεχνική τεκμηρίωση. Κάθε φορά που νιώθετε την ανάγκη να γράψετε κάτι ή να συζητήσετε κατ' ιδίαν το έργο σας, αναρωτηθείτε αν μπορείτε να το δημοσιοποιήσετε.
Να είστε διαφανείς σχετικά με τον οδικό χάρτη του έργου σας, τα είδη των συνεισφορών που αναζητάτε, τον τρόπο εξέτασης των συνεισφορών ή τους λόγους για τους οποίους πήρατε ορισμένες αποφάσεις.
Αν παρατηρήσετε ότι πολλοί χρήστες αντιμετωπίζουν το ίδιο πρόβλημα, τεκμηριώστε τις απαντήσεις στο README.
Για συναντήσεις, σκεφτείτε να δημοσιεύσετε τις σημειώσεις ή τα συμπεράσματα σας σε ένα σχετικό θέμα. Η ανατροφοδότηση που θα λάβετε από αυτό το επίπεδο διαφάνειας μπορεί να σας εκπλήξει.
Η τεκμηρίωση των πάντων ισχύει και για την εργασία που κάνετε. Αν εργάζεστε σε μια ουσιαστική ενημέρωση του πρότζεκτ σας, βάλτε την σε ένα pull request και σημειώστε την ως εργασία σε εξέλιξη (WIP). Με αυτόν τον τρόπο, άλλοι άνθρωποι μπορούν να νιώσουν ότι συμμετέχουν στη διαδικασία από νωρίς.
### Να ανταποκρίνεστε
Καθώς [προωθείτε το έργο σας](../finding-users), οι άνθρωποι θα έχουν ανατροφοδότηση για εσάς. Μπορεί να έχουν ερωτήσεις σχετικά με το πώς λειτουργούν τα πράγματα ή να χρειάζονται βοήθεια για να ξεκινήσουν.
Προσπαθήστε να ανταποκρίνεστε όταν κάποιος καταθέτει ένα ζήτημα, υποβάλλει ένα αίτημα ή κάνει μια ερώτηση σχετικά με το πρότζεκτ σας. Όταν απαντάτε γρήγορα, οι άνθρωποι θα αισθάνονται ότι είναι μέρος ενός διαλόγου και θα είναι πιο ενθουσιώδεις για τη συμμετοχή τους.
Ακόμα και αν δεν μπορείτε να εξετάσετε το αίτημα αμέσως, η έγκαιρη αναγνώρισή του συμβάλλει στην αύξηση της δέσμευσης. Δείτε πώς απάντησε ο @tdreyno σε ένα pull request στο [Middleman](https://github.com/middleman/middleman/pull/1466):

[Μια μελέτη της Mozilla διαπίστωσε ότι](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) οι συνεισφέροντες που λάμβαναν αξιολογήσεις κώδικα (code reviews) εντός 48 ωρών είχαν πολύ υψηλότερο ποσοστό επιστροφής και επαναλαμβανόμενης συνεισφοράς.
Συζητήσεις σχετικά με το πρότζεκτ σας θα μπορούσαν επίσης να συμβαίνουν και σε άλλα μέρη του διαδικτύου, όπως το Stack Overflow, το Twitter ή το Reddit. Μπορείτε να ρυθμίσετε ειδοποιήσεις σε ορισμένα από αυτά τα μέρη, ώστε να ειδοποιείστε όταν κάποιος αναφέρει το πρότζεκτ σας.
### Δώστε στην κοινότητά σας ένα μέρος για να συγκεντρωθεί
Υπάρχουν δύο λόγοι για να δώσετε στην κοινότητά σας ένα μέρος για να συγκεντρωθεί.
Ο πρώτος λόγος είναι γι' αυτούς. Βοηθήστε τους ανθρώπους να γνωριστούν μεταξύ τους. Οι άνθρωποι με κοινά ενδιαφέροντα θα θέλουν αναπόφευκτα ένα μέρος για να μιλήσουν γι' αυτά. Και όταν η επικοινωνία είναι δημόσια και προσβάσιμη, ο καθένας μπορεί να διαβάσει τα αρχεία του παρελθόντος για να ενημερωθεί και να συμμετάσχει.
Ο δεύτερος λόγος είναι για εσάς. Αν δεν δώσετε στους ανθρώπους ένα δημόσιο μέρος για να μιλήσουν για το πρότζεκτ σας, πιθανότατα θα επικοινωνήσουν απευθείας μαζί σας. Στην αρχή, μπορεί να φαίνεται αρκετά εύκολο να απαντήσετε σε ιδιωτικά μηνύματα "μόνο αυτή τη φορά". Αλλά με την πάροδο του χρόνου, ειδικά αν το πρότζεκτ σας γίνει δημοφιλές, θα νιώσετε εξαντλημένοι. Αντισταθείτε στον πειρασμό να επικοινωνείτε με τους ανθρώπους για το πρότζεκτ σας ιδιωτικά. Αντ' αυτού, κατευθύνετέ τους σε ένα καθορισμένο δημόσιο κανάλι.
Η δημόσια επικοινωνία μπορεί να είναι τόσο απλή όσο το να κατευθύνετε τους ανθρώπους να ανοίξουν ένα θέμα αντί να σας στείλουν απευθείας email ή να σχολιάσουν στο ιστολόγιό σας. Θα μπορούσατε επίσης να δημιουργήσετε μια λίστα αλληλογραφίας ή έναν λογαριασμό στο Twitter, το Slack ή ένα κανάλι IRC για να συζητούν οι άνθρωποι για το πρότζεκτ σας. Ή δοκιμάστε όλα τα παραπάνω!
Το [Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) ορίζει ώρες γραφείου κάθε δεύτερη εβδομάδα για να βοηθήσει τα μέλη της κοινότητας:
> Το Kops διαθέτει επίσης χρόνο που ορίζεται κάθε δεύτερη εβδομάδα για να προσφέρει βοήθεια και καθοδήγηση στην κοινότητα. Οι συντηρητές του Kops έχουν συμφωνήσει να ορίσουν χρόνο ειδικά αφιερωμένο στη συνεργασία με νεοεισερχόμενους, στη βοήθεια με PRs και στη συζήτηση νέων χαρακτηριστικών.
Αξιοσημείωτες εξαιρέσεις στη δημόσια επικοινωνία είναι: 1) θέματα ασφάλειας και 2) ευαίσθητες παραβιάσεις του κώδικα συμπεριφοράς. Θα πρέπει πάντα να έχετε έναν τρόπο για τους ανθρώπους να αναφέρουν αυτά τα ζητήματα ιδιωτικά. Αν δεν θέλετε να χρησιμοποιείτε το προσωπικό σας email, δημιουργήστε μια ειδική διεύθυνση email.
## Μεγαλώνοντας την κοινότητά σας
Οι κοινότητες είναι εξαιρετικά ισχυρές. Αυτή η δύναμη μπορεί να είναι ευλογία ή κατάρα, ανάλογα με τον τρόπο που την ασκείτε. Καθώς η κοινότητα του πρότζεκτ σας μεγαλώνει, υπάρχουν τρόποι να τη βοηθήσετε να γίνει μια δύναμη οικοδόμησης και όχι καταστροφής.
### Μην ανέχεστε τους κακούς φορείς
Κάθε δημοφιλές πρότζεκτ θα προσελκύσει αναπόφευκτα ανθρώπους που βλάπτουν, αντί να βοηθούν, την κοινότητά σας. Μπορεί να ξεκινήσουν περιττές συζητήσεις, να τσακωθούν για ασήμαντα χαρακτηριστικά ή να εκφοβίσουν άλλους.
Κάντε ό,τι μπορείτε για να υιοθετήσετε μια πολιτική μηδενικής ανοχής απέναντι σε αυτούς τους τύπους ανθρώπων. Αν δεν ελεγχθούν, οι αρνητικοί άνθρωποι θα κάνουν τους άλλους ανθρώπους της κοινότητάς σας να νιώθουν άβολα. Μπορεί ακόμη και να φύγουν.
Οι τακτικές συζητήσεις για ασήμαντες πτυχές του πρότζεκτ σας αποσπούν την προσοχή των άλλων, συμπεριλαμβανομένου και εσάς, από το να επικεντρωθούν σε σημαντικά καθήκοντα. Τα νέα άτομα που φτάνουν στο πρότζεκτ σας μπορεί να δουν αυτές τις συζητήσεις και να μην θέλουν να συμμετάσχουν.
Όταν βλέπετε αρνητική συμπεριφορά να συμβαίνει στο πρότζεκτ σας, φωνάξτε την δημόσια. Εξηγήστε, με ευγενικό αλλά αυστηρό τόνο, γιατί η συμπεριφορά τους δεν είναι αποδεκτή. Αν το πρόβλημα επιμένει, ίσως χρειαστεί να [τους ζητήσετε να φύγουν](../code-of-conduct/#επιβολή-του-κώδικα-συμπεριφοράς-σας). Ο [κώδικας δεοντολογίας](../code-of-conduct/) μπορεί να αποτελέσει εποικοδομητικό οδηγό για αυτές τις συζητήσεις.
### Συναντήστε τους συνεισφέροντες εκεί που βρίσκονται
Η καλή τεκμηρίωση γίνεται όλο και πιο σημαντική καθώς η κοινότητά σας μεγαλώνει. Οι περιστασιακοί συνεισφέροντες, οι οποίοι μπορεί διαφορετικά να μην είναι εξοικειωμένοι με το πρότζεκτ σας, διαβάζουν την τεκμηρίωσή σας για να αποκτήσουν γρήγορα το πλαίσιο που χρειάζονται.
Στο αρχείο σας CONTRIBUTING, πείτε ρητά στους νέους συνεισφέροντες πώς να ξεκινήσουν. Ίσως μάλιστα να θέλετε να φτιάξετε μια ειδική ενότητα για το σκοπό αυτό. Το [Django](https://github.com/django/django), για παράδειγμα, έχει μια ειδική σελίδα για να καλωσορίζει τους νέους συνεισφέροντες.

Στην ουρά θεμάτων σας, επισημάνετε σφάλματα που είναι κατάλληλα για διαφορετικούς τύπους συνεισφερόντων: για παράδειγμα, [_"μόνο για πρωτοεμφανιζόμενους"_](https://kentcdodds.com/blog/first-timers-only), _"καλό πρώτο θέμα"_, ή _"τεκμηρίωση"_. [Αυτές οι ετικέτες](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) διευκολύνουν κάποιον νέο στο πρότζεκτ σας να σαρώσει γρήγορα τα θέματά σας και να ξεκινήσει.
Τέλος, χρησιμοποιήστε την τεκμηρίωσή σας για να κάνετε τους ανθρώπους να αισθάνονται ευπρόσδεκτοι σε κάθε βήμα της διαδικασίας.
Δεν θα αλληλεπιδράσετε ποτέ με τους περισσότερους ανθρώπους που θα βρεθούν στο πρότζεκτ σας. Μπορεί να υπάρξουν συνεισφορές που δεν λάβατε επειδή κάποιος ένιωσε εκφοβισμένος ή δεν ήξερε από πού να ξεκινήσει. Ακόμη και μερικά καλά λόγια μπορούν να αποτρέψουν κάποιον από το να εγκαταλείψει το πρότζεκτ σας απογοητευμένος.
Για παράδειγμα, να πώς ξεκινάει ο [Rubinius](https://github.com/rubinius/rubinius/) τον [οδηγό συνεισφοράς του](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Θέλουμε να ξεκινήσουμε λέγοντας σας ευχαριστούμε που χρησιμοποιείτε το Rubinius. Αυτό το πρότζεκτ είναι έργο αγάπης και εκτιμούμε όλους τους χρήστες που εντοπίζουν σφάλματα, κάνουν βελτιώσεις στην απόδοση και βοηθούν με την τεκμηρίωση. Κάθε συνεισφορά έχει νόημα, γι' αυτό σας ευχαριστούμε για τη συμμετοχή σας. Τούτου λεχθέντος, παραθέτουμε μερικές οδηγίες που σας ζητάμε να ακολουθήσετε ώστε να μπορέσουμε να αντιμετωπίσουμε με επιτυχία το πρόβλημά σας.
### Μοιραστείτε την ιδιοκτησία του πρότζεκτ σας
Οι άνθρωποι είναι ενθουσιασμένοι να συνεισφέρουν σε πρότζεκτς όταν αισθάνονται την αίσθηση της ιδιοκτησίας. Αυτό δεν σημαίνει ότι πρέπει να παραδώσετε το όραμα του πρότζεκτ σας ή να δεχτείτε συνεισφορές που δεν θέλετε. Αλλά όσο περισσότερο δίνετε τα εύσημα στους άλλους, τόσο περισσότερο θα παραμείνουν στο πρότζεκτ.
Δείτε αν μπορείτε να βρείτε τρόπους να μοιράζεστε την ιδιοκτησία με την κοινότητά σας όσο το δυνατόν περισσότερο. Ακολουθούν μερικές ιδέες:
* **Αποφύγετε την επιδιόρθωση εύκολων (μη κρίσιμων) σφαλμάτων.** Αντ' αυτού, χρησιμοποιήστε τα ως ευκαιρίες για να προσλάβετε νέους συνεισφέροντες ή να καθοδηγήσετε κάποιον που θα ήθελε να συνεισφέρει. Μπορεί να φαίνεται αφύσικο στην αρχή, αλλά η επένδυσή σας θα αποδώσει με την πάροδο του χρόνου. Για παράδειγμα, ο @michaeljoseph ζήτησε από έναν συνεργάτη να υποβάλει ένα pull request για ένα πρόβλημα [Cookiecutter](https://github.com/audreyr/cookiecutter) παρακάτω, αντί να το διορθώσει ο ίδιος.

* **Ξεκινήστε ένα αρχείο CONTRIBUTORS ή AUTHORS στο πρότζκετ σας** το οποίο θα απαριθμεί όλους όσους έχουν συνεισφέρει στο πρότζεκτ σας, όπως κάνει το [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* Αν έχετε μια σημαντική κοινότητα, **αποστείλετε ένα ενημερωτικό δελτίο ή γράψτε μια δημοσίευση στο ιστολόγιο** ευχαριστώντας τους συνεισφέροντες. Το [This Week in Rust](https://this-week-in-rust.org/) του Rust και το [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) του Hoodie είναι δύο καλά παραδείγματα.
* **Δώστε σε κάθε συνεισφέροντα πρόσβαση για commit.** Ο @felixge διαπίστωσε ότι αυτό έκανε τους ανθρώπους [πιο ενθουσιασμένους να γυαλίζουν τις διορθώσεις τους](https://felixge.de/2013/03/11/the-pull-request-hack.html), και βρήκε ακόμα και νέους συντηρητές για πρότζεκτ στα οποία δεν είχε δουλέψει για λίγο καιρό.
* Αν το πρότζεκτ σας είναι στο GitHub, **μεταφέρετε το πρότζκετ σας από τον προσωπικό σας λογαριασμό σε έναν [Οργανισμό](https://help.github.com/articles/creating-a-new-organization-account/)** και προσθέστε τουλάχιστον έναν εφεδρικό διαχειριστή. Οι οργανισμοί διευκολύνουν την εργασία σε πρότζεκτς με εξωτερικούς συνεργάτες.
Η πραγματικότητα είναι ότι [τα περισσότερα πρότζεκτς έχουν μόνο](https://peerj.com/preprints/1233/) έναν ή δύο συντηρητές που κάνουν την περισσότερη δουλειά. Όσο μεγαλύτερο είναι το πρότζεκτ σας και όσο μεγαλύτερη είναι η κοινότητά σας, τόσο πιο εύκολο είναι να βρείτε βοήθεια.
Παρόλο που μπορεί να μην βρίσκετε πάντα κάποιον να ανταποκριθεί στο κάλεσμα, το να στέλνετε ένα σήμα εκεί έξω αυξάνει τις πιθανότητες να βοηθήσουν και άλλοι άνθρωποι. Και όσο νωρίτερα ξεκινήσετε, τόσο νωρίτερα μπορούν να βοηθήσουν οι άνθρωποι.
## Επίλυση συγκρούσεων
Στα αρχικά στάδια του πρότζεκτ σας, η λήψη σημαντικών αποφάσεων είναι εύκολη. Όταν θέλετε να κάνετε κάτι, απλά το κάνετε.
Καθώς το πρότζεκτ σας γίνεται πιο δημοφιλές, περισσότεροι άνθρωποι θα ενδιαφέρονται για τις αποφάσεις που παίρνετε. Ακόμα και αν δεν έχετε μια μεγάλη κοινότητα συνεισφερόντων, αν το πρότζεκτ σας έχει πολλούς χρήστες, θα βρείτε ανθρώπους να συμμετέχουν στις αποφάσεις ή να θέτουν τα δικά τους ζητήματα.
Ως επί το πλείστον, αν έχετε καλλιεργήσει μια φιλική κοινότητα με σεβασμό και έχετε τεκμηριώσει ανοιχτά τις διαδικασίες σας, η κοινότητά σας θα μπορέσει να βρει λύση. Αλλά μερικές φορές συναντάτε ένα ζήτημα που είναι λίγο πιο δύσκολο να αντιμετωπιστεί.
### Ορίστε τον πήχη της ευγένειας
Όταν η κοινότητά σας παλεύει με ένα δύσκολο ζήτημα, τα πνεύματα μπορεί να ανέβουν. Οι άνθρωποι μπορεί να θυμώσουν ή να απογοητευτούν και να ξεσπάσουν ο ένας στον άλλον ή σε εσάς.
Η δουλειά σας ως συντηρητής είναι να αποτρέψετε την κλιμάκωση αυτών των καταστάσεων. Ακόμα και αν έχετε ισχυρή άποψη για το θέμα, προσπαθήστε να πάρετε τη θέση του συντονιστή ή του διευκολυντή, αντί να μπείτε στη μάχη και να προωθήσετε τις απόψεις σας. Αν κάποιος είναι αγενής ή μονοπωλεί τη συζήτηση, [δράστε αμέσως](../building-community/#μην-ανέχεστε-τους-κακούς-φορείς) για να διατηρήσετε τις συζητήσεις πολιτισμένες και παραγωγικές.
Άλλοι άνθρωποι αναζητούν από εσάς καθοδήγηση. Δώστε το καλό παράδειγμα. Μπορείτε ακόμα να εκφράσετε απογοήτευση, δυσαρέσκεια ή ανησυχία, αλλά να το κάνετε με ηρεμία.
Το να διατηρείτε την ψυχραιμία σας δεν είναι εύκολο, αλλά η επίδειξη ηγετικής ικανότητας βελτιώνει την υγεία της κοινότητάς σας. Το διαδίκτυο σας ευχαριστεί.
### Αντιμετωπίστε το README σας ως σύνταγμα
Το README σας είναι [κάτι περισσότερο από ένα σύνολο οδηγιών](../starting-a-project/#γράφοντας-ένα-readme). Είναι επίσης ένα μέρος για να μιλήσετε για τους στόχους σας, το όραμα του προϊόντος και τον οδικό χάρτη. Αν οι άνθρωποι επικεντρώνονται υπερβολικά στη συζήτηση για την αξία ενός συγκεκριμένου χαρακτηριστικού, μπορεί να βοηθήσει να επανεξετάσετε το README σας και να μιλήσετε για το ανώτερο όραμα του πρότζεκτ σας. Η εστίαση στο README σας αποπροσωποποιεί επίσης τη συζήτηση, ώστε να μπορείτε να έχετε μια εποικοδομητική συζήτηση.
### Επικεντρωθείτε στο ταξίδι, όχι στον προορισμό
Ορισμένα πρότζεκτ χρησιμοποιούν μια διαδικασία ψηφοφορίας για τη λήψη σημαντικών αποφάσεων. Αν και λογική με την πρώτη ματιά, η ψηφοφορία δίνει έμφαση στο να φτάσουμε σε μια "απάντηση", αντί να ακούτε και να αντιμετωπίζετε τις ανησυχίες του άλλου.
Η ψηφοφορία μπορεί να γίνει πολιτική, όπου τα μέλη της κοινότητας αισθάνονται πιεσμένα να κάνουν χάρες ο ένας στον άλλον ή να ψηφίσουν με συγκεκριμένο τρόπο. Επίσης, δεν ψηφίζουν όλοι, είτε πρόκειται για τη [σιωπηλή πλειοψηφία](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) στην κοινότητά σας, είτε για σημερινούς χρήστες που δεν γνώριζαν ότι γινόταν ψηφοφορία.
Ορισμένες φορές, η ψηφοφορία είναι απαραίτητη για την ισοφάριση. Όσο μπορείτε, ωστόσο, δώστε έμφαση στην ["αναζήτηση συναίνεσης"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) και όχι στη συναίνεση.
Στο πλαίσιο μιας διαδικασίας αναζήτησης συναίνεσης, τα μέλη της κοινότητας συζητούν τις σημαντικότερες ανησυχίες μέχρι να νιώσουν ότι έχουν ακουστεί επαρκώς. Όταν απομένουν μόνο δευτερεύουσες ανησυχίες, η κοινότητα προχωράει μπροστά. Η "αναζήτηση συναίνεσης" αναγνωρίζει ότι μια κοινότητα μπορεί να μην είναι σε θέση να καταλήξει σε μια τέλεια απάντηση. Αντιθέτως, δίνει προτεραιότητα στην ακρόαση και τη συζήτηση.
Ακόμα και αν δεν υιοθετείτε στην πραγματικότητα μια διαδικασία αναζήτησης συναίνεσης, ως συντηρητής πρότζεκτ, είναι σημαντικό να γνωρίζουν οι άνθρωποι ότι ακούτε. Το να κάνετε τους άλλους ανθρώπους να αισθάνονται ότι ακούγονται και να δεσμεύεστε να επιλύσετε τις ανησυχίες τους, συμβάλλει σε μεγάλο βαθμό στην εκτόνωση των ευαίσθητων καταστάσεων. Στη συνέχεια, ακολουθήστε τα λόγια σας με πράξεις.
Μην βιάζεστε να πάρετε μια απόφαση για χάρη της επίλυσης. Βεβαιωθείτε ότι όλοι αισθάνονται ότι ακούγονται και ότι όλες οι πληροφορίες έχουν δημοσιοποιηθεί προτού προχωρήσετε προς μια λύση.
### Κρατήστε τη συζήτηση εστιασμένη στη δράση
Η συζήτηση είναι σημαντική, αλλά υπάρχει διαφορά μεταξύ παραγωγικών και μη παραγωγικών συζητήσεων.
Ενθαρρύνετε τη συζήτηση εφόσον κινείται ενεργά προς την κατεύθυνση της επίλυσης. Εάν είναι σαφές ότι η συζήτηση μαραζώνει ή ξεφεύγει από το θέμα, οι αιχμές γίνονται προσωπικές ή οι άνθρωποι τσακώνονται για ασήμαντες λεπτομέρειες, είναι καιρός να την κλείσετε.
Το να επιτρέπετε τη συνέχιση αυτών των συζητήσεων δεν είναι μόνο κακό για το συγκεκριμένο θέμα, αλλά και για την υγεία της κοινότητάς σας. Στέλνει το μήνυμα ότι αυτού του είδους οι συζητήσεις επιτρέπονται ή ακόμη και ενθαρρύνονται, και μπορεί να αποθαρρύνει τους ανθρώπους από το να εγείρουν ή να επιλύσουν μελλοντικά ζητήματα.
Με κάθε σημείο που διατυπώνεται από εσάς ή από άλλους, αναρωτηθείτε: _"Πώς αυτό μας φέρνει πιο κοντά σε μια λύση;"_
Εάν η συζήτηση αρχίζει να ξεφεύγει, ρωτήστε την ομάδα, _"Ποια βήματα πρέπει να ακολουθήσουμε στη συνέχεια;"_ για να επαναπροσανατολίσετε τη συζήτηση.
Εάν μια συζήτηση είναι σαφές ότι δεν οδηγεί πουθενά, δεν υπάρχουν σαφείς ενέργειες που πρέπει να γίνουν ή η κατάλληλη ενέργεια έχει ήδη γίνει, κλείστε το θέμα και εξηγήστε γιατί το κλείσατε.
### Διαλέξτε τις μάχες σας με σύνεση
Το πλαίσιο είναι σημαντικό. Σκεφτείτε ποιος συμμετέχει στη συζήτηση και πώς εκπροσωπεί την υπόλοιπη κοινότητα.
Είναι όλοι στην κοινότητα αναστατωμένοι ή έστω ασχολούνται με αυτό το θέμα; Ή είναι ένας μοναχικός ταραχοποιός; Μην ξεχνάτε να λαμβάνετε υπόψη τα σιωπηλά μέλη της κοινότητάς σας, όχι μόνο τις ενεργές φωνές.
Εάν το ζήτημα δεν αντιπροσωπεύει τις ευρύτερες ανάγκες της κοινότητάς σας, ίσως χρειαστεί απλώς να αναγνωρίσετε τις ανησυχίες μερικών ανθρώπων. Αν πρόκειται για επαναλαμβανόμενο ζήτημα χωρίς σαφή λύση, παραπέμψτε τους σε προηγούμενες συζητήσεις για το θέμα και κλείστε το thread.
### Προσδιορίστε ένα κριτήριο ισορροπίας της κοινότητας
Με καλή συμπεριφορά και σαφή επικοινωνία, οι περισσότερες δύσκολες καταστάσεις επιλύονται. Ωστόσο, ακόμη και σε μια παραγωγική συζήτηση, μπορεί απλώς να υπάρχει διάσταση απόψεων σχετικά με το πώς πρέπει να προχωρήσουμε. Σε αυτές τις περιπτώσεις, προσδιορίστε ένα άτομο ή μια ομάδα ατόμων που μπορεί να χρησιμεύσει ως ρυθμιστής ισορροπίας.
Ένας ισοβαθμιστής θα μπορούσε να είναι ο κύριος συντηρητής του πρότζεκτ, ή θα μπορούσε να είναι μια μικρή ομάδα ανθρώπων που λαμβάνει μια απόφαση βάσει ψηφοφορίας. Ιδανικά, έχετε προσδιορίσει έναν ισοβαθμιστή και τη σχετική διαδικασία σε ένα αρχείο GOVERNANCE πριν χρειαστεί ποτέ να το χρησιμοποιήσετε.
Η απόφαση ισοβαθμίας σας θα πρέπει να είναι η τελευταία λύση. Τα διχαστικά ζητήματα είναι μια ευκαιρία για την κοινότητά σας να αναπτυχθεί και να μάθει. Αγκαλιάστε αυτές τις ευκαιρίες και χρησιμοποιήστε μια συνεργατική διαδικασία για να προχωρήσετε σε λύση, όπου είναι δυνατόν.
## Η κοινότητα είναι η ❤️ του ανοιχτού κώδικα
Οι υγιείς, ακμάζουσες κοινότητες τροφοδοτούν τις χιλιάδες ώρες που αφιερώνονται στον ανοικτό κώδικα κάθε εβδομάδα. Πολλοί συνεισφέροντες επισημαίνουν άλλους ανθρώπους ως τον λόγο που εργάζονται - ή δεν εργάζονται - στον ανοικτό κώδικα. Μαθαίνοντας πώς να αξιοποιείτε εποικοδομητικά αυτή τη δύναμη, θα βοηθήσετε κάποιον εκεί έξω να έχει μια αξέχαστη εμπειρία ανοιχτού κώδικα.
================================================
FILE: _articles/el/code-of-conduct.md
================================================
---
lang: el
title: Ο Κώδικας Δεοντολογίας σας
description: Διευκολύνετε την υγιούς και εποικοδομητική συμπεριφορά της κοινότητας με την υιοθέτηση και επιβολή ενός κώδικα δεοντολογίας.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Γιατί χρειάζομαι έναν κώδικα δεοντολογίας;
Ο κώδικας δεοντολογίας είναι ένα έγγραφο που καθορίζει τις προσδοκίες συμπεριφοράς για τους συμμετέχοντες στο πρότζεκτ σας. Η υιοθέτηση και η επιβολή ενός κώδικα δεοντολογίας μπορεί να συμβάλει στη δημιουργία θετικής κοινωνικής ατμόσφαιρας για την κοινότητά σας.
Οι κώδικες δεοντολογίας βοηθούν στην προστασία όχι μόνο των συμμετεχόντων σας, αλλά και εσάς τους ίδιους. Εάν συντηρείτε ένα πρότζεκτ, μπορεί να διαπιστώσετε ότι οι μη παραγωγικές συμπεριφορές των άλλων συμμετεχόντων μπορεί να σας κάνουν να νιώθετε εξαντλημένοι ή δυσαρεστημένοι με την εργασία σας με την πάροδο του χρόνου.
Ένας κώδικας δεοντολογίας σας δίνει τη δυνατότητα να διευκολύνετε την υγιή, εποικοδομητική συμπεριφορά της κοινότητας. Το να είστε προληπτικοί μειώνει την πιθανότητα να κουραστείτε εσείς ή άλλοι από το πρότζεκτ σας και σας βοηθά να αναλάβετε δράση όταν κάποιος κάνει κάτι με το οποίο δεν συμφωνείτε.
## Καθιέρωση ενός κώδικα συμπεριφοράς
Προσπαθήστε να καθιερώσετε έναν κώδικα συμπεριφοράς όσο το δυνατόν νωρίτερα: ιδανικά, όταν δημιουργείτε για πρώτη φορά το πρότζεκτ σας.
Εκτός από την κοινοποίηση των προσδοκιών σας, ένας κώδικας δεοντολογίας περιγράφει τα εξής:
* Πού τίθεται σε ισχύ ο κώδικας συμπεριφοράς _(μόνο σε θέματα και αιτήσεις διανομής ή σε δραστηριότητες της κοινότητας, όπως εκδηλώσεις;)_
* Σε ποιους ισχύει ο κώδικας συμπεριφοράς _(μέλη της κοινότητας και συντηρητές, αλλά τι γίνεται με τους χορηγούς;)_
* Τι συμβαίνει αν κάποιος παραβιάσει τον κώδικα συμπεριφοράς
* Πώς μπορεί κάποιος να αναφέρει παραβιάσεις
Όπου μπορείτε, χρησιμοποιήστε την προϋπάρχουσα τέχνη. Το [Contributor Covenant](https://contributor-covenant.org/) είναι ένας drop-in κώδικας συμπεριφοράς που χρησιμοποιείται από πάνω από 40.000 έργα ανοικτού κώδικα, συμπεριλαμβανομένων των Kubernetes, Rails και Swift.
Ο [Django Code of Conduct](https://www.djangoproject.com/conduct/) και ο [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) είναι επίσης δύο καλά παραδείγματα κώδικα συμπεριφοράς.
Τοποθετήστε ένα αρχείο CODE_OF_CONDUCT στο ριζικό κατάλογο του πρότζεκτ σας και κάντε το ορατό στην κοινότητά σας, συνδέοντάς το από το αρχείο CONTRIBUTING ή README.
## Αποφασίζοντας πώς θα επιβάλλετε τον κώδικα συμπεριφοράς σας
Θα πρέπει να εξηγήσετε πώς θα επιβληθεί ο κώδικας συμπεριφοράς σας **_πριν_** συμβεί μια παραβίαση. Υπάρχουν διάφοροι λόγοι για να το κάνετε αυτό:
* Δείχνει ότι είστε σοβαροί στο να αναλάβετε δράση όταν χρειάζεται.
* Η κοινότητά σας θα αισθάνεται πιο καθησυχαστική ότι οι καταγγελίες πράγματι εξετάζονται.
* Θα καθησυχάσετε την κοινότητά σας ότι η διαδικασία επανεξέτασης είναι δίκαιη και διαφανής, σε περίπτωση που ποτέ βρεθούν υπό διερεύνηση για παραβίαση.
Θα πρέπει να δώσετε στους ανθρώπους έναν ιδιωτικό τρόπο (όπως μια διεύθυνση ηλεκτρονικού ταχυδρομείου) για να αναφέρουν μια παραβίαση του κώδικα δεοντολογίας και να εξηγήσετε ποιος λαμβάνει αυτή την αναφορά. Θα μπορούσε να είναι ένας συντηρητής, μια ομάδα συντηρητών ή μια ομάδα εργασίας κώδικα δεοντολογίας.
Μην ξεχνάτε ότι κάποιος μπορεί να θέλει να αναφέρει μια παραβίαση για ένα άτομο που λαμβάνει αυτές τις αναφορές. Σε αυτή την περίπτωση, δώστε τους τη δυνατότητα να αναφέρουν τις παραβιάσεις σε κάποιον άλλο. Για παράδειγμα, οι @ctb και @mr-c [εξηγούν για το πρότζεκτ τους](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Περιπτώσεις καταχρηστικής, παρενοχλητικής ή άλλως απαράδεκτης συμπεριφοράς μπορούν να αναφερθούν στέλνοντας email στο **khmer-project@idyll.org**, το οποίο απευθύνεται μόνο στους C. Titus Brown και Michael R. Crusoe. Για να αναφέρετε ένα θέμα που αφορά κάποιον από τους δύο, στείλτε email στον **Judi Brown Clarke, Ph.D.**, τον διευθυντή ποικιλομορφίας στο Κέντρο BEACON για τη μελέτη της εξέλιξης στην πράξη, ένα Κέντρο Επιστήμης και Τεχνολογίας του NSF*.
Για έμπνευση, δείτε το [εγχειρίδιο επιβολής](https://www.djangoproject.com/conduct/enforcement-manual/) του Django (αν και μπορεί να μην χρειάζεστε κάτι τόσο περιεκτικό, ανάλογα με το μέγεθος του πρότζεκτ σας).
## Επιβολή του κώδικα συμπεριφοράς σας
Μερικές φορές, παρά τις προσπάθειές σας, κάποιος θα κάνει κάτι που παραβιάζει αυτόν τον κώδικα. Υπάρχουν διάφοροι τρόποι για να αντιμετωπίσετε την αρνητική ή επιβλαβή συμπεριφορά όταν αυτή προκύψει.
### Συγκεντρώστε πληροφορίες σχετικά με την κατάσταση
Αντιμετωπίστε τη φωνή κάθε μέλους της κοινότητας εξίσου σημαντική με τη δική σας. Αν λάβετε μια αναφορά ότι κάποιος παραβίασε τον κώδικα συμπεριφοράς, πάρτε την στα σοβαρά και ερευνήστε το θέμα, ακόμη και αν δεν ταιριάζει με τη δική σας εμπειρία με το συγκεκριμένο άτομο. Με τον τρόπο αυτό σηματοδοτείτε στην κοινότητά σας ότι εκτιμάτε την άποψή της και εμπιστεύεστε την κρίση της.
Το εν λόγω μέλος της κοινότητας μπορεί να είναι ένας επαναλαμβανόμενος παραβάτης που κάνει τους άλλους να αισθάνονται συνεχώς άβολα, ή μπορεί να έχει πει ή κάνει κάτι μόνο μία φορά. Και τα δύο μπορούν να αποτελέσουν λόγο για τη λήψη μέτρων, ανάλογα με το πλαίσιο.
Πριν απαντήσετε, δώστε χρόνο στον εαυτό σας να καταλάβει τι συνέβη. Διαβάστε τα προηγούμενα σχόλια και συζητήσεις του ατόμου για να καταλάβετε καλύτερα ποιος είναι και γιατί μπορεί να ενήργησε με αυτόν τον τρόπο. Προσπαθήστε να συγκεντρώσετε άλλες οπτικές γωνίες εκτός από τις δικές σας σχετικά με αυτό το άτομο και τη συμπεριφορά του.
### Αναλάβετε την κατάλληλη δράση
Αφού συγκεντρώσετε και επεξεργαστείτε επαρκείς πληροφορίες, θα πρέπει να αποφασίσετε τι πρέπει να κάνετε. Καθώς εξετάζετε τα επόμενα βήματά σας, να θυμάστε ότι στόχος σας ως συντονιστής είναι να προωθήσετε ένα ασφαλές, με σεβασμό και συνεργασία περιβάλλον. Σκεφτείτε όχι μόνο πώς να αντιμετωπίσετε την εν λόγω κατάσταση, αλλά και πώς η αντίδρασή σας θα επηρεάσει τη συμπεριφορά και τις προσδοκίες της υπόλοιπης κοινότητάς σας στο μέλλον.
Όταν κάποιος αναφέρει μια παραβίαση του κώδικα συμπεριφοράς, είναι δική σας δουλειά, όχι δική τους, να το χειριστείτε. Ορισμένες φορές, ο καταγγέλλων αποκαλύπτει πληροφορίες με μεγάλο κίνδυνο για την καριέρα του, τη φήμη του ή τη σωματική του ακεραιότητα. Ο εξαναγκασμός τους να αντιμετωπίσουν τον παρενοχλητή τους θα μπορούσε να θέσει τον αναφέροντα σε επικίνδυνη θέση. Θα πρέπει να χειρίζεστε την άμεση επικοινωνία με το εν λόγω πρόσωπο, εκτός εάν ο δημοσιογράφος ζητήσει ρητά το αντίθετο.
Υπάρχουν μερικοί τρόποι με τους οποίους μπορείτε να αντιδράσετε σε μια παραβίαση του κώδικα δεοντολογίας:
* **Δώστε στο εν λόγω άτομο μια δημόσια προειδοποίηση** και εξηγήστε πώς η συμπεριφορά του επηρέασε αρνητικά τους άλλους, κατά προτίμηση στο κανάλι όπου συνέβη. Όπου είναι δυνατόν, η δημόσια επικοινωνία μεταφέρει στην υπόλοιπη κοινότητα ότι παίρνετε σοβαρά τον κώδικα συμπεριφοράς. Να είστε ευγενικοί, αλλά αυστηροί στην επικοινωνία σας.
* **Επικοινωνήστε ιδιωτικά με το εν λόγω άτομο** για να εξηγήσετε πώς η συμπεριφορά του επηρέασε αρνητικά τους άλλους. Μπορεί να θέλετε να χρησιμοποιήσετε ένα ιδιωτικό κανάλι επικοινωνίας, εάν η κατάσταση αφορά ευαίσθητες προσωπικές πληροφορίες. Εάν επικοινωνήσετε με κάποιον ιδιαιτέρως, καλό θα ήταν να ενημερώσετε όσους ανέφεραν πρώτοι την κατάσταση, ώστε να γνωρίζουν ότι αναλάβατε δράση. Ζητήστε τη συγκατάθεση του ατόμου που έκανε την αναφορά πριν τον κάνετε CC.
Μερικές φορές, δεν μπορεί να επιτευχθεί λύση. Το εν λόγω άτομο μπορεί να γίνει επιθετικό ή εχθρικό όταν έρθει αντιμέτωπο ή δεν αλλάζει τη συμπεριφορά του. Σε αυτή την περίπτωση, μπορεί να θέλετε να εξετάσετε το ενδεχόμενο να αναλάβετε ισχυρότερη δράση. Για παράδειγμα:
* **Αποβολή του εν λόγω ατόμου** από το πρότζεκτ, με προσωρινή απαγόρευση συμμετοχής σε οποιαδήποτε πτυχή του πρότζεκτ.
* **Μόνιμος αποκλεισμός** του ατόμου από το πρότζεκτ
Ο αποκλεισμός μελών δεν πρέπει να λαμβάνεται ελαφρά τη καρδία και αντιπροσωπεύει μια μόνιμη και αγεφύρωτη διαφορά απόψεων. Θα πρέπει να λαμβάνετε αυτά τα μέτρα μόνο όταν είναι σαφές ότι δεν μπορεί να επιτευχθεί λύση.
## Οι ευθύνες σας ως συντηρητής
Ένας κώδικας συμπεριφοράς δεν είναι ένας νόμος που επιβάλλεται αυθαίρετα. Εσείς είστε ο εφαρμοστής του κώδικα δεοντολογίας και είναι δική σας ευθύνη να ακολουθείτε τους κανόνες που θεσπίζει ο κώδικας δεοντολογίας.
Ως συντηρητής θεσπίζετε τις κατευθυντήριες γραμμές για την κοινότητά σας και επιβάλλετε αυτές τις κατευθυντήριες γραμμές σύμφωνα με τους κανόνες που ορίζονται στον κώδικα συμπεριφοράς σας. Αυτό σημαίνει ότι λαμβάνετε σοβαρά υπόψη κάθε αναφορά για παραβίαση του κώδικα συμπεριφοράς. Ο καταγγέλλων οφείλει να εξετάσει διεξοδικά και δίκαια την καταγγελία του. Εάν διαπιστώσετε ότι η συμπεριφορά που ανέφεραν δεν αποτελεί παραβίαση, επικοινωνήστε το με σαφήνεια σε αυτούς και εξηγήστε τους γιατί δεν πρόκειται να λάβετε μέτρα γι' αυτό. Το τι θα κάνουν με αυτό εξαρτάται από αυτούς: να ανεχθούν τη συμπεριφορά με την οποία είχαν πρόβλημα ή να σταματήσουν να συμμετέχουν στην κοινότητα.
Μια αναφορά συμπεριφοράς που _τεχνικά_ δεν παραβιάζει τον κώδικα συμπεριφοράς μπορεί να υποδεικνύει ότι υπάρχει πρόβλημα στην κοινότητά σας, και θα πρέπει να διερευνήσετε αυτό το πιθανό πρόβλημα και να ενεργήσετε αναλόγως. Αυτό μπορεί να περιλαμβάνει την αναθεώρηση του κώδικα συμπεριφοράς σας για να αποσαφηνίσετε την αποδεκτή συμπεριφορά ή/και να μιλήσετε με το άτομο του οποίου η συμπεριφορά αναφέρθηκε και να του πείτε ότι, ενώ δεν παραβίασε τον κώδικα συμπεριφοράς, παρακάμπτει τα όρια του αναμενόμενου και κάνει ορισμένους συμμετέχοντες να αισθάνονται άβολα.
Τελικά, ως συντηρητής, εσείς θέτετε και επιβάλλετε τα πρότυπα αποδεκτής συμπεριφοράς. Έχετε τη δυνατότητα να διαμορφώσετε τις αξίες της κοινότητας του πρότζεκτ και οι συμμετέχοντες περιμένουν από εσάς να επιβάλλετε αυτές τις αξίες με δίκαιο και ισορροπημένο τρόπο.
## Ενθαρρύνετε τη συμπεριφορά που θέλετε να δείτε στον κόσμο 🌎
Όταν ένα πρότζεκτ φαίνεται εχθρικό ή μη φιλόξενο, ακόμη και αν πρόκειται για ένα μόνο άτομο του οποίου η συμπεριφορά είναι ανεκτή από τους άλλους, κινδυνεύετε να χάσετε πολλούς ακόμη συνεισφέροντες, μερικούς από τους οποίους μπορεί να μην συναντήσετε ποτέ. Δεν είναι πάντα εύκολο να υιοθετήσετε ή να επιβάλλετε έναν κώδικα συμπεριφοράς, αλλά η καλλιέργεια ενός φιλόξενου περιβάλλοντος θα βοηθήσει την κοινότητά σας να αναπτυχθεί.
================================================
FILE: _articles/el/finding-users.md
================================================
---
lang: el
title: Βρίσκοντας Χρήστες για το Πρότζεκτ σας
description: Βοηθήστε το πρότζεκτ ανοιχτού κώδικά σας να μεγαλώσει, δίνοντας το στα χέρια ευχαριστημένων χρηστών.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Διαδίδοντας τη λέξη
Δεν υπάρχει κανένας κανόνας που να λέει ότι πρέπει να προωθήσετε ένα πρότζεκτ ανοιχτού κώδικα όταν το ξεκινάτε. Υπάρχουν πολλοί ικανοποιητικοί λόγοι για να εργαστείτε στον ανοιχτό κώδικα που δεν έχουν καμία σχέση με τη δημοτικότητα. Αντί να ελπίζετε ότι άλλοι θα βρουν και θα χρησιμοποιήσουν το πρότζεκτ σας ανοιχτού κώδικα, πρέπει να διαδώσετε τη σκληρή δουλειά σας!
## Βρείτε το μήνυμά σας
Πριν ξεκινήσετε την πραγματική εργασία προώθησης του πρότζεκτ σας, θα πρέπει να είστε σε θέση να εξηγήσετε τι κάνει και γιατί έχει σημασία.
Τι κάνει το πρότζεκτ σας διαφορετικό ή ενδιαφέρον; Γιατί το δημιουργήσατε; Η απάντηση αυτών των ερωτημάτων για τον εαυτό σας θα σας βοηθήσει να επικοινωνήσετε τη σημασία του πρότζεκτ σας.
Να θυμάστε ότι οι άνθρωποι εμπλέκονται ως χρήστες και τελικά γίνονται συνεισφέροντες, επειδή το πρότζεκτ σας λύνει ένα πρόβλημα γι' αυτούς. Καθώς σκέφτεστε το μήνυμα και την αξία του πρότζεκτ σας, προσπαθήστε να τα δείτε μέσα από το πρίσμα του τι μπορεί να θέλουν οι _χρήστες και οι συνεισφέροντες_.
Για παράδειγμα, ο @robb χρησιμοποιεί παραδείγματα κώδικα για να επικοινωνήσει με σαφήνεια γιατί το πρότζεκτ του, [Cartography](https://github.com/robb/Cartography), είναι χρήσιμο:

Για μια βαθύτερη εμβάθυνση στην ανταλλαγή μηνυμάτων, δείτε την άσκηση ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) της Mozilla για την ανάπτυξη προσωπικοτήτων χρηστών.
## Βοηθήστε τους ανθρώπους να βρουν και να ακολουθήσουν το πρότζεκτ σας
Βοηθήστε τους ανθρώπους να βρουν και να θυμούνται το πρότζεκτ σας, δείχνοντάς τους ένα ενιαίο χώρο ονομάτων.
**Να έχετε ένα ξεκάθαρο χειριστήριο για να προωθήσετε το πρότζεκτ σας.** Ένα χειριστήριο στο Twitter, μια διεύθυνση URL στο GitHub ή ένα κανάλι IRC είναι ένας εύκολος τρόπος για να δείξετε στους ανθρώπους το πρότζεκτ σας. Αυτές οι διέξοδοι δίνουν επίσης στην αναπτυσσόμενη κοινότητα του πρότζεκτ σας ένα μέρος για να συγκεντρώνεται.
Αν δεν επιθυμείτε να δημιουργήσετε ακόμη διεξόδους για το πρότζεκτ σας, προωθήστε τη δική σας λαβή Twitter ή GitHub σε ό,τι κάνετε. Η προώθηση της λαβής σας στο Twitter ή το GitHub θα ενημερώσει τους ανθρώπους για το πώς μπορούν να επικοινωνήσουν μαζί σας ή να παρακολουθήσουν το πρότζεκτ σας. Αν μιλήσετε σε μια συνάντηση ή εκδήλωση, βεβαιωθείτε ότι τα στοιχεία επικοινωνίας σας περιλαμβάνονται στο βιογραφικό σας ή στις διαφάνειές σας.
**Σκεφτείτε να δημιουργήσετε έναν ιστότοπο για το πρότζεκτ σας.** Ένας ιστότοπος κάνει το πρότζεκτ σας πιο φιλικό και πιο εύκολο στην πλοήγηση, ειδικά όταν συνδυάζεται με σαφή τεκμηρίωση και σεμινάρια. Η ύπαρξη ιστότοπου υποδηλώνει επίσης ότι το πρότζεκτ σας είναι ενεργό, γεγονός που θα κάνει το κοινό σας να αισθάνεται πιο άνετα στη χρήση του. Παρέχετε παραδείγματα για να δώσετε στους ανθρώπους ιδέες για το πώς να χρησιμοποιήσουν το πρότζεκτ σας.
Ο [@adrianholovaty](https://news.ycombinator.com/item?id=7531689), συνδημιουργός του Django, δήλωσε ότι ένας ιστότοπος ήταν _"μακράν το καλύτερο πράγμα που κάναμε με το Django τις πρώτες μέρες"_.
Αν το πρότζεκτ σας φιλοξενείται στο GitHub, μπορείτε να χρησιμοποιήσετε το [GitHub Pages](https://pages.github.com/) για να φτιάξετε εύκολα έναν ιστότοπο. Το [Yeoman](http://yeoman.io/), το [Vagrant](https://www.vagrantup.com/) και το [Middleman](https://middlemanapp.com/) είναι [μερικά παραδείγματα](https://github.com/showcases/github-pages-examples) εξαιρετικών, ολοκληρωμένων ιστοσελίδων.

Τώρα που έχετε ένα μήνυμα για το πρότζεκτ σας και έναν εύκολο τρόπο για να βρουν οι άνθρωποι το πρότζεκτ σας, ας βγούμε εκεί έξω και ας μιλήσουμε στο κοινό σας!
## Πηγαίνετε εκεί όπου βρίσκεται το κοινό του πρότζεκτ σας (online)
Η διαδικτυακή προβολή είναι ένας πολύ καλός τρόπος για να μοιραστείτε και να διαδώσετε το μήνυμα γρήγορα. Χρησιμοποιώντας διαδικτυακά κανάλια, έχετε τη δυνατότητα να προσεγγίσετε ένα πολύ ευρύ κοινό.
Εκμεταλλευτείτε τις υπάρχουσες διαδικτυακές κοινότητες και πλατφόρμες για να προσεγγίσετε το κοινό σας. Εάν το πρότζεκτ σας ανοικτού κώδικα είναι ένα πρότζεκτ λογισμικού, μπορείτε πιθανώς να βρείτε το κοινό σας στο [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/) ή [Quora](https://www.quora.com/). Βρείτε τα κανάλια στα οποία πιστεύετε ότι οι άνθρωποι θα επωφεληθούν περισσότερο ή θα ενθουσιαστούν με το πρότζεκτ σας.
Δείτε αν μπορείτε να βρείτε τρόπους να μοιραστείτε το πρότζεκτ σας με σχετικούς τρόπους:
* **Γνωρίστε σχετικά έργα και κοινότητες ανοικτού κώδικα.** Μερικές φορές, δεν χρειάζεται να προωθήσετε άμεσα το πρότζεκτ σας. Αν το πρότζεκτ σας είναι ιδανικό για επιστήμονες δεδομένων που χρησιμοποιούν Python, γνωρίστε την κοινότητα επιστήμης δεδομένων Python. Καθώς οι άνθρωποι θα σας γνωρίζουν, θα προκύψουν φυσικές ευκαιρίες για να μιλήσετε και να μοιραστείτε το πρότζεκτ σας.
* **Βρείτε ανθρώπους που αντιμετωπίζουν το πρόβλημα που λύνει το πρότζεκτ σας.** Ψάξτε σε σχετικά φόρουμ για ανθρώπους που ανήκουν στο κοινό-στόχο του πρότζεκτ σας. Απαντήστε στην ερώτησή τους και βρείτε έναν διακριτικό τρόπο, όταν χρειάζεται, να προτείνετε το πρότζεκτ σας ως λύση.
* **Ζητήστε ανατροφοδότηση.** Παρουσιάστε τον εαυτό σας και το πρότζεκτ σας σε ένα κοινό που θα το βρει σχετικό και ενδιαφέρον. Να είστε συγκεκριμένοι σχετικά με το ποιος πιστεύετε ότι θα επωφεληθεί από το πρότζεκτ σας. Προσπαθήστε να ολοκληρώσετε την πρόταση: _"Νομίζω ότι το πρότζεκτ μου θα βοηθούσε πραγματικά τον Χ, ο οποίος προσπαθεί να κάνει Υ_". Ακούστε και απαντήστε στα σχόλια των άλλων, αντί να προωθείτε απλώς το πρότζεκτ σας.
Σε γενικές γραμμές, επικεντρωθείτε στο να βοηθάτε τους άλλους προτού ζητήσετε πράγματα σε αντάλλαγμα. Επειδή ο καθένας μπορεί εύκολα να προωθήσει ένα πρότζεκτ στο διαδίκτυο, θα υπάρχει πολύς θόρυβος. Για να ξεχωρίσετε από το πλήθος, δώστε στους ανθρώπους το πλαίσιο για το ποιοι είστε και όχι απλώς τι θέλετε.
Αν κανείς δεν δώσει σημασία ή δεν ανταποκριθεί στην αρχική σας προβολή, μην αποθαρρύνεστε! Οι περισσότερες εκκινήσεις έργων είναι μια επαναληπτική διαδικασία που μπορεί να διαρκέσει μήνες ή και χρόνια. Αν δεν έχετε ανταπόκριση με την πρώτη φορά, δοκιμάστε μια διαφορετική τακτική ή αναζητήστε πρώτα τρόπους να προσθέσετε αξία στο πρότζεκτ άλλων. Η προώθηση και η έναρξη του πρότζεκτ σας απαιτεί χρόνο και αφοσίωση.
## Πηγαίνετε εκεί όπου βρίσκεται το κοινό του πρότζεκτ σας (εκτός σύνδεσης)

Οι offline εκδηλώσεις είναι ένας δημοφιλής τρόπος για την προώθηση νέων έργων στο κοινό. Είναι ένας πολύ καλός τρόπος για να προσεγγίσετε ένα αφοσιωμένο κοινό και να οικοδομήσετε βαθύτερες ανθρώπινες σχέσεις, ειδικά αν ενδιαφέρεστε να προσεγγίσετε προγραμματιστές.
Αν είστε [νέος στη δημόσια ομιλία](https://speaking.io/), ξεκινήστε βρίσκοντας μια τοπική συνάντηση που σχετίζεται με τη γλώσσα ή το οικοσύστημα του πρότζεκτ σας.
Αν δεν έχετε ξαναμιλήσει ποτέ σε εκδήλωση, είναι απολύτως φυσιολογικό να αισθάνεστε νευρικοί! Να θυμάστε ότι το κοινό σας είναι εκεί επειδή θέλει πραγματικά να ακούσει για τη δουλειά σας.
Καθώς γράφετε την ομιλία σας, επικεντρωθείτε σε αυτό που το ακροατήριό σας θα βρει ενδιαφέρον και θα έχει αξία. Κρατήστε τη γλώσσα σας φιλική και προσιτή. Χαμογελάστε, αναπνεύστε και διασκεδάστε.
Όταν νιώσετε έτοιμοι, σκεφτείτε να μιλήσετε σε ένα συνέδριο για να προωθήσετε το πρότζεκτ σας. Τα συνέδρια μπορούν να σας βοηθήσουν να προσεγγίσετε περισσότερους ανθρώπους, μερικές φορές από όλο τον κόσμο.
Αναζητήστε συνέδρια που είναι ειδικά για τη γλώσσα ή το οικοσύστημά σας. Πριν υποβάλετε την ομιλία σας, ερευνήστε το συνέδριο για να προσαρμόσετε την ομιλία σας στους συμμετέχοντες και να αυξήσετε τις πιθανότητες να γίνετε δεκτοί να μιλήσετε στο συνέδριο. Συχνά μπορείτε να πάρετε μια ιδέα για το ακροατήριό σας κοιτάζοντας τους ομιλητές ενός συνεδρίου.
## Δημιουργήστε μια φήμη
Εκτός από τις στρατηγικές που περιγράφονται παραπάνω, ο καλύτερος τρόπος για να προσκαλέσετε τους ανθρώπους να μοιραστούν και να συνεισφέρουν στο πρότζεκτ σας είναι να μοιραστείτε και να συνεισφέρετε στα έργα τους.
Βοηθώντας τους νεοεισερχόμενους, μοιράζοντας πόρους και κάνοντας προσεγμένες συνεισφορές στα έργα των άλλων θα σας βοηθήσουν να χτίσετε μια θετική φήμη. Το να είστε ενεργό μέλος της κοινότητας ανοικτού κώδικα θα βοηθήσει τους ανθρώπους να έχουν πλαίσιο για το πρότζεκτ σας και θα είναι πιο πιθανό να δώσουν προσοχή και να μοιραστούν το πρότζεκτ σας. Η ανάπτυξη σχέσεων με άλλα έργα ανοικτού κώδικα μπορεί να οδηγήσει ακόμη και σε επίσημες συνεργασίες.
Ποτέ δεν είναι πολύ νωρίς ή πολύ αργά για να αρχίσετε να χτίζετε τη φήμη σας. Ακόμα και αν έχετε ήδη ξεκινήσει το δικό σας πρότζεκτ, συνεχίστε να αναζητάτε τρόπους για να βοηθήσετε τους άλλους.
Δεν υπάρχει λύση από τη μια μέρα στην άλλη για να χτίσετε ένα κοινό. Το να κερδίσετε την εμπιστοσύνη και τον σεβασμό των άλλων χρειάζεται χρόνο, και το χτίσιμο της φήμης σας δεν τελειώνει ποτέ.
## Συνεχίστε!
Μπορεί να χρειαστεί πολύς χρόνος μέχρι οι άνθρωποι να παρατηρήσουν το πρότζεκτ σας ανοιχτού κώδικα. Αυτό δεν πειράζει! Μερικά από τα πιο δημοφιλή έργα σήμερα χρειάστηκαν χρόνια για να φτάσουν σε υψηλά επίπεδα δραστηριότητας. Επικεντρωθείτε στην οικοδόμηση σχέσεων αντί να ελπίζετε ότι το πρότζεκτ σας θα αποκτήσει αυθόρμητα δημοτικότητα. Κάντε υπομονή και συνεχίστε να μοιράζεστε το πρότζεκτ σας με όσους το εκτιμούν.
================================================
FILE: _articles/el/getting-paid.md
================================================
---
lang: el
title: Λαμβάνοντας Αμοιβή για Συνεισφορά Ανοιχτού Κώδικα
description: Διατηρήστε το πρότζεκτ σας στον ανοιχτό κώδικα λαμβάνοντας οικονομική υποστήριξη για τον χρόνο σας ή το πρότζεκτ σας.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Γιατί κάποιοι άνθρωποι ζητούν οικονομική στήριξη
Μεγάλο μέρος του πρότζεκτ του ανοικτού κώδικα είναι εθελοντικό. Για παράδειγμα, κάποιος μπορεί να συναντήσει ένα σφάλμα σε ένα πρότζεκτ που χρησιμοποιεί και να υποβάλει μια γρήγορη διόρθωση, ή μπορεί να του αρέσει να ασχολείται με ένα πρότζεκτ ανοιχτού κώδικα στον ελεύθερο χρόνο του.
Υπάρχουν πολλοί λόγοι για τους οποίους ένα άτομο δεν θα ήθελε να πληρωθεί για την εργασία του στον ανοικτό κώδικα.
* **Μπορεί να έχουν ήδη μια δουλειά πλήρους απασχόλησης που αγαπούν,** η οποία τους επιτρέπει να συνεισφέρουν στον ανοιχτό κώδικα στον ελεύθερο χρόνο τους.
* **Απολαμβάνουν να σκέφτονται τον ανοιχτό κώδικα ως χόμπι** ή ως δημιουργική απόδραση και δεν θέλουν να αισθάνονται οικονομικά υποχρεωμένοι να εργάζονται στα έργα τους.
* **Αποκομίζουν άλλα οφέλη από τη συνεισφορά τους στον ανοικτό κώδικα,** όπως η δημιουργία της φήμης τους ή του χαρτοφυλακίου τους, η εκμάθηση μιας νέας δεξιότητας ή το αίσθημα ότι βρίσκονται πιο κοντά σε μια κοινότητα.
Για άλλους, ειδικά όταν οι συνεισφορές είναι συνεχείς ή απαιτούν σημαντικό χρόνο, το να πληρώνονται για να συνεισφέρουν στον ανοιχτό κώδικα είναι ο μόνος τρόπος που μπορούν να συμμετέχουν, είτε επειδή το απαιτεί το πρότζεκτ, είτε για προσωπικούς λόγους.
Η συντήρηση δημοφιλών έργων μπορεί να αποτελεί σημαντική ευθύνη, καταλαμβάνοντας 10 ή 20 ώρες την εβδομάδα αντί για λίγες ώρες το μήνα.
Η αμειβόμενη εργασία δίνει επίσης τη δυνατότητα σε ανθρώπους από διαφορετικά κοινωνικά στρώματα να συνεισφέρουν ουσιαστικά. Ορισμένοι άνθρωποι δεν έχουν την οικονομική δυνατότητα να αφιερώσουν απλήρωτο χρόνο σε έργα ανοικτού κώδικα, με βάση την τρέχουσα οικονομική τους κατάσταση, τα χρέη τους ή τις οικογενειακές ή άλλες υποχρεώσεις φροντίδας. Αυτό σημαίνει ότι ο κόσμος δεν βλέπει ποτέ συνεισφορές από ταλαντούχους ανθρώπους που δεν έχουν την οικονομική δυνατότητα να προσφέρουν εθελοντικά τον χρόνο τους. Αυτό έχει ηθικές επιπτώσεις, όπως [έχει περιγράψει](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community) ο @ashedryden, καθώς η εργασία που γίνεται μεροληπτεί υπέρ εκείνων που έχουν ήδη πλεονεκτήματα στη ζωή τους, οι οποίοι στη συνέχεια αποκτούν πρόσθετα πλεονεκτήματα με βάση τις εθελοντικές συνεισφορές τους, ενώ άλλοι που δεν είναι σε θέση να προσφέρουν εθελοντικά, τότε δεν παίρνουν αργότερα ευκαιρίες, γεγονός που ενισχύει την τρέχουσα έλλειψη ποικιλομορφίας στην κοινότητα ανοιχτού κώδικα.
Εάν αναζητάτε οικονομική στήριξη, υπάρχουν δύο τρόποι που μπορείτε να εξετάσετε. Μπορείτε να χρηματοδοτήσετε το χρόνο σας ως συνεργάτης, ή μπορείτε να βρείτε οργανωτική χρηματοδότηση για το πρότζεκτ.
## Χρηματοδότηση του χρόνου σας
Σήμερα, πολλοί άνθρωποι αμείβονται για να εργάζονται με μερική ή πλήρη απασχόληση στον ανοικτό κώδικα. Ο πιο συνηθισμένος τρόπος για να πληρωθείτε για το χρόνο σας είναι να μιλήσετε με τον εργοδότη σας.
Είναι πιο εύκολο να υποστηρίξετε την εργασία σε ανοιχτό κώδικα αν ο εργοδότης σας χρησιμοποιεί πραγματικά το πρότζεκτ, αλλά γίνετε δημιουργικοί με την προσφορά σας. Ίσως ο εργοδότης σας δεν χρησιμοποιεί το πρότζεκτ, αλλά χρησιμοποιεί την Python, και η διατήρηση ενός δημοφιλούς πρότζεκτ Python συμβάλλει στην προσέλκυση νέων προγραμματιστών Python. Ίσως αυτό κάνει τον εργοδότη σας να φαίνεται γενικά πιο φιλικός προς τους προγραμματιστές.
Αν δεν έχετε κάποιο υπάρχον πρότζεκτ ανοικτού κώδικα στο οποίο θα θέλατε να εργαστείτε, αλλά θα προτιμούσατε να είναι ανοικτού κώδικα το τρέχον αποτέλεσμα της δουλειάς σας, κάντε μια πρόταση στον εργοδότη σας να ανοίξει κάποιο από τα εσωτερικά του λογισμικά.
Πολλές εταιρείες αναπτύσσουν προγράμματα ανοικτού κώδικα για να χτίσουν το εμπορικό τους σήμα και να προσλάβουν ποιοτικά ταλέντα.
Η @hueniverse, για παράδειγμα, διαπίστωσε ότι υπάρχουν οικονομικοί λόγοι που δικαιολογούν [την επένδυση της Walmart στον ανοικτό κώδικα](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). Και ο @jamesgpearce διαπίστωσε ότι το πρόγραμμα ανοικτού κώδικα του Facebook [έκανε τη διαφορά](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) στην πρόσληψη προσωπικού:
> Είναι στενά ευθυγραμμισμένο με την κουλτούρα μας ως χάκερ και με το πώς αντιλαμβανόταν ο οργανισμός μας. Ρωτήσαμε τους υπαλλήλους μας: "Γνωρίζατε το πρόγραμμα λογισμικού ανοικτού κώδικα στο Facebook;". Τα δύο τρίτα απάντησαν "Ναι". Οι μισοί δήλωσαν ότι το πρόγραμμα συνέβαλε θετικά στην απόφασή τους να εργαστούν σε εμάς. Αυτά δεν είναι οριακά νούμερα, και ελπίζω, μια τάση που συνεχίζεται.
Εάν η εταιρεία σας ακολουθήσει αυτόν τον δρόμο, είναι σημαντικό να διατηρήσετε σαφή τα όρια μεταξύ της κοινοτικής και της εταιρικής δραστηριότητας. Τελικά, ο ανοιχτός κώδικας συντηρείται μέσω των συνεισφορών ανθρώπων από όλο τον κόσμο, και αυτό είναι μεγαλύτερο από οποιαδήποτε εταιρεία ή τοποθεσία.
Αν δεν μπορείτε να πείσετε τον σημερινό σας εργοδότη να δώσει προτεραιότητα στην εργασία ανοιχτού κώδικα, σκεφτείτε να βρείτε έναν νέο εργοδότη που ενθαρρύνει τις συνεισφορές των εργαζομένων στον ανοιχτό κώδικα. Αναζητήστε εταιρείες που καθιστούν ρητή την αφοσίωσή τους στην εργασία ανοικτού κώδικα. Για παράδειγμα:
* Ορισμένες εταιρείες, όπως η [Netflix](https://netflix.github.io/), διαθέτουν ιστότοπους που αναδεικνύουν τη συμμετοχή τους στον ανοικτό κώδικα.
Έργα που ξεκίνησαν από μια μεγάλη εταιρεία, όπως το [Go](https://github.com/golang) ή το [React](https://github.com/facebook/react), είναι επίσης πιθανό να απασχολούν άτομα που εργάζονται στον ανοιχτό κώδικα.
Ανάλογα με τις προσωπικές σας συνθήκες, μπορείτε να προσπαθήσετε να μαζέψετε χρήματα ανεξάρτητα για να χρηματοδοτήσετε την εργασία σας στον ανοικτό κώδικα. Για παράδειγμα:
* Το @Homebrew (και [πολλοί άλλοι συντηρητές και οργανισμοί](https://github.com/sponsors/community)) χρηματοδοτούν το πρότζεκτ τους μέσω του [GitHub Sponsors](https://github.com/sponsors)
* Ο @gaearon χρηματοδότησε το πρότζεκτ του στο [Redux](https://github.com/reactjs/redux) μέσω μιας [Patreon crowdfunding campaign](https://redux.js.org/)
* Ο @andrewgodwin χρηματοδότησε το πρότζεκτ του για τις μεταναστεύσεις σχημάτων Django [μέσω μιας καμπάνιας Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
Τέλος, μερικές φορές τα έργα ανοικτού κώδικα προκηρύσσουν αμοιβές για θέματα που θα μπορούσατε να σκεφτείτε να βοηθήσετε.
* Ο @ConnorChristie μπόρεσε να πληρωθεί για [βοήθεια](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) Η @MARKETProtocol εργάζεται στη βιβλιοθήκη JavaScript [μέσω μιας επικήρυξης στο gitcoin](https://gitcoin.co/).
* Η @mamiM έκανε μεταφράσεις στα ιαπωνικά για την @MetaMask μετά την [χρηματοδότηση του θέματος στο Bounties Network](https://explorer.bounties.network/bounty/134).
## Εύρεση χρηματοδότησης για το πρότζεκτ σας
Πέρα από τους διακανονισμούς για μεμονωμένους συνεισφέροντες, μερικές φορές τα έργα συγκεντρώνουν χρήματα από εταιρείες, ιδιώτες ή άλλους για τη χρηματοδότηση της τρέχουσας εργασίας.
Η οργανωτική χρηματοδότηση μπορεί να προορίζεται για την πληρωμή των σημερινών συνεισφερόντων, την κάλυψη των εξόδων λειτουργίας του πρότζεκτ (όπως τα τέλη φιλοξενίας) ή την επένδυση σε νέα χαρακτηριστικά ή ιδέες.
Καθώς η δημοτικότητα του ανοικτού κώδικα αυξάνεται, η εξεύρεση χρηματοδότησης για έργα είναι ακόμη πειραματική, αλλά υπάρχουν μερικές κοινές επιλογές.
### Συγκεντρώστε χρήματα για το πρότζεκτ σας μέσω εκστρατειών crowdfunding ή χορηγιών
Η εξεύρεση χορηγιών λειτουργεί καλά αν έχετε ήδη ένα ισχυρό κοινό ή φήμη ή αν το πρότζεκτ σας είναι πολύ δημοφιλές.
Μερικά παραδείγματα έργων με χορηγίες περιλαμβάνουν:
* **[webpack](https://github.com/webpack)** συγκεντρώνει χρήματα από εταιρείες και ιδιώτες [μέσω του OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** ένας μη κερδοσκοπικός οργανισμός που πληρώνει για εργασίες στα [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), και άλλα έργα υποδομής Ruby
### Δημιουργία μιας ροής εσόδων
Ανάλογα με το πρότζεκτ σας, μπορεί να είστε σε θέση να χρεώνετε για εμπορική υποστήριξη, επιλογές φιλοξενίας ή πρόσθετα χαρακτηριστικά. Μερικά παραδείγματα περιλαμβάνουν:
* **[Sidekiq](https://github.com/mperham/sidekiq)** προσφέρει εκδόσεις επί πληρωμή για πρόσθετη υποστήριξη
* **[Travis CI](https://github.com/travis-ci)** προσφέρει εκδόσεις επί πληρωμή του προϊόντος του
* **[Ghost](https://github.com/TryGhost/Ghost)** είναι ένα μη κερδοσκοπικό ίδρυμα με επί πληρωμή υπηρεσία διαχείρισης
Ορισμένα δημοφιλή έργα, όπως το [npm](https://github.com/npm/cli) και το [Docker](https://github.com/docker/docker), συγκεντρώνουν ακόμη και επιχειρηματικά κεφάλαια για να υποστηρίξουν την επιχειρηματική τους ανάπτυξη.
### Υποβολή αίτησης για επιχορήγηση
Ορισμένα ιδρύματα λογισμικού και εταιρείες προσφέρουν επιχορηγήσεις για εργασίες ανοικτού κώδικα. Ορισμένες φορές, οι επιχορηγήσεις μπορούν να καταβληθούν σε ιδιώτες χωρίς τη δημιουργία νομικής οντότητας για το πρότζεκτ.
* **[Διαβάστε τα έγγραφα](https://github.com/rtfd/readthedocs.org)** έλαβε επιχορήγηση από την [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** το πρότζεκτ χρηματοδοτήθηκε από το [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** έλαβε επιχορήγηση από το [Sloan Foundation](https://sloan.org/programs/digital-technology)
* Το **[Python Software Foundation](https://www.python.org/psf/grants/)** προσφέρει επιχορηγήσεις για εργασίες που σχετίζονται με την Python.
Για πιο λεπτομερείς επιλογές και μελέτες περιπτώσεων, ο @nayafia [έγραψε έναν οδηγό](https://github.com/nayafia/lemonade-stand) για να πληρωθείτε για εργασία ανοιχτού κώδικα. Διαφορετικοί τύποι χρηματοδότησης απαιτούν διαφορετικές δεξιότητες, οπότε λάβετε υπόψη τα δυνατά σας σημεία για να βρείτε ποια επιλογή σας ταιριάζει καλύτερα.
## Χτίζοντας μια υπόθεση για οικονομική υποστήριξη
Είτε το πρότζεκτ σας είναι μια νέα ιδέα, είτε υπάρχει εδώ και χρόνια, θα πρέπει να περιμένετε να βάλετε σημαντική σκέψη για να εντοπίσετε τον χρηματοδότη-στόχο σας και να παρουσιάσετε μια πειστική υπόθεση.
Είτε επιθυμείτε να πληρώσετε για τον δικό σας χρόνο, είτε να συγκεντρώσετε χρήματα για ένα πρότζεκτ, θα πρέπει να είστε σε θέση να απαντήσετε στις ακόλουθες ερωτήσεις.
### Αντίκτυπος
Γιατί είναι χρήσιμο αυτό το πρότζεκτ; Γιατί αρέσει τόσο πολύ στους χρήστες σας ή στους δυνητικούς χρήστες; Πού θα βρίσκεται σε πέντε χρόνια;
### Έλξη
Προσπαθήστε να συγκεντρώσετε αποδείξεις ότι το πρότζεκτ σας έχει σημασία, είτε πρόκειται για μετρήσεις, είτε για ανέκδοτα, είτε για μαρτυρίες. Υπάρχουν εταιρείες ή αξιόλογοι άνθρωποι που χρησιμοποιούν το πρότζεκτ σας αυτή τη στιγμή; Αν όχι, το έχει υποστηρίξει κάποιο εξέχον πρόσωπο;
### Αξία για τον χρηματοδότη
Οι χρηματοδότες, είτε πρόκειται για τον εργοδότη σας είτε για ένα ίδρυμα που χορηγεί επιχορηγήσεις, προσεγγίζονται συχνά με ευκαιρίες. Γιατί θα πρέπει να υποστηρίξουν το πρότζεκτ σας έναντι οποιασδήποτε άλλης ευκαιρίας; Πώς ωφελούνται προσωπικά;
### Χρήση των κονδυλίων
Τι ακριβώς θα επιτύχετε με την προτεινόμενη χρηματοδότηση; Επικεντρωθείτε σε ορόσημα ή αποτελέσματα του πρότζεκτ και όχι στην καταβολή μισθού.
### Πώς θα λάβετε τα κεφάλαια
Έχει ο χρηματοδότης οποιεσδήποτε απαιτήσεις σχετικά με την εκταμίευση; Για παράδειγμα, μπορεί να χρειαστεί να είστε μη κερδοσκοπικός οργανισμός ή να έχετε μη κερδοσκοπικό φορολογικό χορηγό. Ή ίσως τα κονδύλια πρέπει να δοθούν σε μεμονωμένο ανάδοχο και όχι σε οργανισμό. Οι απαιτήσεις αυτές διαφέρουν από χρηματοδότη σε χρηματοδότη, οπότε φροντίστε να κάνετε την έρευνά σας εκ των προτέρων.
## Πειραματιστείτε και μην τα παρατάτε
Η συγκέντρωση χρημάτων δεν είναι εύκολη υπόθεση, είτε πρόκειται για πρότζεκτ ανοιχτού κώδικα, είτε για μη κερδοσκοπικό οργανισμό, είτε για νεοσύστατη επιχείρηση λογισμικού, και στις περισσότερες περιπτώσεις απαιτεί να γίνετε δημιουργικοί. Το να προσδιορίσετε πώς θέλετε να πληρωθείτε, να κάνετε την έρευνά σας και να μπείτε στη θέση του χρηματοδότη σας θα σας βοηθήσει να δημιουργήσετε μια πειστική υπόθεση για χρηματοδότηση.
================================================
FILE: _articles/el/how-to-contribute.md
================================================
---
lang: el
title: Πώς να Συνεισφέρετε στον Ανοιχτό Κώδικα
description: Θέλετε να συνεισφέρετε σε πρότζεκτς ανοιχτού κώδικα; Ένας οδηγός για τη συνεισφορά στον ανοιχτό κώδικα, για αρχάριους και βετεράνους.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Γιατί να συνεισφέρετε στον ανοιχτό κώδικα;
Η συνεισφορά σε λογισμικό ανοικτού κώδικα μπορεί να είναι ένας ικανοποιητικός τρόπος για να μάθετε, να διδάξετε και να αποκτήσετε εμπειρία σε σχεδόν οποιαδήποτε δεξιότητα μπορείτε να φανταστείτε.
Γιατί οι άνθρωποι συνεισφέρουν στον ανοικτό κώδικα; Πολλοί λόγοι!
### Βελτιώνουν το λογισμικό στο οποίο βασίζονται
Πολλοί συνεισφέροντες σε λογισμικό ανοικτού κώδικα ξεκινούν ως χρήστες του λογισμικού στο οποίο συνεισφέρουν. Όταν βρίσκετε ένα σφάλμα σε ένα λογισμικό ανοικτού κώδικα που χρησιμοποιείτε, ίσως θελήσετε να κοιτάξετε τον πηγαίο κώδικα για να δείτε αν μπορείτε να το διορθώσετε μόνοι σας. Αν είναι έτσι, τότε η συνεισφορά του διορθωτικού είναι ο καλύτερος τρόπος για να διασφαλίσετε ότι οι φίλοι σας (και εσείς οι ίδιοι όταν κάνετε ενημέρωση στην επόμενη έκδοση) θα μπορέσουν να επωφεληθούν από αυτό.
### Βελτιώστε τις υπάρχουσες δεξιότητες
Είτε πρόκειται για προγραμματισμό, είτε για σχεδιασμό διεπαφής χρήστη, είτε για γραφιστική, είτε για συγγραφή, είτε για οργάνωση, αν ψάχνετε για εξάσκηση, υπάρχει μια εργασία για εσάς σε ένα έργο ανοιχτού κώδικα.
### Γνωρίστε ανθρώπους που ενδιαφέρονται για παρόμοια πράγματα
Τα έργα ανοιχτού κώδικα με θερμές, φιλόξενες κοινότητες κρατούν τους ανθρώπους να επιστρέφουν για χρόνια. Πολλοί άνθρωποι δημιουργούν φιλίες ζωής μέσα από τη συμμετοχή τους στον ανοιχτό κώδικα, είτε πρόκειται για συναντήσεις σε συνέδρια είτε για διαδικτυακές συζητήσεις αργά το βράδυ για μπουρίτος.
### Βρείτε μέντορες και διδάξτε άλλους
Η συνεργασία με άλλους σε ένα κοινό έργο σημαίνει ότι θα πρέπει να εξηγείτε πώς κάνετε τα πράγματα, καθώς και να ζητάτε βοήθεια από άλλους ανθρώπους. Οι πράξεις μάθησης και διδασκαλίας μπορεί να είναι μια ικανοποιητική δραστηριότητα για όλους τους εμπλεκόμενους.
### Δημιουργήστε δημόσια αντικείμενα που σας βοηθούν να αναπτύξετε τη φήμη σας (και την καριέρα σας)
Εξ ορισμού, όλη η εργασία σας με ανοιχτό κώδικα είναι δημόσια, πράγμα που σημαίνει ότι έχετε δωρεάν παραδείγματα για να τα πάρετε οπουδήποτε ως επίδειξη του τι μπορείτε να κάνετε.
### Μάθετε δεξιότητες ανθρώπινου δυναμικού
Ο ανοικτός κώδικας προσφέρει ευκαιρίες για να εξασκήσετε ηγετικές και διοικητικές δεξιότητες, όπως η επίλυση συγκρούσεων, η οργάνωση ομάδων ανθρώπων και η ιεράρχηση προτεραιοτήτων εργασίας.
### Είναι ενδυναμωτικό να μπορείς να κάνεις αλλαγές, ακόμη και μικρές
Δεν χρειάζεται να γίνετε ισόβιος συνεργάτης για να απολαύσετε τη συμμετοχή σας στον ανοικτό κώδικα. Έχετε δει ποτέ ένα τυπογραφικό λάθος σε έναν ιστότοπο και ευχηθήκατε κάποιος να το διορθώσει; Σε ένα έργο ανοιχτού κώδικα, μπορείτε να κάνετε ακριβώς αυτό. Ο ανοικτός κώδικας βοηθά τους ανθρώπους να αισθάνονται ότι έχουν εξουσία στη ζωή τους και στο πώς βιώνουν τον κόσμο, και αυτό από μόνο του είναι ευχάριστο.
## Τι σημαίνει να συνεισφέρετε
Αν είστε νέος συνεισφέρων σε έργα ανοικτού κώδικα, η διαδικασία μπορεί να είναι εκφοβιστική. Πώς μπορείτε να βρείτε το κατάλληλο έργο; Τι γίνεται αν δεν ξέρετε να προγραμματίζετε; Τι γίνεται αν κάτι πάει στραβά;
Μην ανησυχείτε! Υπάρχουν διάφοροι τρόποι για να συμμετάσχετε σε ένα έργο ανοικτού κώδικα και μερικές συμβουλές θα σας βοηθήσουν να αξιοποιήσετε στο έπακρο την εμπειρία σας.
### Δεν χρειάζεται να συνεισφέρετε κώδικα
Μια κοινή παρανόηση σχετικά με τη συνεισφορά σε έργα ανοικτού κώδικα είναι ότι πρέπει να συνεισφέρετε κώδικα. Στην πραγματικότητα, είναι συχνά τα άλλα μέρη ενός έργου που [παραμελούνται ή παραβλέπονται περισσότερο](https://github.com/blog/2195-the-shape-of-open-source). Θα κάνετε στο έργο μια _τεράστια_ χάρη προσφέροντας να συνεισφέρετε με τέτοιου είδους συνεισφορές!
### Σας αρέσει να προγραμματίζετε εκδηλώσεις;
* Οργανώστε εργαστήρια ή συναντήσεις για το έργο, [όπως έκανε ο @fzamperin για το NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Διοργανώνετε το συνέδριο του έργου (αν έχουν)
* Βοηθήστε τα μέλη της κοινότητας να βρουν τα κατάλληλα συνέδρια και να υποβάλουν προτάσεις για ομιλία
### Σας αρέσει να σχεδιάζετε;
* Να αναδιαρθρώνετε τις διατάξεις για να βελτιώσετε τη χρηστικότητα του έργου
* Διεξαγωγή έρευνας χρηστών για την αναδιοργάνωση και βελτίωση της πλοήγησης ή των μενού του έργου, [όπως προτείνει το Drupal](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Να συντάσσετε έναν οδηγό στυλ για να βοηθήσετε το έργο να έχει έναν συνεπή οπτικό σχεδιασμό
* Δημιουργήστε τέχνη για μπλουζάκια ή ένα νέο λογότυπο, [όπως έκαναν οι συντελεστές του hapi.js](https://github.com/hapijs/contrib/issues/68)
### Σας αρέσει να γράφετε;
* Γράφετε και βελτιώνετε την τεκμηρίωση του έργου
* Επιμεληθείτε έναν φάκελο με παραδείγματα που δείχνουν πώς χρησιμοποιείται το έργο
* Ξεκινήστε ένα ενημερωτικό δελτίο για το έργο, ή επιμεληθείτε τα σημαντικότερα σημεία από τη λίστα αλληλογραφίας
* Γράφετε εκπαιδευτικά προγράμματα για το έργο, [όπως έκαναν οι συντελεστές του PyPA](https://packaging.python.org/)
* Γράψτε μια μετάφραση για την τεκμηρίωση του έργου
### Σας αρέσει η οργάνωση;
* Συνδέστε τα διπλά θέματα και προτείνετε νέες ετικέτες θεμάτων, για να διατηρήσετε τα πράγματα οργανωμένα
* Ψάξτε τα ανοιχτά θέματα και προτείνετε το κλείσιμο των παλιών, [όπως έκανε ο @nzakas για το ESLint](https://github.com/eslint/eslint/issues/6765)
* Να κάνετε διευκρινιστικές ερωτήσεις σε πρόσφατα ανοιχτά θέματα για να προχωρήσει η συζήτηση.
### Σας αρέσει να γράφετε κώδικα;
* Βρείτε ένα ανοιχτό θέμα για να ασχοληθείτε, [όπως έκανε ο @dianjin για το Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Ρωτήστε αν μπορείτε να βοηθήσετε στη συγγραφή ενός νέου χαρακτηριστικού.
* Αυτοματοποιήστε την εγκατάσταση του έργου
* Βελτιώστε τα εργαλεία και τις δοκιμές
### Σας αρέσει να βοηθάτε τους ανθρώπους;
* Απαντήστε σε ερωτήσεις σχετικά με το έργο π.χ. στο Stack Overflow ([όπως αυτό το παράδειγμα Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) ή στο Reddit.
* Απαντάτε σε ερωτήσεις για ανθρώπους σε ανοιχτά θέματα
* Βοηθήστε να συντονίσετε τους πίνακες συζητήσεων ή τα κανάλια συζήτησης
### Σας αρέσει να βοηθάτε άλλους να προγραμματίζουν;
* Αναθεωρείτε τον κώδικα σε υποβολές άλλων ανθρώπων
* Γράφετε σεμινάρια για το πώς μπορεί να χρησιμοποιηθεί ένα έργο
* Προσφερθείτε να γίνετε μέντορας ενός άλλου συνεισφέροντα, [όπως έκανε ο @ereichert για τον @bronzdoc στο Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Δεν χρειάζεται να εργάζεστε μόνο σε έργα λογισμικού!
Αν και ο όρος "ανοικτός κώδικας" αναφέρεται συχνά στο λογισμικό, μπορείτε να συνεργαστείτε σχεδόν σε οτιδήποτε. * Απαντήστε σε ερωτήσεις σχετικά με το έργο π.χ. στο Stack Overflow ([όπως αυτό το παράδειγμα Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) ή στο Reddit.
Για παράδειγμα:
* @sindresorhus επιμελείται μια [λίστα με "φοβερές" λίστες](https://github.com/sindresorhus/awesome)
* Ο @h5bp διατηρεί μια [λίστα με πιθανές ερωτήσεις συνέντευξης](https://github.com/h5bp/Front-end-Developer-Interview-Questions) για υποψήφιους front-end προγραμματιστές
* Ο @stuartlynn και η @nicole-a-tesla δημιούργησαν μια [συλλογή με διασκεδαστικά στοιχεία για τους πιθήκους](https://github.com/stuartlynn/puffin_facts)
Ακόμα και αν είστε προγραμματιστής λογισμικού, η εργασία σε ένα έργο τεκμηρίωσης μπορεί να σας βοηθήσει να ξεκινήσετε στον ανοιχτό κώδικα. Είναι συχνά λιγότερο τρομακτικό να εργάζεστε σε έργα που δεν περιλαμβάνουν κώδικα, και η διαδικασία της συνεργασίας θα ενισχύσει την αυτοπεποίθηση και την εμπειρία σας.
## Προσανατολισμός σε ένα νέο έργο
Για οτιδήποτε περισσότερο από μια διόρθωση τυπογραφικού λάθους, η συνεισφορά στον ανοιχτό κώδικα είναι σαν να πηγαίνεις σε μια ομάδα αγνώστων σε ένα πάρτι. Αν αρχίσετε να μιλάτε για λάμα, ενώ αυτοί ήταν βαθιά χωμένοι σε μια συζήτηση για χρυσόψαρα, μάλλον θα σας κοιτάξουν λίγο περίεργα.
Πριν πέσετε στα τυφλά με τις δικές σας προτάσεις, ξεκινήστε μαθαίνοντας πώς να διαβάζετε το δωμάτιο. Με αυτόν τον τρόπο αυξάνονται οι πιθανότητες να προσέξουν και να ακούσουν τις ιδέες σας.
### Ανατομία ενός έργου ανοικτού κώδικα
Κάθε κοινότητα ανοικτού κώδικα είναι διαφορετική.
Το να περάσετε χρόνια σε ένα έργο ανοιχτού κώδικα σημαίνει ότι έχετε γνωρίσει ένα έργο ανοιχτού κώδικα. Αν μετακινηθείτε σε ένα άλλο έργο, μπορεί να διαπιστώσετε ότι το λεξιλόγιο, οι κανόνες και οι τρόποι επικοινωνίας είναι εντελώς διαφορετικοί.
Τούτου λεχθέντος, πολλά έργα ανοικτού κώδικα ακολουθούν μια παρόμοια οργανωτική δομή. Η κατανόηση των διαφορετικών ρόλων της κοινότητας και της συνολικής διαδικασίας θα σας βοηθήσει να προσανατολιστείτε γρήγορα σε οποιοδήποτε νέο έργο.
Ένα τυπικό έργο ανοικτού κώδικα έχει τους ακόλουθους τύπους ανθρώπων:
* **Συγγραφέας:** Το άτομο/τα άτομα ή ο οργανισμός που δημιούργησε το έργο
* **Δικαιούχος:** Το άτομο/α που έχει/ουν τη διοικητική κυριότητα του οργανισμού ή του αποθετηρίου (δεν είναι πάντα το ίδιο με τον αρχικό συγγραφέα)
* **Διαχειριστές:** Συντελεστές που είναι υπεύθυνοι για την προώθηση του οράματος και τη διαχείριση των οργανωτικών πτυχών του έργου (μπορεί επίσης να είναι συγγραφείς ή ιδιοκτήτες του έργου).
* **Συντελεστές:** Όλοι όσοι έχουν συνεισφέρει κάτι στο έργο
* **Μέλη της κοινότητας:** Άνθρωποι που χρησιμοποιούν το έργο. Μπορεί να συμμετέχουν ενεργά σε συζητήσεις ή να εκφράζουν τη γνώμη τους για την κατεύθυνση του έργου
Τα μεγαλύτερα έργα μπορεί επίσης να έχουν υποεπιτροπές ή ομάδες εργασίας που επικεντρώνονται σε διαφορετικά καθήκοντα, όπως η δημιουργία εργαλείων, η ταξινόμηση, ο συντονισμός της κοινότητας και η διοργάνωση εκδηλώσεων. Αναζητήστε στον ιστότοπο ενός έργου μια σελίδα "ομάδας" ή στο αποθετήριο για την τεκμηρίωση διακυβέρνησης, για να βρείτε αυτές τις πληροφορίες.
Ένα έργο διαθέτει επίσης τεκμηρίωση. Αυτά τα αρχεία συνήθως παρατίθενται στο κορυφαίο επίπεδο ενός αποθετηρίου.
* **LICENSE:** Εξ ορισμού, κάθε έργο ανοικτού κώδικα πρέπει να έχει μια [άδεια ανοικτού κώδικα](https://choosealicense.com). Εάν το έργο δεν έχει άδεια χρήσης, δεν είναι ανοικτού κώδικα.
* **README:** Το README είναι το εγχειρίδιο οδηγιών που καλωσορίζει τα νέα μέλη της κοινότητας στο έργο. Εξηγεί γιατί το έργο είναι χρήσιμο και πώς να ξεκινήσετε.
* **CONTRIBUTING:** Ενώ τα README βοηθούν τους ανθρώπους να _χρησιμοποιήσουν_ το έργο, τα έγγραφα συνεισφοράς βοηθούν τους ανθρώπους να _εισφέρουν_ στο έργο. Εξηγεί τι είδους συνεισφορές χρειάζονται και πώς λειτουργεί η διαδικασία. Αν και δεν έχει κάθε έργο ένα αρχείο CONTRIBUTING, η παρουσία του σηματοδοτεί ότι το έργο είναι φιλόξενο για συνεισφορά.
* **CODE_OF_CONDUCT:** Ο κώδικας δεοντολογίας θέτει βασικούς κανόνες για τη συμπεριφορά των συμμετεχόντων που σχετίζονται και βοηθά στη διευκόλυνση ενός φιλικού, φιλόξενου περιβάλλοντος. Αν και δεν έχει κάθε έργο ένα αρχείο CODE_OF_CONDUCT, η παρουσία του σηματοδοτεί ότι πρόκειται για ένα φιλόξενο έργο στο οποίο μπορείτε να συνεισφέρετε.
* **Άλλη τεκμηρίωση:** Ενδέχεται να υπάρχει πρόσθετη τεκμηρίωση, όπως σεμινάρια, οδηγίες χρήσης ή πολιτικές διακυβέρνησης, ειδικά σε μεγαλύτερα έργα.
Τέλος, τα έργα ανοικτού κώδικα χρησιμοποιούν τα ακόλουθα εργαλεία για την οργάνωση της συζήτησης. Η ανάγνωση των αρχείων θα σας δώσει μια καλή εικόνα για το πώς σκέφτεται και λειτουργεί η κοινότητα.
* **Issue tracker:** Όπου οι άνθρωποι συζητούν θέματα που σχετίζονται με το έργο.
* **Pull requests:** Όπου οι άνθρωποι συζητούν και αναθεωρούν τις αλλαγές που βρίσκονται σε εξέλιξη.
* **Φόρουμ συζητήσεων ή λίστες αλληλογραφίας:** Ορισμένα έργα μπορεί να χρησιμοποιούν αυτά τα κανάλια για θέματα συζήτησης (για παράδειγμα, _"Πώς μπορώ να..."_ ή _"Τι πιστεύετε για..."_ αντί για αναφορές σφαλμάτων ή αιτήσεις για χαρακτηριστικά). Άλλα χρησιμοποιούν τον ανιχνευτή ζητημάτων για όλες τις συζητήσεις.
* **Σύγχρονο κανάλι συνομιλίας:** Ορισμένα έργα χρησιμοποιούν κανάλια συνομιλίας (όπως το Slack ή το IRC) για περιστασιακή συζήτηση, συνεργασία και γρήγορες ανταλλαγές.
## Βρίσκοντας ένα έργο για να συνεισφέρετε
Τώρα που έχετε καταλάβει πώς λειτουργούν τα έργα ανοικτού κώδικα, ήρθε η ώρα να βρείτε ένα έργο για να συνεισφέρετε!
Αν δεν έχετε συνεισφέρει ποτέ στο παρελθόν σε έργα ανοικτού κώδικα, ακολουθήστε τη συμβουλή του προέδρου των ΗΠΑ Τζον Φ. Κένεντι, ο οποίος είπε κάποτε: _"Μη ρωτάτε τι μπορεί να κάνει η χώρα σας για εσάς - ρωτήστε τι μπορείτε να κάνετε εσείς για τη χώρα σας".
Η συνεισφορά στον ανοικτό κώδικα γίνεται σε όλα τα επίπεδα, σε όλα τα έργα. Δεν χρειάζεται να σκεφτείτε υπερβολικά ποια ακριβώς θα είναι η πρώτη σας συνεισφορά ή πώς θα φαίνεται.
Αντ' αυτού, ξεκινήστε σκεπτόμενοι τα έργα που ήδη χρησιμοποιείτε ή θέλετε να χρησιμοποιήσετε. Τα έργα στα οποία θα συνεισφέρετε ενεργά είναι αυτά στα οποία θα βρίσκεστε να επιστρέφετε.
Μέσα σε αυτά τα έργα, όποτε πιάνετε τον εαυτό σας να σκέφτεται ότι κάτι θα μπορούσε να είναι καλύτερο ή διαφορετικό, ακολουθήστε το ένστικτό σας.
Ο ανοιχτός κώδικας δεν είναι μια αποκλειστική λέσχη- φτιάχνεται από ανθρώπους σαν εσάς. Ο "ανοικτός κώδικας" είναι απλώς ένας φανταχτερός όρος για να αντιμετωπίζεις τα προβλήματα του κόσμου ως επιλύσιμα.
Μπορεί να σκανάρετε ένα README και να βρείτε έναν σπασμένο σύνδεσμο ή ένα τυπογραφικό λάθος. Ή είστε νέος χρήστης και παρατηρήσατε ότι κάτι είναι σπασμένο ή ένα θέμα που πιστεύετε ότι θα έπρεπε πραγματικά να υπάρχει στην τεκμηρίωση. Αντί να το αγνοήσετε και να προχωρήσετε ή να ζητήσετε από κάποιον άλλο να το διορθώσει, δείτε αν μπορείτε να βοηθήσετε με τη συμμετοχή σας. Αυτό είναι το νόημα του ανοιχτού κώδικα!
> Το [28% των περιστασιακών συνεισφορών](https://www.igor.pro.br/publica/papers/saner2016.pdf) στον ανοικτό κώδικα είναι τεκμηρίωση, όπως διόρθωση τυπογραφικών λαθών, αναδιαμόρφωση ή συγγραφή μετάφρασης.
Αν ψάχνετε για υπάρχοντα θέματα που μπορείτε να διορθώσετε, κάθε έργο ανοιχτού κώδικα έχει μια σελίδα `/contribute` που επισημαίνει θέματα φιλικά προς τους αρχάριους με τα οποία μπορείτε να ξεκινήσετε. Πλοηγηθείτε στην κεντρική σελίδα του αποθετηρίου στο GitHub και προσθέστε `/contribute` στο τέλος της διεύθυνσης URL (για παράδειγμα [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
Μπορείτε επίσης να χρησιμοποιήσετε έναν από τους παρακάτω πόρους για να σας βοηθήσει να ανακαλύψετε και να συνεισφέρετε σε νέα έργα:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Μια λίστα ελέγχου πριν συνεισφέρετε
Όταν έχετε βρει ένα έργο στο οποίο θα θέλατε να συνεισφέρετε, κάντε ένα γρήγορο έλεγχο για να βεβαιωθείτε ότι το έργο είναι κατάλληλο για να δέχεται συνεισφορές. Διαφορετικά, η σκληρή δουλειά σας μπορεί να μην βρει ποτέ ανταπόκριση.
Ακολουθεί ένας εύχρηστος κατάλογος ελέγχου για να αξιολογήσετε αν ένα έργο είναι κατάλληλο για νέους συνεισφέροντες.
**Meets the definition of open source**
**Το έργο δέχεται ενεργά συνεισφορές**
Κοιτάξτε τη δραστηριότητα των δεσμεύσεων στον κύριο κλάδο. Στο GitHub, μπορείτε να δείτε αυτές τις πληροφορίες στην αρχική σελίδα ενός αποθετηρίου.
Στη συνέχεια, εξετάστε τα ζητήματα του πρότζεκτ.
Τώρα κάντε το ίδιο για τις αιτήσεις έλξης του έργου.
**Το έργο είναι φιλόξενο**
Ένα έργο που είναι φιλικό και φιλόξενο σηματοδοτεί ότι θα είναι δεκτικό σε νέους συνεισφέροντες.
## Πώς να υποβάλετε μια συνεισφορά
Βρήκατε ένα έργο που σας αρέσει και είστε έτοιμοι να συνεισφέρετε. Επιτέλους! Εδώ θα δείτε πώς θα στείλετε τη συνεισφορά σας με τον σωστό τρόπο.
### Αποτελεσματική επικοινωνία
Είτε συνεισφέρετε μια φορά είτε προσπαθείτε να ενταχθείτε σε μια κοινότητα, η συνεργασία με άλλους είναι μια από τις σημαντικότερες δεξιότητες που θα αναπτύξετε στον ανοιχτό κώδικα.
Προτού ανοίξετε ένα θέμα ή ένα pull request ή κάνετε μια ερώτηση στη συνομιλία, έχετε υπόψη σας αυτά τα σημεία για να βοηθήσετε τις ιδέες σας να περάσουν αποτελεσματικά.
**Δώστε πλαίσιο.** Βοηθήστε τους άλλους να ενημερωθούν γρήγορα. Αν αντιμετωπίζετε ένα σφάλμα, εξηγήστε τι προσπαθείτε να κάνετε και πώς να το αναπαράγετε. Αν προτείνετε μια νέα ιδέα, εξηγήστε γιατί πιστεύετε ότι θα ήταν χρήσιμη για το έργο (όχι μόνο για εσάς!).
> 😇 _"Το Χ δεν συμβαίνει όταν κάνω το Υ"_
>
> 😢 _"Το X είναι χαλασμένο! Σε παρακαλώ, διόρθωσέ το."_
**Κάντε την έρευνα σας εκ των προτέρων.** Δεν πειράζει να μην ξέρετε πράγματα, αλλά δείξτε ότι προσπαθήσατε. Πριν ζητήσετε βοήθεια, φροντίστε να ελέγξετε το README ενός έργου, την τεκμηρίωση, τα θέματα (ανοικτά ή κλειστά), τη λίστα αλληλογραφίας και να ψάξετε στο διαδίκτυο για μια απάντηση. Οι άνθρωποι θα το εκτιμήσουν όταν δείχνετε ότι προσπαθείτε να μάθετε.
> 😇 _"Δεν είμαι σίγουρος πώς να υλοποιήσω το X. Έλεγξα τα έγγραφα βοήθειας και δεν βρήκα καμία αναφορά."_
>
> 😢 _"Πώς μπορώ να κάνω το X;"_
**Κρατήστε τα αιτήματα σύντομα και άμεσα.** Όπως και με την αποστολή ενός email, κάθε συνεισφορά, όσο απλή ή χρήσιμη κι αν είναι, απαιτεί την εξέταση κάποιου άλλου. Πολλά έργα έχουν περισσότερα εισερχόμενα αιτήματα από άτομα που είναι διαθέσιμα να βοηθήσουν. Να είστε συνοπτικοί. Θα αυξήσετε την πιθανότητα να μπορέσει κάποιος να σας βοηθήσει.
> 😇 _"Θα ήθελα να γράψω ένα tutorial για API."_
>
> 😢 _"Οδηγούσα στον αυτοκινητόδρομο τις προάλλες και σταμάτησα για βενζίνη, και τότε μου ήρθε αυτή η καταπληκτική ιδέα για κάτι που πρέπει να κάνουμε, αλλά πριν σας το εξηγήσω, επιτρέψτε μου να σας δείξω..."_
**Κρατήστε όλη την επικοινωνία δημόσια.** Αν και είναι δελεαστικό, μην επικοινωνείτε με τους συντηρητές ιδιωτικά, εκτός αν πρέπει να μοιραστείτε ευαίσθητες πληροφορίες (όπως ένα ζήτημα ασφάλειας ή μια σοβαρή παραβίαση συμπεριφοράς). Όταν κρατάτε τη συζήτηση δημόσια, περισσότεροι άνθρωποι μπορούν να μάθουν και να επωφεληθούν από την ανταλλαγή σας. Οι συζητήσεις μπορούν να είναι, από μόνες τους, συνεισφορές.
> 😇 _(ως σχόλιο) "@-maintainer Γεια σας! Πώς θα πρέπει να προχωρήσουμε σε αυτή τη δημοσιότητα;"_
>
> 😢 _(ως email) "Γεια σου, συγγνώμη που σε ενοχλώ μέσω email, αλλά αναρωτιόμουν αν είχες την ευκαιρία να αναθεωρήσεις το PR μου"_
**Δεν πειράζει να κάνετε ερωτήσεις (αλλά να είστε υπομονετικοί!).** Όλοι ήταν νέοι στο έργο κάποια στιγμή, και ακόμη και οι έμπειροι συνεισφέροντες πρέπει να ενημερωθούν όταν βλέπουν ένα νέο έργο. Με την ίδια λογική, ακόμη και οι μακροχρόνιοι συντηρητές δεν είναι πάντα εξοικειωμένοι με κάθε μέρος του έργου. Δείξτε τους την ίδια υπομονή που θα θέλατε να δείξουν και αυτοί σε εσάς.
> 😇 _"Ευχαριστώ που εξετάσατε αυτό το σφάλμα. Ακολούθησα τις προτάσεις σας. Εδώ είναι η έξοδος."_
>
> 😢 _"Γιατί δεν μπορείτε να διορθώσετε το πρόβλημά μου; Αυτό δεν είναι το έργο σας;"_
**Σεβαστείτε τις αποφάσεις της κοινότητας.** Οι ιδέες σας μπορεί να διαφέρουν από τις προτεραιότητες ή το όραμα της κοινότητας. Μπορεί να προσφέρουν ανατροφοδότηση ή να αποφασίσουν να μην ακολουθήσουν την ιδέα σας. Ενώ θα πρέπει να συζητάτε και να αναζητάτε συμβιβασμούς, οι συντηρητές πρέπει να ζουν με την απόφασή σας περισσότερο από ό,τι εσείς. Αν διαφωνείτε με την κατεύθυνσή τους, μπορείτε πάντα να δουλέψετε πάνω στο δικό σας fork ή να ξεκινήσετε το δικό σας έργο.
> 😇 _"Απογοητεύομαι που δεν μπορείτε να υποστηρίξετε την περίπτωση χρήσης μου, αλλά όπως εξηγήσατε επηρεάζει μόνο ένα μικρό μέρος των χρηστών, καταλαβαίνω γιατί. Ευχαριστώ που με ακούσατε."_
>
> 😢 _"Γιατί δεν υποστηρίζετε την περίπτωση χρήσης μου; Αυτό είναι απαράδεκτο!"_
**Πάνω απ' όλα, κρατήστε το κομψό.** Ο ανοικτός κώδικας αποτελείται από συνεργάτες από όλο τον κόσμο. Τα συμφραζόμενα χάνονται μεταξύ γλωσσών, πολιτισμών, γεωγραφικών περιοχών και ζωνών ώρας. Επιπλέον, η γραπτή επικοινωνία δυσκολεύει τη μετάδοση του τόνου ή της διάθεσης. Υποθέστε καλές προθέσεις σε αυτές τις συζητήσεις. Δεν πειράζει να απορρίψετε ευγενικά μια ιδέα, να ζητήσετε περισσότερα συμφραζόμενα ή να διευκρινίσετε περαιτέρω τη θέση σας. Απλά προσπαθήστε να αφήσετε το διαδίκτυο σε ένα καλύτερο μέρος από αυτό που βρήκατε.
### Συγκέντρωση περιεχομένου
Πριν κάνετε οτιδήποτε, κάντε έναν γρήγορο έλεγχο για να βεβαιωθείτε ότι η ιδέα σας δεν έχει συζητηθεί αλλού. Ξεφυλλίστε το README του έργου, τα θέματα (ανοικτά και κλειστά), τη λίστα αλληλογραφίας και το Stack Overflow. Δεν χρειάζεται να ξοδέψετε ώρες για να ψάξετε τα πάντα, αλλά μια γρήγορη αναζήτηση για μερικούς όρους-κλειδιά θα σας βοηθήσει πολύ.
Αν δεν μπορείτε να βρείτε την ιδέα σας αλλού, είστε έτοιμοι να κάνετε μια κίνηση. Αν το έργο βρίσκεται στο GitHub, πιθανότατα θα επικοινωνήσετε ανοίγοντας ένα ζήτημα ή ένα pull request:
* **Τα θέματα** είναι σαν να ξεκινάτε μια συζήτηση ή μια συζήτηση
* **Αιτήματα μετακίνησης** είναι για την έναρξη της εργασίας πάνω σε μια λύση
* **Για ελαφριά επικοινωνία**, όπως μια διευκρινιστική ερώτηση ή μια ερώτηση για το πώς να κάνετε, δοκιμάστε να ρωτήσετε στο Stack Overflow, στο IRC, στο Slack ή σε άλλα κανάλια συνομιλίας, αν το έργο διαθέτει τέτοιο κανάλι.
Πριν ανοίξετε ένα θέμα ή ένα αίτημα έλξης, ελέγξτε τα έγγραφα συνεισφοράς του έργου (συνήθως ένα αρχείο που ονομάζεται ΣΥΝΔΡΟΜΗ ή στο README), για να δείτε αν πρέπει να συμπεριλάβετε κάτι συγκεκριμένο. Για παράδειγμα, μπορεί να σας ζητούν να ακολουθήσετε ένα πρότυπο ή να απαιτείται η χρήση δοκιμών.
Αν θέλετε να κάνετε μια ουσιαστική συνεισφορά, ανοίξτε ένα θέμα για να ρωτήσετε πριν εργαστείτε πάνω σε αυτό. Είναι χρήσιμο να παρακολουθείτε το έργο για λίγο (στο GitHub, [μπορείτε να κάνετε κλικ στο "Watch"](https://help.github.com/articles/watching-repositories/) για να ενημερώνεστε για όλες τις συζητήσεις), και να γνωρίσετε τα μέλη της κοινότητας, πριν κάνετε εργασία που μπορεί να μην γίνει αποδεκτή.
### Άνοιγμα ενός θέματος
Συνήθως πρέπει να ανοίγετε ένα θέμα στις ακόλουθες περιπτώσεις:
* Αναφέρετε ένα σφάλμα που δεν μπορείτε να λύσετε μόνοι σας
* Συζητήστε ένα θέμα ή μια ιδέα υψηλού επιπέδου (για παράδειγμα, κοινότητα, όραμα ή πολιτικές)
* Προτείνετε ένα νέο χαρακτηριστικό ή μια άλλη ιδέα έργου
Συμβουλές για την επικοινωνία σχετικά με θέματα:
* **Αν δείτε ένα ανοιχτό ζήτημα που θέλετε να αντιμετωπίσετε,** σχολιάστε το ζήτημα για να ενημερώσετε τους άλλους ότι ασχολείστε με αυτό. Με αυτόν τον τρόπο, οι άνθρωποι είναι λιγότερο πιθανό να αντιγράψουν τη δουλειά σας.
* **Αν ένα θέμα έχει ανοίξει πριν από καιρό,** είναι πιθανό να αντιμετωπίζεται κάπου αλλού ή να έχει ήδη επιλυθεί, οπότε σχολιάστε για να ζητήσετε επιβεβαίωση πριν ξεκινήσετε την εργασία.
* **Αν ανοίξατε ένα θέμα, αλλά βρήκατε την απάντηση αργότερα μόνοι σας,** σχολιάστε το θέμα για να ενημερώσετε τους άλλους και, στη συνέχεια, κλείστε το θέμα. Ακόμα και η τεκμηρίωση αυτού του αποτελέσματος αποτελεί συμβολή στο έργο.
### Άνοιγμα ενός αιτήματος αλλαγής κειμένου
Συνήθως θα πρέπει να ανοίγετε ένα pull request στις ακόλουθες περιπτώσεις:
* Υποβολή ασήμαντων διορθώσεων (για παράδειγμα, ένα τυπογραφικό λάθος, ένας σπασμένος σύνδεσμος ή ένα προφανές σφάλμα)
* Ξεκινήστε να εργάζεστε σε μια συνεισφορά που σας έχει ήδη ζητηθεί, ή που έχετε ήδη συζητήσει, σε ένα θέμα
Ένα pull request δεν χρειάζεται να αντιπροσωπεύει ολοκληρωμένη εργασία. Συνήθως είναι καλύτερο να ανοίξετε ένα pull request νωρίς, ώστε οι άλλοι να μπορούν να παρακολουθήσουν ή να δώσουν ανατροφοδότηση σχετικά με την πρόοδό σας. Απλά σημειώστε το ως "WIP" (Work in Progress) στη γραμμή θέματος. Μπορείτε πάντα να προσθέσετε περισσότερα commits αργότερα.
Αν το έργο βρίσκεται στο GitHub, δείτε πώς μπορείτε να υποβάλετε ένα pull request:
* **[Κάντε fork το πρότζεκτ](https://guides.github.com/activities/forking/)** και κλωνοποιήστε το τοπικά. Συνδέστε το τοπικό σας με το αρχικό "upstream" αποθετήριο προσθέτοντάς το ως απομακρυσμένο. Τραβήξτε συχνά αλλαγές από το "upstream" ώστε να παραμένετε ενημερωμένοι, ώστε όταν υποβάλετε το pull request σας, οι συγκρούσεις συγχώνευσης να είναι λιγότερο πιθανές. (Δείτε πιο λεπτομερείς οδηγίες [εδώ](https://help.github.com/articles/syncing-a-fork/).)
* **[Δημιουργήστε έναν κλάδο](https://guides.github.com/introduction/flow/)** για τις επεξεργασίες σας.
* **Αναφέρετε οποιαδήποτε σχετικά θέματα** ή υποστηρικτική τεκμηρίωση στο PR σας (για παράδειγμα, "Κλείνει το #37.")
* **Περιλάβετε στιγμιότυπα οθόνης του πριν και του μετά** αν οι αλλαγές σας περιλαμβάνουν διαφορές στην HTML/CSS. Σύρετε και αφήστε τις εικόνες στο σώμα του αιτήματος έλξης σας.
* **Δοκιμάστε τις αλλαγές σας!** Ελέγξτε τις αλλαγές σας με τυχόν υπάρχουσες δοκιμές, αν υπάρχουν, και δημιουργήστε νέες, όταν χρειάζεται. Είτε υπάρχουν δοκιμές είτε όχι, βεβαιωθείτε ότι οι αλλαγές σας δεν καταστρέφουν το υπάρχον έργο.
* **Συνεισφέρετε στο ύφος του έργου** στο μέτρο των δυνατοτήτων σας. Αυτό μπορεί να σημαίνει ότι χρησιμοποιείτε εσοχές, άνω και κάτω τελεία ή σχόλια διαφορετικά από ό,τι θα κάνατε στο δικό σας αποθετήριο, αλλά διευκολύνει τον συντηρητή να συγχωνεύσει, άλλους να καταλάβουν και να συντηρήσουν στο μέλλον.
Αν αυτό είναι το πρώτο σας pull request, ελέγξτε το [Make a Pull Request](http://makeapullrequest.com/), το οποίο δημιούργησε ο @kentcdodds ως ένα βίντεο με οδηγίες. Μπορείτε επίσης να εξασκηθείτε στο να κάνετε ένα pull request στο αποθετήριο [First Contributions](https://github.com/Roshanjossey/first-contributions), που δημιουργήθηκε από τον @Roshanjossey.
## Τι συμβαίνει μετά την υποβολή μιας συνεισφοράς
Τα καταφέρατε! Συγχαρητήρια που γίνατε συνεργάτης ανοιχτού κώδικα. Ελπίζουμε να είναι η πρώτη από τις πολλές.
Αφού υποβάλετε μια συνεισφορά, θα συμβεί ένα από τα ακόλουθα:
### 😭 Δεν λαμβάνετε απάντηση.
Ελπίζουμε ότι [ελέγξατε το έργο για σημάδια δραστηριότητας](#μια-λίστα-ελέγχου-πριν-συνεισφέρετε) πριν κάνετε μια συνεισφορά. Ακόμα και σε ένα ενεργό έργο, ωστόσο, είναι πιθανό η συνεισφορά σας να μην λάβει απάντηση.
Αν δεν έχετε λάβει απάντηση για πάνω από μια εβδομάδα, είναι δίκαιο να απαντήσετε ευγενικά στο ίδιο θέμα, ζητώντας από κάποιον να το αξιολογήσει. Αν γνωρίζετε το όνομα του κατάλληλου ατόμου που θα αξιολογήσει τη συνεισφορά σας, μπορείτε να τον @-αναφέρετε στο ίδιο θέμα.
**Μην** απευθυνθείτε σε αυτό το άτομο ιδιωτικά- να θυμάστε ότι η δημόσια επικοινωνία είναι ζωτικής σημασίας για τα έργα ανοικτού κώδικα.
Αν κάνετε ένα ευγενικό χτύπημα και παρόλα αυτά κανείς δεν απαντήσει, είναι πιθανό ότι κανείς δεν θα απαντήσει, ποτέ. Δεν είναι ωραίο συναίσθημα, αλλά μην το αφήσετε να σας αποθαρρύνει. Έχει συμβεί σε όλους! Υπάρχουν πολλοί πιθανοί λόγοι για τους οποίους δεν πήρατε απάντηση, συμπεριλαμβανομένων προσωπικών περιστάσεων που μπορεί να είναι εκτός του ελέγχου σας. Προσπαθήστε να βρείτε ένα άλλο έργο ή έναν άλλο τρόπο να συνεισφέρετε. Αν μη τι άλλο, αυτός είναι ένας καλός λόγος για να μην επενδύσετε πολύ χρόνο στην πραγματοποίηση μιας συνεισφοράς πριν τα άλλα μέλη της κοινότητας ασχοληθούν και ανταποκριθούν.
### 🚧 Κάποιος ζητά αλλαγές στη συνεισφορά σας.
Είναι σύνηθες να σας ζητηθεί να κάνετε αλλαγές στη συνεισφορά σας, είτε πρόκειται για ανατροφοδότηση σχετικά με το εύρος της ιδέας σας, είτε για αλλαγές στον κώδικά σας.
Όταν κάποιος ζητάει αλλαγές, ανταποκριθείτε. Έχουν αφιερώσει χρόνο για να εξετάσουν τη συνεισφορά σας. Το να ανοίγετε ένα PR και να φεύγετε είναι κακή συμπεριφορά. Αν δεν ξέρετε πώς να κάνετε αλλαγές, ερευνήστε το πρόβλημα και, στη συνέχεια, ζητήστε βοήθεια αν τη χρειάζεστε.
Αν δεν έχετε πια χρόνο να ασχοληθείτε με το θέμα (για παράδειγμα, αν η συζήτηση διαρκεί μήνες και οι συνθήκες έχουν αλλάξει), ενημερώστε τον συντηρητή ώστε να μην περιμένει απάντηση. Κάποιος άλλος μπορεί να είναι στην ευχάριστη θέση να αναλάβει.
### 👎 Η συνεισφορά σας δεν γίνεται αποδεκτή.
Η συνεισφορά σας μπορεί να γίνει αποδεκτή ή να μην γίνει αποδεκτή τελικά. Ελπίζω να μην έχετε ήδη αφιερώσει πολλή δουλειά σε αυτήν. Αν δεν είστε σίγουροι γιατί δεν έγινε αποδεκτή, είναι απολύτως λογικό να ζητήσετε από τον συντηρητή ανατροφοδότηση και διευκρινίσεις. Τελικά, όμως, θα πρέπει να σεβαστείτε ότι αυτή είναι η απόφασή τους. Μην διαφωνήσετε ή γίνετε εχθρικοί. Είστε πάντα ευπρόσδεκτοι να διακλαδώσετε και να δουλέψετε στη δική σας έκδοση αν διαφωνείτε!
### 🎉 Η συνεισφορά σας γίνεται αποδεκτή.
Ζήτω! Κάνατε με επιτυχία μια συνεισφορά σε ανοιχτό κώδικα!
## Τα καταφέρατε!
Είτε μόλις κάνατε την πρώτη σας συνεισφορά σε ανοιχτό κώδικα, είτε ψάχνετε για νέους τρόπους συνεισφοράς, ελπίζουμε να εμπνευστείτε για να αναλάβετε δράση. Ακόμα και αν η συνεισφορά σας δεν έγινε αποδεκτή, μην ξεχνάτε να λέτε ευχαριστώ όταν ένας συντηρητής κατέβαλε προσπάθεια για να σας βοηθήσει. Ο ανοιχτός κώδικας δημιουργείται από ανθρώπους σαν εσάς: ένα θέμα, ένα αίτημα διανομής, ένα σχόλιο ή ένα "κόλλα-πέντε" κάθε φορά.
================================================
FILE: _articles/el/index.html
================================================
---
layout: index
title: Οδηγίες Ανοιχτού Κώδικα
lang: el
permalink: /el/
---
================================================
FILE: _articles/el/leadership-and-governance.md
================================================
---
lang: el
title: Ηγεσία και Διοίκηση
description: Τα αναπτυσσόμενα πρότζεκτς ανοιχτού κώδικα μπορούν να επωφεληθούν από επίσημους κανόνες για τη λήψη αποφάσεων.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Κατανόηση της διακυβέρνησης για το αναπτυσσόμενο πρότζεκτ σας
Το πρότζεκτ σας αναπτύσσεται, οι άνθρωποι είναι αφοσιωμένοι και είστε αποφασισμένοι να το συνεχίσετε. Σε αυτό το στάδιο, μπορεί να αναρωτιέστε πώς να ενσωματώσετε τους τακτικούς συνεργάτες του πρότζεκτ στη ροή εργασίας σας, είτε πρόκειται για την παροχή σε κάποιον πρόσβασης στη δέσμευση είτε για την επίλυση των συζητήσεων της κοινότητας. Αν έχετε απορίες, έχουμε απαντήσεις.
## Ποια είναι παραδείγματα επίσημων ρόλων που χρησιμοποιούνται σε πρότζεκτ ανοικτού κώδικα;
Πολλά πρότζεκτ ακολουθούν μια παρόμοια δομή για τους ρόλους και την αναγνώριση των συνεισφερόντων.
Το τι σημαίνουν στην πραγματικότητα αυτοί οι ρόλοι, όμως, εξαρτάται αποκλειστικά από εσάς. Ακολουθούν μερικοί τύποι ρόλων που μπορεί να αναγνωρίσετε:
* **Συντηρητής**
* **Contributor**
* **Committer**
**Για ορισμένα πρότζεκτ, οι "συντηρητές"** είναι τα μόνα άτομα σε ένα πρότζεκτ με πρόσβαση στa commits. Σε άλλα πρότζεκτ, είναι απλά τα άτομα που αναφέρονται στο README ως συντηρητές.
Ένας συντηρητής δεν χρειάζεται απαραίτητα να είναι κάποιος που γράφει κώδικα για το πρότζεκτ σας. Θα μπορούσε να είναι κάποιος που έχει κάνει πολλή δουλειά για να ευαγγελιστεί το πρότζεκτ σας, ή έχει γράψει τεκμηρίωση που έκανε το πρότζεκτ πιο προσιτό σε άλλους. Ανεξάρτητα από το τι κάνει καθημερινά, ένας συντηρητής είναι πιθανότατα κάποιος που αισθάνεται την ευθύνη για την κατεύθυνση του πρότζεκτ και δεσμεύεται να το βελτιώσει.
**Ένας "contributor" θα μπορούσε να είναι οποιοσδήποτε** που σχολιάζει ένα θέμα ή ένα pull request, άνθρωποι που προσθέτουν αξία στο πρότζεκτ (είτε πρόκειται για τη διαχείριση θεμάτων, τη συγγραφή κώδικα ή τη διοργάνωση εκδηλώσεων), ή οποιοσδήποτε με ένα συγχωνευμένο pull request (ίσως ο στενότερος ορισμός ενός contributor).
**Ο όρος "committer"** θα μπορούσε να χρησιμοποιηθεί για να διακρίνει την πρόσβαση στα commits, η οποία είναι ένας συγκεκριμένος τύπος ευθύνης, από άλλες μορφές συνεισφοράς.
Ενώ μπορείτε να ορίσετε τους ρόλους του πρότζεκτ σας με όποιον τρόπο θέλετε, [εξετάστε το ενδεχόμενο να χρησιμοποιήσετε ευρύτερους ορισμούς](../how-to-contribute/#τι-σημαίνει-να-συνεισφέρετε) για να ενθαρρύνετε περισσότερες μορφές συνεισφοράς. Μπορείτε να χρησιμοποιήσετε τους ρόλους ηγεσίας για να αναγνωρίσετε επίσημα τους ανθρώπους που έχουν συνεισφέρει εξαιρετικά στο πρότζεκτ σας, ανεξάρτητα από τις τεχνικές τους δεξιότητες.
## Πώς μπορώ να επισημοποιήσω αυτούς τους ηγετικούς ρόλους;
Η επισημοποίηση των ηγετικών σας ρόλων βοηθάει τους ανθρώπους να αισθάνονται ιδιοκτησία και λέει στα άλλα μέλη της κοινότητας σε ποιον να απευθυνθούν για βοήθεια.
Για ένα μικρότερο πρότζεκτ, ο ορισμός των ηγετών μπορεί να είναι τόσο απλός όσο η προσθήκη των ονομάτων τους στο README ή σε ένα αρχείο κειμένου CONTRIBUTORS.
Για ένα μεγαλύτερο πρότζεκτ, αν έχετε έναν ιστότοπο, δημιουργήστε μια σελίδα ομάδας ή αναφέρετε εκεί τους επικεφαλής του πρότζεκτ σας. Για παράδειγμα, το [Postgres](https://github.com/postgres/postgres/) έχει μια [ολοκληρωμένη σελίδα ομάδας](https://www.postgresql.org/community/contributors/) με σύντομα προφίλ για κάθε συνεισφέροντα.
Εάν το πρότζεκτ σας έχει μια πολύ ενεργή κοινότητα συνεισφερόντων, μπορείτε να δημιουργήσετε μια "βασική ομάδα" συντηρητών ή ακόμη και υποεπιτροπές ατόμων που αναλαμβάνουν την ευθύνη για διαφορετικούς τομείς θεμάτων (για παράδειγμα, ασφάλεια, διαχείριση θεμάτων ή συμπεριφορά της κοινότητας). Αφήστε τους ανθρώπους να αυτοοργανωθούν και να αναλάβουν εθελοντικά τους ρόλους που τους ενθουσιάζουν περισσότερο, αντί να τους αναθέσετε.
Οι ηγετικές ομάδες μπορεί να θέλουν να δημιουργήσουν ένα καθορισμένο κανάλι (όπως στο IRC) ή να συναντώνται τακτικά για να συζητούν το πρότζεκτ (όπως στο Gitter ή στο Google Hangout). Μπορείτε ακόμη και να κάνετε αυτές τις συναντήσεις δημόσιες ώστε να μπορούν να τις ακούνε και άλλοι. Το [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), για παράδειγμα, [φιλοξενεί ώρες γραφείου κάθε εβδομάδα](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Αφού καθιερώσετε ηγετικούς ρόλους, μην ξεχάσετε να τεκμηριώσετε πώς οι άνθρωποι μπορούν να τους αποκτήσουν! Καθορίστε μια σαφή διαδικασία για το πώς κάποιος μπορεί να γίνει συντηρητής ή να ενταχθεί σε μια υποεπιτροπή του πρότζεκτ σας και γράψτε την στο GOVERNANCE.md.
Εργαλεία όπως το [Vossibility](https://github.com/icecrime/vossibility-stack) μπορούν να σας βοηθήσουν να παρακολουθείτε δημόσια ποιος συνεισφέρει (ή δεν συνεισφέρει) στο πρότζεκτ. Η τεκμηρίωση αυτών των πληροφοριών αποφεύγει την αντίληψη της κοινότητας ότι οι συντηρητές είναι μια κλίκα που παίρνει τις αποφάσεις της ιδιωτικά.
Τέλος, αν το πρότζεκτ σας βρίσκεται στο GitHub, εξετάστε το ενδεχόμενο να μεταφέρετε το πρότζεκτ σας από τον προσωπικό σας λογαριασμό σε έναν Οργανισμό και να προσθέσετε τουλάχιστον έναν εφεδρικό διαχειριστή. Οι [Οργανισμοί του GitHub](https://help.github.com/articles/creating-a-new-organization-account/) διευκολύνουν τη διαχείριση των δικαιωμάτων και των πολλαπλών αποθετηρίων και προστατεύουν την κληρονομιά του πρότζεκτ σας μέσω της [κοινής ιδιοκτησίας](../building-community/#μοιραστείτε-την-ιδιοκτησία-του-πρότζεκτ-σας).
## Πότε θα πρέπει να δώσω σε κάποιον πρόσβαση στα commits;
Κάποιοι πιστεύουν ότι πρέπει να δίνετε πρόσβαση στα commits σε όλους όσους συνεισφέρουν. Κάτι τέτοιο θα μπορούσε να ενθαρρύνει περισσότερους ανθρώπους να νιώσουν ιδιοκτησία του πρότζεκτ σας.
Από την άλλη πλευρά, ειδικά για μεγαλύτερα, πιο σύνθετα πρότζεκτ, μπορεί να θέλετε να δώσετε πρόσβαση στη δέσμευση μόνο σε άτομα που έχουν αποδείξει τη δέσμευσή τους. Δεν υπάρχει ένας μόνο σωστός τρόπος - κάντε αυτό που σας κάνει να αισθάνεστε πιο άνετα!
Αν το πρότζεκτ σας βρίσκεται στο GitHub, μπορείτε να χρησιμοποιήσετε το [protected branches](https://help.github.com/articles/about-protected-branches/) για να διαχειριστείτε ποιος μπορεί να προωθήσει σε ένα συγκεκριμένο κλάδο και υπό ποιες συνθήκες.
## Ποιες είναι μερικές από τις συνήθεις δομές διακυβέρνησης για πρότζεκτ ανοικτού κώδικα;
Υπάρχουν τρεις κοινές δομές διακυβέρνησης που σχετίζονται με πρότζεκτ ανοικτού κώδικα.
* **BDFL:** Το BDFL σημαίνει "καλοπροαίρετος δικτάτορας για όλη τη ζωή" (Benevolent Dictator For Life). Σύμφωνα με αυτή τη δομή, ένα άτομο (συνήθως ο αρχικός ιδιοκτήτης του πρότζεκτ) έχει τον τελικό λόγο σε όλες τις σημαντικές αποφάσεις του πρότζεκτ. Η [Python](https://github.com/python) είναι ένα κλασικό παράδειγμα. Τα μικρότερα πρότζεκτ είναι πιθανώς εξ ορισμού BDFL, επειδή υπάρχουν μόνο ένας ή δύο συντηρητές. Ένα πρότζεκτ που προέρχεται από μια εταιρεία μπορεί επίσης να εμπίπτει στην κατηγορία BDFL.
* **Μεριτοκρατία:** **(Σημείωση: ο όρος "αξιοκρατία" έχει αρνητική χροιά για ορισμένες κοινότητες και έχει μια [πολύπλοκη κοινωνική και πολιτική ιστορία](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Στο πλαίσιο μιας αξιοκρατίας, στους ενεργούς συνεισφέροντες στο πρότζεκτ (αυτούς που επιδεικνύουν "αξία") δίνεται επίσημος ρόλος στη λήψη αποφάσεων. Οι αποφάσεις λαμβάνονται συνήθως με βάση την καθαρή συναίνεση της ψηφοφορίας. Η έννοια της αξιοκρατίας πρωτοπορήθηκε από το [Apache Foundation](https://www.apache.org/)- [όλα τα πρότζεκτ του Apache](https://www.apache.org/index.html#projects-list) είναι αξιοκρατίες. Οι συνεισφορές μπορούν να γίνουν μόνο από άτομα που εκπροσωπούν τον εαυτό τους, όχι από μια εταιρεία.
* **Φιλελεύθερη συνεισφορά:** Σύμφωνα με το μοντέλο της φιλελεύθερης συνεισφοράς, τα άτομα που κάνουν τη μεγαλύτερη δουλειά αναγνωρίζονται ως τα άτομα με τη μεγαλύτερη επιρροή, αλλά αυτό βασίζεται στην τρέχουσα δουλειά και όχι στις ιστορικές συνεισφορές. Οι σημαντικές αποφάσεις για το πρότζεκτ λαμβάνονται με βάση μια διαδικασία αναζήτησης συναίνεσης (συζήτηση των σημαντικότερων παραπόνων) και όχι με καθαρή ψηφοφορία, και επιδιώκεται να συμπεριληφθούν όσο το δυνατόν περισσότερες προοπτικές της κοινότητας. Δημοφιλή παραδείγματα πρότζεκτ που χρησιμοποιούν ένα φιλελεύθερο μοντέλο συνεισφοράς περιλαμβάνουν το [Node.js](https://foundation.nodejs.org/) και το [Rust](https://www.rust-lang.org/).
Ποιο από τα δύο πρέπει να χρησιμοποιήσετε; Εξαρτάται από εσάς! Κάθε μοντέλο έχει πλεονεκτήματα και συμβιβασμούς. Και παρόλο που μπορεί να φαίνονται αρκετά διαφορετικά στην αρχή, και τα τρία μοντέλα έχουν περισσότερα κοινά απ' όσα φαίνονται. Αν ενδιαφέρεστε να υιοθετήσετε ένα από αυτά τα μοντέλα, δείτε αυτά τα πρότυπα:
* [Πρότυπο μοντέλου BDFL](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Πρότυπο μοντέλου αξιοκρατίας](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Η φιλελεύθερη πολιτική συνεισφοράς του Node.js](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Χρειάζομαι έγγραφα διακυβέρνησης όταν ξεκινάω το πρότζεκτ μου;
Δεν υπάρχει σωστή στιγμή για να καταγράψετε τη διακυβέρνηση του πρότζεκτ σας, αλλά είναι πολύ πιο εύκολο να την ορίσετε μόλις δείτε τη δυναμική της κοινότητάς σας να εξελίσσεται. Το καλύτερο (και δυσκολότερο) μέρος της διακυβέρνησης του ανοιχτού κώδικα είναι ότι διαμορφώνεται από την κοινότητα!
Ωστόσο, κάποια πρώιμη τεκμηρίωση θα συμβάλει αναπόφευκτα στη διακυβέρνηση του πρότζεκτ σας, οπότε αρχίστε να γράφετε ό,τι μπορείτε. Για παράδειγμα, μπορείτε να ορίσετε σαφείς προσδοκίες για τη συμπεριφορά ή τον τρόπο λειτουργίας της διαδικασίας συνεισφοράς σας, ακόμη και κατά την έναρξη του πρότζεκτ σας.
Αν ανήκετε σε μια εταιρεία που εγκαινιάζει ένα πρότζεκτ ανοιχτού κώδικα, αξίζει να κάνετε μια εσωτερική συζήτηση πριν από την έναρξη σχετικά με το πώς η εταιρεία σας αναμένει να συντηρεί και να λαμβάνει αποφάσεις σχετικά με το πρότζεκτ που προχωράει. Μπορεί επίσης να θέλετε να εξηγήσετε δημόσια οτιδήποτε ιδιαίτερο σχετικά με τον τρόπο με τον οποίο η εταιρεία σας θα συμμετέχει (ή δεν θα συμμετέχει!) στο πρότζεκτ.
## Τι θα συμβεί αν οι εταιρικοί υπάλληλοι αρχίσουν να υποβάλλουν συνεισφορές;
Τα επιτυχημένα πρότζεκτ ανοικτού κώδικα χρησιμοποιούνται από πολλούς ανθρώπους και εταιρείες, και ορισμένες εταιρείες μπορεί τελικά να έχουν ροές εσόδων που συνδέονται τελικά με το πρότζεκτ. Για παράδειγμα, μια εταιρεία μπορεί να χρησιμοποιήσει τον κώδικα του πρότζεκτ ως ένα συστατικό στοιχείο σε μια εμπορική προσφορά υπηρεσιών.
Καθώς το πρότζεκτ χρησιμοποιείται ευρύτερα, οι άνθρωποι που έχουν εμπειρία σε αυτό γίνονται πιο περιζήτητοι - ίσως είστε ένας από αυτούς! - και μερικές φορές θα πληρώνονται για τη δουλειά που κάνουν στο πρότζεκτ.
Είναι σημαντικό να αντιμετωπίζετε την εμπορική δραστηριότητα ως φυσιολογική και ως μια ακόμη πηγή ενέργειας ανάπτυξης. Φυσικά, οι αμειβόμενοι προγραμματιστές δεν πρέπει να τυγχάνουν ιδιαίτερης μεταχείρισης σε σχέση με τους μη αμειβόμενους- κάθε συνεισφορά πρέπει να αξιολογείται με βάση την τεχνική της αξία. Ωστόσο, οι άνθρωποι θα πρέπει να αισθάνονται άνετα να συμμετέχουν σε εμπορική δραστηριότητα και να αισθάνονται άνετα να αναφέρουν τις περιπτώσεις χρήσης τους όταν επιχειρηματολογούν υπέρ μιας συγκεκριμένης βελτίωσης ή λειτουργίας.
Το "εμπορικό" είναι απολύτως συμβατό με το "ανοιχτό κώδικα". "Εμπορικό" σημαίνει απλώς ότι κάπου εμπλέκονται χρήματα - ότι το λογισμικό χρησιμοποιείται στο εμπόριο, κάτι που είναι όλο και πιο πιθανό καθώς ένα πρότζεκτ κερδίζει την αποδοχή του. (Όταν το λογισμικό ανοικτού κώδικα χρησιμοποιείται ως μέρος ενός προϊόντος μη ανοικτού κώδικα, το συνολικό προϊόν εξακολουθεί να είναι "ιδιόκτητο" λογισμικό, αν και, όπως και ο ανοικτός κώδικας, μπορεί να χρησιμοποιηθεί για εμπορικούς ή μη εμπορικούς σκοπούς).
Όπως όλοι οι άλλοι, οι προγραμματιστές με εμπορικά κίνητρα αποκτούν επιρροή στο πρότζεκτ μέσω της ποιότητας και της ποσότητας των συνεισφορών τους. Προφανώς, ένας προγραμματιστής που πληρώνεται για το χρόνο του μπορεί να είναι σε θέση να κάνει περισσότερα από κάποιον που δεν πληρώνεται, αλλά αυτό δεν πειράζει: η πληρωμή είναι απλώς ένας από τους πολλούς πιθανούς παράγοντες που θα μπορούσαν να επηρεάσουν το πόσο κάνει κάποιος. Κρατήστε τις συζητήσεις σας για το πρότζεκτ επικεντρωμένες στις συνεισφορές και όχι στους εξωτερικούς παράγοντες που επιτρέπουν στους ανθρώπους να κάνουν αυτές τις συνεισφορές.
## Χρειάζομαι μια νομική οντότητα για να υποστηρίξω το πρότζεκτ μου;
Δεν χρειάζεστε μια νομική οντότητα για την υποστήριξη του πρότζεκτ σας ανοικτού κώδικα, εκτός αν διαχειρίζεστε χρήματα.
Για παράδειγμα, αν θέλετε να δημιουργήσετε μια εμπορική επιχείρηση, θα πρέπει να δημιουργήσετε μια C Corp ή LLC (αν έχετε την έδρα σας στις ΗΠΑ). Αν απλά κάνετε εργασίες συμβολαίου που σχετίζονται με το πρότζεκτ σας ανοικτού κώδικα, μπορείτε να δεχτείτε χρήματα ως ατομική επιχείρηση ή να δημιουργήσετε μια LLC (αν έχετε την έδρα σας στις ΗΠΑ).
Αν θέλετε να δέχεστε δωρεές για το ανοικτού κώδικα πρότζεκτ σας, μπορείτε να δημιουργήσετε ένα κουμπί δωρεάς (χρησιμοποιώντας το PayPal ή το Stripe, για παράδειγμα), αλλά τα χρήματα δεν θα εκπίπτουν από τη φορολογία, εκτός αν είστε αναγνωρισμένος μη κερδοσκοπικός οργανισμός (501c3, αν είστε στις ΗΠΑ).
Πολλά πρότζεκτ δεν επιθυμούν να μπουν στον κόπο να δημιουργήσουν έναν μη κερδοσκοπικό οργανισμό, οπότε βρίσκουν έναν μη κερδοσκοπικό φορολογικό χορηγό. Ένας φορολογικός χορηγός δέχεται δωρεές εκ μέρους σας, συνήθως με αντάλλαγμα ένα ποσοστό της δωρεάς. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) και [Open Collective](https://opencollective.com/opensource) είναι παραδείγματα οργανισμών που λειτουργούν ως φορολογικοί χορηγοί για πρότζεκτ ανοικτού κώδικα.
Εάν το πρότζεκτ σας συνδέεται στενά με μια συγκεκριμένη γλώσσα ή οικοσύστημα, μπορεί επίσης να υπάρχει ένα σχετικό ίδρυμα λογισμικού με το οποίο μπορείτε να συνεργαστείτε. Για παράδειγμα, το [Python Software Foundation](https://www.python.org/psf/) βοηθά στην υποστήριξη του [PyPI](https://pypi.org/), του διαχειριστή πακέτων Python, και το [Node.js Foundation](https://foundation.nodejs.org/) βοηθά στην υποστήριξη του [Express.js](https://expressjs.com/), ενός πλαισίου βασισμένου στο Node.
================================================
FILE: _articles/el/legal.md
================================================
---
lang: el
title: Η Νομική Πλευρά του Ανοιχτού Κώδικα
description: Όλα όσα αναρωτηθήκατε ποτέ σχετικά με την νομική πλευρά του ανοιχτού κώδικα, και μερικά πράγματα που δεν γνωρίζατε.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Κατανόηση των νομικών επιπτώσεων του ανοικτού κώδικα
Το να μοιραστείτε το δημιουργικό σας πρότζεκτ με τον κόσμο μπορεί να είναι μια συναρπαστική και ικανοποιητική εμπειρία. Μπορεί επίσης να σημαίνει ένα σωρό νομικά πράγματα για τα οποία δεν γνωρίζατε ότι έπρεπε να ανησυχείτε. Ευτυχώς, δεν χρειάζεται να ξεκινήσετε από το μηδέν. Έχουμε καλύψει τις νομικές σας ανάγκες. (Πριν ξεκινήσετε, φροντίστε να διαβάσετε την [αποποίηση ευθυνών](/notices/) μας).
## Γιατί οι άνθρωποι ενδιαφέρονται τόσο πολύ για τη νομική πλευρά του ανοιχτού κώδικα;
Χαίρομαι που ρωτάτε! Όταν δημιουργείτε ένα δημιουργικό πρότζεκτ (όπως συγγραφή, γραφικά ή κώδικα), το πρότζεκτ αυτό υπόκειται εξ ορισμού σε αποκλειστικά πνευματικά δικαιώματα. Δηλαδή, ο νόμος υποθέτει ότι ως δημιουργός του πρότζεκτ σας, έχετε λόγο στο τι μπορούν να κάνουν οι άλλοι με αυτό.
Σε γενικές γραμμές, αυτό σημαίνει ότι κανένας άλλος δεν μπορεί να χρησιμοποιήσει, να αντιγράψει, να διανείμει ή να τροποποιήσει το πρότζεκτ σας χωρίς να κινδυνεύει από αποκοπές, εκβιασμούς ή δικαστικές διενέξεις.
Ωστόσο, ο ανοικτός κώδικας αποτελεί μια ασυνήθιστη περίπτωση, επειδή ο συγγραφέας αναμένει ότι άλλοι θα χρησιμοποιήσουν, θα τροποποιήσουν και θα μοιραστούν το πρότζεκτ. Αλλά επειδή η νομική προεπιλογή εξακολουθεί να είναι η αποκλειστική πνευματική ιδιοκτησία, χρειάζεστε μια άδεια που να δηλώνει ρητά αυτές τις άδειες.
Εάν δεν εφαρμόσετε μια άδεια χρήσης ανοικτού κώδικα, όλοι όσοι συνεισφέρουν στο πρότζεκτ σας γίνονται επίσης αποκλειστικοί κάτοχοι πνευματικών δικαιωμάτων της εργασίας τους. Αυτό σημαίνει ότι κανείς δεν μπορεί να χρησιμοποιήσει, να αντιγράψει, να διανείμει ή να τροποποιήσει τις συνεισφορές του - και σε αυτό το "κανείς" συμπεριλαμβάνεστε και εσείς.
Τέλος, το πρότζεκτ σας μπορεί να έχει εξαρτήσεις με απαιτήσεις άδειας χρήσης που δεν γνωρίζατε. Η κοινότητα του πρότζεκτ σας ή οι πολιτικές του εργοδότη σας μπορεί επίσης να απαιτούν από το πρότζεκτ σας να χρησιμοποιεί συγκεκριμένες άδειες ανοικτού κώδικα. Θα καλύψουμε αυτές τις καταστάσεις παρακάτω.
## Είναι τα δημόσια πρότζεκτ GitHub ανοιχτού κώδικα;
Όταν [δημιουργείτε ένα νέο πρότζεκτ](https://help.github.com/articles/creating-a-new-repository/) στο GitHub, έχετε την επιλογή να κάνετε το αποθετήριο **ιδιωτικό** ή **δημόσιο**.

**Η δημοσιοποίηση του έργου σας στο GitHub δεν είναι το ίδιο με την αδειοδότηση του έργου σας.** Τα δημόσια πρότζεκτ καλύπτονται από τους [Όρους χρήσης του GitHub](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), οι οποίοι επιτρέπουν σε άλλους να βλέπουν και να διαιρούν το πρότζεκτ σας, αλλά η εργασία σας δεν συνοδεύεται από άλλα δικαιώματα.
Αν θέλετε να χρησιμοποιούν, να διανέμουν, να τροποποιούν ή να συνεισφέρουν άλλοι στο πρότζεκτ σας, πρέπει να συμπεριλάβετε μια άδεια χρήσης ανοικτού κώδικα. Για παράδειγμα, κάποιος δεν μπορεί νομικά να χρησιμοποιήσει οποιοδήποτε μέρος του έργου σας στο GitHub στον κώδικά του, ακόμη και αν είναι δημόσιο, εκτός αν του δώσετε ρητά το δικαίωμα να το κάνει.
## Απλά δώστε μου ένα TL;DR σχετικά με το τι χρειάζομαι για να προστατεύσω το πρότζεκτ μου.
Είστε τυχεροί, διότι σήμερα οι άδειες χρήσης ανοικτού κώδικα είναι τυποποιημένες και εύκολες στη χρήση. Μπορείτε να αντιγράψετε-επικολλήσετε μια υπάρχουσα άδεια απευθείας στο πρότζεκτ σας.
Οι [MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) και [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) είναι οι πιο δημοφιλείς άδειες ανοιχτού κώδικα, αλλά υπάρχουν και άλλες επιλογές για να επιλέξετε. Μπορείτε να βρείτε το πλήρες κείμενο αυτών των αδειών, καθώς και οδηγίες για τον τρόπο χρήσης τους, στην ιστοσελίδα [choosealicense.com](https://choosealicense.com/).
Όταν δημιουργείτε ένα νέο πρότζεκτ στο GitHub, θα σας ζητηθεί [να προσθέσετε μια άδεια](https://help.github.com/articles/open-source-licensing/).
## Ποια άδεια ανοιχτού κώδικα είναι κατάλληλη για το πρότζεκτ μου;
Αν ξεκινάτε από μια κενή πλάκα, είναι δύσκολο να κάνετε λάθος με την [MIT License](https://choosealicense.com/licenses/mit/). Είναι σύντομη, πολύ εύκολη στην κατανόηση και επιτρέπει σε οποιονδήποτε να κάνει οτιδήποτε, αρκεί να κρατήσει ένα αντίγραφο της άδειας, συμπεριλαμβανομένης της ειδοποίησης για τα πνευματικά σας δικαιώματα. Θα είστε σε θέση να κυκλοφορήσετε το πρότζεκτ με μια διαφορετική άδεια αν ποτέ χρειαστεί.
Διαφορετικά, η επιλογή της σωστής άδειας ανοικτού κώδικα για το πρότζεκτ σας εξαρτάται από τους στόχους σας.
Το πρότζεκτ σας είναι πολύ πιθανό να έχει (ή θα έχει) **εξαρτήσεις**. Για παράδειγμα, αν έχετε ένα πρότζεκτ που βασίζεται στο Node.js, πιθανότατα θα χρησιμοποιείτε βιβλιοθήκες από τον Node Package Manager (npm). Κάθε μία από αυτές τις βιβλιοθήκες από τις οποίες εξαρτάστε θα έχει τη δική της άδεια χρήσης ανοικτού κώδικα. Αν κάθε μία από τις άδειες τους είναι "επιτρεπτή" (δίνει στο κοινό την άδεια χρήσης, τροποποίησης και διαμοιρασμού, χωρίς καμία προϋπόθεση για την αδειοδότηση σε μεταγενέστερο στάδιο), μπορείτε να χρησιμοποιήσετε οποιαδήποτε άδεια θέλετε. Οι συνήθεις άδειες με επιτρεπτικό χαρακτήρα περιλαμβάνουν τις MIT, Apache 2.0, ISC και BSD.
Από την άλλη πλευρά, εάν οι άδειες οποιασδήποτε από τις εξαρτήσεις σας είναι "strong copyleft" (δίνει επίσης στο κοινό τα ίδια δικαιώματα, υπό την προϋπόθεση ότι θα χρησιμοποιείτε την ίδια άδεια στα επόμενα στάδια), τότε το πρότζεκτ σας θα πρέπει να χρησιμοποιεί την ίδια άδεια. Οι συνήθεις άδειες με ισχυρό copyleft περιλαμβάνουν τις GPLv2, GPLv3 και AGPLv3.
Μπορεί επίσης να θέλετε να εξετάσετε τις **κοινότητες** που ελπίζετε ότι θα χρησιμοποιήσουν και θα συνεισφέρουν στο πρότζεκτ σας:
* **Θέλετε το πρότζεκτ σας να χρησιμοποιηθεί ως εξάρτηση από άλλα πρότζεκτ;** Πιθανώς είναι καλύτερο να χρησιμοποιήσετε την πιο δημοφιλή άδεια χρήσης στη σχετική κοινότητα. Για παράδειγμα, η [MIT](https://choosealicense.com/licenses/mit/) είναι η πιο δημοφιλής άδεια για τις [npm libraries](https://libraries.io/search?platforms=NPM).
* **Θέλετε το πρότζεκτ σας να απευθύνεται σε μεγάλες επιχειρήσεις;** Μια μεγάλη επιχείρηση θα θέλει πιθανότατα ρητή άδεια χρήσης διπλωμάτων ευρεσιτεχνίας από όλους τους συνεισφέροντες. Σε αυτή την περίπτωση, το [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) σας καλύπτει (και αυτούς).
* **Θέλετε το πρότζεκτ σας να απευθύνεται σε συνεισφέροντες που δεν επιθυμούν οι συνεισφορές τους να χρησιμοποιηθούν σε λογισμικό κλειστού κώδικα;** Η [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) ή (αν επίσης δεν επιθυμούν να συνεισφέρουν σε υπηρεσίες κλειστού κώδικα) η [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) θα είναι καλή επιλογή.
Η **επιχείρησή σας** μπορεί να έχει συγκεκριμένες απαιτήσεις αδειοδότησης για τα πρότζεκτ ανοικτού κώδικα. Για παράδειγμα, μπορεί να απαιτεί μια επιτρεπτική άδεια ώστε η εταιρεία να μπορεί να χρησιμοποιήσει το πρότζεκτ σας στο προϊόν κλειστού κώδικα της εταιρείας. Ή η εταιρεία σας μπορεί να απαιτεί μια ισχυρή άδεια copyleft και μια πρόσθετη συμφωνία συνεισφοράς (βλ. παρακάτω), έτσι ώστε μόνο η εταιρεία σας, και κανένας άλλος, να μπορεί να χρησιμοποιήσει το πρότζεκτ σας σε λογισμικό κλειστού κώδικα. Ή η εταιρεία σας μπορεί να έχει ορισμένες ανάγκες που σχετίζονται με πρότυπα, κοινωνική ευθύνη ή διαφάνεια, οι οποίες μπορεί να απαιτούν μια συγκεκριμένη στρατηγική αδειοδότησης. Μιλήστε με το νομικό τμήμα της [εταιρείας σας](#τι-πρέπει-να-γνωρίζει-η-νομική-ομάδα-της-εταιρείας-μου).
Όταν δημιουργείτε ένα νέο πρότζεκτ στο GitHub, σας δίνεται η δυνατότητα να επιλέξετε μια άδεια χρήσης. Η συμπερίληψη μιας από τις άδειες που αναφέρονται παραπάνω θα καταστήσει το πρότζεκτ σας στο GitHub ανοικτού κώδικα. Αν θέλετε να δείτε και άλλες επιλογές, επισκεφθείτε την ιστοσελίδα [choosealicense.com](https://choosealicense.com) για να βρείτε την κατάλληλη άδεια για το πρότζεκτ σας, ακόμη και αν αυτό [δεν είναι λογισμικό](https://choosealicense.com/non-software/).
## Τι γίνεται αν θέλω να αλλάξω την άδεια χρήσης του έργου μου;
Τα περισσότερα πρότζεκτ δεν χρειάζεται ποτέ να αλλάξουν άδειες χρήσης. Αλλά περιστασιακά οι συνθήκες αλλάζουν.
Για παράδειγμα, καθώς το πρότζεκτ σας μεγαλώνει, προσθέτει εξαρτήσεις ή χρήστες, ή η εταιρεία σας αλλάζει στρατηγικές, κάτι που μπορεί να απαιτεί ή να επιθυμεί διαφορετική άδεια χρήσης. Επίσης, αν αμελήσατε να αδειοδοτήσετε το πρότζεκτ σας από την αρχή, η προσθήκη άδειας είναι ουσιαστικά το ίδιο με την αλλαγή αδειών. Υπάρχουν τρία θεμελιώδη πράγματα που πρέπει να λάβετε υπόψη όταν προσθέτετε ή αλλάζετε την άδεια του έργου σας:
**Είναι περίπλοκο.** Ο προσδιορισμός της συμβατότητας και της συμμόρφωσης με τις άδειες χρήσης και το ποιος κατέχει τα πνευματικά δικαιώματα μπορεί να γίνει πολύπλοκος και συγκεχυμένος πολύ γρήγορα. Η μετάβαση σε μια νέα, αλλά συμβατή άδεια για νέες εκδόσεις και συνεισφορές είναι διαφορετική από την εκ νέου αδειοδότηση όλων των υφιστάμενων συνεισφορών. Εμπλέξτε τη νομική σας ομάδα με την πρώτη ένδειξη οποιασδήποτε επιθυμίας αλλαγής αδειών χρήσης. Ακόμη και αν έχετε ή μπορείτε να λάβετε άδεια από τους κατόχους των πνευματικών δικαιωμάτων του έργου σας για μια αλλαγή άδειας χρήσης, λάβετε υπόψη σας τον αντίκτυπο της αλλαγής στους άλλους χρήστες και συνεισφέροντες του έργου σας. Σκεφτείτε μια αλλαγή άδειας χρήσης ως ένα "γεγονός διακυβέρνησης" για το πρότζεκτ σας, το οποίο είναι πιθανότερο να εξελιχθεί ομαλά με σαφή επικοινωνία και διαβούλευση με τους ενδιαφερόμενους φορείς του έργου σας. Ένας λόγος παραπάνω για να επιλέξετε και να χρησιμοποιήσετε την κατάλληλη άδεια για το πρότζεκτ σας από την αρχή του!
**Η υπάρχουσα άδεια του έργου σας.** Αν η υπάρχουσα άδεια του έργου σας είναι συμβατή με την άδεια στην οποία θέλετε να αλλάξετε, μπορείτε απλά να αρχίσετε να χρησιμοποιείτε τη νέα άδεια. Αυτό συμβαίνει επειδή, αν η άδεια Α είναι συμβατή με την άδεια Β, θα συμμορφώνεστε με τους όρους της Α, ενώ παράλληλα θα συμμορφώνεστε με τους όρους της Β (αλλά όχι απαραίτητα το αντίστροφο). Έτσι, αν χρησιμοποιείτε επί του παρόντος μια επιτρεπτική άδεια (π.χ. MIT), θα μπορούσατε να αλλάξετε σε μια άδεια με περισσότερους όρους, αρκεί να διατηρήσετε ένα αντίγραφο της άδειας MIT και οποιεσδήποτε σχετικές ειδοποιήσεις πνευματικών δικαιωμάτων (δηλαδή, να συνεχίσετε να συμμορφώνεστε με τους ελάχιστους όρους της άδειας MIT). Αλλά αν η τρέχουσα άδειά σας δεν είναι επιτρεπτή (π.χ. copyleft, ή δεν έχετε άδεια) και δεν είστε ο μοναδικός κάτοχος των πνευματικών δικαιωμάτων, δεν θα μπορούσατε απλά να αλλάξετε την άδεια του έργου σας σε MIT. Ουσιαστικά, με μια επιτρεπτική άδεια οι κάτοχοι των πνευματικών δικαιωμάτων του έργου έχουν δώσει εκ των προτέρων την άδεια να αλλάξουν τις άδειες.
**Οι υπάρχοντες κάτοχοι πνευματικών δικαιωμάτων του έργου σας.** Εάν είστε ο μοναδικός συντελεστής του έργου σας, τότε είτε εσείς είτε η εταιρεία σας είστε ο μοναδικός κάτοχος πνευματικών δικαιωμάτων του έργου. Μπορείτε να προσθέσετε ή να αλλάξετε σε όποια άδεια χρήσης θέλετε εσείς ή η εταιρεία σας. Διαφορετικά, μπορεί να υπάρχουν άλλοι κάτοχοι πνευματικών δικαιωμάτων από τους οποίους θα πρέπει να έχετε τη σύμφωνη γνώμη για να αλλάξετε τις άδειες χρήσης. Ποιοι είναι αυτοί; Οι άνθρωποι που έχουν commits στο πρότζεκτ σας είναι ένα καλό μέρος για να ξεκινήσετε. Αλλά σε ορισμένες περιπτώσεις τα πνευματικά δικαιώματα θα κατέχονται από τους εργοδότες αυτών των ανθρώπων. Σε ορισμένες περιπτώσεις οι άνθρωποι θα έχουν κάνει μόνο ελάχιστες συνεισφορές, αλλά δεν υπάρχει κανένας αυστηρός και σταθερός κανόνας ότι συνεισφορές κάτω από κάποιο αριθμό γραμμών κώδικα δεν υπόκεινται σε πνευματικά δικαιώματα. Τι πρέπει να γίνει; Εξαρτάται. Για ένα σχετικά μικρό και νεαρό πρότζεκτ, μπορεί να είναι εφικτό να πείσετε όλους τους υπάρχοντες συνεισφέροντες να συμφωνήσουν σε μια αλλαγή άδειας χρήσης σε ένα θέμα ή σε ένα pull request. Για μεγάλα και μακροχρόνια πρότζεκτ, μπορεί να χρειαστεί να αναζητήσετε πολλούς συνεισφέροντες, ακόμη και τους κληρονόμους τους. Η Mozilla χρειάστηκε πολλά χρόνια (2001-2006) για να ανανεώσει την άδεια χρήσης του Firefox, του Thunderbird και του σχετικού λογισμικού.
Εναλλακτικά, μπορείτε να ζητήσετε από τους συνεισφέροντες να συμφωνήσουν εκ των προτέρων (μέσω μιας πρόσθετης συμφωνίας συνεισφέροντος -- δείτε παρακάτω) σε ορισμένες αλλαγές στην άδεια χρήσης υπό ορισμένες προϋποθέσεις, πέραν αυτών που επιτρέπονται από την υπάρχουσα άδεια χρήσης ανοικτού κώδικα. Αυτό μετατοπίζει λίγο την πολυπλοκότητα της αλλαγής των αδειών χρήσης. Θα χρειαστείτε περισσότερη βοήθεια από τους δικηγόρους σας εκ των προτέρων, και θα εξακολουθείτε να θέλετε να επικοινωνείτε με σαφήνεια με τα ενδιαφερόμενα μέρη του έργου σας όταν εκτελείτε μια αλλαγή άδειας χρήσης.
## Χρειάζεται το πρότζεκτ μου μια πρόσθετη συμφωνία συνεισφοράς;
Μάλλον όχι. Για τη συντριπτική πλειονότητα των πρότζεκτ ανοικτού κώδικα, μια άδεια ανοικτού κώδικα χρησιμεύει σιωπηρά τόσο ως η εισερχόμενη (από τους συνεισφέροντες) όσο και ως η εξερχόμενη (προς άλλους συνεισφέροντες και χρήστες) άδεια. Εάν το πρότζεκτ σας βρίσκεται στο GitHub, οι όροι χρήσης του GitHub καθιστούν το "inbound=outbound" τη [ρητή προεπιλογή](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Μια πρόσθετη συμφωνία συνεισφέροντος -- συχνά αποκαλούμενη Συμφωνία άδειας χρήσης συνεισφέροντος (CLA) -- μπορεί να δημιουργήσει διοικητική εργασία για τους συντηρητές του έργου. Το πόση εργασία προσθέτει μια συμφωνία εξαρτάται από το πρότζεκτ και την εφαρμογή. Μια απλή συμφωνία μπορεί να απαιτεί από τους συνεισφέροντες να επιβεβαιώνουν, με ένα κλικ, ότι έχουν τα απαραίτητα δικαιώματα για να συνεισφέρουν σύμφωνα με την άδεια χρήσης ανοικτού κώδικα του έργου. Μια πιο περίπλοκη συμφωνία μπορεί να απαιτεί νομικό έλεγχο και υπογραφή από τους εργοδότες των συνεισφερόντων.
Επίσης, προσθέτοντας "γραφειοκρατία" που κάποιοι θεωρούν περιττή, δυσνόητη ή άδικη (όταν ο παραλήπτης της συμφωνίας αποκτά περισσότερα δικαιώματα από ό,τι οι συνεισφέροντες ή το κοινό μέσω της άδειας χρήσης ανοικτού κώδικα του έργου), μια πρόσθετη συμφωνία συνεισφοράς μπορεί να θεωρηθεί μη φιλική προς την κοινότητα του έργου.
Ορισμένες περιπτώσεις στις οποίες μπορεί να θέλετε να εξετάσετε το ενδεχόμενο σύναψης πρόσθετης συμφωνίας συνεισφοράς για το πρότζεκτ σας περιλαμβάνουν:
* Οι δικηγόροι σας θέλουν όλοι οι συνεισφέροντες να αποδέχονται ρητά (_υπογράφουν_, online ή offline) τους όρους συνεισφοράς, ίσως επειδή θεωρούν ότι η ίδια η άδεια ανοιχτού κώδικα δεν είναι αρκετή (παρόλο που είναι!). Εάν αυτό είναι το μόνο πρόβλημα, μια συμφωνία συνεισφοράς που επιβεβαιώνει την άδεια χρήσης ανοικτού κώδικα του έργου θα πρέπει να είναι αρκετή. Η [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) είναι ένα καλό παράδειγμα μιας ελαφριάς πρόσθετης συμφωνίας συνεισφοράς.
* Εσείς ή οι δικηγόροι σας θέλετε οι προγραμματιστές να δηλώνουν ότι κάθε δέσμευση που κάνουν είναι εξουσιοδοτημένη. Η απαίτηση [Πιστοποιητικό προέλευσης προγραμματιστή](https://developercertificate.org/) είναι ο τρόπος με τον οποίο πολλά πρότζεκτ το επιτυγχάνουν αυτό. Για παράδειγμα, η κοινότητα Node.js [χρησιμοποιεί](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) το DCO [αντί](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) του προηγούμενου CLA. Μια απλή επιλογή για να αυτοματοποιήσετε την επιβολή του DCO στο αποθετήριο σας είναι το [DCO Probot](https://github.com/probot/dco).
* Το πρότζεκτ σας χρησιμοποιεί μια άδεια χρήσης ανοικτού κώδικα που δεν περιλαμβάνει ρητή παραχώρηση διπλωμάτων ευρεσιτεχνίας (όπως η MIT) και χρειάζεστε παραχώρηση διπλώματος ευρεσιτεχνίας από όλους τους συνεισφέροντες, ορισμένοι από τους οποίους μπορεί να εργάζονται σε εταιρείες με μεγάλα χαρτοφυλάκια διπλωμάτων ευρεσιτεχνίας που θα μπορούσαν να χρησιμοποιηθούν για να στοχεύσουν εσάς ή άλλους συνεισφέροντες και χρήστες του έργου. Η [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) είναι μια ευρέως χρησιμοποιούμενη πρόσθετη συμφωνία συνεισφοράς που έχει μια παραχώρηση διπλώματος ευρεσιτεχνίας που αντικατοπτρίζει αυτή που υπάρχει στην Άδεια Apache 2.0.
* Το πρότζεκτ σας τελεί υπό άδεια copyleft, αλλά πρέπει επίσης να διανείμετε μια ιδιόκτητη έκδοση του έργου. Θα χρειαστείτε κάθε συνεισφέροντα να σας εκχωρήσει τα πνευματικά δικαιώματα ή να σας παραχωρήσει (αλλά όχι στο κοινό) μια επιτρεπτική άδεια. Το [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) είναι ένα παράδειγμα αυτού του τύπου συμφωνίας.
* Πιστεύετε ότι το πρότζεκτ σας μπορεί να χρειαστεί να αλλάξει άδειες χρήσης κατά τη διάρκεια της ζωής του και θέλετε οι συνεισφέροντες να συμφωνήσουν εκ των προτέρων σε τέτοιες αλλαγές.
Εάν χρειάζεται να χρησιμοποιήσετε μια πρόσθετη συμφωνία συνεισφοράς με το πρότζεκτ σας, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε μια ενσωμάτωση όπως η [CLA assistant](https://github.com/cla-assistant/cla-assistant) για να ελαχιστοποιήσετε την απόσπαση της προσοχής των συνεισφερόντων.
## Τι πρέπει να γνωρίζει η νομική ομάδα της εταιρείας μου;
Εάν κυκλοφορείτε ένα πρότζεκτ ανοικτού κώδικα ως υπάλληλος της εταιρείας, πρώτα απ' όλα, η νομική σας ομάδα θα πρέπει να γνωρίζει ότι χρησιμοποιείτε ένα πρότζεκτ ανοικτού κώδικα.
Καλώς ή κακώς, σκεφτείτε να τους ενημερώσετε, ακόμη και αν πρόκειται για ένα προσωπικό πρότζεκτ. Πιθανόν να έχετε μια "συμφωνία διανοητικής ιδιοκτησίας εργαζομένων" με την εταιρεία σας που τους δίνει κάποιο έλεγχο των πρότζεκτ σας, ειδικά αν αυτά σχετίζονται καθόλου με την επιχειρηματική δραστηριότητα της εταιρείας ή αν χρησιμοποιείτε πόρους της εταιρείας για την ανάπτυξη του έργου. Η εταιρεία σας _θα πρέπει_ να σας δώσει εύκολα την άδεια, και ίσως το έχει ήδη κάνει μέσω μιας φιλικής προς τους εργαζόμενους συμφωνίας πνευματικής ιδιοκτησίας ή μιας εταιρικής πολιτικής. Αν όχι, μπορείτε να διαπραγματευτείτε (για παράδειγμα, να εξηγήσετε ότι το πρότζεκτ σας εξυπηρετεί τους στόχους επαγγελματικής μάθησης και ανάπτυξης της εταιρείας για εσάς) ή να αποφύγετε να εργαστείτε στο πρότζεκτ σας μέχρι να βρείτε μια καλύτερη εταιρεία.
**Αν κάνετε ένα πρότζεκτ ανοιχτού κώδικα για την εταιρεία σας,** τότε σίγουρα ενημερώστε τους. Η νομική σας ομάδα πιθανότατα έχει ήδη πολιτικές για το ποια άδεια ανοικτού κώδικα (και ίσως πρόσθετη συμφωνία συνεισφοράς) θα πρέπει να χρησιμοποιηθεί με βάση τις επιχειρηματικές απαιτήσεις της εταιρείας και την τεχνογνωσία γύρω από τη διασφάλιση της συμμόρφωσης του έργου σας με τις άδειες των εξαρτήσεών του. Εάν όχι, εσείς και αυτοί είστε τυχεροί! Η νομική σας ομάδα θα πρέπει να είναι πρόθυμη να συνεργαστεί μαζί σας για να τα βρείτε αυτά τα πράγματα. Μερικά πράγματα που πρέπει να σκεφτείτε:
* **Υλικό τρίτων:** Έχει το πρότζεκτ σας εξαρτήσεις που δημιουργήθηκαν από άλλους ή περιλαμβάνει ή χρησιμοποιεί κώδικα άλλων; Εάν αυτά είναι ανοιχτού κώδικα, θα πρέπει να συμμορφωθείτε με τις άδειες χρήσης του υλικού ανοιχτού κώδικα. Αυτό ξεκινάει με την επιλογή μιας άδειας που συνεργάζεται με τις άδειες ανοικτού κώδικα τρίτων (βλ. παραπάνω). Εάν το πρότζεκτ σας τροποποιεί ή διανέμει υλικό ανοικτού κώδικα τρίτων, τότε η νομική σας ομάδα θα θέλει επίσης να γνωρίζει ότι πληροίτε άλλους όρους των αδειών ανοικτού κώδικα τρίτων, όπως η διατήρηση των σημειώσεων περί πνευματικών δικαιωμάτων. Εάν το πρότζεκτ σας χρησιμοποιεί κώδικα άλλων που δεν έχει άδεια χρήσης ανοικτού κώδικα, θα πρέπει πιθανώς να ζητήσετε από τους συντηρητές του τρίτου μέρους να [προσθέσουν μια άδεια χρήσης ανοικτού κώδικα](https://choosealicense.com/no-license/#for-users), και εάν δεν μπορείτε να πάρετε μια τέτοια άδεια, να σταματήσετε να χρησιμοποιείτε τον κώδικά τους στο πρότζεκτ σας.
* **Εμπορικά μυστικά:** Εξετάστε αν υπάρχει κάτι στο πρότζεκτ που η εταιρεία δεν θέλει να διαθέσει στο ευρύ κοινό. Αν ναι, θα μπορούσατε να ανοίξετε τον κώδικα του υπόλοιπου έργου σας, αφού εξάγετε το υλικό που θέλετε να κρατήσετε ιδιωτικό.
* **Διπλώματα ευρεσιτεχνίας:** Υποβάλλει η εταιρεία σας αίτηση για δίπλωμα ευρεσιτεχνίας του οποίου η ανοικτή διάθεση του έργου σας θα αποτελούσε [δημόσια αποκάλυψη](https://en.wikipedia.org/wiki/Public_disclosure); Δυστυχώς, μπορεί να σας ζητηθεί να περιμένετε (ή ίσως η εταιρεία να επανεξετάσει τη σοφία της αίτησης). Αν περιμένετε συνεισφορές στο πρότζεκτ σας από υπαλλήλους εταιρειών με μεγάλα χαρτοφυλάκια διπλωμάτων ευρεσιτεχνίας, η νομική σας ομάδα μπορεί να θέλει να χρησιμοποιήσετε μια άδεια με ρητή παραχώρηση διπλωμάτων ευρεσιτεχνίας από τους συνεισφέροντες (όπως η Apache 2.0 ή η GPLv3), ή μια πρόσθετη συμφωνία συνεισφοράς (βλ. παραπάνω).
* **Εμπορικά σήματα:** Ελέγξτε δύο φορές ότι το όνομα του έργου σας [δεν συγκρούεται με τυχόν υπάρχοντα εμπορικά σήματα](../starting-a-project/#αποφυγή-συγκρούσεων-ονομάτων). Εάν χρησιμοποιείτε τα εμπορικά σήματα της εταιρείας σας στο πρότζεκτ, ελέγξτε ότι δεν προκαλούνται συγκρούσεις. Το [FOSSmarks](http://fossmarks.org/) είναι ένας πρακτικός οδηγός για την κατανόηση των εμπορικών σημάτων στο πλαίσιο των πρότζεκτ ελεύθερου και ανοικτού κώδικα.
* **Απόρρητο:** Το πρότζεκτ σας συλλέγει δεδομένα για τους χρήστες; "Τηλεφωνεί στο σπίτι" σε διακομιστές της εταιρείας; Η νομική σας ομάδα μπορεί να σας βοηθήσει να συμμορφωθείτε με τις εταιρικές πολιτικές και τους εξωτερικούς κανονισμούς.
Αν πρόκειται να κυκλοφορήσετε το πρώτο πρότζεκτ ανοικτού κώδικα της εταιρείας σας, τα παραπάνω είναι υπεραρκετά για να τα ξεπεράσετε (αλλά μην ανησυχείτε, τα περισσότερα πρότζεκτ δεν θα πρέπει να εγείρουν σημαντικές ανησυχίες).
Μακροπρόθεσμα, η νομική σας ομάδα μπορεί να κάνει περισσότερα για να βοηθήσει την εταιρεία να αποκομίσει περισσότερα από τη συμμετοχή της στον ανοικτό κώδικα και να παραμείνει ασφαλής:
* **Πολιτικές συνεισφοράς των υπαλλήλων:** Εξετάστε το ενδεχόμενο να αναπτύξετε μια εταιρική πολιτική που να καθορίζει τον τρόπο με τον οποίο οι υπάλληλοί σας συνεισφέρουν σε πρότζεκτ ανοικτού κώδικα. Μια σαφής πολιτική θα μειώσει τη σύγχυση μεταξύ των υπαλλήλων σας και θα τους βοηθήσει να συνεισφέρουν σε πρότζεκτ ανοικτού κώδικα προς το συμφέρον της εταιρείας, είτε ως μέρος της εργασίας τους είτε στον ελεύθερο χρόνο τους. Ένα καλό παράδειγμα είναι η [Πρότυπη πολιτική IP και συνεισφοράς σε ανοικτό κώδικα](https://ospo.co/blog/crafting-your-open-source-contribution-policy/) της Rackspace.
* **Τι να δημοσιεύσετε:** [(Σχεδόν) τα πάντα;](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Εάν η νομική σας ομάδα κατανοεί και έχει επενδύσει στη στρατηγική ανοικτού κώδικα της εταιρείας σας, θα είναι σε θέση να βοηθήσει καλύτερα παρά να εμποδίσει τις προσπάθειές σας.
* **Συμμόρφωση:** Ακόμα και αν η εταιρεία σας δεν εκδίδει πρότζεκτ ανοικτού κώδικα, χρησιμοποιεί λογισμικό ανοικτού κώδικα άλλων. Η [Ενημέρωση και διαδικασία](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) μπορεί να αποτρέψει πονοκεφάλους, καθυστερήσεις προϊόντων και αγωγές.
* **Διπλώματα ευρεσιτεχνίας:** Η εταιρεία σας μπορεί να επιθυμεί να ενταχθεί στο [Open Invention Network](https://www.openinventionnetwork.com/), μια κοινή αμυντική δεξαμενή διπλωμάτων ευρεσιτεχνίας για την προστασία της χρήσης μεγάλων πρότζεκτ ανοικτού κώδικα από τα μέλη, ή να διερευνήσει άλλες [εναλλακτικές αδειοδοτήσεις διπλωμάτων ευρεσιτεχνίας](https://www.eff.org/document/hacking-patent-system-2016).
* **Διακυβέρνηση:** Ειδικά εάν και εφόσον έχει νόημα να μεταφερθεί ένα πρότζεκτ σε μια [νομική οντότητα εκτός της εταιρείας](../leadership-and-governance/#χρειάζομαι-μια-νομική-οντότητα-για-να-υποστηρίξω-το-πρότζεκτ-μου).
================================================
FILE: _articles/el/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: el
untranslated: true
title: Maintaining Balance for Open Source Maintainers
description: Tips for self-care and avoiding burnout as a maintainer.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.
To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the Maintainer Community, allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.
So, what is personal ecology? As described by the Rockwood Leadership Institute, it involves "maintaining balance, pacing, and efficiency to sustain our energy over a lifetime." This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as [defined by the WHO](https://icd.who.int/browse/2025-01/foundation/en#129180281), is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.
By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.
## Tips for Self-Care and Avoiding Burnout as a Maintainer:
### Identify your motivations for working in open source
Take time to reflect on what parts of open source maintenance energizes you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it's the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.
### Reflect on what causes you to get out of balance and stressed out
It's important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:
* **Lack of positive feedback:** Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.
* **Not saying 'no':** It can be easy to take on more responsibilities than you should on an open source project. Whether it's from users, contributors, or other maintainers – we can't always live up to their expectations.
* **Working alone:** Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.
* **Not enough time or resources:** This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
* **Conflicting demands:** Open source is full of groups with different motivations, which can be difficult to navigate. If you're paid to do open source, your employer's interests can sometimes be at odds with the community.
### Watch out for signs of burnout
Can you keep up your pace for 10 weeks? 10 months? 10 years?
There are tools like the [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) from [@shaunagm](https://github.com/shaunagm) that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).
### What would you need to continue sustaining yourself and your community?
This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:
* **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.
You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
* **Explore funding:** Whether you're looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you're thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
* **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
* **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night's sleep can make a big difference in your ability to sustain your efforts long-term.
If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
* **Set boundaries:** You can't say yes to every request. This can be as simple as saying, "I can't get to that right now and I do not have plans to in the future," or listing out what you're interested in doing and not doing in the README. For instance, you could say: "I only merge PRs which have clearly listed reasons why they were made," or, "I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.
Learn to be firm in shutting down toxic behavior and negative interactions. It's okay to not give energy to things you don't care about.
Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.
## Additional Resources
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Contributors
Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/el/metrics.md
================================================
---
lang: el
title: Στατιστικά Ανοικτού Κώδικα
description: Λάβετε τεκμηριωμένες αποφάσεις για να βοηθήσετε το πρότζεκτ ανοιχτού κώδικά σας να ευημερήσει, μετρώντας και παρακολουθώντας την επιτυχία του.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Γιατί να μετρήσουμε οτιδήποτε;
Τα δεδομένα, όταν χρησιμοποιούνται με σύνεση, μπορούν να σας βοηθήσουν να λάβετε καλύτερες αποφάσεις ως συντηρητής ανοικτού κώδικα.
Με περισσότερες πληροφορίες, μπορείτε:
* Κατανόηση του τρόπου με τον οποίο οι χρήστες ανταποκρίνονται σε ένα νέο χαρακτηριστικό
* Ανακαλύψτε από πού προέρχονται οι νέοι χρήστες
* Εντοπισμός και απόφαση σχετικά με την υποστήριξη μιας περίπτωσης χρήσης ή μιας λειτουργικότητας που ξεφεύγει από τα συνηθισμένα
* Ποσοτικοποιήστε τη δημοτικότητα του πρότζεκτ σας
* Κατανοήστε πώς χρησιμοποιείται το πρότζεκτ σας
* Συγκέντρωση χρημάτων μέσω χορηγιών και επιχορηγήσεων
Για παράδειγμα, το [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) διαπιστώνει ότι το Google Analytics τους βοηθάει να θέτουν προτεραιότητες στην εργασία τους:
> Το Homebrew παρέχεται δωρεάν και διευθύνεται εξ ολοκλήρου από εθελοντές στον ελεύθερο χρόνο τους. Ως αποτέλεσμα, δεν έχουμε τους πόρους για να κάνουμε λεπτομερείς μελέτες χρηστών του Homebrew για να αποφασίσουμε πώς θα σχεδιάσουμε καλύτερα τα μελλοντικά χαρακτηριστικά και να δώσουμε προτεραιότητα στις τρέχουσες εργασίες. Οι ανώνυμες συγκεντρωτικές αναλύσεις χρηστών μας επιτρέπουν να δώσουμε προτεραιότητα στις διορθώσεις και τα χαρακτηριστικά με βάση το πώς, πού και πότε οι χρήστες χρησιμοποιούν το Homebrew.
Η δημοτικότητα δεν είναι το παν. Όλοι ασχολούνται με τον ανοιχτό κώδικα για διαφορετικούς λόγους. Αν ο στόχος σας ως συντηρητής ανοιχτού κώδικα είναι να επιδείξετε τη δουλειά σας, να είστε διαφανείς σχετικά με τον κώδικά σας ή απλά να διασκεδάσετε, οι μετρήσεις μπορεί να μην είναι σημαντικές για εσάς.
Αν _ενδιαφέρεστε_ να κατανοήσετε το πρότζεκτ σας σε βαθύτερο επίπεδο, διαβάστε παρακάτω για τρόπους ανάλυσης της δραστηριότητας του έργου σας.
## Ανακάλυψη
Πριν κάποιος μπορεί να χρησιμοποιήσει ή να συνεισφέρει στο πρότζεκτ σας, πρέπει να γνωρίζει ότι υπάρχει. Ρωτήστε τον εαυτό σας: _βρίσκουν οι άνθρωποι αυτό το πρότζεκτ;_

Εάν το πρότζεκτ σας φιλοξενείται στο GitHub, [μπορείτε να δείτε](https://help.github.com/articles/about-repository-graphs/#traffic) πόσοι άνθρωποι μπαίνουν στο πρότζεκτ σας και από πού προέρχονται. Από τη σελίδα του έργου σας, κάντε κλικ στην επιλογή "Insights" και στη συνέχεια στην επιλογή "Traffic". Σε αυτή τη σελίδα, μπορείτε να δείτε: "Το πρότζεκτ σας":
* **Συνολικές προβολές σελίδων:** Σας λέει πόσες φορές προβλήθηκε το πρότζεκτ σας
* **Συνολικοί μοναδικοί επισκέπτες:** Σας λέει πόσοι άνθρωποι είδαν το πρότζεκτ σας
* **Συμβαλλόμενοι ιστότοποι:** Σας λέει από πού προήλθαν οι επισκέπτες. Αυτή η μέτρηση μπορεί να σας βοηθήσει να καταλάβετε πού να προσεγγίσετε το κοινό σας και αν οι προσπάθειες προώθησής σας αποδίδουν.
* **Δημοφιλές περιεχόμενο:** Σας λέει πού πηγαίνουν οι επισκέπτες στο πρότζεκτ σας, κατανεμημένο σε προβολές σελίδων και μοναδικούς επισκέπτες.
[GitHub stars](https://help.github.com/articles/about-stars/) μπορεί επίσης να βοηθήσει στην παροχή ενός βασικού μέτρου δημοτικότητας. Αν και τα αστέρια του GitHub δεν συσχετίζονται απαραίτητα με τις λήψεις και τη χρήση, μπορούν να σας δείξουν πόσοι άνθρωποι λαμβάνουν γνώση της εργασίας σας.
Μπορεί επίσης να θέλετε να [παρακολουθείτε την ανιχνευσιμότητα σε συγκεκριμένα μέρη](https://opensource.com/business/16/6/pirate-metrics): για παράδειγμα, το Google PageRank, την επισκεψιμότητα παραπομπών από τον ιστότοπο του έργου σας ή παραπομπές από άλλα πρότζεκτ ή ιστότοπους ανοικτού κώδικα.
## Χρήση
Οι άνθρωποι βρίσκουν το πρότζεκτ σας σε αυτό το άγριο και τρελό πράγμα που αποκαλούμε διαδίκτυο. Ιδανικά, όταν δουν το πρότζεκτ σας, θα νιώσουν την ανάγκη να κάνουν κάτι. Η δεύτερη ερώτηση που θα πρέπει να κάνετε είναι: _χρησιμοποιούν οι άνθρωποι αυτό το πρότζεκτ;_
Αν χρησιμοποιείτε έναν διαχειριστή πακέτων, όπως το npm ή το RubyGems.org, για να διανείμετε το πρότζεκτ σας, μπορεί να μπορείτε να παρακολουθείτε τις λήψεις του έργου σας.
Κάθε διαχειριστής πακέτων μπορεί να χρησιμοποιεί έναν ελαφρώς διαφορετικό ορισμό της "λήψης" και οι λήψεις δεν συσχετίζονται απαραίτητα με τις εγκαταστάσεις ή τη χρήση, αλλά παρέχει κάποια βάση σύγκρισης. Δοκιμάστε να χρησιμοποιήσετε το [Libraries.io](https://libraries.io/) για να παρακολουθήσετε στατιστικά στοιχεία χρήσης σε πολλούς δημοφιλείς διαχειριστές πακέτων.
Αν το πρότζεκτ σας βρίσκεται στο GitHub, μεταβείτε ξανά στη σελίδα "Traffic". Μπορείτε να χρησιμοποιήσετε το [clone graph](https://github.com/blog/1873-clone-graphs) για να δείτε πόσες φορές έχει κλωνοποιηθεί το πρότζεκτ σας σε μια δεδομένη ημέρα, αναλυτικά με βάση το σύνολο των κλώνων και τους μοναδικούς κλώνους.

Εάν η χρήση είναι χαμηλή σε σύγκριση με τον αριθμό των ατόμων που ανακαλύπτουν το πρότζεκτ σας, υπάρχουν δύο ζητήματα που πρέπει να εξετάσετε. Είτε:
* Το πρότζεκτ σας δεν μετατρέπει με επιτυχία το κοινό σας, ή
* Προσελκύετε το λάθος κοινό
Για παράδειγμα, αν το πρότζεκτ σας βρεθεί στην πρώτη σελίδα του Hacker News, θα δείτε πιθανότατα μια αύξηση στην ανακάλυψη (επισκεψιμότητα), αλλά ένα χαμηλότερο ποσοστό μετατροπής, επειδή θα φτάσετε σε όλους τους χρήστες του Hacker News. Αν το Ruby πρότζεκτ σας παρουσιάζεται σε ένα συνέδριο Ruby, ωστόσο, είναι πιο πιθανό να δείτε υψηλό ποσοστό μετατροπής από ένα στοχευμένο κοινό.
Προσπαθήστε να καταλάβετε από πού προέρχεται το κοινό σας και ζητήστε από τους άλλους σχόλια για τη σελίδα του πρότζεκτ σας για να καταλάβετε ποιο από αυτά τα δύο ζητήματα αντιμετωπίζετε.
Μόλις μάθετε ότι οι άνθρωποι χρησιμοποιούν το πρότζεκτ σας, ίσως θελήσετε να προσπαθήσετε να καταλάβετε τι κάνουν με αυτό. Χτίζουν πάνω σε αυτό με το να διακλαδώνουν τον κώδικά σας και να προσθέτουν χαρακτηριστικά; Το χρησιμοποιούν για επιστημονικούς ή επιχειρηματικούς σκοπούς;
## Διατήρηση
Οι άνθρωποι βρίσκουν το πρότζεκτ σας και το χρησιμοποιούν. Το επόμενο ερώτημα που θα πρέπει να θέσετε στον εαυτό σας είναι: _Συμβάλλουν οι άνθρωποι σε αυτό το πρότζεκτ;_
Ποτέ δεν είναι πολύ νωρίς για να αρχίσετε να σκέφτεστε τους συνεισφέροντες. Χωρίς τη συμμετοχή άλλων ανθρώπων, κινδυνεύετε να βρεθείτε σε μια ανθυγιεινή κατάσταση όπου το πρότζεκτ σας είναι _δημοφιλές_ (πολλοί το χρησιμοποιούν) αλλά δεν _υποστηρίζεται_ (δεν υπάρχει αρκετός χρόνος συντηρητών για να καλύψει τη ζήτηση).
Η διατήρηση απαιτεί επίσης [εισροή νέων συνεισφερόντων](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), καθώς οι προηγουμένως ενεργοί συνεισφέροντες θα προχωρήσουν τελικά σε άλλα πράγματα.
Παραδείγματα μετρήσεων της κοινότητας που μπορεί να θέλετε να παρακολουθείτε τακτικά περιλαμβάνουν:
* **Συνολικός αριθμός συνεργατών και αριθμός κοινοποιήσεων ανά συνεργάτη:** Σας λέει πόσους συνεργάτες έχετε και ποιοι είναι περισσότερο ή λιγότερο ενεργοί. Στο GitHub, μπορείτε να το δείτε αυτό στην ενότητα "Insights" -> "Contributors". Αυτή τη στιγμή, αυτό το γράφημα μετράει μόνο τους συνεισφέροντες που έχουν δεσμευτεί στον προεπιλεγμένο κλάδο του αποθετηρίου.

* **Πρώτη φορά, περιστασιακοί και επαναλαμβανόμενοι συνεισφέροντες:** Σας βοηθά να παρακολουθείτε αν έχετε νέους συνεισφέροντες και αν επιστρέφουν. (Οι περιστασιακοί συνεισφέροντες είναι συνεισφέροντες με χαμηλό αριθμό κοινοποιήσεων. Το αν αυτό είναι μία δέσμευση, λιγότερες από πέντε δεσμεύσεις ή κάτι άλλο εξαρτάται από εσάς). Χωρίς νέους συνεισφέροντες, η κοινότητα του έργου σας μπορεί να μείνει στάσιμη.
* **Αριθμός ανοιχτών ζητημάτων και ανοιχτών pull request:** Αν αυτοί οι αριθμοί είναι πολύ υψηλοί, ίσως χρειαστείτε βοήθεια με την ταξινόμηση ζητημάτων και τις ανασκοπήσεις κώδικα.
* **Αριθμός _ανοικτών_ θεμάτων και _ανοικτών_ pull request:** Τα ανοικτά θέματα σημαίνουν ότι κάποιος ενδιαφέρεται αρκετά για το πρότζεκτ σας ώστε να ανοίξει ένα θέμα. Αν ο αριθμός αυτός αυξάνεται με την πάροδο του χρόνου, αυτό υποδηλώνει ότι οι άνθρωποι ενδιαφέρονται για το πρότζεκτ σας.
* **Τύποι συνεισφορών:** Για παράδειγμα, μεταβιβάσεις, διόρθωση τυπογραφικών λαθών ή σφαλμάτων ή σχολιασμός ενός θέματος.
## Δραστηριότητα συντηρητή
Τέλος, θα πρέπει να κλείσετε το βρόχο διασφαλίζοντας ότι οι συντηρητές του έργου σας είναι σε θέση να διαχειριστούν τον όγκο των συνεισφορών που λαμβάνουν. Το τελευταίο ερώτημα που θα πρέπει να θέσετε στον εαυτό σας είναι: Ανταποκρίνομαι (ή ανταποκρινόμαστε) στην κοινότητά μας;
Οι μη ανταποκρινόμενοι συντηρητές γίνονται τροχοπέδη για τα πρότζεκτ ανοικτού κώδικα. Αν κάποιος υποβάλλει μια συνεισφορά αλλά δεν λαμβάνει ποτέ απάντηση από έναν συντηρητή, μπορεί να αποθαρρυνθεί και να φύγει.
[Έρευνα από τη Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) δείχνει ότι η ανταπόκριση του συντηρητή είναι ένας κρίσιμος παράγοντας για την ενθάρρυνση της επανάληψης των συνεισφορών.
Εξετάστε το ενδεχόμενο να παρακολουθείτε πόσος χρόνος χρειάζεται για να απαντήσετε εσείς (ή κάποιος άλλος συντηρητής) σε συνεισφορές, είτε πρόκειται για ένα θέμα είτε για ένα pull request. Η ανταπόκριση δεν απαιτεί την ανάληψη δράσης. Μπορεί να είναι τόσο απλό όσο το να πείτε: _"Ευχαριστώ για την υποβολή σας! Θα το επανεξετάσω μέσα στην επόμενη εβδομάδα."_
Θα μπορούσατε επίσης να μετρήσετε το χρόνο που απαιτείται για να μετακινηθείτε μεταξύ των σταδίων της διαδικασίας συνεισφοράς, όπως:
* Μέσος χρόνος που ένα ζήτημα παραμένει ανοικτό
* Αν τα θέματα κλείνουν από τις δημόσιες σχέσεις
* Αν τα θέματα που έχουν μείνει στάσιμα κλείνουν
* Μέσος χρόνος για τη συγχώνευση ενός pull request
## Χρησιμοποιήστε το 📊 για να μάθετε για τους ανθρώπους
Η κατανόηση των μετρήσεων θα σας βοηθήσει να δημιουργήσετε ένα ενεργό, αναπτυσσόμενο πρότζεκτ ανοικτού κώδικα. Ακόμα και αν δεν παρακολουθείτε κάθε μετρική σε ένα ταμπλό, χρησιμοποιήστε το παραπάνω πλαίσιο για να εστιάσετε την προσοχή σας στο είδος της συμπεριφοράς που θα βοηθήσει το πρότζεκτ σας να ευδοκιμήσει.
[CHAOSS](https://chaoss.community/) είναι μια φιλόξενη κοινότητα ανοικτού κώδικα που επικεντρώνεται στην ανάλυση, τις μετρήσεις και το λογισμικό για την κοινοτική υγεία.
================================================
FILE: _articles/el/security-best-practices-for-your-project.md
================================================
---
lang: el
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/el/starting-a-project.md
================================================
---
lang: el
title: Ξεκινώντας ένα Πρότζεκτ Ανοιχτού Κώδικα
description: Μάθετε περισσότερα για τον κόσμο του ανοιχτού κώδικα και ετοιμαστείτε να ξεκινήσετε το δικό σας πρότζεκτ.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## Το "τι" και το "γιατί" του ανοικτού κώδικα
Σκέφτεστε λοιπόν να ξεκινήσετε με τον ανοιχτό κώδικα; Συγχαρητήρια! Ο κόσμος εκτιμά τη συνεισφορά σας. Ας μιλήσουμε για το τι είναι ο ανοιχτός κώδικας και γιατί οι άνθρωποι το κάνουν.
### Τι σημαίνει "ανοιχτός κώδικας";
Όταν ένα πρότζεκτ είναι ανοικτού κώδικα, αυτό σημαίνει ότι **ο καθένας είναι ελεύθερος να χρησιμοποιήσει, να μελετήσει, να τροποποιήσει και να διανείμει το πρότζεκτ σας για οποιονδήποτε σκοπό.** Αυτά τα δικαιώματα επιβάλλονται μέσω [μιας άδειας ανοικτού κώδικα](https://opensource.org/licenses).
Ο ανοικτός κώδικας είναι ισχυρός επειδή μειώνει τα εμπόδια στην υιοθέτηση και τη συνεργασία, επιτρέποντας στους ανθρώπους να διαδίδουν και να βελτιώνουν πρότζεκτ γρήγορα. Επίσης, επειδή δίνει στους χρήστες τη δυνατότητα να ελέγχουν τους υπολογιστές τους, σε σχέση με τον κλειστό κώδικα. Για παράδειγμα, μια επιχείρηση που χρησιμοποιεί λογισμικό ανοικτού κώδικα έχει τη δυνατότητα να προσλάβει κάποιον για να κάνει προσαρμοσμένες βελτιώσεις στο λογισμικό, αντί να βασίζεται αποκλειστικά στις αποφάσεις ενός προμηθευτή κλειστού κώδικα για το προϊόν.
Το _ελεύθερο λογισμικό_ αναφέρεται στο ίδιο σύνολο πρότζεκτ με το _ανοικτού κώδικα_. Μερικές φορές θα δείτε επίσης [αυτούς τους όρους](https://en.wikipedia.org/wiki/Free_and_open-source_software) συνδυασμένους ως "ελεύθερο λογισμικό και λογισμικό ανοικτού κώδικα" (FOSS) ή "ελεύθερο, ελεύθερο και λογισμικό ανοικτού κώδικα" (FLOSS). Τα _Free_ και _libre_ αναφέρονται στην ελευθερία, [όχι στην τιμή](#ανοιχτός-κώδικας-σημαίνει-δωρεάν).
### Γιατί οι άνθρωποι ανοίγουν το λογισμικό τους;
[Υπάρχουν πολλοί λόγοι](https://ben.balter.com/2015/11/23/why-open-source/) για τους οποίους ένα άτομο ή ένας οργανισμός θα ήθελε να ανοίξει τον κώδικα ενός έργου. Μερικά παραδείγματα περιλαμβάνουν:
* **Συνεργασία:** Τα πρότζεκτ ανοικτού κώδικα μπορούν να δέχονται αλλαγές από οποιονδήποτε στον κόσμο. Το [Exercism](https://github.com/exercism/), για παράδειγμα, είναι μια πλατφόρμα ασκήσεων προγραμματισμού με πάνω από 350 συνεισφέροντες.
* **Υιοθέτηση και επανασύνθεση:** Τα πρότζεκτ ανοικτού κώδικα μπορούν να χρησιμοποιηθούν από οποιονδήποτε για σχεδόν οποιονδήποτε σκοπό. Οι άνθρωποι μπορούν ακόμη και να τα χρησιμοποιήσουν για να κατασκευάσουν άλλα πράγματα. Το [WordPress](https://github.com/WordPress), για παράδειγμα, ξεκίνησε ως διακλάδωση ενός υπάρχοντος έργου που ονομαζόταν [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Διαφάνεια:** Οποιοσδήποτε μπορεί να επιθεωρήσει ένα πρότζεκτ ανοικτού κώδικα για λάθη ή ασυνέπειες. Η διαφάνεια έχει σημασία για κυβερνήσεις όπως η [Βουλγαρία](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) ή οι [Ηνωμένες Πολιτείες](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), ρυθμιζόμενες βιομηχανίες όπως οι τράπεζες ή η υγειονομική περίθαλψη και λογισμικό ασφαλείας όπως το [Let's Encrypt](https://github.com/letsencrypt).
Ο ανοικτός κώδικας δεν είναι μόνο για το λογισμικό. Μπορείτε να ανοίξετε τα πάντα, από σύνολα δεδομένων μέχρι βιβλία. Ελέγξτε το [GitHub Explore](https://github.com/explore) για ιδέες σχετικά με το τι άλλο μπορείτε να ανοίξετε με ανοικτό κώδικα.
### Ανοιχτός κώδικας σημαίνει "δωρεάν";
Ένα από τα μεγαλύτερα πλεονεκτήματα του ανοικτού κώδικα είναι ότι δεν κοστίζει χρήματα. Το "δωρεάν", ωστόσο, είναι ένα υποπροϊόν της συνολικής αξίας του ανοικτού κώδικα.
Επειδή [μια άδεια χρήσης ανοικτού κώδικα απαιτεί](https://opensource.org/osd-annotated) ότι ο καθένας μπορεί να χρησιμοποιήσει, να τροποποιήσει και να μοιραστεί το πρότζεκτ σας για σχεδόν οποιονδήποτε σκοπό, τα ίδια τα πρότζεκτ τείνουν να είναι δωρεάν. Αν το πρότζεκτ κόστιζε χρήματα για τη χρήση του, ο καθένας θα μπορούσε νόμιμα να δημιουργήσει ένα αντίγραφο και να χρησιμοποιήσει τη δωρεάν έκδοση αντί αυτού.
Ως αποτέλεσμα, τα περισσότερα πρότζεκτ ανοικτού κώδικα είναι δωρεάν, αλλά το "δωρεάν" δεν αποτελεί μέρος του ορισμού του ανοικτού κώδικα. Υπάρχουν τρόποι να χρεώνετε τα πρότζεκτ ανοικτού κώδικα έμμεσα μέσω διπλής αδειοδότησης ή περιορισμένων χαρακτηριστικών, ενώ παράλληλα εξακολουθούν να συμμορφώνονται με τον επίσημο ορισμό του ανοικτού κώδικα.
## Πρέπει να ξεκινήσω το δικό μου πρότζεκτ ανοιχτού κώδικα;
Η σύντομη απάντηση είναι ναι, διότι, ανεξάρτητα από το αποτέλεσμα, το να ξεκινήσετε το δικό σας πρότζεκτ είναι ένας πολύ καλός τρόπος για να μάθετε πώς λειτουργεί ο ανοιχτός κώδικας.
Αν δεν έχετε ποτέ στο παρελθόν ανοίξει ένα πρότζεκτ, μπορεί να έχετε άγχος για το τι θα πει ο κόσμος ή αν θα το προσέξει κανείς. Αν αυτό σας μοιάζει, δεν είστε οι μόνοι!
Η εργασία ανοιχτού κώδικα είναι όπως κάθε άλλη δημιουργική δραστηριότητα, είτε πρόκειται για συγγραφή είτε για ζωγραφική. Μπορεί να αισθάνεστε τρομακτικό να μοιράζεστε τη δουλειά σας με τον κόσμο, αλλά ο μόνος τρόπος για να βελτιωθείτε είναι να εξασκηθείτε - ακόμη και αν δεν έχετε κοινό.
Αν δεν έχετε πειστεί ακόμα, σκεφτείτε για λίγο ποιοι μπορεί να είναι οι στόχοι σας.
### Θέτοντας τους στόχους σας
Οι στόχοι μπορούν να σας βοηθήσουν να καταλάβετε τι πρέπει να δουλέψετε, σε τι να πείτε όχι και πού χρειάζεστε βοήθεια από άλλους. Ξεκινήστε ρωτώντας τον εαυτό σας, _γιατί κάνω open sourcing αυτό το πρότζεκτ;_
Δεν υπάρχει μια σωστή απάντηση σε αυτό το ερώτημα. Μπορεί να έχετε πολλαπλούς στόχους για ένα πρότζεκτ ή διαφορετικά πρότζεκτ με διαφορετικούς στόχους.
Αν ο μόνος σας στόχος είναι να επιδείξετε τη δουλειά σας, μπορεί να μην θέλετε καν συνεισφορές, και μάλιστα να το πείτε αυτό στο README σας. Από την άλλη πλευρά, αν θέλετε συνεισφέροντες, θα επενδύσετε χρόνο σε σαφή τεκμηρίωση και θα κάνετε τους νεοεισερχόμενους να αισθάνονται ευπρόσδεκτοι.
Καθώς το πρότζεκτ σας αναπτύσσεται, η κοινότητά σας μπορεί να χρειάζεται κάτι περισσότερο από τον κώδικα που θα σας παρέχει. Η ανταπόκριση σε ζητήματα, η αναθεώρηση κώδικα και η προώθηση του έργου σας είναι όλα σημαντικά καθήκοντα σε ένα πρότζεκτ ανοικτού κώδικα.
Αν και ο χρόνος που αφιερώνετε σε εργασίες που δεν σχετίζονται με τον προγραμματισμό εξαρτάται από το μέγεθος και το πεδίο εφαρμογής του έργου σας, θα πρέπει να είστε προετοιμασμένοι ως συντηρητής να τις αντιμετωπίσετε μόνοι σας ή να βρείτε κάποιον να σας βοηθήσει.
**Αν ανήκετε σε μια εταιρεία με ανοικτό sourcing ενός έργου,** βεβαιωθείτε ότι το πρότζεκτ σας διαθέτει τους εσωτερικούς πόρους που χρειάζεται για να ευδοκιμήσει. Θα πρέπει να προσδιορίσετε ποιος είναι υπεύθυνος για τη συντήρηση του έργου μετά την έναρξη και πώς θα μοιραστείτε αυτά τα καθήκοντα με την κοινότητά σας.
Αν χρειάζεστε ειδικό προϋπολογισμό ή προσωπικό για την προώθηση, τις λειτουργίες και τη συντήρηση του έργου, ξεκινήστε τις συζητήσεις αυτές από νωρίς.
### Συμβολή σε άλλα πρότζεκτ
Αν ο στόχος σας είναι να μάθετε πώς να συνεργάζεστε με άλλους ή να κατανοήσετε πώς λειτουργεί ο ανοιχτός κώδικας, σκεφτείτε να συνεισφέρετε σε ένα υπάρχον πρότζεκτ. Ξεκινήστε με ένα πρότζεκτ που ήδη χρησιμοποιείτε και αγαπάτε. Η συνεισφορά σε ένα πρότζεκτ μπορεί να είναι τόσο απλή όσο η διόρθωση τυπογραφικών λαθών ή η ενημέρωση της τεκμηρίωσης.
Αν δεν είστε σίγουροι για το πώς να ξεκινήσετε να συνεισφέρετε, ανατρέξτε στον οδηγό μας [Πώς να συνεισφέρετε στον Ανοιχτό Κώδικα](../how-to-contribute/).
## Ξεκινώντας το δικό σας πρότζεκτ ανοιχτού κώδικα
Δεν υπάρχει ιδανική στιγμή για να ανοίξετε το πρότζεκτ σας. Μπορείτε να ανοίξετε τον κώδικα μιας ιδέας, μιας εργασίας σε εξέλιξη ή μετά από χρόνια κλειστού κώδικα.
Σε γενικές γραμμές, θα πρέπει να ανοίγετε το πρότζεκτ σας όταν αισθάνεστε άνετα να αφήσετε άλλους να δουν και να δώσουν ανατροφοδότηση σχετικά με το πρότζεκτ σας.
Ανεξάρτητα από το στάδιο στο οποίο θα αποφασίσετε να ανοίξετε το πρότζεκτ σας, κάθε πρότζεκτ θα πρέπει να περιλαμβάνει την ακόλουθη τεκμηρίωση:
* [Άδεια χρήσης ανοικτού κώδικα](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Κανόνες για τους συνεισφέροντες](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Κώδικας δεοντολογίας](../code-of-conduct/)
Ως συντηρητής, αυτά τα στοιχεία θα σας βοηθήσουν να επικοινωνήσετε τις προσδοκίες, να διαχειριστείτε τις συνεισφορές και να προστατεύσετε τα νομικά δικαιώματα όλων (συμπεριλαμβανομένων των δικών σας). Αυξάνουν σημαντικά τις πιθανότητές σας να έχετε μια θετική εμπειρία.
Εάν το πρότζεκτ σας βρίσκεται στο GitHub, η τοποθέτηση αυτών των αρχείων στον ριζικό σας κατάλογο με τα συνιστώμενα ονόματα αρχείων θα βοηθήσει το GitHub να τα αναγνωρίσει και να τα εμφανίσει αυτόματα στους αναγνώστες σας.
### Επιλέγοντας μια άδεια
Μια άδεια ανοικτού κώδικα εγγυάται ότι άλλοι μπορούν να χρησιμοποιούν, να αντιγράφουν, να τροποποιούν και να συνεισφέρουν στο πρότζεκτ σας χωρίς επιπτώσεις. Σας προστατεύει επίσης από δύσκολες νομικές καταστάσεις. **Πρέπει να συμπεριλάβετε μια άδεια χρήσης όταν ξεκινάτε ένα πρότζεκτ ανοικτού κώδικα**.
Η νομική εργασία δεν είναι διασκεδαστική. Τα καλά νέα είναι ότι μπορείτε να αντιγράψετε και να επικολλήσετε μια υπάρχουσα άδεια χρήσης στο αποθετήριό σας. Θα χρειαστεί μόνο ένα λεπτό για να προστατέψετε τη σκληρή δουλειά σας.
Οι [MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) και [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) είναι οι πιο δημοφιλείς άδειες ανοικτού κώδικα, αλλά [υπάρχουν και άλλες επιλογές](https://choosealicense.com) για να επιλέξετε.
Όταν δημιουργείτε ένα νέο πρότζεκτ στο GitHub, σας δίνεται η δυνατότητα να επιλέξετε μια άδεια χρήσης. Η συμπερίληψη μιας άδειας ανοικτού κώδικα θα καταστήσει το πρότζεκτ σας στο GitHub ανοικτού κώδικα.

Αν έχετε άλλες ερωτήσεις ή ανησυχίες σχετικά με τις νομικές πτυχές της διαχείρισης ενός έργου ανοικτού κώδικα, [σας καλύπτουμε](../legal/).
### Γράφοντας ένα README
Τα READMEs κάνουν περισσότερα από το να εξηγούν πώς να χρησιμοποιήσετε το πρότζεκτ σας. Εξηγούν επίσης γιατί το πρότζεκτ σας έχει σημασία και τι μπορούν να κάνουν οι χρήστες σας με αυτό.
Στο README σας, προσπαθήστε να απαντήσετε στις ακόλουθες ερωτήσεις:
* Τι κάνει αυτό το πρότζεκτ;
* Γιατί είναι χρήσιμο αυτό το πρότζεκτ;
* Πώς μπορώ να ξεκινήσω;
* Πού μπορώ να βρω περισσότερη βοήθεια, αν τη χρειαστώ;
Μπορείτε να χρησιμοποιήσετε το README για να απαντήσετε σε άλλες ερωτήσεις, όπως πώς χειρίζεστε τις συνεισφορές, ποιοι είναι οι στόχοι του έργου και πληροφορίες σχετικά με τις άδειες χρήσης και την απόδοση. Αν δεν θέλετε να δέχεστε συνεισφορές ή αν το πρότζεκτ σας δεν είναι ακόμα έτοιμο για παραγωγή, γράψτε αυτές τις πληροφορίες.
Μερικές φορές, οι άνθρωποι αποφεύγουν να γράψουν ένα README επειδή αισθάνονται ότι το πρότζεκτ είναι ημιτελές ή δεν θέλουν συνεισφορές. Όλοι αυτοί είναι πολύ καλοί λόγοι για να γράψετε ένα τέτοιο κείμενο.
Για περισσότερη έμπνευση, δοκιμάστε να χρησιμοποιήσετε τον ["Make a README" guide](https://www.makeareadme.com/) του @dguo ή το [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) του @PurpleBooth για να γράψετε ένα πλήρες README.
Όταν συμπεριλαμβάνετε ένα αρχείο README στον ριζικό κατάλογο, το GitHub θα το εμφανίσει αυτόματα στην αρχική σελίδα του αποθετηρίου.
### Γράφοντας τις κατευθυντήριες γραμμές συνεισφοράς σας
Ένα αρχείο CONTRIBUTING λέει στο κοινό σας πώς να συμμετάσχει στο πρότζεκτ σας. Για παράδειγμα, θα μπορούσατε να συμπεριλάβετε πληροφορίες σχετικά με:
* Πώς να καταθέσετε μια αναφορά σφάλματος (δοκιμάστε να χρησιμοποιήσετε τα [πρότυπα issue και pull request](https://github.com/blog/2111-issue-and-pull-request-templates))
* Πώς να προτείνετε ένα νέο χαρακτηριστικό
* Πώς να ρυθμίσετε το περιβάλλον σας και να εκτελέσετε δοκιμές
Εκτός από τις τεχνικές λεπτομέρειες, ένα αρχείο ΣΥΜΒΟΛΗΣ είναι μια ευκαιρία να επικοινωνήσετε τις προσδοκίες σας για τις συνεισφορές, όπως:
* Τα είδη των συνεισφορών που αναζητάτε
* Ο οδικός χάρτης ή το όραμά σας για το πρότζεκτ
* Πώς οι συνεργάτες θα πρέπει (ή δεν θα πρέπει) να έρθουν σε επαφή μαζί σας
Χρησιμοποιώντας ένα ζεστό, φιλικό τόνο και προσφέροντας συγκεκριμένες προτάσεις για συνεισφορές (όπως η συγγραφή τεκμηρίωσης ή η δημιουργία ενός ιστότοπου) μπορείτε να κάνετε τους νεοεισερχόμενους να αισθάνονται ευπρόσδεκτοι και ενθουσιασμένοι να συμμετάσχουν.
Για παράδειγμα, το [Active Admin](https://github.com/activeadmin/activeadmin/) ξεκινά [τον οδηγό συνεισφοράς του](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) με:
> Πρώτα απ' όλα, σας ευχαριστώ που σκέφτεστε να συνεισφέρετε στο Active Admin. Είναι άνθρωποι σαν εσάς που κάνουν το Active Admin ένα τόσο σπουδαίο εργαλείο.
Στα πρώτα στάδια του έργου σας, το αρχείο CONTRIBUTING μπορεί να είναι απλό. Θα πρέπει πάντα να εξηγείτε πώς να αναφέρετε σφάλματα ή θέματα αρχείων, καθώς και τυχόν τεχνικές απαιτήσεις (όπως δοκιμές) για να κάνετε μια συνεισφορά.
Με την πάροδο του χρόνου, μπορεί να προσθέσετε και άλλες συχνές ερωτήσεις στο αρχείο ΣΥΝΔΡΟΜΗ. Η καταγραφή αυτών των πληροφοριών σημαίνει ότι λιγότεροι άνθρωποι θα σας κάνουν τις ίδιες ερωτήσεις ξανά και ξανά.
Για περισσότερη βοήθεια σχετικά με τη σύνταξη του αρχείου CONTRIBUTING, δείτε το [πρότυπο οδηγού συνεισφοράς](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) του @nayafia ή το ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/) του @mozilla.
Συνδέστε το αρχείο CONTRIBUTING από το README, ώστε να το βλέπουν περισσότεροι άνθρωποι. Εάν [τοποθετήσετε το αρχείο CONTRIBUTING στο αποθετήριο του έργου σας](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), το GitHub θα συνδέει αυτόματα το αρχείο σας όταν ένας συνεργάτης δημιουργεί ένα ζήτημα ή ανοίγει ένα pull request.

### Καθιέρωση κώδικα δεοντολογίας
Τέλος, ένας κώδικας δεοντολογίας βοηθά στον καθορισμό βασικών κανόνων συμπεριφοράς για τους συμμετέχοντες στο πρότζεκτ σας. Αυτό είναι ιδιαίτερα πολύτιμο αν ξεκινάτε ένα πρότζεκτ ανοικτού κώδικα για μια κοινότητα ή μια εταιρεία. Ένας κώδικας δεοντολογίας σας δίνει τη δυνατότητα να διευκολύνετε την υγιή, εποικοδομητική συμπεριφορά της κοινότητας, γεγονός που θα μειώσει το άγχος σας ως συντηρητής.
Για περισσότερες πληροφορίες, ανατρέξτε στον οδηγό [Κώδικας δεοντολογίας](../code-of-conduct/).
Εκτός από το να γνωστοποιεί _πώς_ περιμένετε από τους συμμετέχοντες να συμπεριφέρονται, ένας κώδικας συμπεριφοράς τείνει επίσης να περιγράφει ποιους αφορούν αυτές οι προσδοκίες, πότε ισχύουν και τι πρέπει να γίνει σε περίπτωση παραβίασης.
Όπως οι άδειες ανοικτού κώδικα, έτσι και για τους κώδικες δεοντολογίας υπάρχουν αναδυόμενα πρότυπα, ώστε να μην χρειάζεται να γράψετε τους δικούς σας. Το [Contributor Covenant](https://contributor-covenant.org/) είναι ένας drop-in κώδικας συμπεριφοράς που χρησιμοποιείται από [πάνω από 40.000 πρότζεκτ ανοικτού κώδικα](https://www.contributor-covenant.org/adopters), συμπεριλαμβανομένων των Kubernetes, Rails και Swift. Ανεξάρτητα από το κείμενο που χρησιμοποιείτε, θα πρέπει να είστε προετοιμασμένοι να επιβάλλετε τον κώδικα συμπεριφοράς σας όταν είναι απαραίτητο.
Επικολλήστε το κείμενο απευθείας σε ένα αρχείο CODE_OF_CONDUCT στο αποθετήριό σας. Κρατήστε το αρχείο στο ριζικό κατάλογο του έργου σας, ώστε να είναι εύκολο να το βρείτε, και παραπέμψτε σε αυτό από το README σας.
## Ονομασία και branding του έργου σας
Το branding είναι κάτι περισσότερο από ένα φανταχτερό λογότυπο ή ένα πιασάρικο όνομα έργου. Έχει να κάνει με το πώς μιλάτε για το πρότζεκτ σας και σε ποιον απευθύνεστε με το μήνυμά σας.
### Επιλέγοντας το σωστό όνομα
Διαλέξτε ένα όνομα που να είναι εύκολο να το θυμάστε και, ιδανικά, να δίνει μια ιδέα για το τι κάνει το πρότζεκτ. Για παράδειγμα:
* [Sentry](https://github.com/getsentry/sentry) παρακολουθεί τις εφαρμογές για αναφορά ατυχημάτων
* [Thin](https://github.com/macournoyer/thin) είναι ένας γρήγορος και απλός διακομιστής ιστοσελίδων Ruby
Αν βασίζεστε σε ένα υπάρχον πρότζεκτ, η χρήση του ονόματός του ως πρόθεμα μπορεί να βοηθήσει να αποσαφηνιστεί τι κάνει το πρότζεκτ σας (για παράδειγμα, το [node-fetch](https://github.com/bitinn/node-fetch) φέρνει το `window.fetch` στο Node.js).
Σκεφτείτε πάνω απ' όλα τη σαφήνεια. Τα λογοπαίγνια είναι διασκεδαστικά, αλλά να θυμάστε ότι ορισμένα αστεία μπορεί να μη μεταφράζονται σε άλλους πολιτισμούς ή σε ανθρώπους με διαφορετικές εμπειρίες από εσάς. Ορισμένοι από τους δυνητικούς χρήστες σας μπορεί να είναι υπάλληλοι της εταιρείας: δεν θέλετε να τους κάνετε να νιώσουν άβολα όταν θα πρέπει να εξηγήσουν το πρότζεκτ σας στη δουλειά!
### Αποφυγή συγκρούσεων ονομάτων
[Ελέγξτε για πρότζεκτ ανοικτού κώδικα με παρόμοιο όνομα](http://ivantomic.com/projects/ospnc/), ειδικά αν μοιράζεστε την ίδια γλώσσα ή το ίδιο οικοσύστημα. Εάν το όνομά σας συμπίπτει με ένα δημοφιλές υπάρχον πρότζεκτ, μπορεί να προκαλέσετε σύγχυση στο κοινό σας.
Αν θέλετε έναν ιστότοπο, μια λαβή στο Twitter ή άλλες ιδιότητες που θα αντιπροσωπεύουν το πρότζεκτ σας, βεβαιωθείτε ότι μπορείτε να πάρετε τα ονόματα που θέλετε. Ιδανικά, [κρατήστε αυτά τα ονόματα τώρα](https://instantdomainsearch.com/) για να είστε ήσυχοι, ακόμη και αν δεν σκοπεύετε να τα χρησιμοποιήσετε ακόμη.
Βεβαιωθείτε ότι το όνομα του έργου σας δεν παραβιάζει κανένα εμπορικό σήμα. Μια εταιρεία μπορεί να σας ζητήσει αργότερα να καταργήσετε το πρότζεκτ σας ή ακόμη και να κινηθεί νομικά εναντίον σας. Δεν αξίζει τον κόπο να το ρισκάρετε.
Μπορείτε να ελέγξετε τη [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) για συγκρούσεις εμπορικών σημάτων. Αν είστε σε μια εταιρεία, αυτό είναι ένα από τα πράγματα με τα οποία μπορεί να σας βοηθήσει η [νομική ομάδα](../legal/).
Τέλος, κάντε μια γρήγορη αναζήτηση στο Google για το όνομα του έργου σας. Θα μπορούν οι άνθρωποι να βρουν εύκολα το πρότζεκτ σας; Εμφανίζεται κάτι άλλο στα αποτελέσματα της αναζήτησης που δεν θα θέλατε να δουν;
### Ο τρόπος που γράφετε (και κωδικοποιείτε) επηρεάζει και το brand σας!
Καθ' όλη τη διάρκεια του έργου σας, θα γράφετε πολύ: READMEs, tutorials, έγγραφα της κοινότητας, απαντήσεις σε θέματα, ίσως ακόμη και ενημερωτικά δελτία και λίστες αλληλογραφίας.
Είτε πρόκειται για επίσημη τεκμηρίωση είτε για ένα απλό μήνυμα ηλεκτρονικού ταχυδρομείου, το στυλ γραφής σας αποτελεί μέρος της επωνυμίας του έργου σας. Σκεφτείτε πώς θα μπορούσατε να φανείτε στο κοινό σας και αν αυτός είναι ο τόνος που θέλετε να μεταδώσετε.
Η χρήση θερμής, περιεκτικής γλώσσας (όπως "τους", ακόμη και όταν αναφέρεται σε ένα άτομο) μπορεί να συμβάλει σημαντικά στο να γίνει το πρότζεκτ σας φιλόξενο για τους νέους συνεισφέροντες. Μείνετε σε απλή γλώσσα, καθώς πολλοί από τους αναγνώστες σας μπορεί να μην έχουν ως μητρική γλώσσα τα αγγλικά.
Πέρα από τον τρόπο που γράφετε λέξεις, το στυλ κωδικοποίησης μπορεί επίσης να γίνει μέρος της επωνυμίας του έργου σας. Το [Angular](https://angular.io/guide/styleguide) και το [jQuery](https://contribute.jquery.org/style-guide/js/) είναι δύο παραδείγματα πρότζεκτ με αυστηρό στυλ κωδικοποίησης και κατευθυντήριες γραμμές.
Δεν είναι απαραίτητο να γράψετε έναν οδηγό στυλ για το πρότζεκτ σας όταν ξεκινάτε, και μπορεί να διαπιστώσετε ότι σας αρέσει να ενσωματώνετε διαφορετικά στυλ κωδικοποίησης στο πρότζεκτ σας ούτως ή άλλως. Θα πρέπει όμως να προβλέψετε πώς το στυλ γραφής και κωδικοποίησης που χρησιμοποιείτε μπορεί να προσελκύσει ή να αποθαρρύνει διαφορετικούς τύπους ανθρώπων. Τα πρώτα στάδια του έργου σας είναι η ευκαιρία σας να δημιουργήσετε το προηγούμενο που επιθυμείτε.
## Ο κατάλογος ελέγχου πριν από την έναρξη
Είστε έτοιμοι να ανοίξετε το πρότζεκτ σας; Ακολουθεί ένας κατάλογος ελέγχου για να σας βοηθήσει. Έχετε τσεκάρει όλα τα κουτάκια; Είστε έτοιμοι να ξεκινήσετε! [Κάντε κλικ στο "publish"](https://help.github.com/articles/making-a-private-repository-public/) και χτυπήστε τον εαυτό σας στην πλάτη.
**Έγγραφα**
**Κώδικας**
**Άνθρωποι**
Αν είστε άτομο:
Εάν είστε εταιρεία ή οργανισμός:
## Τα καταφέρατε!
Συγχαρητήρια για την ανοιχτή διάθεση του πρώτου σας έργου. Ανεξάρτητα από το αποτέλεσμα, η δημόσια εργασία είναι ένα δώρο στην κοινότητα. Με κάθε δέσμευση, σχόλιο και pull request, δημιουργείτε ευκαιρίες για τον εαυτό σας και για τους άλλους να μάθουν και να αναπτυχθούν.
================================================
FILE: _articles/es/best-practices.md
================================================
---
lang: es
title: Buenas Prácticas para Mantenedores de Código.
description: Haciéndote la vida más fácil como un mantenedor de código abierto, desde el proceso de documentación hasta sacar el máximo provecho de la comunidad.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## ¿Qué significa ser un mantenedor de código?
Si tu trabajo es mantener un proyecto de código abierto que mucha gente usa, probablemente te hayas percatado que pasas más tiempo respondiendo issues que programando.
En etapas tempranas de un proyecto, pasas tiempo experimentando con ideas nuevas y tomando decisiones con base a lo que te gusta. A medida que tu proyecto crece en popularidad, te encontrarás en una situación en la que trabajarás con tus usuarios y colaboradores cada vez más.
Mantener un proyecto requiere más que solamente código. Estas tareas no suelen ser tenidas en cuenta, pero son igual de importantes para un proyecto en crecimiento. Hemos reunido algunas ideas que harán tu vida más fácil, desde el proceso de documentación hasta sacar el máximo provecho de la comunidad.
## Documentando tus procesos
Tomar nota de los procedimientos es una de las mejores prácticas que puedes llevar a cabo como mantenedor de código.
Documentar no sólo aclara tu pensamiento, sino que también ayuda a otros a entender lo que necesitas o estás esperando, sin siquiera tener que preguntar.
Tomar nota de los procesos facilita el hecho de decir que no cuando la propuesta de alguien no encaja en tu contexto. Así como también hace más fácil que otras personas puedan sumarse y ayudar. Nunca sabes quien podría estar leyendo o usando tu proyecto.
Aunque no seas del tipo de persona que escribe párrafos completos, tener los puntos claves anotados es mejor que no tener nada.
### Dejando en claro la visión de tu proyecto
Comienza escribiendo los objetivos de tu proyecto. Agrégalos a tu archivo README, o crea un archivo separado llamado VISION. Si existen otros artefactos que puedan ayudar, como un mapa del proyecto, házlos públicos también.
Llevando una clara visión documentada, te mantiene en foco y ayuda a evitar el mal entendimiento del alcance por parte de otros colaboradores.
Por ejemplo:
@lord descubrió que tener la visión de un proyecto lo ayudó a darse cuenta que peticiones priorizar. Como un mantenedor de código novato, se lamentó de no ser fiel al alcance del proyecto cuando recibió su primer pedido de funcionalidad por [Slate](https://github.com/lord/slate).
### Comunicar tus expectativas
Algunas veces puede que sea complicado detallar las reglas para que otra gente pueda contribuir. Puedes llegar a sentir que estás comportándote como un policía o arruinando la diversión para los demás.
Escritas y aplicadas de manera justa, sin embargo, las buenas reglas dan poder a los mantenedores de código. Evitan que te arrastren a hacer cosas que no quieres hacer.
La mayoría de las personas que se encuentran con tu proyecto no saben nada sobre ti o tus circunstancias. Pueden asumir que te pagan para trabajar en él, especialmente si es algo que usan y dependen regularmente. Tal vez en un momento ponías mucho tiempo en tu proyecto, pero ahora estás ocupado con un nuevo trabajo o algún miembro de la familia.
¡Está perfectamente bien! Sólo asegúrate de que la gente lo sepa.
Si el mantenimiento de tu proyecto es a tiempo parcial o simplemente ser voluntario, sé honesto acerca de cuánto tiempo tienes. Esto no es lo mismo que cuánto tiempo piensas que el proyecto requiere, o cuánto tiempo otros quieren que gastes.
Aquí hay algunas reglas que vale la pena anotar:
* Cómo se revisa y acepta una contribución (_¿Necesitan hacer pruebas? ¿Alguna plantilla que deban utilizar para las issues?_)
* Los tipos de contribuciones que aceptarás (_¿Sólo quieres ayuda con una parte del código?_)
* Cuando es apropiado hacer seguimiento (_eg. "Puede esperar una respuesta de un mantenedor de código dentro de los próximos 7 días. Si no ha oído nada para entonces, no dude en hacer ping al hilo."_)
* Cuanto tiempo dedicas al proyecto (_eg. "Sólo invertimos unas 5 horas semanales en este proyecto"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), y [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) son algunos ejemplos de proyectos con reglas claras para mantenedores y colaboradores.
### Mantener la comunicación pública
No olvides documentar tus interacciones, también. Dondequiera que puedas, mantén la comunicación sobre tu proyecto pública. Si alguien intenta ponerse en contacto contigo en privado para discutir una solicitud de funcionalidad o una necesidad de soporte, hágalo dirigirse educadamente a un canal de comunicación público, como una lista de correo o un rastreador de issues.
Si te reúnes con otros mantenedores, o tomas alguna decisión importante en privado, documenta estas conversaciones de manera pública, incluso si sólo estás publicando tus notas.
De esa manera, cualquiera que se una a tu comunidad tendrá acceso a la misma información que alguien que ha estado allí durante años.
## Aprendiendo a decir no
Has escrito las cosas. Lo ideal sería que todo el mundo lea tu documentación, pero en realidad, tendrás que recordar a los demás que este conocimiento existe.
Tener todo escrito, sin embargo, ayuda a despersonalizar las situaciones cuando necesitas hacer cumplir tus reglas.
Decir que no, no es divertido, pero _"Tu contribución no coincide con los criterios de este proyecto"_ se siente menos personal que _"No me gusta tu contribución"_.
Decir que no, se aplica a muchas situaciones que encontrarás como un mantenedor de código: solicitudes de funcionalidades que no encajan en el alcance, alguien que descarrila una discusión, hacer algún trabajo innecesario para otros.
### Mantener la conversación amistosa
Uno de los lugares más importantes en los que practicarás el decir que no, es en tu cola de issues y pull request. Como responsable del proyecto, inevitablemente recibirás sugerencias que no desearás aceptar.
Tal vez la contribución cambie el alcance de tu proyecto o no coincida con tu visión. Tal vez la idea es buena, pero la implementación es mala.
Independientemente de la razón, es posible manejar con tacto las contribuciones que no cumplen con los estándares de tu proyecto.
Si recibes una contribución que no deseas aceptar, tu primera reacción podría ser ignorarla o fingir que no la has visto. Hacerlo podría dañar los sentimientos de la otra persona e incluso desmotivar a otros posibles contribuyentes en tu comunidad.
No dejes abierta una contribución no deseada porque te sientas culpable o quieras ser amable. Con el tiempo, tus issues sin respuesta y PRs hará que trabajar en tu proyecto se sienta mucho más estresante e intimidante.
Es mejor cerrar de inmediato las contribuciones que sabes que no quieres aceptar. Si tu proyecto ya sufre de un gran backlog o lista de funcionalidades a implementar, @steveklabnik tiene sugerencias para [cómo elegir issues de manera eficiente](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
En segundo lugar, ignorar las contribuciones envía una señal negativa a tu comunidad. Contribuir a un proyecto puede ser intimidante, especialmente si es la primera vez de alguien. Incluso si no aceptas su contribución, reconocer a la persona detrás de ella y agradecerles por su interés. ¡Es un gran cumplido!
Si no quieres aceptar una contribución:
* **Agradeceles** por su contribución.
* **Explícales por qué no encaja** en el alcance del proyecto, y ofrece sugerencias claras para mejorar, si es posible. Sé amable, pero firme.
* **Comparte información relevante**, si la tienes. Si notas peticiones repetidas de cosas que no deseas aceptar, agrégalas a tu documentación para evitar explicar siempre lo mismo.
* **Cierra la solicitud**
no deberías necesitar más de 1-2 oraciones para responder. Por ejemplo, cuando un usuario de [celery](https://github.com/celery/celery/) reportó un error relacionado a Windows, @berkerpeksag [respondió con](https://github.com/celery/celery/issues/3383):
[celery screenshot](/assets/images/best-practices/celery.png)
Si te aterra la idea de decir que no, no te sientas sólo. Como @jessfraz [dice](https://blog.jessfraz.com/post/the-art-of-closing/):
> He hablado con los mantenedores de código de numerosos proyectos de código abierto diferentes, Mesos, Kubernetes, Chromium, y todos están de acuerdo en que una de las partes más difíciles de ser un mantenedor de código es decir "No" a los parches que no quieres.
No te sientas culpable por no querer aceptar la contribución de alguien. La primera regla del código abierto, [de acuerdo con](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"No, es temporal; si, es para siempre."_ Si bien la empatía con el entusiasmo de otra persona es algo bueno, rechazar una contribución no es lo mismo que rechazar a la persona detrás de ella.
En última instancia, si una contribución no es lo suficientemente buena, no estás obligado a aceptarla. Sé amable y receptivo cuando las personas contribuyan a tu proyecto, pero sólo acepta cambios que realmente crees que harán que tu proyecto sea mejor. Cuanto más a menudo practiques diciendo no, más fácil se vuelve. Es una promesa.
### Sé proactivo
Para reducir el volumen de las contribuciones no deseadas en primer lugar, explica el proceso de tu proyecto para presentar y aceptar contribuciones en tu guía de contribución.
Si recibes demasiadas contribuciones de baja calidad, exija que los colaboradores hagan un poco de trabajo de antemano, por ejemplo:
* Llenar una plantilla o checklist para issues o PRs
* Abrir una issue antes de presentar un PR
Si no siguen tus reglas, cierra la issue inmediatamente y dirígelos a tu documentación.
Si bien este enfoque puede parecer desagradable al principio, ser proactivo es realmente bueno para ambas partes. Reduce la posibilidad de que alguien ponga muchas horas de trabajo desperdiciado en un pull request que no vas a aceptar. Y hace que tu carga de trabajo sea más fácil de manejar.
A veces, cuando dices que no, tu contribuyente potencial puede molestarse o criticar tu decisión. Si su comportamiento se vuelve hostil, [tomar medidas para desactivar la situación](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) o incluso eliminarlos de tu comunidad, si no están dispuestos a colaborar constructivamente.
### Abrazar el mentoreo
Tal vez alguien en tu comunidad envíe regularmente contribuciones que no cumplen con los estándares de tu proyecto. Puede ser frustrante para ambas partes pasar repetidamente por el proceso de rechazo.
Si ves que alguien está entusiasmado con tu proyecto, pero necesita un poco de práctica, ten paciencia. Explica claramente en cada situación por qué sus contribuciones no cumplen con las expectativas del proyecto. Trata de asignarles una tarea más fácil o menos ambigua, como una issue marcada como _"good first issue,"_ , para entrar en calor. Si tienes tiempo, considera asesorando a través de su primera contribución, o encuentra a alguien más en tu comunidad que esté dispuesto a ser mentor de ellos.
## Aprovechando la comunidad
No tienes que hacer todo tu mismo. ¡La comunidad de tu proyecto existe por una razón! Incluso si aún no tienes una comunidad de contribuidores activa, si tienes muchos usuarios, que trabajen.
### Compartir la carga de trabajo
Si estás buscando a otros para que se sumen, comienza por preguntar alrededor.
Cuando veas nuevos contribuyentes haciendo contribuciones repetidas, deberías reconocer su trabajo ofreciéndoles más responsabilidades. Documenta cómo otros pueden alcanzar roles de liderazgo si lo desean.
Alentar a otros a [compartir la propiedad del proyecto](../building-community/#comparte-la-propiedad-de-tu-proyecto) puede reducir en gran medida tu carga de trabajo, como @lmccart descubrió en su proyecto, [p5.js](https://github.com/processing/p5.js).
Si necesitas alejarte de tu proyecto, ya sea por un tiempo o permanentemente, no hay vergüenza en pedirle a alguien más que se haga cargo por tí.
Si otras personas son entusiastas acerca de la dirección del proyecto, dales permiso para relizar commits o formalmente entrégale el control a alguien más. Si alguien realizó un fork de tu proyecto y lo está manteniendo activamente en otro lugar, considera enlazar el fork desde tu proyecto original. ¡Es genial que tantas personas quieran que tu proyecto crezca!
@progrium [encontró que](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) documentar la visión de su proyecto, [Dokku](https://github.com/dokku/dokku), ayudó a esos objetivos a perdurar, incluso después de que se alejó del proyecto:
> Escribí una página wiki describiendo lo que quería y por qué lo quería. ¡Por alguna razón me sorprendió que los mantenedores comenzaran a mover el proyecto en esa dirección! ¿Sucedió exactamente cómo lo haría? No siempre. Pero aún así acercó el proyecto a lo que quería.
### Permite a otros construir las soluciones que necesitan
Si un contribuyente potencial tiene una opinión diferente sobre lo que tu proyecto debería hacer, es posible que debas animarlo suavemente a trabajar en su propio fork.
Hacer fork de un proyecto no tiene por qué ser una cosa mala. Ser capaz de copiar y modificar proyectos es una de las mejores cosas sobre es código abierto. Alentar a los miembros de su comunidad a trabajar en su propio fork puede proporcionar la salida creativa que necesitan, sin entrar en conflicto con la visión de tu proyecto.
Lo mismo se aplica a un usuario que realmente quiere una solución que simplemente no tienes el alcance para construir. Ofrecer APIs y hooks personalizables puede ayudar a otros a satisfacer sus propias necesidades, sin tener que modificar la fuente directamente.
@orta [encontró que](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) alentando plugins para CocoaPods llevó a "algunas de las ideas más interesantes":
> Es casi inevitable que una vez que un proyecto se hace grande, los mantenedores tienen que ser mucho más conservadores sobre cómo introducir nuevo código. Te vuelves bueno en decir "no", pero muchas personas tienen necesidades legítimas. Por lo tanto, en su lugar terminas convirtiendo tu herramienta en una plataforma.
## Traigan a los robots
Así como hay tareas en las que otras personas pueden ayudarte, también hay tareas que ningún ser humano debería tener que hacer. Los robots son tus amigo. úsalos para hacer tu vida como mantenedor de código más fácil.
### Exigir pruebas y otras comprobaciones para mejorar la calidad de tu código
Una de las maneras más importantes de automatizar tu proyecto es realizando testing.
El testing ayuda a los contribuyentes a sentirse seguros de que no romperán nada. También facilitan la revisión y aceptación de contribuciones rápidamente. Cuanto más receptivo seas, más comprometida podrá ser tu comunidad.
Configura los tests automáticos que se ejecutarán en todas las contribuciones entrantes y asegúrate de que puedan ser ejecutados localmente por los contribuyentes. Requiere que todas las contribuciones de código pasen por los tests antes de que puedan ser enviadas. Ayudará a establecer un estándar mínimo de calidad para todas las solicitudes.
[Chequeos de estado requerido](https://help.github.com/articles/about-required-status-checks/) en GitHub pueden ayudar a asegurar que ningún cambio se fusione sin pasar primero por los tests.
Si agregas testing, asegúrate de explicar cómo funcionan en su archivo CONTRIBUTING.
### Utilizar herramientas para automatizar tareas básicas de mantenimiento
La buena noticia sobre el mantenimiento de un proyecto popular es que otros mantenedores probablemente han enfrentado problemas similares y han construido una solución para ello.
Existen una [variedad de herramientas disponibles](https://github.com/showcases/tools-for-open-source) para ayudar a automatizar algunos aspectos del trabajo de mantenimiento. Algunos ejemplos:
* [semantic-release](https://github.com/semantic-release/semantic-release) automatiza tus versiones
* [mention-bot](https://github.com/facebook/mention-bot) menciona posibles revisores para las rull requests
* [Danger](https://github.com/danger/danger) ayuda a automatizar la revisión de código
Para informes de errores y otras contribuciones comunes, GitHub posee [Plantillas para Issues y Pull Requests](https://github.com/blog/2111-issue-and-pull-request-templates), que puedes crear para agilizar la comunicación que recibes. también pueden configurar [filtros de correo electrónico](https://github.com/blog/2203-email-updates-about-your-own-activity) para adimistrar las notificaciones de tu correo.
Si deseas volverte un poco más avanzado, las guías de estilo pueden estandarizar las contribuciones del proyecto y hacerlas más fáciles de revisar y aceptar.
Sin embargo, si tus estándares son demasiado complicados, pueden aumentar las barreras a la contribución. Asegúrate de que sólo estás agregando reglas para facilitar la vida de todos.
Si no estás seguro de qué herramientas usar, observe lo que hacen otros proyectos populares, especialmente los de tu ecosistema. Por ejemplo, ¿qué aspecto tiene el proceso de contribución para otros módulos de Node? El uso de herramientas y enfoques similares también hará que tu proceso sea más familiar para sus contribuyentes objetivo.
## Está bien poner pausa
El trabajo de código abierto una vez te trajo alegría. Tal vez ahora está empezando a hacer que te sientas evasivo o culpable.
Tal vez te sientes abrumado o con un creciente sentimiento de temor cuando piensas en tus proyectos. Y mientras tanto, las issues y pull requests se acumulan.
El agotamiento es un problema real y omnipresente en el trabajo de código abierto, especialmente entre los mantenedores. Como mantenedor, tu felicidad es un requisito no negociable para la supervivencia de cualquier proyecto de código abierto.
Aunque debería darse por sabido, ¡Toma un descanso! No debes esperar hasta que te sientas quemado a tomar unas vacaciones. @brettcannon, un desarrollador de Python, decidió tomar [unas vacaciones de un mes de duración] (http://www.snarky.ca/why-i-took-october-off-from-oss-volunteering) después de 14 años de voluntariado OSS.
Al igual que cualquier otro tipo de trabajo, tomar pausas regulares te mantendrá fresco, feliz y emocionado acerca de tu trabajo.
A veces, puede ser difícil tomar un descanso del trabajo de código abierto cuando sientes como si todo el mundo te necesitara. La gente puede incluso tratar de hacerte sentir culpable por alejarte.
Haz tu mejor esfuerzo para encontrar soporte para sus usuarios y comunidad mientras estés lejos de un proyecto. Si no puedes encontrar el apoyo que necesitas, toma un descanso de todos modos. Asegúrese de comunicar cuando no estés disponible, para que la gente no se sienta confundida por tu falta de capacidad de respuesta.
Tomar descansos se aplica a más que sólo vacaciones, también. Si no deseas hacer trabajo de código abierto los fines de semana, o durante las horas de trabajo, comunica esas decisiones a los demás, para que sepan que no deben molestarte.
## ¡Cuídate primero!
Mantener un proyecto popular requiere habilidades diferentes que las primeras etapas de crecimiento, pero no es menos gratificante. Como mantenedor, practicarás liderazgo y habilidades personales en un nivel que pocas personas pueden experimentar. Aunque no siempre es fácil de manejar, el establecimiento de límites claros y sólo tomar lo que te hace sentir cómodo te ayudará a mantenerte feliz, actualizado y productivo.
================================================
FILE: _articles/es/building-community.md
================================================
---
lang: es
title: Construyendo Comunidades de Bienvenida
description: Construyendo una comunidad que anime a al gente a usar, contribuir y educar con su proyecto
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Configurando tu proyecto para el éxito
Acabas de lanzar tu proyecto, estás pasando la voz, y la gente lo está siguiendo. ¡Genial! Ahora, ¿cómo haces que se queden?
Una comunidad de bienvenida es una inversión a futuro a tu proyecto y a tu reputación. Si tu proyecto está recién comenzando a ver sus primeras contribuciones, comienza por dar a los primeros colaboradores una experiencia positiva, y facilítales continuar regresando.
### Haz que la gente se sienta bienvenida
Una manera de pensar acerca de la comunidad del proyecto es a través de lo que @MikeMcQuaid llama [contributor funnel](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

A medida que construyes tu comunidad, considera cómo alguien que se encuentra en la parte superior del embudo (un usuario potencial) puede teóricamente hacer su camino hacia abajo (un mantenedor activo). Tu objetivo es reducir la fricción en cada etapa de la experiencia del colaborador. Cuando las personas obtienen victorias fáciles, se sentirán incentivadas a hacer más.
Comienza con tu documentación:
* **Hazlo sencillo para quienes tienen que utilizar el proyecto.** [Un documento README amigable](../starting-a-project/#escribiendo-un-readme) y códigos de ejemplo claros harán más fácil el comienzo para cualquiera que aterrice en tu proyecto.
* **Explica claramente cómo contribuir**, utilizando [un archivo CONTRIBUTING](../starting-a-project/#escribiendo-las-pautas-para-contribuir) y manteniendo tus problemas al día.
Una buena documentación invita a las personas a interactuar con tu proyecto. Eventualmente, alguien abrirá un problema o un pull request.
* **¡Cuando alguien nuevo aterrice en tu proyecto, agradécele por su interés!** Es suficiente una sola experiencia negativa para que alguien no quiera regresar.
* **Compórtate de manera sensible.** Si no respondes a sus problemas por un mes, lo más probable es que ya se hayan olvidado de tu proyecto.
* **Tener la mente abierta acerca de los tipos de contribuciones que aceptará.** Muchos colaboradores comienzan reportando un error o con un arreglo pequeño. Hay [muchas maneras de contribuir](../how-to-contribute/#qué-significa-contribuir) con un proyecto. Permite que las personas ayuden de la manera que ellos quieran ayudar.
* **Si existe alguna contribución con la que estás en desacuerdo,** agradécele por su idea y [explícale porqué](../best-practices/#aprendiendo-a-decir-no) no encaja en la incumbencia del proyecto, enlazando con documentación relevante si la tienes.
La mayoría de los colaboradores con el código abierto son "colaboradores casuales": personas que contribuyen con un proyecto solo ocasionalmente. Un colaborador casual probablemente no disponga del tiempo para dedicarse a tiempo completo a tu proyecto, por lo que tu trabajo es el de hacer que sea más sencillo para ellos contribuir.
Animar a otros colaboradores es también invertir en tí mismo . Cuando brinda poder a sus más grandes seguidores paraa continuar con el trabajo que los mantiene entusiasmados, hay menos presión que si lo hicieras tu mismo.
### Documenta todo
Cuando comienzas un proyecto, mantener tu trabajo en privado puede sentirse natural. Pero los proyectos de código abierto avanzan mucho más cuando procesas tu documento en público.
Cuando escribes las cosas, más personas pueden participar en cada paso del camino. Puedes necesitar ayuda o algo que todavía no sabes que necesitas.
Escribir las cosas significa mucho más que documentación técnica. Cada vez que sientas la necesidad de escribir algo o de discutir tu proyecto de manera privada, pregúntate si puedes hacerlo públicamente.
Mantente transparente acerca de la hoja de ruta de tu proyecto, los tipos de contribuciones que estás buscando, cómo se revisa el trabajo de quienes contribuyan o porqué tomas determinadas decisiones.
Si ves que varios usuarios están trabajando en el mismo problema, documenta sus respuestas en el README.
Para las reuniones, considera publicar tus notas o carteles en un asunto relevante. La retroalimentación que obtendrás de este nivel de transparencia te sorprenderá
Documentar todo también se aplica al trabajo que tu haces. Si estás trabajando en una actualización sustancial de tu proyecto, ponlo en un pull request y márcalo como trabajo en proceso (WIP, work in progress por sus siglas en inglés). De esa manera, otras personas se pueden sentir involucradas en el proceso desde temprano
### Compórtate de manera sensible
A medida que [promocionas tu proyecto](../finding-users),las personas te harán llegar sus comentarios. Pueden tener preguntas acerca de cómo funcionan las cosas, o necesitar ayuda para comenzar.
Trata de responder cuando álguien presenta un problema, envía un pull request o realiza una pregunta acerca de tu proyecto. Cuando respondes rápidamente, logras que las personas se sientan parte del diálogo, y estarán más entusiasmadas de participar.
Incluso si no puedes revisar su solicitud inmediatamente, con solo agradecer su temprana ayuda incrementará su compromiso. Así es como @tdreyno respondió a un pull request en [Middleman](https://github.com/middleman/middleman/pull/1466):

Un [estudio de Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) encontró que los colaboradores que reciben una revisión de su código dentro de las 48 horas tienen una significativa mayor tasa de retornar y de repetir alguna contribución.
Las conversaciones acerca de tu proyecto pueden también ocurrir en otros lugares a lo largo de la internet, como en Stack Overflow, Twitter o reddit. Puedes configurar tus notificaciones en cualquiera de esos tres lugares de manera de ser alertado cuando álguien mencione tu proyecto.
### Brinda a tu comunidad un lugar para congregarse
Existen dos razones para brindar a tu comunidad un lugar para congregarse.
La primera razón es para ellos. Ayuda a las personas a conocerse. Las personas con intereses comunes querrán inevitablemente un lugar para hablar de ello. Y cuando la comunicación es pública y accesible, cualquiera puede leer los archivos pasados para ponerse al día y participar.
La segunda razón es para tí. Si no brindas a las personas un lugar público para conversar acerca de tu proyecto, probablemente te contactarán directamente. Al comienzo puede no parecer demasiado responder a mensajes privados "sólo por esta vez". Pero con el tiempo, especialmente si tu proyecto se hace conocido, te sentirás agotado. Evita la tentación de comunicarte con las personas acerca de tu proyecto en privado. En su lugar, dirígelos al canal público designado.
La comunicación pública puede ser tan simple como dirigir a las personas a abrir un tema en lugar de enviarle un correo electrónico a usted directamente o comentar en su blog. Podrías incluso configurar una lista de correos electrónicos, o crear una cuenta en Twitter, Slack o un canal IRC para que las personas puedan comentar sobre tu proyecto. ¡O prueba todo lo anterior!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) tiene tiempo reservado de las horas de oficina para ayudar a los miembros de la comunidad cada dos semanas :
> Kops también tiene tiempo reservado cada dos semanas para ofrecer ayuda y guía a la comunidad. Los mantenedores de Kops han acordado reservar tiempo dedicado específicamente a trabajar con los recién llegados, ayudando con PRs y discutiendo nuevas características.
Las excepciones notables a la comunicación pública son: 1) cuestiones de seguridad y 2) infracciones sensibles al código de conducta. Siempre deberías encontrar la manera para que las personas reporten estos aspectos de manera privada. Si no quieres utilizar tu correo electrónico privado, configura una cuenta de correo electrónico dedicada.
## Haciendo crecer tu comunidad
Las comunidades son extremadamente poderosas. Ese poder puede ser una bendición o una maldición, dependiendo de cómo lo maneje. A medida que la comunidad de tu proyecto crece, existen maneras para ayudar a que se convierta en una fuerza de construcción, no de destrucción.
### No toleres a los malos actores
Cualquier proyecto popular inevitablemente atraerá a personas que perjudican a tu comunidad, en lugar de ayudarla. Pueden comenzar discusiones innecesarias, discutir sobre rasgos triviales o burlarse de otros.
Haz todo lo posible para adoptar una política de tolerancia cero hacia este tipo de personas. Si no se controla, las personas negativas harán que otras personas de tu comunidad se sientan incómodas. Incluso pueden irse.
Los debates regulares sobre aspectos triviales de tu proyecto distrae a otros, incluyéndote también a tí, de enfocarte en tareas importantes. Las nuevas personas que llegan a tu proyecto pueden ver estas conversaciones y pueden o no querer participar.
Cuando ves que ocurre algún comportamiento negativo, haz la observación correspondiente de manera pública. Explícale, en un tono amable, porqué dicho comportamiento no es aceptable. Si el problema persiste, puedes necesitar [solicitarle que se retire](../code-of-conduct/#aplicando-tu-código-de-conducta). Tu [código de conducta](../code-of-conduct/) puede ser una guía constructiva para estas conversaciones.
### Reúnete con los colaboradores donde ellos están
La buena documentación solo se vuelve importante a medida que tu comunidad crece. Los colaboradores casuales, quienes no estarían familiarizados con tu proyecto de otra manera, leen tu documentación para entender rápidamente el contexto de lo que necesitas.
En tu archivo CONTRIBUTING, indica de manera explícita a los nuevos colaboradores cómo pueden comenzar. Tal vez quieras dedicar incluso una sección para tal propósito. [Django](https://github.com/django/django), por ejemplo, tiene una página especial para dar la bienvenida a los nuevos colaboradores.

En tu cola de asuntos, etiqueta errores que son convenientes para diferentes tipos de colaboradores: por ejemplo, [_"solo principiantes"_](https://kentcdodds.com/blog/first-timers-only), "conveniente para quienes resuelven su primer bug", o "documentación". [Estas etiquetas](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) hacen que sea más fácil buscar problemas a resolver para alguien nuevo en el proyecto y así poder comenzar.
Finalmente, utiliza tu documentación para hacer que las personas se sientan bienvenidas en cada etapa del camino.
Nunca vas a interactuar con la mayoría de las personas que se acercan a tu proyecto. Puede haber colaboradores que no recibiste porque álguien se sintió intimidado o no supo cómo comenzar. Incluso algunas palabras amables pueden evitar que esas personas abandonen tu proyecto por verse frustradas
Por ejemplo, así es como [Rubinius](https://github.com/rubinius/rubinius/) comienza su [guía de contribuciones](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):/
> Queremos comenzar agradeciendo por utilizar Rubinius. Este proyecto es un trabajo de amor, y apreciamos a todos los usuarios que detectan errores, hacen mejoras al rendimiento, y ayudan con su documentación. Cada contribución es significativa, así que gracias por participar. Dicho esto, aquí dejamos algunas pautas que pedimos que sigan para que podamos abordar con éxito su problema.
### Comparte la propiedad de tu proyecto
Las personas se entusiasman por contribuir con proyectos cuando perciben un sentido de pertenencia. Eso no significa que tengas que cambiar la visión de tu proyecto o aceptar contribuciones que no quieres. Pero cuanto más crédito les des a los otros, más se quedarán.
Observa si puedes encontrar maneras de compartir la propiedad de tu comunidad tanto como te sea posible. Aquí hay algunas ideas:
* **Evita corregir errores sencillos (no críticos).** En su lugar, utilizalos como oportunidades para reclutar nuevos colaboradores, o mentorear a alguien que quiere contribuir. Puede parecer antinatural al principio, pero tu inversión se verá compensada en el tiempo. Por ejemplo, @michaeljoseph le pidió a un colaborador que enviara un pull request de un problema detallado a continuación [Cookiecutter](https://github.com/audreyr/cookiecutter) en lugar de arreglarlo él mismo.

* **Inicia un archivo de COLABORADORES o AUTORES en tu proyecto** que liste a todos los que colaboraron con tu proyecto, como lo hace [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* Si tienes una comunidad considerable, **envía un boletín o escribe un post en un blog** agradeciendo a los colaboradores. Rust's [This Week in Rust](https://this-week-in-rust.org/) y Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) son dos buenos ejemplos.
* **Da a cada colaborador permiso para hacer commit.** @felixge encontró con esto que las personas [se entusiasmaran por pulir sus parches](https://felixge.de/2013/03/11/the-pull-request-hack.html), e incluso encontró nuevas personas para mantener proyectos en los que no había trabajado hace tiempo.
* Si tu proyecto está alojado en GitHub, **mueve tu proyecto desde tu cuenta personal hacia una [Organización](https://help.github.com/articles/creating-a-new-organization-account/)** y agrega al menos un administrador de respaldo. Las Organizaciones hacen que sea más fácil trabajar en proyectos con colaboradores externos.
La realidad es que [la mayoría de los proyectos solo tienen](https://peerj.com/preprints/1233/) una o dos personas que lo mantengan y que hacen la mayoría del trabajo. Mientras más grande sea tu proyecto, y mientras más grande sea tu comunidad, más fácil es encontrar ayuda.
Aunque no siempre encuentres quien responda tu pedido, poner una señal por fuera incrementa las probabilidades de que otras personas se presenten. Y mientras más temprano comiences, más pronto las personas podrán ayudar.
## Resolviendo conflictos
En las primeras etapas de tu proyecto, es bastante fácil tomar decisiones importantes. Cuando quieres hacer algo, simplemente lo haces.
A medida que tu proyecto se hace más conocido, más personas tendrán interés en las decisiones que tomes. Incluso si no tienes una gran comunidad de colaboradores, si tu proyecto tiene muchos usuarios, encontrarás personas que pesan en las decisiones o plantean cuestiones propias.
En su mayor parte, si has cultivado una comunidad amistosa y que se maneja con respeto y has documentado tu proceso de manera abierta, tu propia comunidad debería tener la habilidad para encontrar una solución. Pero algunas veces te encontrarás con problemas un poco más difíciles de abordar.
### Fijando la vara para la amabilidad
Cuando tu comunidad se encuentre lidiando con una cuestión difícil, los ánimos pueden subir. Las personas pueden enojarse o verse frustradas y tomar las críticas como algo personal, incluso provenientes de tí.
Tu trabajo como encargado es evitar que estas situaciones escalen. Incluso si tienes una fuerte opinión sobre un tema, trata de mantener una posición de moderador o de facilitador, en lugar de ir a la lucha y empujar tus propios puntos de vista. Si alguien está comportándose de manera poco educada o monopolizando la conversación, [actúa inmediatamente](../building-community/#no-toleres-a-los-malos-actores) para mantener una discusión civilizada y productiva.
Otras personas te mirarán como un guía. Da un buen ejemplo. Todavía puedes expresar desacuerdo, tristeza o preocupación, pero de manera calmada.
Mantener la calma no es fácil, pero demostrar liderazgo mejora la salud de tu comunidad. Internet te agradece.
### Trata a tu README como una constitución
Tu README es [más que un conjunto de instrucciones](../starting-a-project/#escribiendo-un-readme). También es un lugar para hablar acerca de tus objetivos, visión del producto, y un mapa de ruta. Si las personas están muy centradas en debatir el mérito de un aspecto en particular, puede revisar el README y conversar de una visión más alta de tu proyecto. Centrarse en el README también despersonaliza la conversación, para tener una discusión más constructiva.
### Enfócate en el viaje, no en el destino
Algunos proyectos utilizan un proceso de votación para tomar decisiones importantes. Si bien parece sensato a primera vista, la votación pone hincapié en una "respuesta", más que en escuchar y tratar las preocupaciones de cada uno.
La votación se puede volver política, cuando los miembros de la comunidad se sienten presionados para hacerse favores entre ellos o a votar de determinada manera. No todos votan, si existe una [mayoría silenciosa](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) en tu comunidad, o existen usuarios que no se enteraron que se estaba llevando a cabo una votación.
Algunas veces, la votación se vuelve un desempate necesario. La mayoría de las veces, sin embargo, pone énfasis en la ["búsqueda de concenso"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) más que en concensuar.
Bajo un proceso de búsqueda de concenso, los miembros de la comunidad discuten las principales preocupaciones hasta que sienten que fueron escuchadas adecuadamente. Cuando solo quedan preocupaciones menores, la comunidad avanza. La "Búsqueda de Concenso" reconoce que una comunidad puede no ser capaz de alcanzar una respuesta perfecta. En su lugar prioriza el escuchar y la discusión.
Incluso si no adopta un proceso de búsqueda de consenso, como responsable del proyecto, es importante que las personas sepan que estás escuchando. Hacer que las personas se sientan escuchadas y comprometerte a resolver sus preocupaciones, facilita gran parte del camino para resolver situaciones delicadas. Luego, continúa tus palabras con acciones.
No te apresures a tomar una decisión por el bien de tener una solución. Asegúrate de que todos se sientan escuchados y que toda la información se ha hecho pública antes de avanzar hacia una solución.
### Mantén la conversación centrada en la acción
La discusión es importante, pero hay una diferencia entre conversaciones productivas e improductivas.
Fomenta la discusión siempre y cuando se mueva hacia una solución. Si está claro que la conversación se está extinguiendo o yéndose por las ramas, que las cosas se están haciendo personales o que están discutiendo sobre detalles menores, es tiempo de cerrarla.
Permitir que continúen estas conversaciones no solo es malo para un tema en cuestión, sino también para la salud de la comunidad. Esto envía el mensaje que este tipo de conversaciones están permitidas e incluso fomentadas, y puede desalentar a las personas a plantear o resolver problemas futuros.
Con cada aspecto que hayas hecho o que hayan hecho otros, pregúntate, _"¿Cómo nos acerca ésto a una solución?"_
Si la conversación comienza a desenredarse, pregunta al grupo, _"¿Qué pasos deberíamos tomar?"_ para reorientar la conversación.
Si la conversación claramente no va a ningún lado, no existen acciones claras para tomar, o las acciones correctas ya se llevaron adelante, cierra el tema y explica porqué lo cerraste.
### Elige tus batallas sabiamente
El contexto es importante. Considera quién está involucrado en una discusión y cómo representa esta al resto de la comunidad.
¿Están todos en la comunidad molestos, o incluso involucrados en un problema? ¿O es un provocador solitario? No te olvides de considerar a los miembros silenciosos de la comunidad, no solo a las voces activas.
Si el problema no representa las necesidades más amplias de tu comunidad, tal vez solo necesites agradecer las preocupaciones de algunas personas. Si se trata de un problema recurrente sin una solución clara, dirige el foco a discusiones previas y cierra el hilo de discusión.
### Identifica a un decisor de la comunidad
Con una buena actitud y una clara comunicación, es posible resolver la mayoría de las situaciones difíciles. Sin embargo, incluso en una discusión productiva, simplemente pueden haber diferencias de opinión sobre cómo proceder. En esos casos, identifica un individuo o un grupo de personas que puedan actuar como decisivas.
Un decisor puede ser un responsable primario del proyecto, o podría ser un pequeño grupo de personas que toman una decisión en base a votación. Idealmente, habrás identificado un decisor y el proceso asociado en un archivo llamado GOVERNANCE antes de que necesites utilizarlo.
Tu decisor debería ser tu último recurso. Los temas que dividen son una oportunidad de crecer y aprender para tu comunidad. Aprovecha esas oportunidades y utiliza un proceso colaborativo para moverte hacia una solución cada vez que sea posible.
## La comunidad es el ❤️ del código abierto
Las comunidades sanas y prósperas alimentan las miles de horas que se producen cada semana de código abierto. Muchos colaboradores señalan a otras personas como la razón para trabajar -o para no trabajar- en código abierto. Al aprender a aprovechar ese poder de manera constructiva, ayudarás a que álguien tenga una inolvidable experiencia con el código abierto.
================================================
FILE: _articles/es/code-of-conduct.md
================================================
---
lang: es
title: Tu Código de Conducta
description: Facilita el comportamiento sano y constructivo, adoptando y aplicando un código de conducta.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Por qué es necesario un código de conducta
Un código de conducta es un documento que establece expectativas de comportamiento para los participantes de tu proyecto. Adoptar, y aplicar, un código de conducta, ayuda a crear una atmosfera social positiva para la comunidad.
Los códigos de conducta ayudan a proteger no solo a tus participantes, sino también a ti mismo. Si mantienes un proyecto, sabrás que las actitudes improductivas de otros participantes pueden hacerte sentir sin energía o infeliz acerca de tu trabajo.
Un código de conducta te alienta a facilitar un comportamiento saludable y constructivo por parte de la comunidad. Ser proactivo reduce la probabilidad de que tanto tú, como otros, se sientan fatigados con el proyecto, y te ayuda a tomar acción cuando alguien hace algo con lo que no concuerdas.
## Estableciendo un código de conducta
Intenta establecer un código de conducta tan tempranamente como sea posible: idealmente, cuando crees tú proyecto.
Además de comunicar tus expectativas, un código de conducta describe lo siguiente:
* Donde el código de conducta toma efecto _(¿solamente en las issues y pull requests, o en actividades de la comunidad como eventos?)_
* A quien o quienes aplica el código de conducta _(miembros de la comunidad y responsables de mantenimiento, pero ¿Qué hay acerca de los sponsors?)_
* Que sucede si alguien viola el código de conducta
* De qué manera alguien puede reportar una violación
Siempre que sea posible, haga uso del art. El [Contributor Covenant](https://www.contributor-covenant.org/) es un código de conducta usado por más de 40,000 proyectos de software libre, incluyendo Kubernetes, Rails y Swift.
El [Django Code of Conduct](https://www.djangoproject.com/conduct/) y el [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) son también dos ejemplos de buenos códigos de conducta.
Ubica un archivo CODIGO_DE_CONDUCTA en el directorio raíz de tu proyecto, y enlázalo desde tu LEEME, así el mismo se encuentra visible a tu comunidad.
## Decidiendo de qué manera vas a aplicar tu código de conducta
Deberías explicar de qué manera tu código de conducta va a ser aplicado **_antes_** de que una violación ocurra. Hay varios motivos para ello:
* Esto demuestra que eres serio acerca de tomar acciones cuando sea necesario.
* Tu comunidad se sentirá más segura de que sus reclamos son realmente revisados.
* Brindarás a tu comunidad la seguridad de que el proceso de revisión es justo y transparente, en el caso en que se encuentren siendo investigados por una violación.
Deberías brindar a las personas, una manera privada (por ejemplo, mediante una dirección de correo electrónico) de reportar una violación al código de conducta y explicar quién recibe dicho reporte. Puede ser un responsable de mantenimiento, un grupo de tales responsables, o un grupo de trabajo de código de conducta.
Recuerda que alguien puede que desee reportar una violación acerca de la persona que recibe dichos reportes. En tal caso, bríndales la posibilidad de que dichos reportes, sean revisados por alguien más. Por ejemplo, @ctb y @mr-c [explican en su proyecto](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Instancias de abuso, acoso o similares comportamientos inaceptables pueden ser reportados mandando un correo electrónico a **khmer-project@idyll.org** el cual solamente se dirigirá a C. Titus Brown y Michael R. Crusoe. Para reportar una cuestión que involucra a ambos, por favor envía un correo electrónico a **Judi Brown Clarke, Ph.D.** el Director de Diversidad en el BEACON Center for the Study of Evolution in Action, un centro de la Fundación de Ciencia Nacional para la Ciencia y Tecnologia.*
Para inspirarte, mira el [manual de ejecución de Django](https://www.djangoproject.com/conduct/enforcement-manual/) (aunque quizás no necesites algo tan amplio, dependiendo del tamaño de tu proyecto).
## Aplicando tu código de conducta
En ocasiones, a pesar de tus mayores esfuerzos, alguien hará algo que violará este código. Existen diferentes maneras de abordar el comportamiento negativo o dañino en la práctica.
### Recolectar información acerca de la situación
Otórgale la importancia a lo que cada miembro de la comunidad tiene para decir como se la darías a lo que tú tienes para decir. Si recibes un reporte de que alguien ha violado el código de conducta, tómatelo seriamente e investiga el asunto, incluso si no condice con tu experiencia con dicha persona. De esta manera, demuestras a tu comunidad que valoras su perspectiva y confías en su juicio.
El miembro de la comunidad puede ser un reincidente quien constantemente hace sentir incómodos a los demás o puede haber hecho o dicho algo por única vez. En ambas situaciones podemos tomar acciones, dependiendo del contexto.
Antes de que respondas, tómate tu tiempo para entender lo que sucedió. Lee los comentarios y conversaciones pasados de la persona para entender mejor quienes son y por qué podrían haber actuado de tal manera. Intenta recolectar perspectivas de otros acerca de dicha persona y su comportamiento.
### Toma acciones apropiadas
Luego de recolectar y procesar suficiente información, necesitaras decidirte que hacer. Mientras consideras tus siguientes pasos, recuerda que tu objetivo como moderador es fomentar un ambiente seguro, respetuoso y colaborativo. Considera no solamente como tratar la situación en cuestión, sino también como tu respuesta afectará al comportamiento y expectativas del resto de tu comunidad.
Cuando alguien reporta una violación al código de conducta, es tu trabajo ocuparte de ella, y no de otra persona. A veces, quien reporta está revelando la información con gran riesgo para su carrera, reputación o integridad física. Forzarlos a confrontar a su acosador puede poner en una posición comprometedora a quien reporta. Debes comunicarte de manera directa con la persona en cuestión, a menos que quien reporta explícitamente solicite lo contrario.
Existen varias maneras de responder a una violación del código de conducta:
* **Dar a la persona en cuestión una advertencia pública** y explicarle de que manera su comportamiento ha impactado negativamente en los demás, preferiblemente en el canal en donde ocurrió. Siempre que sea posible, la comunicación pública transmite a la comunidad la seriedad con la que consideras al código de conducta. Sé amable, pero firme, en la manera en que te comunicas.
* **Acercarse de forma privada a la persona** en cuestión para explicarle de que manera su comportamiento impacto negativamente en los demás. Puedes usar un canal de comunicación privado si la situación involucra información personal. Si te comunicas de manera privada con alguien, es una buena idea realizar una copia carbón a los primeros que hayan reportado la situación, de esta manera sabrán que tomaste acciones. Pídele consentimiento a quien reporta antes de enviarle una copia carbón.
En ocasiones, no es posible lograr una solución. La persona en cuestión puede volverse agresiva y hostil cuando sea confrontada o puede que no cambie su comportamiento. Frente a esta situación, deberías considerar tener en cuenta medidas más fuertes. Por ejemplo:
* **Suspender a la persona** en cuestión del proyecto, aplicando una prohibición en la participación en todo aspecto del proyecto.
* **Expulsar permanentemente** a la persona del proyecto.
La expulsión de miembros no debe ser tomado a la ligera y representa una permanente e irreconciliable diferencia de perspectiva. Deberías tomar estas medidas solamente cuando es evidente que no puede llegarse a una solución.
## Tus responsabilidades como responsable de mantenimiento
Un código de conducta no es una ley aplicada arbitrariamente. Tú eres quien aplica el código de conducta y es tu responsabilidad seguir las reglas que el código de conducta establece.
Como encargado de mantenimiento, tú estableces las directrices de tu comunidad y las aplicas de acuerdo a las reglas establecidas en tu código de conducta. Esto implica considerar seriamente a cualquier violación al código de conducta. Quien reporta merece una justa y total revisión de su reclamo. Si determinas que el comportamiento reportado no es una violación, comunícate de manera clara con ellos y explícales por qué no tomarás ninguna acción. Lo que hacen con eso depende de ellos: tolerar el comportamiento con el cual tenían un problema, o dejar de participar en la comunidad.
Un reporte de comportamiento que _técnicamente_ no viola el código de conducta puede indicar que hay un problema en tu comunidad, y deberías investigar este problema potencial y actuar acorde. Esto puede incluir revisar tu código de conducta para clarificar comportamientos aceptables y/o hablar con la persona cuyo comportamiento fue reportado y explicarles que si bien no han violado el código de conducta, están rozando el borde de lo que se espera y están haciendo sentir incómodos a ciertos participantes.
Finalmente, como responsable de mantenimiento, tú estableces y aplicas los estándares de comportamiento aceptable. Tienes la habilidad para moldear los valores de la comunidad del proyecto, y los participantes cuentan con que apliques dichos valores de manera justa e imparcial.
## Promover el comportamiento que quieres ver en el mundo 🌎
Cuando un proyecto parece hostil y poco acogedor, incluso cuando se trata solamente de una persona cuyo comportamiento es tolerado por los demás, te arriesgas a perder mucho más contribuidores, algunos de los cuales quizás no conozcas jamás. No siempre es fácil adoptar o aplicar un código de conducta, pero fomentar un ambiente acogedor ayudará a que tu comunidad crezca.
================================================
FILE: _articles/es/finding-users.md
================================================
---
lang: es
title: Encontrando Usuarios Para Tu Proyecto
description: Ayuda a tu proyecto de código abierto a crecer poniéndolo en manos de usuarios satisfechos.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Pasando la voz
No existe ninguna regla que diga que debes fomentar un proyecto de código abierto cuando lo comienzas. Existen muchas razones satisfactorias para trabajar en código abierto que no tienen nada relacionado con la popularidad. Si esperas que otros encuentren y usen tu proyecto de código abierto, sin embargo, ¡es momento para decirles a todos acerca de tu arduo trabajo!
## Pensando tu mensaje
Antes de comenzar el verdadero trabajo de promover tu proyecto, deberías ser capaz de explicar qué es lo que hace, y porqué importa.
¿Qué hace a tu proyecto diferente o interesante? ¿Porqué lo creaste? Respondiendo estas preguntas para tí mismo hará más fácil convencer a los demás.
Recuerda que las personas se involucran como usuarios, y eventualmente como contribuyentes, porque resuelve un problema para ellos. Mientras piensas sobre el mensaje para tu proyecto y su valor, trata de verlo a través de los ojos de qué_es_lo_que_ellos_querrían.
Por ejemplo, @robb utiliza códigos de ejemplo para comunicar claramente porqué su proyecto, [Cartography](https://github.com/robb/Cartography), es útil:

Para una vista más profunda sobre cómo comunicar tu mensaje, puedes ver el ejercicio en Mozilla ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) para el desarrollo de personas usuario.
## Ayuda a las personas a encontrar y seguir tu proyecto
Ayuda a las personas a encontrar y recordar tu proyecto indicándoles un solo espacio de nombres.
**Consigue un gestor claro para promover tu trabajo.** Un usuario de Twitter, una URL de GitHub o un canal de IRC son maneras fáciles de indicar a las personas sobre tu proyecto. También le da a la creciente comunidad de tu proyecto un lugar donde reunirse.
Si todavía no deseas establecer estos canales para tu proyecto, promociona en tu usuario personal de Twitter o tu cuenta personal de GitHub todo lo que hagas. Por ejemplo, asegúrate que esté incluído en tu biografía o tus diapositivas si te toca disertar en una reunión o evento. De esa manera, las personas sabrán cómo llegar hasta ti o seguir tu trabajo.
**Considera crear un sitio web para tu proyecto.** Un sitio web hace más amigable a tu proyecto y más fácil de navegar, especialmente cuando se acompaña de documentación clara y de tutoriales. También sugiere que tu proyecto está activo, lo que hará que su audiencia se sienta más confortable usándolo. Utiliza ejemplos para dar a las personas ideas de cómo usar tu proyecto.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), co-creador of Django, dijo que un sitio web fue _"por lejos lo mejor que hicimos con Django en los primeros días"_.
Si el proyecto está alojado en GitHub, puedes utilizar [GitHub Pages](https://pages.github.com/) para construir un sitio web facilmente. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), y [Middleman](https://middlemanapp.com/) son [algunos ejemplos](https://github.com/showcases/github-pages-examples) de excelentes y completos sitios web.

Ahora que ya tienes un mensaje para tu proyecto, y una manera sencilla para que las personas encuentren su proyecto, ¡ve a hablar con tu audiencia!
## Ve donde está la audiencia de tu proyecto (en línea)
El alcance en línea es una gran manera de compartir y diseminar la palabra rápidamente
Saca ventaja de las comunidades en línea existentes y sus plataformas para alcanzar tu audiencia. Si tu proyecto es de código abierto es un proyecto de software, probablemente puedas encontrar tu audiencia en [Stack Overflow](https://stackoverflow.com/), [reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), o [Quora](https://www.quora.com/). Encuentra los canales donde pienses que las personas obtendrán los mayores beneficios o se sentirán más entusiasmadas acerca de tu trabajo.
Ve si puedes encontrar formas de compartir tu proyecto en maneras relevantes:
* **Conoce proyectos de código abierto relevantes y comunidades.** Algunas veces, no necesitas promocionar tu proyecto directamente. Si tu proyecto es de interés para científicos de datos que utilizan Python, conoce a la comunidad de científicos de datos de Python. A medida que las personas lo conozcan, llegarán oportunidades de conversar y de compartir tu trabajo de manera natural.
* **Encuentra personas que estén experimentando problemas como el que resuelve tu proyecto.** Busca en foros relacionados con personas que caen en la audiencia de tu proyecto. Responde sus preguntas y encuentra una forma diplomática, cuando sea apropiado, de sugerir tu proyecto como una solución.
* **Pide comentarios.** Preséntate y presenta tu trabajo a una audiencia que lo encuentre relevante e interesante. Se específico acerca de quiénes crees que se beneficiarán de tu proyecto. Trata de finalizar la oración: _"Creo que mi proyecto realmente ayudará a X, quien está tratando de hacer Y_". Escucha y responde los comentarios, en lugar de simplemente promover tu trabajo.
En términos generales, enfócate en ayudar a los demás antes de solicitar cosas a cambio. Ya que es sencillo para cualquiera promover un proyecto en línea. habrá mucho ruido. Da a las personas el contexto de lo que eres, no solo de lo que quieres, para destacarte entre la multitud.
Si nadie presta atención o responde a tu alcance inicial, ¡no te desanimes! La mayoría de los lanzamientos de proyectos son un proceso iterativo que puede llevar meses o años. Si no consigues una respuesta la primera vez, prueba con una táctica diferente, o busqua maneras de agregar valor al trabajo de los demás primero. Estas cosas llevan tiempo y dedicación.
## Ve donde está la audiencia de tu proyecto (fuera de línea)

Los eventos fuera de línea son una manera popular de promocionar nuevos proyectos. Es una gran manera de alcanzar una audiencia comprometida y de construir conexiones personales más profundas, especialmente si estás interesado en llegar a los desarrolladores.
Si no tienes [experiencia para hablar en público](https://speaking.io/), comienza por encontrar una comunidad local de personas que estén relacionados con el lenguaje o ecosistema de tu proyecto.
Si nunca hablaste en un evento anteriormente, es perfectamente normal sentirte nervioso. Recuerda que tu audiencia está allí porque genuinamente quieren escuchar acerca de tu trabajo.
Mientras escribes tu charla, enfócate en lo que el público pueda encontrar interesante y valioso. Mantén tu lenguaje amigable y accesible. Sonríe, respira y diviértete.
Cuando te sientas listo/a, considera dar una charla en una conferencia para promover tu proyecto. Las conferencias pueden ayudar a alcanzar a más personas, algunas veces de todo el mundo.
Busca conferencias que sean específicas de tu lenguaje o ecosistema. Antes que enviar tu charla, investiga la conferencia de antemano, para adaptar tu charla a sus asistentes e incrementar tus oportunidades de ser aceptado. A menudo puedes tener una idea de la audiencia de una conferencia mirando a sus disertantes.
## Construye una reputación
Además de las estrategias mencionadas anteriormente, la mejor forma de invitar a las personas a compartir y contribuir con tu proyecto es compartir y contribuir con sus proyectos.
Ayudar a los recién llegados, compartir recursos y hacer contribuciones meditadas al trabajo de los demás ayudará a que construyas una reputación positiva. Entonces, la gente tendrá contexto para su trabajo y será más probable que preste atención y comparta lo que tu estás haciendo.
Algunas veces, esas relaciones pueden llevar incluso a asociaciones oficiales con el ecosistema más amplio.
Nunca es demasiado temprano, o muy tarde, para comenzar a construir tu reputación. Incluso si ya lanzaste tu propio proyecto, continúa buscando las formas de ayudar a los demás.
No hay una solución para construir una audiencia en una noche. Ganarse la confianza y el respeto de los demás lleva tiempo, y el trabajo de construir la reputación no termina nunca.
## Síguelo!
Algunas veces, lleva mucho tiempo antes de que la gente note tu proyecto de código abierto. ¡Está bien! Algunos de los proyectos más populares de hoy en día, tardaron años en alcanzar altos niveles de actividad. Enfócate en construir relaciones en lugar de una bala mágica. Sé paciente, y continúa compartiendo tu trabajo con aquellos que lo aprecian.
================================================
FILE: _articles/es/getting-paid.md
================================================
---
lang: es
title: Recibir Pagos por Trabajos en Código Abierto
description: Mantén tu trabajo de código abierto al encontrar apoyo financiero por tu tiempo o tu proyecto.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## ¿Por qué algunas personas buscan apoyo financiero?
La mayor parte del trabajo realizado en proyectos de código abierto es voluntario. Por ejemplo, alguien puede encontrarse con un error en un proyecto que usan y aplican una corrección rápida, o simplemente les puede gustar corregir proyectos de código abierto en su tiempo libre.
Hay muchas razones por las cuales a una persona no le gustaría que le pagaran por su trabajo en código abierto.
* **Ellos pueden llegar a tener ya un trabajo de tiempo completo que disfruten**, que los habilite a contribuir al código abierto en su tiempo libre.
* **Les gusta contribuir a los proyectos de código abierto como un hobby** o escape creativo y no quieren sentirse financieramente obligados a trabajar.
* **Reciben otros beneficios al contribuir al código abierto,** como construir su portfolio de reputación, obtener nuevas habilidades, o sentirse cercanos a una comunidad.
Para otros, especialmente cuando las contribuciones están en proceso o requieren tiempo significativo, recibir dinero al contribuir al código abierto es la única manera en la que pueden participar. Porque el proyecto lo requiera o por razones personales.
Mantener proyectos populares puede ser una responsabilidad significativa, tomando de 10 a 20 horas por semana en vez de un par de horas por mes.
El trabajo pagado también habilita a todo tipo de personas a aportar significativamente. Algunas no pueden afrontar un trabajo ad-honorem (trabajo gratis) en proyectos de código abierto, ya sea por su posición financiera, deudas, familia u otras responsabilidades. Eso significa que el mundo nunca ve contribuciones de personas talentosas que no pueden donar horas de trabajo. Estas implicaciones éticas como @ashedryden [ha descrito](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), desde que el trabajo hecho es parcialmente en favor de las personas que tienen ventajas en su vida, quienes de vuelta ganan ventajas adicionales basadas en sus contribuciones voluntarias, mientras que otros que no pueden ofrecerse voluntariamente no obtiene nuevas oportunidades, lo cual refuerza la actual falta de diversidad en la comunidad de código abierto.
Si tu estás buscando apoyo financiero, hay dos posibles caminos a seguir: puedes pagar por tu propio tiempo como contribuyente, o puedes encontrar organizaciones que aporten a tu proyecto.
## Financiando tu propio tiempo
Hoy en día, muchas personas reciben pagos por trabajos a tiempo parcial o tiempo completo en código abierto. El modo más común de recibir una paga por tu tiempo es hablar con tu empleador.
Es más fácil establecer un trabajo en código abierto si tu empleador usa el proyecto, pero ponte creativo. Puede que tu empleador no use el proyecto, pero usa Python, y mantener un proyecto popular de Python puede atraer nuevos desarrolladores de Python. También puede que haga que tu empleador se vea más desarrollador-amigable en general.
Si tu no tienes un excitante proyecto de código abierto en el que quisieras trabajar, pero te gustaría que tu actual trabajo genere aportes al código abierto, establece un acuerdo con tu empleador para aportar algo del software interno de la organización a la comunidad de código abierto.
Muchas empresas están desarrollando programas de código abierto para construir su marca y reclutar talentos de calidad.
@hueniverse, por ejemplo, encontró que había razones financieras para justificar [la inversión de Walmart al código abierto](http://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). Y @jamesgpearce descubrió que el programa de código abierto de Facebook [hizo la diferencia](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) en el reclutamiento:
> Está alineado con nuestra cultura hacker, y cómo nuestra organizacion era percibida. Le preguntamos a nuestros empleados, "¿Sabías del programa de software de código abierto de Facebook?. Dos tercios dijeron "Sí". Una mitad dijo que el programa contribuía positivamente en la decisión de trabajar para nosotros. Estos no son números marginales, y, espero, que la moda continúe.
Si tu empresa va por esta ruta, es importante mantener clara la relación entre la comunidad y la actividad corporativa. últimamente, el código abierto se mantiene a sí mismo a través de contribuciones de personas de todo el mundo, y eso es más importante que la empresa o la ubicación de la misma.
Si no pueden convencer a tu actual empleador de priorizar un trabajo de código abierto, considera encontrar un nuevo empleador que motive a los empleados a contribuir. Busca empresas que hagan su dedicación al código abierto explícita. Por ejemplo:
* Algunas empresas, como [Netflix](https://netflix.github.io/), tienen páginas web que resaltan su participación en el código abierto.
Proyectos que se originaron en una empresa grande, como [Go](https://github.com/golang) o [React](https://github.com/facebook/react), serán susceptibles a contratar personas que trabajen en código abierto.
Finalmente, dependiendo de tus circunstancias personales, puedes probar generar dinero de forma independiente para financiar tu trabajo de código abierto. Por ejemplo:
* @Homebrew (y [varios mantenedores y organizaciones](https://github.com/sponsors/community)) financian su trabajo a través de [GitHub Sponsors](https://github.com/sponsors)
* @gaearon financió su propio trabajo [Redux](https://github.com/reactjs/redux) a través de [Patreon crowdfunding campaign](https://redux.js.org/)
* @andrewgodwin financió su trabajo de migración de esquemas de Django [a través de una campaña kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
## Encontrando financiación para tu proyecto.
Más allá de los arreglos con contribuyentes individuales, a veces los proyectos generan dinero de empresas, individuos, u otras para financiar trabajos en proceso.
La financiación organizacional podría ir a favor de pagar a los contribuyentes, cubriendo los costos de correr los proyectos (como los costos de hosting), o investigando nuevas funcionalidades o ideas.
Mientras aumenta la popularidad de código abierto, encontrar financiación para proyectos sigue siendo experimental, pero hay algunas opciones que comunmente estan disponibles.
### Genera dinero para trabajo a través de campañas de crowdfunding o sponsors.
Encontrar sponsors funciona si tienes una fuerte audiencia o reputación ya establecida, o tu proyecto es muy popular.
Algunos ejemplos comunes de proyectos sponsoreados incluyen:
* **[webpack](https://github.com/webpack)** genera dinero de empresas e individuos [a través de OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** una organización sin fines de lucro que paga por el trabajo en [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), y otros proyectos de la infraestructura de Ruby.
### Crea un flujo de ingresos.
Dependiendo de tu proyecto, puede que seas capaz de cobrar por soporte comercial o funciones adicionales. Algunos ejemplos incluyen:
* **[Sidekiq](https://github.com/mperham/sidekiq)** ofrecen versiones pagas por soporte adicional.
* **[Travis CI](https://github.com/travis-ci)** ofrece versiones pagas de su producto.
* **[Ghost](https://github.com/TryGhost/Ghost)** es sin fines de lucro con una gestión de servicio paga.
Algunos proyectos populares, como [npm](https://github.com/npm/cli) y [Docker](https://github.com/docker/docker), generan capital de riesgo para soportar el crecimiento de su negocio.
### Suscríbete a subvenciones
Algunas fundaciones de software y compañias ofrecen subvenciones por trabajo en código abierto. A veces, las subvenciones puede ser pagadas a individuos sin establecer una entidad legal para el proyecto.
* **[Lee los documentos](https://github.com/rtfd/readthedocs.org)** recibe una subvención del [Soporte al código abierto de Mozilla](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** fue financiado por [un retiro de Stripe](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** recibió una subvención de [Sloan Foundation](https://sloan.org/programs/digital-technology)
* La **[fundación de software de Python](https://www.python.org/psf/grants/)** ofrece subvenciones a trabajos relacionados con Python.
Por más opciones y casos de estudio, @nayafia [escribió una guía](https://github.com/nayafia/lemonade-stand) para recibir pagos por trabajos en proyectos de código abierto. Diferentes tipos de financiación requieren diferentes tipos de habilidades, entonces considera tus fortalezas para descubrir que opciones funcionan mejor para ti.
## Creando un caso de apoyo financiero
Sin importar si tu proyecto es una nueva idea, o estuvo dando vueltas por años, deberías preveer que tendrás que ponerle mucho esfuerzo en identificar a tu financiador objetivo y construir un caso acorde.
Sin importar si estás buscando pagar por tu propio tiempo, o invertir/generar en un proyecto, deberías poder responderte las siguientes preguntas:
### Impacto
¿Por qué es útil este proyecto? ¿Por qué nuestros usuarios, o potenciales usuarios, les gusta tanto? ¿Dónde se encontrará dentro de cinco años?
### Atracción
Intenta recolectar evidencia de que tu proyecto importa, sin importar las métricas, anécdotas, o testimonios. ¿Hay alguna compañía o algún grupo notorio de personas usando tu proyecto ahora mismo? Si no, ¿Hubo alguna persona prominente que lo aprobó?
### Valor para el financiador
Los financiadores, sin importar si tu empleador o tu fundación generadora de subvenciones, son frecuentemente ofertados con oportunidades. ¿Porqué deberían apoyar tu proyecto por sobre toda otra oportunidad? ¿Como se benefician ellos personalmente?
### Uso de la financiación
¿Qué exactamente lograrás con la financiación propuesta? Concéntrate en hitos de proyectos o imprevistos en vez de los pagos de salario.
### Como recibirás la financiación.
¿El financiador tiene algun requisito de como recibirás el dinero? Por ejemplo, puede que necesites ser un sponsor o tener un sponsor fiscal sin fines de lucro. O tal vez la financiación debe ser entregada a un contratador individual en vez de a una organización. Estos requisitos varían entre los financiadores, así que asegurate de hacer averiguaciones de antemano.
## Experimenta y no te rindas
Recaudar dinero no es fácil, ya sea un proyecto de código abierto, una organización sin fines de lucro, o un emprendimiento de software, y la mayoría de los casos requieren que seas creativo. Debes identificar cómo quieres que te paguen, debes investigar y debes ponerte en el lugar de tu financiador, de esta manera podrás construir un caso convicente para que te financien.
================================================
FILE: _articles/es/how-to-contribute.md
================================================
---
lang: es
title: Cómo Contribuir con el Código Abierto
description: ¿Quieres colaborar con el código abierto? Una guía para hacer contribuciones al código abierto, para principiantes y veteranos.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## ¿Para qué contribuir?
Contribuir en proyectos de código abierto puede ser una provechosa manera de aprender, enseñar, y conseguir experiencia en cualquier habilidad que puedas imaginar.
¿Para qué contribuye la gente en proyectos de código abierto? ¡Por muchas razones!
### Mejora tus habilidades existentes
Ya sea codificación, diseño de interfaces de usuario, diseño gráfico, redacción u organización, si lo que estás buscando es práctica, hay una tarea esperándote en un proyecto de código abierto.
### Conoce personas que están interesadas en temas similares
Los proyectos de código abierto con comunidades cálidas y acogedoras hacen que la gente regrese a través de los años. Muchas personas forman amistades de por vida a través de su participación en el código abierto, ya sea para presenciar exposiciones en conferencias entre pares o largas conversaciones nocturnas sobre burritos.
### Encuentra mentores y enseña a otros
Trabajar con otros en un proyecto compartido significa que tendrás que explicar cómo haces las cosas, así como pedir ayuda. Los momentos de aprendizaje y enseñanza pueden ser actividades satisfactorias para todos los involucrados.
### Construye artefactos públicos que te ayudarán a construir una reputación (y una carrera)
Por definición, todo tu código abierto es público, lo que significa que consigues ejemplos de manera gratuita para llevar a cualquier lugar como una demostración de lo que haces.
### Conoce las habilidades de las personas
El código abierto ofrece oportunidades para practicar habilidades de liderazgo y gestión, a resolver conflictos, organizar equipos y a priorizar el trabajo.
### Es poderoso ser capaz de hacer cambios, incluso pequeños
No necesitas convertirte en un colaborador de toda la vida para disfrutar la participación con el código abierto. ¿Alguna vez viste un error de tipografía, y deseaste que alguien pudiera corregirlo? En un proyecto de código abierto, es justamente lo que puedes hacer. El código abierto ayuda a las personas a sentir acción en sus vidas, en la forma en que experimentan al mundo y eso en si mismo es gratificante.
## Qué significa contribuir
Si eres un colaborador de código abierto nuevo, el proceso puede ser intimidatorio. ¿Cómo encontrar el proyecto adecuado? ¿Qué hacer si no sabes cómo codificar? ¿Qué pasa si algo sale mal?
¡No debes preocuparte! Hay todo tipo de formas de involucrarse con un proyecto de código abierto, y unos pocos consejos te ayudarán a sacar el máximo provecho de tu experiencia.
### No necesitas contribuir con código
Un error conceptual común acerca de contribuir con el código abierto es que debes contribuir con código. De hecho, son a menudo las otras partes de un proyecto las [más descuidadas o pasadas por alto](https://github.com/blog/2195-the-shape-of-open-source). ¡Le harás un _enorme_ favor al proyecto si te ofreces a trabajar en este tipo de contribuciones!
Incluso si te gusta codificar, otro tipo de contribuciones son una gran manera de involucrarse con un proyecto y conocer a otros miembros de la comunidad. Construir esas relaciones te dará oportunidades de trabajar en otras partes del proyecto.
### ¿Te gusta planificar eventos?
* Organiza workshops o reuniones acerca del proyecto, [como hizo @fzamperin para NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Organiza la conferencia del proyecto (si es que tienen una)
* Ayuda a la comunidad de miembros a encontrar las conferencias apropiadas y a presentar propuestas para disertar
### ¿Te gusta diseñar?
* Reestructura los diseños para mejorar la usabilidad del proyecto
* Dirige la investigación de los usuarios para reorganizar y refinar la navegación del proyecto o sus menús, [como lo sugiere Drupal](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Reúne una guía de estilos para ayudar al proyecto a tener un diseño con consistencia visual
* Crea diseños para las remeras o un nuevo logo, [como hicieron los colaboradores de hapi.js's](https://github.com/hapijs/contrib/issues/68)
### ¿Te gusta escribir?
* Escribe y mejora la documentación del proyecto
* Sanea la carpeta de ejemplos para mostrar cómo se usa el proyecto
* Inicia el boletín informativo para el proyecto, o aspectos más destacados a enviar a la lista de correos
* Escribe tutoriales para el proyecto, [como hicieron los colaboradores de pypa's](https://github.com/pypa/python-packaging-user-guide/issues/194)
* Escribe una traducción de la documentación del proyecto
### ¿Te gusta organizar?
* Vincula los problemas duplicados, y sugiere nuevas etiquetas para los problemas, para mantener todo organizado
* Recorre los problemas abiertos y sugiere cerrar los más antiguos, [como hizo @nzakas para eslint](https://github.com/eslint/eslint/issues/6765)
* Realiza preguntas clarificadoras en los problemas recientemente abiertos para hacer que la discusión avance
### ¿Te gusta programar?
* Encuentra un problema abierto para entrar, [como lo hizo @dianjin para Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Pregunta si puedes ayudar a escribir alguna nueva funcionalidad
* Automatiza la configuración del proyecto
* Mejora las herramientas y las pruebas
### ¿Te gusta ayudar a las personas?
* Responde las preguntas acerca del proyecto en, por ejemplo, Stack Overflow ([como este ejemplo Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) o en reddit
* Responde preguntas a las personas en los problemas abiertos
* Ayuda a moderar los foros de discusión o canales de conversación
### ¿Te gusta ayudar a otros a programar?
* Revisa el código que otras personas presentan
* Escribe tutoriales sobre cómo puede usarse un proyecto
* Ofrécete como tutor de otro colaborador, [como lo hizo @ereichert para @bronzdocen on Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### ¡No tienes que trabajar solamente en proyectos de software!
Mientras que el "código abierto" a menudo se refiere a software, puedes colaborar en casi cualquier cosa. Existen libros, recetas, listas y clases que se desarrollan como proyectos de código abierto.
Por ejemplo:
* @sindresorhus sanea una [lista de "asombrosos"](https://github.com/sindresorhus/awesome)
* @h5bp mantiene una [lista de preguntas potenciales para entrevistas](https://github.com/h5bp/Front-end-Developer-Interview-Questions) para desarrolladores candidatos de front-end
* @stuartlynn y @nicole-a-tesla hicieron una [colección de hechos graciosos sobre puffins](https://github.com/stuartlynn/puffin_facts)
Incluso si no eres un desarrollador de software, trabajar en la documentación de un proyecto puede ayudar a comenzar en el código abierto. Es con frecuencia menos intimidante trabajar en proyectos que no involucran código, y ese proceso de colaboración te dará confianza y experiencia.
## Orientándote a un nuevo proyecto
Para cualquier otra cosa distinta de una corrección de error tipográfico, contribuir con el código abierto es como caminar hacia un grupo de extraños en una fiesta. Si comienzas a hablar sobre las llamas, mientras ellos están muy involucrados en una discusión sobre el pez dorado, es probable que te miren de manera un poco extraña.
Antes de lanzarte con los ojos cerrados con tus propias sugerencias, comienza aprendiendo cómo leer a la sala. Si lo haces, aumentan las probabilidades de que tus ideas se noten y sean escuchadas.
### Anatomía de un proyecto de código abierto
Todas las comunidades de código abierto son diferentes.
Luego de pasar años en un proyecto de código abierto significa que aprendiste a conocer un proyecto de código abierto. Si te mueves a un proyecto diferente encontrarás que el vocabulario, las normas, y los estilos de comunicación son completamente diferentes.
Dicho esto, muchos proyectos de código abierto siguen una estructura organizacional similar. Entender los roles de las diferentes comunidades y el proceso en general te ayudará a estar rapidamente orientado para cualquier proyecto nuevo.
Un proyecto de código abierto tiene los siguientes tipos de personas:
* **Autor:** La/s persona/s u organización que creó/crearon el proyecto.
* **Dueño:** La/s persona/s que tiene/n la propiedad administrativa sobre la organización o el repositorio (no siempre es la misma que el autor original)
* **Encargados:** Colaboradores que son responsables de dirigir la visión y de administrar aspectos organizacionales del proyecto. (Pueden también ser autores o dueños del proyecto.)
* **Colaboradores:** Cualquiera que haya contribuido con algo al proyecto.
* **Miembros de la comunidad:** Las personas que utilizan al proyecto. Pueden tener un rol activo en las conversaciones o expresar su opinión sobre la dirección que toma el proyecto.
Los proyectos más grandes pueden tener también subcomisiones o grupos de trabajo enfocados en tareas diferentes, como herramientas, priorización de urgencias, moderación de la comunidad, y organización de eventos. Busca en el sitio web del proyecto una página del "equipo", o en su repositorio para encontrar la documentación política de gobierno, para encontrar esta documentación.
Un proyecto también tiene documentación. Estos archivos están normalmente listados en un nivel alto del repositorio.
* **LICENSE:** Por definición, cada proyecto de código abierto debe tener una [licencia open source](https://choosealicense.com). Si el proyecto no tiene una licencia, entonces no es de código abierto.
* **README:** El archivo README es un manual de instrucción que da la bienvenida al proyecto a los nuevos miembros de la comunidad. Explica por qué el proyecto es útil y cómo comenzar.
* **CONTRIBUTING:** Mientras que el archivo README ayuda a las personas a _usar_ el proyecto, el archivo CONTRIBUTING ayuda a las personas a _contribuir_ con el proyecto. Explica qué tipo de contribuciones son necesarias y cómo llevar adelante el trabajo. Si bien no todos los proyectos tienen un archivo CONTRIBUTING, su presencia señala que se trata de un buen proyecto para contribuir.
* **CODE_OF_CONDUCT:** Sienta sólidas reglas sobre la conducta de los participantes asociados y ayuda a facilitar un entorno acogedor y amistoso. Si bien no todos los proyectos tienen un archivo CODE_OF_CONDUCT, su presencia señala que se trata de un buen proyecto para contribuir.
* **Otra documentación:** Puede haber documentación adicional, como tutoriales, recorridos o políticas de gobierno, especialmente en proyectos de mayor envergadura.
Finalmente, los proyectos de código abierto utilizan las siguientes herramientas para organizar la discusión. La lectura de estos archivos te darán una buena imagen de cómo piensa y trabaja la comunidad.
* **Seguidor de problemas (Issue tracker):** Es donde las personas discuten los problemas relacionados con el proyecto.
* **Pull requests:** Es donde las personas discuten y revisan los cambios que están en progreso.
* **Foros de discusión o lista de correos electrónicos:** Algunos proyectos pueden utilizar estos canales de conversación para tópicos de conversación (por ejemplo _"Cómo hago para..._ o _"Qué piensas sobre..."_ en luga de reportes de errores o pedido de requerimientos). Otros utilizan un rastreador de problemas para todas las conversaciones.
* **Canal de chat síncrono:** Algunos proyectos utilizan canales de chat (como Slack o IRC) para conversaciones casuales, colaboración e intercambios rápidos.
## Encontrando un proyecto donde contribuir
¡Ahora que ya has descubierto cómo funcionan los proyectos de código abierto, es tiempo de encontrar un proyecto con el que contribuir!
Si nunca antes contribuiste al código abierto, acepta algunos consejos del presidente de los Estados Unidos, John F. Kennedy, quien una vez dijo, _"No preguntes qué es lo que tu país puede hacer por ti; pregúntate qué es lo que tú puedes hacer por él"_
Las contribuciones al código abierto ocurren en todos los niveles a lo largo de los proyectos. No necesitas pensar demasiado cuál será tu primera colaboración, o cómo se verá.
En su lugar, comienza pensando sobre el proyecto que ya estás utilizando o que quisieras utilizar. Los proyectos con los que contribuirás activamente son aquellos a los que volverás.
En esos proyectos, cuando te encuentres pensando que algo podría hacerse mejor o diferente, actúa siguiendo tu instinto.
El código abierto no es un club exclusivo; está hecho de personas igual a tí. El término de fantasía "Código abierto" es solo un nombre para tratar a los problemas del mundo como resolubles.
Puedes recorrer un archivo README y encontrar un vínculo roto o un error tipográfico. O tal vez eres un nuevo usuario y te diste cuenta de que algo está roto, o hay un problema que crees que realmente debería estar en la documentación. En lugar de ignorarlo y continuar, o solicitar que alguien lo solucione, observa si puedes ayudar lanzándote sobre él. ¡De eso se trata el código abierto!
> [El 28% de las contribuciones casuales](https://www.igor.pro.br/publica/papers/saner2016.pdf) a la documentación del código abierto se trata de documentación, como correcciones tipográficas, reformateos o redacción de una traducción.
Puedes también utilizar algunos de los siguientes recursos para ayudarte a descubrir nuevos proyectos:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Una lista de verificación antes de que contribuyas
Una vez que hayas encontrado un proyecto con el que quisieras contribuir, realiza un recorrido rápido para asegurarte de que el proyecto es adecuado para aceptar contribuciones. De otra manera, tu duro trabajo puede no tener nunca una respuesta.
Aquí tienes una lista práctica para evaluar si un proyecto es conveniente para nuevos colaboradores.
**Satisface la definición de código abierto**
**El proyecto acepta contribuciones activamente**
Observa la actividad de los commit en la rama principal. En GitHub, puedes ver esta información en la página del repositorio.
Luego, busca en los problemas del proyecto.
Ahora haz lo mismo para los pull requests del proyecto.
**El proyecto es acogedor**
Un proyecto que es amigable y acogedor indica que será receptivo de nuevos colaboradores.
## Cómo enviar una contribución
Ya encontraste un proyecto que te gustaba, y estás listo para hacer una contribución. ¡Por fin! A continuación te mostramos cómo hacer que tu contribución siga por el buen camino.
### Comunicándote de manera efectiva
Sin importar si eres un colaborador para una sola vez o estás intentando unirte a una comunidad, trabajar con otras personas es una de las habilidades más importantes que desarrollarás en un proyecto de código abierto.
Antes de abrir un problema o un pull request, o de hacer una pregunta en un chat, ten en cuenta los siguientes puntos para ayudar a que tus ideas lleguen a buen puerto de manera efectiva.
**Da contexto.** Ayuda a los demás a ponerse al día rápidamente. Si tienes un error, explica lo que estás tratando de hacer y cómo reproducirlo. Si estás sugiriendo una nueva idea, explica por qué crees que sería útil para el proyecto (¡no solamente para tí¡).
> 😇 _"No ocurre X cuando yo hago Y"_
>
> 😢 _"¡X se ha roto! Por favor repárenlo."_
**Haz tu tarea de antemano.** Está bien desconocer cosas, pero mostrando que lo intentaste. Antes de solicitar ayuda, asegúrate de comprobar el README, la documentación, los problemas (abiertos o cerrados), la lista de correos, y de buscar en internet por una respuesta. Las personas agradecerán cuando demuestres que estás tratando de aprender.
> 😇 _"No estoy seguro de cómo implementar X. Verifiqué en los documentos de ayuda y no encontré ninguna mención."_
>
> 😢 _"¿Cómo soluciono X?"_
**Mantén tus solicitudes cortas y directas.** Al igual que el envío de un correo, cualquier contribución, sin importar lo simple o útil que sea, requiere la revisión de parte de otra persona. Muchos proyectos tienen más solicitudes de entrada que personas disponibles para ayudar. Sé conciso. Aumentarás las probabilidades de que alguien pueda ayudarte.
> 😇 _"Me gustaría escribir un tutorial para una API."_
>
> 😢 _"Días atrás estaba manejando por la autopista y me detuve para cargar combustible, y entonces tuve la gran idea de algo que deberíamos estar haciendo pero antes de explicarlo, permítanme mostrarles..."_
**Mantén todas las comunicaciones públicas.** Pese a que es tentador, no te dirijas a los responsables de manera privada a menos que necesites compartir información sensible (como un problema de seguridad o violaciones a la conducta serias). Cuando mantienes las conversaciones públicas, más personas pueden aprender y verse beneficiadas de tu intercambio. La discusión puede ser, en sí misma, una contribución.
> 😇 _(como un comentario) "@-responsable ¡Qué tal! ¿Cómo deberíamos proceder con este PR?"_
>
> 😢 _(como un correo electrónico) "Que tal, disculpa que te moleste con un correo electrónico, pero me estaba preguntando si tendrás la oportunidad de revisar mi PR"_
**Está bien hacer preguntas (¡pero sé paciente!).** Todos fueron nuevos en el proyecto en algún momento, e incluso los colaboradores experimentados necesitan ponerse al día cuando miran un nuevo proyecto. Por lo mismo, incluso responsables de mucha antigüedad no están siempre familiarizados con todas las partes del proyecto. Muéstrales la misma paciencia que quieres que ellos tengan contigo.
> 😇 _"Gracias por estudiar éste error. Seguí tus sugerencias. Esta es la salida."_
>
> 😢 _"¿Por qué no pueden solucionar mi problema? ¿No es este acaso su proyecto?"_
**Respeta las decisiones de la comunidad.** Tus ideas pueden ser diferentes a las prioridades de la comunidad o a la visión. Pueden devolverte alguna retroalimentación o decidir no continuar con tu idea. Mientras que tu buscas atención y compromiso, los responsables deben convivir con tu decisión por más tiempo que tú. Si no estás de acuerdo con la dirección tomada, siempre puedes trabajar en tu propio fork o comenzar tu propio proyecto.
> 😇 _"Lamento que no puedan dar soporte a mi situación, pero como lo explicas solo afecta a una minoría de usuarios, y lo entiendo. Gracias por escuchar."_
>
> 😢 _"¿Por qué no dan soporte a mi situación? ¡Es inaceptable!"_
**Por encima de todo mantenlo con clase.** El código abierto está formado por colaboradores de todo el mundo. El contexto se pierde a través de idiomas, culturas, geografías y zonas horarias. Además, la comunicación escrita hace más difícil transmitir un tono o estado de ánimo. Asume buenas intenciones en esas conversaciones. Está bien, tratando de volver a una idea, solicitar más contexto, o aclarar más tu posición. Trata de dejar a Internet como un lugar mejor del que tú lo encontraste.
### Dando contexto
Antes de hacer nada, haz una rápida verificación para asegurarte que tu idea no se haya discutido anteriormente. Navega por el README del proyecto, los problemas (abiertos y cerrados), lista de correos electrónicos, y en Stack Overflow. No necesitas dedicar horas para todo esto, pero una mirada rápida buscando algunas palabras clave resolverá gran parte de la tarea.
Si no puedes encontrar tu idea en ningún otro lado, estás listo para dar el paso. Si el proyecto está en GitHub, es probable que lo comuniques abriendo un problema o un pull request:
* **Problemas (Issues)** son como comenzar una conversación o discusión.
* **Pull requests** son para comenzar a trabajar en una solución.
* **Para una comunicación ligera,** como una explicación o una pregunta de "cómo", trata preguntando en Stack Overflow, IRC, Slack u otro canal de chat, si el proyecto tiene alguno.
Antes de abrir un problema o un pull request, verifica los documentos de verificación del proyecto (comúnmente es un archivo que se llama CONTRIBUTING), para ver si se necesitan incluir algo específico, puede ser que soliciten que respetes un modelo, o requerir que utilices pruebas.
Si quieres hacer una contribución sustancial, abre un problema para preguntar antes de ponerte a trabajar en ello. Es de gran ayuda observar el proyecto por un tiempo (en GitHub, [puedes hacer click en "Watch"](https://help.github.com/articles/watching-repositories/) para ser notificado de todas las conversaciones), y conocer a los miembros de la comunidad, antes de realizar trabajo alguno que pueda no ser aceptado.
### Abriendo un problema
Frecuentemente deberías abrir un problema en las siguientes situaciones:
* Reportar un error que tú no puedes resolver.
* Discutir un tópico o idea de alto nivel (por ejemplo sobre la comunidad, la visión o políticas).
* Proponer una nueva característica u otra idea del proyecto.
Consejos para comunicar los problemas:
* **Si ves un problema abierto en el que quieres entrar,** coméntalo en el problema, para permitir que las personas sepan que te preocupa. De esa manera, es menos probable que se duplique el trabajo en la comunidad.
* **Si un problema fue abierto hace mucho tiempo,** es posible que se esté tratando en otro lugar o que ya haya sido resuelto, de modo que primero pregunta por una confirmación antes de ponerte a trabajar.
* **Si abriste un problema, pero más tarde descubriste que estaba resuelto,** comenta en tu propio problema, para que las personas lo sepan, y luego cierra el problema. Incluso documentar ese resultado es una contribución al proyecto.
### Abriendo un pull request
Usualmente deberías abrir un pull request en las siguientes situaciones:
* Enviar arreglos triviales (por ejemplo una corrección tipográfica, un enlace caído o un error obvio).
* Comenzar a trabajar en una contribución que ya fue solicitada, o que ya discutiste en un problema.
Un pull request no representa trabajo terminado. Usualmente es mejor abrir un pull request de forma temprana, de manera que otros puedan observar o dar retroalimentación a tu progreso. Solo márcalo como "trabajo en proceso" (WIP por sus siglas en inglés, work in progress) en la línea del tema. Siempre puedes agregar más commits después.
Si el proyecto está alojado en GITHUB, acá te explicamos los pasos para enviar un pull request:
* **[Abre un fork del repositorio](https://guides.github.com/activities/forking/)** y haz un clon local. Conecta tu repositorio local con el repositorio "superior" original agregándolo como remoto. Descarga los cambios desde el repositorio superior con frecuencia de manera que puedas mantener al día, de forma que cuando tu envíes tu pull request, sea menos probable que haya conflictos. (ver más instrucciones detalladas [aquí](https://help.github.com/articles/syncing-a-fork/).)
* **[Crea una rama](https://guides.github.com/introduction/flow/)** para tus ediciones.
* **Haz referencia a cualquier problema relevante** o documentación de soporte en tu PR (por ejemplo "Cierra #37.")
* **Incluye capturas de pantalla del antes y del después** si tus cambios incluyen diferencias en el HTML o CSS. Arrastra y suelta las imágenes en el cuerpo de tu pull request.
* **¡Haz pruebas de tus cambios!** Corre tus cambios contra las pruebas existentes si realmente existen, y crea nuevas pruebas si es necesario. Sin importar que existan o no las pruebas, asegúrate que tus cambios no produzcan roturas del proyecto existente.
* **Contribuye con el estilo del proyecto** con el máximo de tus capacidades. Esto significa utilizar indentación, punto y comas o comentarios de manera diferente a lo que harías en tu repositorio, pero que hacen más sencillo para los responsables combinar y para otros de entender y mantener el proyecto en el futuro.
Si se trata de tu primer pull request, verifica [Haz un Pull Request](http://makeapullrequest.com/), que fue creado por @kentcdodds como un recurso de recorrido gratuito.
## Qué pasa luego de que enviaste una contribución
¡Lo hiciste! Felicitaciones por convertirte en un colaborador open source. Esperamos que ésta sea la primera de muchas.
Luego de que enviaste tu contribución, una de las siguientes situaciones puede ocurrir:
### 😭 No tienes una respuesta.
Ojalá que [hayas verificado el proyecto buscando signos de actividad](#una-lista-de-verificación-antes-de-que-contribuyas) antes de hacer cualquier contribución. Incluso en proyectos activos, de cualquier manera, es posible que tu contribución no tenga una respuesta.
Si no tuviste una respuesta en más de una semana, es justo responder en el mismo hilo, preguntando a alguien por una revisión. Si conoces el nombre de la persona correcta para que revise tu contribución, puedes hacer una @-mención en ese hilo.
**No contactes a esa persona** de manera privada; recuerda que las comunicaciones públicas son vitales para los proyectos de código abierto.
Si haces una llamada educada y todavía nadie responde, es posible que nadie te responda jamás. No es un sentimiento agradable, pero no dejes que te desanime. ¡Les pasa a todos! Existen muchas razones posibles por las que no tuviste tu respuesta, incluyendo circunstancias personales que pueden estar fuera de control. Trata de encontrar otro proyecto u otra forma de contribuir. En todo caso, ésta es una buena razón para no invertir mucho tiempo en hacer contribuciones antes de ver que existen otros miembros en la comunidad que están comprometidos y responden.
### 🚧 Alguien pide cambios a tu colaboración.
Es común que te pidan hacer cambios a tu contribución, ya sea una retroalimentación sobre el alcance de tu idea, o cambios en tu código.
Cuando alguien te pide cambios, compórtate de manera sensible, se tomaron el tiempo necesario para revisar tu contribución. Abrir un pull request y luego alejarse es de malos modales. Si no sabes cómo hacer los cambios, investiga el problema, y luego pregunta por ayuda si la necesitas.
Si no tienes el tiempo para volver a trabajar en ese problema (por ejemplo, si la conversación tuvo lugar durante meses, y tus circunstancias cambiaron), permite que el responsable lo sepa, de manera que no quede a la espera de una respuesta. Alguien puede sentirse complacido de hacerse cargo.
### 👎 Tu contribución no es aceptada.
Al final tu contribución puede o no ser aceptada. Con suerte, no hayas necesitado poner demasiado esfuerzo en ella. Si no estás seguro de por qué no fue aceptada, es completamente razonable preguntar al responsable por retroalimentación y esclarecimiento. De cualquier manera, al final debes aceptar que se trata de su decisión. No discutas ni adoptes una postura hostil. ¡Siempre serás bienvenido a hacer un fork y trabajar en tu propia versión si no estás de acuerdo!
### 🎉 Tu contribución es aceptada.
¡Hurra! ¡Hiciste una contribución al código abierto exitosamente!
## ¡Lo hiciste!
Si acabas de hacer tu primera contribución al código abierto, o si estás buscando nuevas formas de contribuir, esperamos que esté inspirado para continuar la acción. Si tu contribución no fue aceptada, no te olvides de dar las gracias cuando un responsable puso esfuerzo en ayudarte. El código abierto es llevado adelante por personas como tu: un problema, un pull request, un comentario o choca esos cinco por vez.
================================================
FILE: _articles/es/index.html
================================================
---
layout: index
title: Guías de código abierto
lang: es
permalink: /es/
---
================================================
FILE: _articles/es/leadership-and-governance.md
================================================
---
lang: es
title: Liderazgo y Gobierno
description: Los proyectos de código abierto crecientes pueden beneficiarse de reglas formales para tomar decisiones.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Entendiendo el gobierno de su proyecto en crecimiento
Tu proyecto está creciendo, la gente está comprometida, y estás comprometido a mantener esto en marcha. En esta etapa, es posible que te preguntes cómo incorporar a los contribuyentes regulares de proyectos en su flujo de trabajo, ya sea para darle a alguien el compromiso de acceso o para resolver los debates de la comunidad. Si tiene preguntas, tenemos respuestas.
## ¿Cuáles son ejemplos de roles formales utilizados en proyectos de código abierto?
Muchos proyectos siguen estructuras similares para reconocer y asignar roles a los contribuyentes.
El significado de estos roles queda a tu criterio. Aquí puedes encontrar algunos tipos de rol que quizás reconozcas:
* **Mantenedor**
* **Contribuyente**
* **Committer**
**Para algunos proyectos, los "mantenedores"** son las únicas personas en el proyecto con permisos de commit. En otros proyectos, son simplemente personas que están listadas en el archivo README.md como mantenedores.
Un mantenedor no necesariamente tiene que ser alguien que escribe código para su proyecto. Podría ser alguien que ha hecho mucho trabajo evangelizando su proyecto, o documentación escrita que hizo el proyecto más accesible a los demás. Independientemente de lo que hacen día a día, un mantenedor es probablemente alguien que se siente responsable sobre la dirección del proyecto y se ha comprometido a mejorarlo.
**Un "contribuyente" puede ser cualquiera** que comente en una issue o un pull request, personas que agreguen valor al proyecto (sin importar si sólo está clasificando issues, escribiendo código u organizando eventos), o cualquiera con un merged pull request (esta es la definición más estrecha de un contribuyente).
**El término "committer"** podría utilizarse para distinguir entre el acceso a commit, que es un tipo específico de responsabilidad, de otras formas de contribución.
Mientras que puedes definir tus roles de proyecto de cualquier forma que quieras te gustaría [considerar usar definiciones más amplias](../how-to-contribute/#qué-significa-contribuir) para fomentar más formas de contribución. Puedes utilizar funciones de liderazgo para reconocer formalmente a personas que han hecho contribuciones excepcionales a su proyecto, independientemente de su habilidad técnica.
## ¿Cómo formalizo los roles de liderazgo?
La formalización de tus funciones de liderazgo ayuda a las personas a sentirse propietarias y les dice a otros miembros de la comunidad a quién deben buscar para conseguir ayuda.
Para un proyecto más pequeño, designar líderes puede ser tan simple como agregar sus nombres a su archivo de texto README o CONTRIBUTORS.
Por un proyecto más grande, si tienes una página web, crea una página de equipo o lista tus líderes de proyecto allí. Por ejemplo, [PostgreSQL](https://github.com/postgres/postgres/) tiene una [página exhaustiva de equipo](https://www.postgresql.org/community/contributors/) con perfiles cortos para cada contribuyente.
Si tu proyecto tiene una comunidad de contribuidores muy activa, puede formar un "equipo central" de mantenedores, o incluso subcomisiones de personas que se apropian de diferentes áreas temáticas (por ejemplo, seguridad, clasificación de temas o conducta comunitaria). Permite que la gente se auto-organice y se ofrezca como voluntaria para los papeles que más le entusiasman, en lugar de asignarlos.
Los equipos de liderazgo pueden querer crear un canal designado (como en IRC) o reunirse regularmente para discutir el proyecto (como en Gitter o Google Hangout). Incluso puedes hacer públicas esas reuniones para que otras personas puedan escucharlas. [Cucumber-rubí](https://github.com/cucumber/cucumber-ruby), por ejemplo, [hospeda las horas de oficina cada semana](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talk-with-other-devs).
Una vez que haya establecido roles de liderazgo, ¡no olvides documentar cómo la gente puede alcanzarlos! Establece un proceso claro para que alguien pueda convertirse en un mantenedor o unirse a un subcomité en su proyecto y escribirlo en su GOVERNANCE.md.
Herramientas como [Vossibility](https://github.com/icecrime/vossibility-stack) puede ayudarte a hacer un seguimiento público de quién (o no) está haciendo contribuciones al proyecto. Documentar esta información evita la percepción de la comunidad de que los mantenedores son un grupo que toma sus decisiones en privado.
Por último, si su proyecto está en GitHub, considere la posibilidad de mover su proyecto de su cuenta personal a una organización y agregar al menos un administrador de copias de seguridad. [Las organizaciones GitHub](https://help.github.com/articles/creating-a-new-organization-account/) facilitan la administración de permisos y múltiples repositorios y protegen el legado de su proyecto mediante [la propiedad compartida](../building-community/#comparte-la-propiedad-de-tu-proyecto).
## ¿Cuándo le puedo dar acceso a hacer commits a alguien?
Algunas personas piensan que debe dar acceso de commits a todos los que hacen una contribución. Hacerlo podría alentar a más personas a sentirse dueñas de su proyecto.
Por otro lado, especialmente para proyectos más grandes y complejos, es posible que desee dar sólo el acceso de commit a las personas que han demostrado su compromiso. No hay una manera correcta de hacerlo - ¡Haz lo que te parezca más cómodo!
Si tu proyecto está en GitHub, podés utilizar [ramas protegidas](https://help.github.com/articles/about-protected-branches/) para administrar quién puede enviar a una rama en particular y bajo qué circunstancias.
## ¿Cuáles son algunas de las estructuras de gobierno comunes para los proyectos de código abierto?
Hay tres estructuras de gobierno comunes asociadas a los proyectos de código abierto.
* **BDFL:** BDFL significa "Benevolent Dictator for Life" (en español, "Dictador benevolente para la vida"). Bajo esta estructura, una persona (generalmente el autor inicial del proyecto) tiene la palabra final en todas las decisiones importantes del proyecto. [Python](https://github.com/python) es un ejemplo clásico. Los proyectos más pequeños son probablemente BDFL por defecto, porque sólo hay uno o dos mantenedores. Un proyecto que se originó en una empresa también podría caer en la categoría BDFL.
* **Meritocracia:** **(Nota: el término "meritocracia" tiene connotaciones negativas para algunas comunidades y tiene un [historia social y político compleja](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Bajo una meritocracia, a los contribuyentes activos del proyecto (aquellos que demuestran "mérito") se les da un papel formal de toma de decisiones. Las decisiones se toman generalmente en base a un consenso de voto puro. El concepto de meritocracia fue iniciado por la [Fundación Apache](https://www.apache.org/); [Todos los proyectos de Apache](https://www.apache.org/index.html#projects-list) son meritocracias. Las contribuciones sólo pueden ser hechas por individuos que se representan a sí mismos, no por una empresa.
* **Contribución liberal:** Bajo un modelo de contribución liberal, las personas que hacen más trabajo son reconocidas como las más influyentes, pero esto se basa en el trabajo actual y no en contribuciones históricas. Las decisiones importantes del proyecto se toman sobre la base de un proceso de búsqueda de consenso (discutir quejas mayores) en lugar de voto puro, y tratar de incluir tantas perspectivas de la comunidad como sea posible. Ejemplos populares de proyectos que utilizan un modelo de contribución liberal incluyen [Node.js](https://foundation.nodejs.org/) y [Rust](https://www.rust-lang.org/).
¿Cuál deberías usar? ¡Tú decides! Cada modelo tiene ventajas y compensaciones. Y aunque pueden parecer muy diferentes al principio, los tres modelos tienen más en común de lo que parece. Si estás interesado en adoptar uno de estos modelos, consulta estas plantillas:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## ¿Necesito documentación de gobierno cuando lanzo mi proyecto?
No hay momento adecuado para describir el gobierno de su proyecto, pero es mucho más fácil definirlo una vez que haya visto cómo se desarrolla la dinámica de su comunidad. ¡La mejor parte (y más difícil) sobre el gobierno de código abierto es que está conformado por la comunidad!
Sin embargo, una cierta documentación temprana contribuirá inevitablemente al gobierno de su proyecto, así que empiece a escribir lo que pueda. Por ejemplo, puede definir expectativas claras de comportamiento o cómo funciona su proceso de contribución, incluso en el lanzamiento de su proyecto.
Si usted es parte de una empresa lanzando un proyecto de código abierto, vale la pena tener una discusión interna antes del lanzamiento acerca de cómo su empresa espera mantener y tomar decisiones sobre el proyecto de seguir adelante. También es posible que desee explicar públicamente algo en particular sobre cómo su empresa (o no) participará en el proyecto.
## ¿Qué pasa cuando los empleados de corporaciones comienzan a enviar contribuciones?
Los proyectos exitosos de código abierto se utilizan por muchas personas y empresas, y algunas empresas pueden eventualmente tener flujos de ingresos generalmente vinculados al proyecto. Por ejemplo, una empresa puede utilizar el código del proyecto como un componente en una oferta de servicios comerciales.
A medida que el proyecto se utiliza más ampliamente, las personas que tienen experiencia en ella comienzan a estar más demandados - ¡puedes ser uno de ellos! - y a veces se les paga por el trabajo que realizan en el proyecto.
Es importante tratar la actividad comercial como algo normal y como otra fuente de energía de desarrollo. Por supuesto, los desarrolladores pagados no deben recibir un trato especial sobre los no pagados. Cada contribución debe ser evaluada por sus méritos técnicos. Sin embargo, la gente debe sentirse cómoda participando en la actividad comercial, y sentirse cómoda diciendo sus casos de uso al argumentar a favor de una mejora o característica en particular.
"Comercial" es completamente compatible con "código abierto". "Comercial" sólo significa que existe dinero involucrado en alguna parte - que el software se utiliza en el comercio, que es cada vez más probable como un proyecto gana la adopción. (Cuando se utiliza software de código abierto como parte de un producto que no es de código abierto, el producto general sigue siendo un software "propietario", aunque, al igual que el código abierto, podría utilizarse con fines comerciales o no comerciales).
Como cualquier otra persona, los desarrolladores con motivación comercial ganan influencia en el proyecto a través de la calidad y la cantidad de sus contribuciones. Obviamente, un desarrollador al cual se le paga por su tiempo, puede ser capaz de hacer algo más que alguien al que no se le paga, pero eso está bien: el pago es sólo uno de los muchos factores posibles que podrían afectar cuánto una persona hace. Manten los debates del proyecto centrados en las contribuciones, no en los factores externos que permiten a las personas a hacer esas contribuciones.
## ¿Necesito una entidad legal para apoyar a mi proyecto?
Usted no necesita una entidad legal para apoyar su proyecto de código abierto a menos que esté manejando dinero.
Por ejemplo, si desea crear un negocio comercial, desee configurar una C Corp o LLC (si vives en los EE.UU.). Si está haciendo un trabajo de contrato relacionado con su proyecto de código abierto, puede aceptar dinero como propietario único, o establecer una LLC (si vives en los EE.UU.).
Si quieres aceptar donaciones para tu proyecto de código abierto, podes configurar un botón de donación (mediante PayPal o Stripe, por ejemplo), pero el dinero no será deducible de impuestos a menos que sea una organización sin fines de lucro calificada (un 501c3, si estás en los EE.UU.).
Muchos proyectos no desean pasar por la molestia de crear una organización sin fines de lucro, por lo que encuentran un patrocinador fiscal sin fines de lucro en su lugar. Un patrocinador fiscal acepta donaciones en su nombre, normalmente a cambio de un porcentaje de la donación. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) y [Open Collective](https://opencollective.com/opensource) son ejemplos de organizaciones que sirven como patrocinadores fiscales para proyectos de código abierto.
Si tu proyecto está estrechamente asociado con un determinado idioma o ecosistema, también puede haber un framework relacionado con el que pueda trabajar. Por ejemplo, la [Python Software Foundation](https://www.python.org/psf/) ayuda a [PyPI](https://pypi.org/), el gestor de paquetes de Python y el [Node.js Foundation](https://foundation.nodejs.org/) ayuda a apoyar [Express.js](https://expressjs.com/), un framework basado en nodos.
================================================
FILE: _articles/es/legal.md
================================================
---
lang: es
title: Aspectos legales del código abierto.
description: Todo lo que te has preguntado sobre la parte legal de código abierto.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Entendiendo las implicaciones legales del código abierto
Compartir tu trabajo creativo con el mundo puede ser una experiencia excitante y gratificante. Esto también conlleva un conjunto de aspectos legales de los cuales debes ocuparte. Afortunadamente, no tienes que empezar desde cero. Nosotros tenemos cubiertas tus necesidades legales. (Antes de continuar, asegúrate de leer nuestro [aviso legal](/notices/).)
## ¿Por qué la gente se preocupa tanto acerca de los aspectos legales del código abierto?
¡Me alegro que lo preguntes! Cuando realizas trabajo creativo (como escritura, dibujo, o código), ese trabajo se encuentra bajo derechos de autor por defecto. Es decir, la ley asume que, como autor de tu trabajo, tienes poder de decisión sobre lo que los otros pueden o no hacer con ello.
En general, esto significa que nadie más puede usar, copiar, distribuir, o modificar tu trabajo sin tener riesgo de sufrir bajas, ser investigado o demandado.
Sin embargo, el código abierto es una circunstancia inusual debido a que el autor espera que otros usen, modifiquen, y compartan el trabajo. Pero, debido a que legalmente por defecto los derechos de autor son exclusivos, se necesita una licencia que enuncie explícitamente estos permisos.
Si tú no aplicas una licencia de código abierto, todo aquel que contribuya a tu proyecto también tiene derechos de autor de su trabajo. Esto significa que nadie puede usar, copiar, distribuir, o modificar sus contribuciones – y ese "nadie" te incluye a ti.
Finalmente, tu proyecto puede tener dependencias con requisitos de licencia que no conoces. La comunidad de tu proyecto, o tus políticas de empleador, pueden requerir que tu proyecto haga uso de una licencia de código abierto específica. Cubriremos estas situaciones a continuación.
## ¿Son públicos los proyectos de código abierto de GitHub?
Cuando tú [creas un nuevo proyecto](https://help.github.com/articles/creating-a-new-repository/) en GitHub, tienes la opción de hacerlo **privado** o **público**.

**Hacer tu proyecto de GitHub público, no es lo mismo que licenciar tu proyecto.** Los proyectos públicos son cubiertos por [los Términos de Servicio de GitHub](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), lo que les permite a otros ver y bifurcar el proyecto, pero su trabajo viene de otra manera sin permisos.
Si quieres que otros usen, copien, modifiquen, o contribuyan a tu proyecto, debes incluir una licencia de código abierto. Por ejemplo, nadie puede usar legalmente cualquier parte de tu proyecto de GitHub en su código, incluso si es público, a menos que explícitamente le concedas dicho derecho.
## Solo dame un resumen acerca de lo que necesito para proteger mi proyecto.
Tienes suerte, porque hoy, las licencias de código abierto están estandarizadas y son fáciles de usar. Puedes copiar-pegar una licencia existente directamente en tu proyecto.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), y [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) son las licencias de código abierto más populares, pero también tienes otras opciones para elegir. Puedes encontrar un texto completo sobre estas licencias, e instrucciones de uso de las mismas en [choosealicense.com](https://choosealicense.com/).
Cuando crees un nuevo proyecto en GitHub, se te [pedirá que agregues una licencia](https://help.github.com/articles/open-source-licensing/).
## ¿Cuál licencia de código abierto es apropiada para mi proyecto?
Si estás comenzando desde cero, es difícil equivocarse al elegir la [Licencia MIT](https://choosealicense.com/licenses/mit/). Es corta, muy fácil de entender, y permite a cualquiera hacer lo que sea, siempre y cuando guarde una copia de la licencia, incluyendo tu aviso de derechos de autor. Tendrás la posibilidad de lanzar el proyecto bajo otra licencia si alguna vez así lo necesitas.
Elegir la licencia de código abierto correcta para tu proyecto, depende de tus objetivos.
Muy probablemente, tu proyecto tiene (o tendrá) **dependencias**. Por ejemplo, si es un proyecto de código abierto de Node.js, seguramente utilizarás librerías del Node Package Manager (npm). Cada una de esas librerías que utilizas, tendrán su propia licencia de código abierto. Si cada una de dichas licencias es "permisiva" (otorga permiso público de uso, modificación, y distribución, sin ninguna condición de bajada), puedes usar cualquier licencia que quieras. Las licencias permisivas más comunes son MIT, Apache 2.0, ISC, y BSD.
Por otro lado, si cualquiera de las licencias de tus dependencias son copyleft "fuerte" (también brindan los mismos permisos, siempre y cuando se utilice la misma licencia consecuente), en este caso, tu proyecto deberá usar la misma licencia. Las licencias strong copyleft más comunes son GPLv2, GPLv3, and AGPLv3.
Deberías considerar también a las **comunidades** qué esperas que usarán y contribuirán a tu proyecto:
* **¿Quieres que tu proyecto sea usado como dependencia por otros proyectos?** Probablemente, la mejor opción sea usar la licencia más popular en tu comunidad. Por ejemplo, [MIT](https://choosealicense.com/licenses/mit/) es la licencia más popular para [npm libraries](https://libraries.io/search?platforms=NPM).
* **¿Quieres que tu proyecto atraiga a grandes empresas?** Una gran empresa seguramente querrá una licencia de patente expresa por parte de todos los contribuyentes. En este caso, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) te tiene a ti (y a ellos) cubiertos.
* **¿Quieres que tu proyecto atraiga a colaboradores los cuales no quieren que sus contribuciones sean usado en software de código cerrado?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) o (si tampoco quieren contribuir a servicios de código cerrado) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) sería el más apropiado.
Tu **empresa** puede que tenga requisitos específicos para licencias de proyectos de código abierto. Por ejemplo, tal vez requiera una licencia permisiva de modo que dicho proyecto pueda utilizarse en el producto de código cerrado de dicha empresa. O tu empresa puede requerir una licencia strong copyleft y un acuerdo de colaboradores adicional (leer más abajo) para que solo tu empresa, y nadie más, pueda usar tu proyecto en software de código cerrado. O tal vez, tu empresa tiene ciertas necesidades relacionadas con estándares, responsabilidad social, o transparencia; en tales casos requerirán una estrategia de licencia particular. Habla con el [departamento legal de tu empresa](#qué-necesita-saber-el-equipo-legal-de-mi-empresa).
Cuando creas un Nuevo proyecto en GitHub, te son brindadas opciones para elegir una licencia. Incluir cualquiera de las licencias enunciadas anteriormente, harán de tu proyecto de GitHub, un proyecto de código abierto. Si quisieras considerar otras opciones, revisa [choosealicense.com](https://choosealicense.com) en donde encontrarás licencias adecuadas para tu proyecto, incluso si el mismo [no es software](https://choosealicense.com/non-software/).
## Y si quieres cambiar la licencia de tu proyecto
La mayoría de los proyectos no necesitan cambios de licencias. Pero ocasionalmente las circunstancias cambian.
Por ejemplo, a medida que tu proyecto crezca se añadirán dependencias y usuarios, o tu empresa modifica estrategias, cualquiera de estos escenarios requerirán diferentes licencias. También, si te negaste a establecer una licencia a tu proyecto desde el comienzo, agregar una licencia es efectivamente lo mismo que cambiar las licencias. Hay tres aspectos fundamentales que debes considerar al añadir o cambiar la licencia de tu proyecto:
**Es complicado.** Determinar la compatibilidad y conformidad de la licencia con quienes son propietarios de sus derechos de autor puede volverse complicado y confuso muy rápidamente. Cambiar a una nueva pero a una licencia compatible para nuevos lanzamientos y colaboradores es diferente a cambiar la licencia de todos los colaboradores ya existentes. Involucre a su equipo legal frente a cualquier deseo de cambiar licencias. Incluso si tú tienes o puedes obtener permiso de los titulares de derechos de autor de su proyecto para un cambio de licencia, considera el impacto de los cambios en los colaboradores y usuarios de tu proyecto. Imagina al cambio de licencia como un "evento de gobierno" para tu proyecto que probablemente marchará sin contratiempos mediante la comunicación y consultas claras con las partes interesadas en el proyecto. ¡Más razones para elegir y utilizar una licencia adecuada para su proyecto desde el comienzo!
**La licencia existente de su proyecto.** Si la licencia existente de su proyecto es compatible con la licencia a la que quieres cambiar, puedes simplemente empezar a usar la nueva licencia. Esto sucede debido a que si la licencia A es compatible con la licencia B, vas a estar cumpliendo con los términos de A mientras cumples con los términos de B (pero no necesariamente viceversa). Así que, si estás utilizando una licencia permisiva (por ejemplo, MIT), puedes cambiar a una licencia con más condiciones, siempre y cuando mantengas una copia de la licencia MIT y cualquier aviso de derechos de autos asociado (esto implicaría, continuar cumpliendo con las condiciones mínimas de la licencia MIT). Pero si tu licencia actual no es permisiva (por ejemplo, copyleft, o si no tienes licencia) y no eres el único propietario de los derechos de autor, no podrías simplemente cambiar la licencia del proyecto a MIT. Esencialmente, con una licencia permisiva del proyecto, en la cual los propietarios de derechos de autor han dado permiso por adelantado de cambiar licencias.
**Los propietarios de derechos de autor de tu proyecto.** Si eres el único contribuyente a tu proyecto, entonces tú o tu empresa es el único titular de los derechos de autor del proyecto. Puedes añadir o cambiar a cualquier licencia que tú o tu empresa deseen. En otros casos, podría haber propietarios de derechos de autor de los cuales necesitarías realizar un acuerdo para poder cambiar las licencias. ¿Quiénes? Personas que hayan realizado commits a tu proyecto es una buena forma de comenzar. Pero en algunos casos los derechos de autor estarán en propiedad de los empleadores de dichas personas. En algunos casos las personas solo habrán hecho _la menor parte_ de las contribuciones, pero no hay una regla rápida y firme que establezca a partir de que cantidad de líneas de código están o no sujetos a derechos de autor dichos colaboradores. Para proyectos jóvenes y pequeños, puede ser factible lograr que todos los colaboradores acepten un cambio de licencia en una issue o un pull request. Para proyectos largos y de larga vida, tendrás que buscar a muchos contribuyentes e incluso sus herederos. Mozilla tardó años (2001-2006) para cambiar de licencia a Firefox, Thunderbird, y software relacionado.
De manera alternativa, puedes tener colaboradores que estén de acuerdo por adelantado (mediante un acuerdo adicional de colaboradores – ver más abajo) con cambios de licencia bajo ciertas condiciones, más allá de los permitidos por tu licencia de código abierto existente. Esto cambia la complejidad de cambiar la licencia. Necesitarás más ayuda por parte de tus abogados, y aun deberás comunicarte claramente con las partes interesadas en su proyecto al ejecutar un cambio de licencia.
## ¿Necesita mi proyecto un acuerdo adicional de colaboradores?
Probablemente no. En la mayoría de los proyectos de código abierto, una licencia de código abierto sirve implícitamente de licencia tanto para el interior (colaboradores) como para el exterior (a otros colaboradores y usuarios). Si tu proyecto se encuentra en GitHub, los Términos de Servicio de GitHub la hacen "entrante=saliente" la [explícita por defecto](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Un acuerdo adicional de colaboradores – a menudo llamado Acuerdo de Licencia de colaboradores (en inglés, CLA) – puede crear trabajo administrativo para mantenedores de proyecto. La cantidad de trabajo que suma un acuerdo depende del proyecto y su implementación. Un acuerdo simple puede requerir que los colaboradores confirmen, con un clic, que tienen los derechos necesarios para contribuir bajo la licencia de código abierto del proyecto. Un acuerdo más complicado, requerirá revisión legal y la aprobación de los empleadores del contribuyente.
También, al añadir "papeleo" que algunos consideran innecesario, difícil de entender, o injusto (cuando el beneficiario del acuerdo obtiene más derechos que los colaboradores o el público a través de la licencia de código abierto del proyecto), un acuerdo adicional de colaboradores puede ser percibido poco amigable a la comunidad del proyecto.
Algunas situaciones en las cuales deberías considerar un acuerdo adicional de colaboradores pueden ser:
* Tus abogados quieren que todos los colaboradores acepten expresamente (_firma_, online o offline) los términos de contribución, quizás porque sienten que una licencia de código abierto no es suficiente (incluso cuando lo sea!). Si esta es la única preocupación, un acuerdo adicional de colaboradores que afirme la licencia de código abierto del proyecto, debería ser suficiente. El [Acuerdo Adicional de colaboradores Individual de jQuery](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) es un buen ejemplo de un acuerdo adicional de colaboradores ligero. Para algunos proyectos, un [Certificado de Origen del Desarrollador](https://GitHub.com/probot/dco) puede ser una alternativa aún más simple.
* Tu proyecto usa una licencia de código abierto que no incluye una concesión de patentes explicita (como MIT), y necesitas una concesión de patentes por parte de todos los colaboradores, algunos de los cuales quizás trabajen para empresas con grandes cantidades de patentes que podrían utilizarse para dirigirse a usted o a otros contribuyentes y usuarios del proyecto. El [Acuerdo Adicional de colaboradores Individual de Apache](https://www.apache.org/licenses/icla.pdf) es un acuerdo adicional de colaboradores que posee una concesión de patentes reflejando el que se encuentra en Apache License 2.0.
* Tu proyecto está bajo una licencia copyleft, pero también necesitas distribuir una versión propietaria del proyecto. Necesitaras que cada colaborador te asigne sus derechos de autor o te garantice a ti (pero no al público) una licencia permisiva. El [Acuerdo de colaboradores MongoDB](https://www.mongodb.com/legal/contributor-agreement) es un ejemplo de este tipo de acuerdo.
* Crees que el proyecto necesitará cambiar la licencia durante su tiempo de vida y quieres que los colaboradores acepten por adelantado esos cambios.
Si necesitas usar un acuerdo adicional de colaboradores para tu proyecto, considere el uso de una integración como [CLA assistant](https://GitHub.com/cla-assistant/cla-assistant) para minimizar la distracción de los contribuyentes.
## ¿Qué necesita saber el equipo legal de mi empresa?
Si vas a lanzar un proyecto de código abierto como un empleado de una empresa, primero, tu equipo legal debería saber que estás por lanzar un proyecto de código abierto.
Para mejor, o peor, considera comentarles incluso en el caso en que sea un proyecto personal.
Probablemente tengas un "acuerdo IP de empleado" con tu empresa que les da cierto tipo de control sobre tus proyectos, especialmente si ellos están relacionados con el negocio de la empresa o si utilizan recursos de la empresa para desarrollar el proyecto. Tu empresa _debería_ brindarte fácilmente permisos, y tal vez ya cuentes con ellos a través de un acuerdo de IP amigable hacia los empleados o mediante políticas empresariales. Si no es el caso, puedes negociar (por ejemplo, explicar que su proyecto posee objetivos profesionales de aprendizaje y desarrollo de la empresa para ti), o evitar trabajar en proyectos hasta que encuentres una mejor empresa.
**Si estás trabajando en un proyecto de código abierto para tu empresa** entonces definitivamente debes hacerles saber. Tu equipo legal seguramente ya cuenta con políticas para esa licencia de código abierto (y puede que también un acuerdo adicional de colaboradores) para usar basado en los requisitos y pericia del negocio de la empresa para asegurar que tu proyecto cumple con la licencia de sus dependencias. De lo contrario, tanto tú como ellos, están de suerte! tu equipo legal debería estar ansioso por trabajar con usted para acordar estas cosas. Algunos aspectos a considerar:
* **Material de terceros** ¿tiene tu proyecto dependencias creadas por otros o bien incluye o usa códigos ajenos? Esto comienza con la elección de una licencia que funcione con las licencias de código abierto de terceros (ver arriba). Si su proyecto modifica o distribuye código abierto de terceros, su equipo legal también querrá saber si cumple con otras condiciones de las licencias de código abierto de terceros, como la retención de avisos de derechos de autor. Si tu proyecto utiliza código de otros que no tienen una licencia de código abierto, probablemente tendrás que pedirle a los mantenedores que [agreguen una licencia de código abierto](https://choosealicense.com/no-license/#for-users), y si no puedes conseguir una, deja de usar su código en tu proyecto.
* **Secretos comerciales:** Considera si hay algo en el proyecto que la empresa no quiere poner a disposición del público en general. Si es así, puedes hacer de código abierto al resto del proyecto, después de extraer el material que desea mantener privado.
* **Patentes:** ¿Está tu empresa solicitando una patente, cuya liberación del código fuente del proyecto implique una [revelación pública](https://en.wikipedia.org/wiki/Public_disclosure)? Tristemente, puede que te pidan que esperes (o tal vez, la empresa volverá a considerar la sabiduría de la aplicación). Si estás esperando contribuciones a tu proyecto de los empleados de empresas con cantidades grandes de patentes, tu equipo legal puede que desee que utilices una licencia con una concesión de patente expresa de los contribuyentes (como Apache 2.0 o GPLv3), o un acuerdo adicional de colaboradores (ver más arriba).
* **Marca comercial** Verifica que el nombre de tu proyecto [no entre en conflicto con alguna marca existente](../starting-a-project/#evitando-conflictos-con-los-nombres). Si utilizas marcas comerciales de tu empresa en el proyecto, comprueba que no genere ningún conflicto. [FOSSmarks](http://fossmarks.org/) es una guía práctica para la comprensión de las marcas en el contexto de los proyectos de código libre y abierto.
* **Privacidad** ¿Recolecta tu proyecto datos de sus usuarios? ¿Recopila su proyecto datos en los servidores de la empresa sin el consentimiento de los usuarios? Tu equipo legal puede ayudarte a cumplir con las políticas de la empresa y las regulaciones externas.
Si estás lanzando el primer proyecto de código abierto de tu empresa, lo anterior es más que suficiente para conseguirlo.
A largo plazo, tu equipo legal puede hacer más para ayudar a la empresa a obtener su participación en código abierto y mantenerse a salvo:
* **Políticas de contribución de empleados:** Considera la posibilidad de desarrollar una política corporativa que especifique cómo sus empleados contribuyen a proyectos de código abierto. Una política clara reducirá la confusión entre sus empleados y los ayudará a contribuir a proyectos de código abierto de la empresa, ya sea como parte de su trabajo o en su tiempo libre. Un buen ejemplo es Rackspace's [Model IP and Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **Qué liberar:** [¿(casi) todo?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Si tu equipo legal entiende e invierte en la estrategia de código abierto de su empresa, serán más capaces de ayudar en lugar de dificultar tus esfuerzos.
* **Conformidad:** Incluso si tu empresa no libera ningún proyecto de código abierto, utiliza otro software de código abierto. La [conciencia y el proceso](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) puede prevenir dolores de cabeza, retrasos del producto, y demandas.
* **Patentes:** Es posible que su empresa desee unirse a la [Red de Invención Abierta](http://www.openinventionnetwork.com/), Un conjunto de patentes defensivas compartido para proteger el uso de los miembros de los principales proyectos de código abierto, o explorar otras [licencias de patentes alternativas](https://www.eff.org/document/hacking-patent-system-2016).
* **Gobernancia:** Especialmente si tiene sentido mover un proyecto a una [entidad jurídica ajena a la empresa](../leadership-and-governance/#necesito-una-entidad-legal-para-apoyar-a-mi-proyecto).
================================================
FILE: _articles/es/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: es
title: Mantener el equilibrio para los contribuidores de código abierto
description: Consejos para el autocuidado y evitar el agotamiento como contribuidor.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
A medida que un proyecto de código abierto gana popularidad, se vuelve importante establecer límites claros para ayudarte a mantener el equilibrio y mantenerte fresco y productivo a largo plazo.
Para obtener información sobre las experiencias de los contribuidores y sus estrategias para encontrar el equilibrio, realizamos un taller con 40 miembros de la Comunidad de Contribuidores, lo que nos permitió aprender de sus experiencias de primera mano con el agotamiento en el código abierto y las prácticas que les han ayudado a mantener el equilibrio en su trabajo. Aquí es donde entra en juego el concepto de ecología personal.
Entonces, ¿qué es la ecología personal? Como describió el Instituto de Liderazgo Rockwood, implica "mantener el equilibrio, el ritmo y la eficiencia para mantener nuestra energía a lo largo de toda nuestra vida." Esto enmarcó nuestras conversaciones, ayudando a los contribuidores a reconocer sus acciones y contribuciones como parte de un ecosistema más amplio que evoluciona con el tiempo. El agotamiento, un síndrome resultante del estrés crónico en el lugar de trabajo según lo definido por la OMS, no es infrecuente entre los contribuidores. Esto a menudo conduce a una pérdida de motivación, una incapacidad para concentrarse y una falta de empatía hacia los contribuyentes y la comunidad con la que trabajas.
Al abrazar el concepto de ecología personal, los contribuidores pueden evitar el agotamiento de manera proactiva, priorizar el autocuidado y mantener un sentido de equilibrio para hacer su mejor trabajo.
## Consejos para el autocuidado y evitar el agotamiento como contribuidor:
### Identifica tus motivaciones para trabajar en código abierto
Tómate un tiempo para reflexionar sobre qué partes del mantenimiento de código abierto te energizan. Comprender tus motivaciones puede ayudarte a priorizar el trabajo de una manera que te mantenga comprometido y listo para enfrentar nuevos desafíos. Ya sea por los comentarios positivos de los usuarios, la alegría de colaborar y socializar con la comunidad o la satisfacción de sumergirte en el código, reconocer tus motivaciones puede ayudarte a dirigir tu enfoque.
### Reflexiona sobre lo que te lleva a desequilibrarte y estresarte
Es importante entender qué nos lleva al agotamiento. Aquí hay algunas temas comunes que vimos entre los contribuidores de código abierto:
* **Falta de comentarios positivos:** Los usuarios son mucho más propensos a comunicarse cuando tienen una queja. Si todo funciona bien, tienden a quedarse en silencio. Puede ser desalentador ver una creciente lista de problemas sin los comentarios positivos que muestren cómo tus contribuciones están marcando la diferencia.
* **No decir 'no':** Puede ser fácil asumir más responsabilidades de las que deberías en un proyecto de código abierto. Ya sea de usuarios, contribuyentes u otros contribuidores, no siempre podemos cumplir con sus expectativas.
* **Trabajar solo:** Ser un contribuidor puede ser increíblemente solitario. Incluso si trabajas con un grupo de contribuidores, los últimos años han sido difíciles para reunir equipos distribuidos en persona.
* **Falta de tiempo o recursos:** Esto es especialmente cierto para los contribuidores voluntarios que tienen que sacrificar su tiempo libre para trabajar en un proyecto.
* **Demandas en conflicto:** El código abierto está lleno de grupos con diferentes motivaciones, lo que puede ser difícil de navegar. Si te pagan por hacer código abierto, los intereses de tu empleador a veces pueden entrar en conflicto con la comunidad.
### Esté atento a los signos de agotamiento
¿Puedes mantener tu ritmo durante 10 semanas? ¿10 meses? ¿10 años?
Existen herramientas como la [Lista de verificación de agotamiento](https://governingopen.com/resources/signs-of-burnout-checklist.html) de [@shaunagm](https://github.com/shaunagm) que pueden ayudarte a reflexionar sobre tu ritmo actual y ver si hay ajustes que puedas hacer. Algunos contribuidores también utilizan tecnología portátil para realizar un seguimiento de métricas como la calidad del sueño y la variabilidad de la frecuencia cardíaca (ambas vinculadas al estrés).
### ¿Qué necesitarías para seguir sosteniéndote a ti mismo y a tu comunidad?
Esto será diferente para cada contribuidor y cambiará según tu fase de vida y otros factores externos. Pero aquí hay algunas temas que escuchamos:
* **Apóyate en la comunidad:** Delegar y encontrar colaboradores puede aliviar la carga de trabajo. Tener múltiples puntos de contacto para un proyecto puede ayudarte a tomar un descanso sin preocupaciones. Conéctate con otros contribuidores y la comunidad en general, en grupos como la [Comunidad de Contribuidores](http://maintainers.github.com/). Esto puede ser un gran recurso para el apoyo entre pares y el aprendizaje.
También puedes buscar formas de involucrarte con la comunidad de usuarios para escuchar regularmente comentarios y comprender el impacto de tu trabajo de código abierto.
* **Explora financiamiento:** Ya sea que estés buscando algo de dinero extra o tratando de dedicarte por completo al código abierto, ¡hay muchos recursos para ayudarte! Como primer paso, considera activar [Patrocinadores de GitHub](https://github.com/sponsors) para permitir que otros patrocinen tu trabajo de código abierto. Si estás pensando en dar el salto a tiempo completo, solicita la próxima ronda del [Acelerador de GitHub](http://accelerator.github.com/).
* **Utiliza herramientas:** Explora herramientas como [GitHub Copilot](https://github.com/features/copilot/) y [GitHub Actions](https://github.com/features/actions/) para automatizar tareas mundanas y liberar tu tiempo para contribuciones más significativas.
* **Descansa y recarga energías:** Dedica tiempo a tus pasatiempos e intereses fuera del código abierto. ¡Tómate los fines de semana libres para relajarte y rejuvenecer, y establece tu [estado de GitHub](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) para reflejar tu disponibilidad! Una buena noche de sueño puede marcar una gran diferencia en tu capacidad para mantener tus esfuerzos a largo plazo.
Si encuentras que ciertos aspectos de tu proyecto son especialmente gratificantes, trata de estructurar tu trabajo para que puedas experimentarlos a lo largo del día.
* **Establece límites:** No puedes decir que sí a todas las solicitudes. Esto puede ser tan simple como decir: "No puedo ocuparme de eso en este momento y no tengo planes de hacerlo en el futuro", o listar lo que estás interesado en hacer y lo que no en el README. Por ejemplo, podrías decir: "Solo fusiono PR que tengan razones claramente enumeradas por las que se hicieron", o "Solo reviso problemas los jueves alternos de 6 a 7 pm". Esto establece expectativas para los demás y te da algo a lo que puedes hacer referencia en otros momentos para ayudar a reducir las demandas de los contribuyentes o usuarios sobre tu tiempo.
Aprende a ser firme en la eliminación del comportamiento tóxico y las interacciones negativas. Está bien no dar energía a las cosas que no te importan.
Recuerda, la ecología personal es una práctica continua que evolucionará a medida que avances en tu viaje de código abierto. Al priorizar el autocuidado y mantener un sentido de equilibrio, puedes contribuir eficazmente a la comunidad de código abierto de manera sostenible, asegurando tanto tu bienestar como el éxito de tus proyectos a largo plazo.
## Recursos adicionales
* [Comunidad de Contribuidores](http://maintainers.github.com/)
* [El contrato social del código abierto](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [Cómo lidiar con personas tóxicas](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Cómo decir no](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Gobernanza del Código Abierto](https://governingopen.com/)
* La agenda del taller se basó en [Movimiento de construcción desde casa de Mozilla](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/)
## Colaboradores
¡Muchas gracias a todos los contribuidores que compartieron sus experiencias y consejos con nosotros para esta guía!
Esta guía fue escrita por [@abbycabs](https://github.com/abbycabs) con contribuciones de:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + muchos más!
================================================
FILE: _articles/es/metrics.md
================================================
---
lang: es
title: Métricas de código abierto
description: Tomar decisiones informadas para ayudar a tu proyecto de código abierto a prosperar mediante la medición y el seguimiento de su éxito.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## ¿Para qué medir algo?
Los datos, usados de forma sabia, pueden ayudarte a tomar mejores decisiones.
Con más información puedes:
* Entender cómo los usuarios responden a una nueva característica
* Determinar de dónde provienen nuevos usuarios
* Identificar y decidir si conviene brindar soporte a una parte separada de funcionalidad
* Cuantificar la popularidad de tu proyecto
* Entender cómo es usado tu proyecto
* Obtener dinero a través de publicidad, donaciones, entre otros
Por ejemplo, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) descubrió que Google Analytics los ayuda a priorizar el trabajo
> Homebrew es gratuito y lo trabajan por completo voluntarios con algo de tiempo libre. Como resultado, no tenemos los recursos para obtener estudios detallados de usuarios, y así determinar cómo diseñar características y priorizar nuestro trabajo actual. Análisis de usuarios anónimos nos permiten priorizar arreglos y características basadas en cómo, dónde y cuándo las personas utilizan Homebrew.
La popularidad no lo es todo. Todos se involucran en el Código Abierto por diferentes razones. Si tu meta como encargado de mantener un proyecto es mostrar tu trabajo, mantener transparente el código, o simplemente divertirte, las métricas quizás no sean tan importantes.
Si tu _estás_ interesado en entender tu proyecto a un nivel más profundo, debes leer formas de analizar la actividad del mismo.
## Descubrimiento
Antes de que alguien pueda usar o contribuir a tu proyecto, quizás necesiten saber que el mismo existe. Debes preguntarte: _¿Las personas pueden encontrar el proyecto?_

Si tu proyecto está hosteado en GitHub, [puedes ver](https://help.github.com/articles/about-repository-graphs/#traffic) cuántas personas lo visitan, y de dónde vienen. En la página de tu proyecto haz click en "Graphs", y luego "Traffic". En esta página puedes ver:
* **Total de vistas:** Informa la cantidad de veces que tu página fue vista
* **Total de visitantes únicos:** Te dice la cantidad de personas que vieron tu proyecto
* **Sitios de referencia:** Te dice de dónde vienen las visitas. Puede ayudar a detectar el público al cual apuntar, o para determinar si tu publicidad está dando resultado.
* **Contenido popular:** Te informa sobre las partes del proyecto que la gente más visita.
[GitHub stars](https://help.github.com/articles/about-stars/) puede brindarte una línea base para medir popularidad. No necesariamente tiene que ver con uso o cantidad de descargas, si no más bien según la cantidad de notoriedad de tu proyecto.
Quizás también quieras [rastrear la forma que te descubren desde lugares específicos](https://opensource.com/business/16/6/pirate-metrics): por ejemplo, Google PageRank, tráfico que hace referencia a tu página web del proyecto, o referencias desde otros proyectos.
## Uso
Las personas hallan tu proyecto en ese lugar salvaje y loco llamado Internet. Lo mejor sería que, cuando vean tu proyecto, se sientan obligados o atraídos a hacer algo. La segunda pregunta que queremos hacer es: _¿Las personas están usando tu proyecto?_
Si usas un administrador de paquetes, como npm o Rubygems.org para distribuir tu proyecto, quizás quieras rastrear las descargas del mismo
Cada administrador de paquetes usa diferentes definiciones de "descarga", y las descargas no están necesariamente relacionadas con la instalación o el uso, pero provee una línea base para la comparación. Trata de usar [Libraries.io](https://libraries.io/) para rastrear el uso de estadísticas a través de algunos de los administradores de paquetes más populares.
Si tu proyecto está en GitHub, navega nuevamente a "Traffic". Puedes usar [clone graph](https://github.com/blog/1873-clone-graphs) para ver cuántas veces tu proyecto ha sido clonado en un día determinado.

Si el uso es bajo comparado con el número de personas descubriendo tu proyecto, debes considerar que estás enfrentando uno de dos problemas:
* Tu proyecto no está atrayendo exitosamente a la audiencia, o
* estás atrayendo a la audiencia incorrecta
Por ejemplo, si tu proyecto figura en la página principal de Hacker New, muy probablmente vas a ver un salto en "Traffic", pero una tasa de conversión baja, porque estás alcanzando a todos en Hacker News. En cambio, si tu proyecto en Ruby está siendo publicitado en una conferencia de Ruby, muy probablmente verás una tasa de conversión mayor.
Trata de deducir de dónde proviene tu audiencia, y pide feedback a otros para saber cuál de los dos problemas estás enfrentando.
Una vez que sepas que las personas usan tu proyecto, quizás quieras probar determinar qué es lo que hacen con él. ¿Lo usan para proyectos de investigación o negocios? ¿Realizan "fork" al mismo y están agregando nuevas características?
## Retener
La gente está hallando tu proyecto y lo están usando. La siguiente pregunta que debes hacerte es: _¿Las personas están contribuyendo al proyecto?_
Nunca es demasiado temprano para comenzar a pensar en los contribuyentes. Sin otras personas te arriesgas a enfrentar una situación donde tu proyecto es _popular_ (muchas personas lo usan) pero no _soportado_ (no hay tiempo suficiente para mantener el proyecto y afrontar la demanda).
Retener también requiere un [flujo de nuevos contribuyentes](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), debido a que contribuyentes activos pueden, en algún momento, continuar hacia en otros proyectos.
Ejemplos de métricas de comunidad que quieres rastrear incluyen:
* **El total de commits por contribuyente, y el número de ellos:** Te informa cuántos contribuyentes tienes y quién es más o menos activo. En GitHub, pudes ver esto debajo de "Graphs" -> "Contributors". Actualmente esté gráfico solo cuenta los contribuyentes que han hecho algún commit a la rama por defecto del repositorio.

* **Contribuyentes nuevos, casuales y repetidos** Te ayuda a rastrear si estás obteniendo nuevos contribuyentes, y si vuelven. (Los casuales son aquellos con un número bajo de commits, elige tu criterio para definir dicho número). Sin nuevos contribuyentes, la comunidad de tu proyecto puede permanecer estancada.
* **Número de issues y pull requests abiertos:** Si estos números se hacen muy grandes necesitarás ayuda para revisar el código.
* **Número de issues y pull requests que _han sido abiertos_:** Los issues abiertos significan que alguien se preocupa lo suficiente por tu proyecto para abrir un issue. Si ese número incremente con el tiempo sugiere que las personas están interesadas en tu proyecto.
* **Tipos de contribución:** Por ejemplo commits, arreglar typos, solucionar bugs o comentando en un issue.
## Actividad de mantenimiento
Finalmente, quizás quieras cerrar el ciclo de asegurarte si los encargados de mantener tu proyecto pueden manejar el volumen de contribuciones que se vayan a recibir. La última pregunta que quieres hacerte es: _¿Estoy/Estamos listo/s para responder a la comunidad?_
Encargados de mantenimiento que no respondan pueden volverse un cuello de botella en tu proyecto. Si alguien hace una contribución pero no recibe noticia del encargado de mantenimiento, esta persona puede sentirse desmotivada y por ende abandonar el proyecto.
[Investigación de Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) sugiere que la sensibilidad y respuesta de los encargados de mantenimiento es un factor crítico a la hora de motivar nuevas contribuciones.
Considera rastrear cúanto te lleva a ti, o otro encargado, responder a contribuciones, ya sea in issue o un pull request. Responder no requiere realizar ninguna acción, puede ser tan simple cómo decir: _"Graacias por tu contribución, lo revisaré dentro de esta semana."_
También puedes medir el tiempo que te lleva el moverte entre etapas del proceso de contribución, como por ejemplo:
* Tiempo promedio en que un issue permanece abierto
* Si los issues quedan cerrados por pull requests
* Si los stale issues se cierran
* Tiempo promedio de merge de un pull request
## Usa 📊 para aprender acerca de las personas
Entender métricas te ayudará a construir un proyecto activo y fructífero. Aunque no rastrees cada métrica en un dashboard, usa un framework que te permita enfocarte en el tipo de comportamiento que ayudará a tu proyecto a prosperar.
================================================
FILE: _articles/es/security-best-practices-for-your-project.md
================================================
---
lang: es
title: Buenas prácticas de seguridad para tu proyecto
description: Fortalece el futuro de tu proyecto generando confianza mediante prácticas esenciales de seguridad — desde la autenticación multifactor (MFA) y el análisis de código hasta la gestión segura de dependencias y la notificación privada de vulnerabilidades.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Dejando de lado los errores y las nuevas funciones, la longevidad de un proyecto depende no solo de su utilidad, sino también de la confianza que gane de sus usuarios. Mantener esa confianza requiere contar con sólidas medidas de seguridad. A continuación, se presentan algunas acciones importantes que puedes tomar para mejorar significativamente la seguridad de tu proyecto.
## Asegúrate de que todos los colaboradores con privilegios hayan activado la autenticación multifactor (MFA).
### Un actor malicioso que logre hacerse pasar por un colaborador con privilegios en tu proyecto causará daños catastróficos.
Una vez que obtienen el acceso con privilegios, este actor puede modificar tu código para que realice acciones no deseadas (por ejemplo, minar criptomonedas), distribuir malware en la infraestructura de tus usuarios, o acceder a repositorios de código privados para extraer propiedad intelectual y datos sensibles, incluyendo credenciales de otros servicios.
La autenticación multifactor (MFA) ofrece una capa adicional de seguridad contra la toma de control de cuentas. Una vez activada, debes iniciar sesión con tu nombre de usuario y contraseña y proporcionar otra forma de autenticación que solo tú conozcas o a la que tengas acceso.
## Asegura tu código como parte de tu flujo de trabajo de desarrollo.
### Las vulnerabilidades de seguridad en tu código son más baratas de corregir si se detectan temprano en el proceso, que más tarde, cuando ya se encuentran en producción.
Utiliza una herramienta de Pruebas de Seguridad de Aplicaciones Estáticas (SAST) para detectar vulnerabilidades de seguridad en tu código. Estas herramientas operan a nivel de código y no necesitan un entorno de ejecución; por lo tanto, pueden ejecutarse temprano en el proceso y pueden integrarse de manera fluida en tu flujo de trabajo de desarrollo habitual, ya sea durante la fase de compilación o durante la revisión de código.
Es como tener a un experto capacitado revisando tu repositorio de código, ayudándote a encontrar vulnerabilidades de seguridad comunes que podrían estar ocultas a simple vista mientras programas.
Cómo elegir tu herramienta SAST?
Revisa la licencia: Algunas herramientas son gratuitas para proyectos de código abierto. Por ejemplo, GitHub CodeQL o SemGrep.
Verifica la cobertura para tu(s) lenguaje(s)
* Selecciona una que se integre fácilmente con las herramientas que ya usas y con tu proceso existente. Por ejemplo, es mejor que las alertas estén disponibles como parte de tu proceso y herramienta de revisión de código actual, en lugar de tener que ir a otra herramienta para verlas.
* ¡Cuidado con los falsos positivos! No quieres que la herramienta te haga perder tiempo innecesariamente.
* Revisa las funcionalidades: algunas herramientas son muy potentes y pueden realizar seguimiento de flujo de datos (taint tracking, por ejemplo, GitHub CodeQL), otras ofrecen sugerencias de corrección generadas por IA, y algunas facilitan la creación de consultas personalizadas (por ejemplo, SemGrep).
## No compartas tus credenciales ni secretos de desarrollo.
### Los datos sensibles, como claves de API, tokens y contraseñas, a veces pueden terminar accidentalmente comprometidos en tu repositorio.
Imagina este escenario: eres el mantenedor de un proyecto de código abierto popular, con contribuciones de desarrolladores de todo el mundo. Un día, un colaborador, sin darse cuenta, comete en el repositorio algunas claves de API de un servicio de terceros. Días después, alguien encuentra estas claves y las utiliza para acceder al servicio sin permiso. El servicio se ve comprometido, los usuarios de tu proyecto experimentan interrupciones y la reputación de tu proyecto se ve afectada. Como mantenedor, ahora te enfrentas a las abrumadoras tareas de revocar los secretos comprometidos, investigar qué acciones maliciosas podría haber realizado el atacante con estos secretos, notificar a los usuarios afectados e implementar soluciones.
Para prevenir este tipo de incidentes, existen soluciones de "escaneo de secretos" que te ayudan a detectar esos secretos en tu código. Algunas herramientas, como GitHub Secret Scanning y Trufflehog de Truffle Security, pueden impedir que los subas a ramas remotas desde el principio, y otras herramientas pueden revocar automáticamente algunos secretos por ti.
## Revisa y actualiza tus dependencias.
### Las dependencias de tu proyecto pueden tener vulnerabilidades que comprometan la seguridad del mismo. Mantenerlas actualizadas de manera manual puede ser una tarea que consume mucho tiempo.
Imagina esto: un proyecto construido sobre la sólida base de una biblioteca muy utilizada. Más tarde, la biblioteca descubre un gran problema de seguridad, pero las personas que desarrollaron la aplicación que la utiliza no lo saben. Los datos sensibles de los usuarios quedan expuestos cuando un atacante aprovecha esta vulnerabilidad para acceder a ellos. Esto no es un caso teórico: es exactamente lo que le ocurrió a Equifax en 2017. No actualizaron su dependencia de Apache Struts después de recibir la notificación de una vulnerabilidad grave. Esta fue explotada, y la famosa brecha de seguridad de Equifax afectó los datos de 144 millones de usuarios.
Para prevenir estos escenarios, las herramientas de Análisis de Composición de Software (SCA), como Dependabot y Renovate, revisan automáticamente tus dependencias en busca de vulnerabilidades conocidas publicadas en bases de datos públicas como la NVD o la GitHub Advisory Database, y luego crean solicitudes de extracción (pull requests) para actualizarlas a versiones seguras. Mantenerse al día con las últimas versiones seguras de las dependencias protege tu proyecto de posibles riesgos.
## Evita cambios no deseados con ramas protegidas.
### El acceso sin restricciones a tus ramas principales puede provocar cambios accidentales o maliciosos que introduzcan vulnerabilidades o afecten la estabilidad de tu proyecto.
Un nuevo colaborador obtiene acceso de escritura a la rama principal y accidentalmente sube cambios que no han sido probados. Como resultado, se descubre una grave falla de seguridad debido a estos últimos cambios. Para prevenir este tipo de problemas, las reglas de protección de ramas aseguran que no se puedan subir o fusionar cambios en ramas importantes sin antes someterlos a revisiones y pasar los controles de estado especificados. Con esta medida adicional, tu proyecto está más seguro y garantiza calidad de primera en todo momento.
## Configura un mecanismo de recepción para el reporte de vulnerabilidades.
### Es una buena práctica facilitar a tus usuarios el reporte de errores, pero la gran pregunta es: cuando este error tiene un impacto en la seguridad, ¿cómo pueden reportarlo de manera segura sin exponerte como objetivo a hackers maliciosos?
Imagina esto: un investigador de seguridad descubre una vulnerabilidad en tu proyecto, pero no encuentra una forma clara o segura de reportarla. Sin un proceso designado, podría crear un issue público o comentarlo abiertamente en redes sociales. Incluso si tiene buenas intenciones y propone una solución, si lo hace mediante un pull request público, ¡otros lo verán antes de que se fusione! Esta divulgación pública expondrá la vulnerabilidad a actores maliciosos antes de que tengas oportunidad de solucionarla, lo que podría derivar en un exploit de día cero, atacando tu proyecto y a sus usuarios.
### Política de Seguridad
Para evitar esto, publica una política de seguridad. Una política de seguridad, definida en un archivo SECURITY.md, detalla los pasos para reportar problemas de seguridad, creando un proceso transparente de divulgación coordinada y estableciendo las responsabilidades del equipo del proyecto para atender los problemas reportados. Esta política de seguridad puede ser tan simple como: "Por favor, no publiques detalles en un issue o PR público; envíanos un correo privado a security@example.com", pero también puede incluir otros detalles, como el tiempo estimado de respuesta. Cualquier información que ayude a mejorar la efectividad y eficiencia del proceso de divulgación es recomendable.
### Reporte privado de vulnerabilidades.
En algunas plataformas, puedes agilizar y fortalecer tu proceso de gestión de vulnerabilidades, desde la recepción hasta la divulgación, utilizando issues privados. En GitLab, esto se logra con issues privados. En GitHub, se denomina reporte privado de vulnerabilidades (PVR, por sus siglas en inglés). El PVR permite a los mantenedores recibir y atender los reportes de vulnerabilidades, todo dentro de la plataforma de GitHub. GitHub crea automáticamente un fork privado para desarrollar las correcciones y un borrador de aviso de seguridad. Todo esto permanece confidencial hasta que decidas divulgar los problemas y publicar las correcciones. Para cerrar el ciclo, los avisos de seguridad se publicarán, informando y protegiendo a todos tus usuarios a través de su herramienta de SCA.
## Conclusión: unos pocos pasos para ti, una gran mejora para tus usuarios.
Estos pocos pasos pueden parecerte sencillos o básicos, pero son muy efectivos para hacer tu proyecto más seguro para sus usuarios, ya que ofrecen protección frente a los problemas más comunes.
## Colaboradores
### Muchas gracias a todos los mantenedores que compartieron sus experiencias y consejos con nosotros para esta guía!
Esta guía fue escrita por [@nanzggits](https://github.com/nanzggits) y [@xcorail](https://github.com/xcorail) con contribuidores de:
[@JLLeitschuh](https://github.com/JLLeitschuh)
[@intrigus-lgtm](https://github.com/intrigus-lgtm) !y muchos mas!
================================================
FILE: _articles/es/starting-a-project.md
================================================
---
lang: es
title: Comenzando un proyecto de Código Abierto
description: Aprende más acerca del mundo del Código Abierto y prepárate a lanzar tu propio proyecto.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## El cómo y el por qué del Código Abierto
¿Estás pensando cómo comenzar un proyecto de código abierto? ¡Felicitaciones! El mundo aprecia tu contribución. Hablemos sobre lo que es un proyecto de código abierto y por qué la gente lo lleva adelante
### ¿Qué significa "Código Abierto"?
Cuando un proyecto es de código abierto, significa que **cualquier persona puede ver, modificar, usar o distribuir tu proyecto para cualquier fin.** Estos permisos están reforzados a través de [una licencia de código abierto](https://opensource.org/licenses).
"Código Abierto" es poderoso debido a que reduce las dificultades de adopción, permitiendo que las ideas se esparzan rápidamente.
Para entender cómo funciona, imagina a un amigo que organiza una comida, te invita, y llevas una torta.
* Todos prueban la torta. (_usarlo_)
* ¡La torta es un éxito! Te piden la receta, la cual tu das. (_estudiarlo/verlo_)
* Un amigo, Pedro, es cocinero, y te sugiere colocar menos azúcar. (_modificarlo_)
* Otro amigo, Juan, te pide permiso para usarlo en una cena que tendrá la próxima semana. (_distribuirlo_)
Realicemos una comparación: un proceso de código cerrado sería ir a un restaurante y pedir una porción de torta. Para ello tendrías que pagar por la misma, y el restaurante muy probablemente no te dará su receta. Si decidieras copiar su torta y venderla bajo otro nombre, el restaurante podría recurrir a acciones legales en contra.
### ¿Por qué las personas utilizan el "Código Abierto"?
[Hay muchas razones](https://ben.balter.com/2015/11/23/why-open-source/) por las cuales una persona u organización querrían involucrarse en un proyecto de código abierto. Algunos ejemplos son:
* **Colaboración:** Los proyectos de código abierto pueden aceptar cambios efectuados por cualquier persona alrededor del mundo. [Exercism](https://github.com/exercism/), por ejemplo, es una plataforma para ejercicios de programación con más de 350 colaboradores.
* **Adopción y remezcla:** Los proyectos de código abierto pueden ser usados por cualquiera para casi cualquier propósito. Las personas pueden usarlos hasta para construir otras cosas. [WordPress](https://github.com/WordPress), por ejemplo, comenzaron como un "fork" de un proyecto existente llamado [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparencia:** Cualquiera puede inspeccionar un proyecto de este tipo, ya sea para encontrar errores como inconsistencias. La transparencia es de importancia para gobiernos como el de [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) o [United States](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), para industrias reguladas como la bancaria o la del cuidado de la salud, y para la seguridad del software como [Let's Encrypt](https://github.com/letsencrypt).
Código abierto no es solamente software. Uno puede "abrir" cualquier cosa, desde conjuntos de datos, hasta libros. Mira esto [GitHub Explore](https://github.com/explore) para tener otros ejemplos.
### ¿"Código Abierto" significa gratis?
Una de las cosas que causa confusión es el que el código abierto no cuesta dinero, es decir, es gratuito. Sin embargo, es un subproducto del valor general del "Código abierto".
Esto es debido a que [una licencia open source requiere](https://opensource.org/osd-annotated) que cualquiera pueda usar, modificar, y compartir sus proyectos para casi cualquier propósito, y los proyectos en sí mismos suelen ser gratuitos. Si el uso del proyecto cuesta dinero, cualquiera puede legalmente hacer una copia del mismo y usar la versión gratuita en su lugar.
El resultado es que la mayor parte de los proyectos de este tipo son gratuitos, pero "gratuito" no forma parte de la definición del "Código Abierto". Hay formas de cobrar por estos proyectos en forma indirecta a través de licencias duales o funcionalidad limitada, y al mismo tiempo cumplir con la definición oficial del "Código Abierto".
## ¿Debería lanzar mi propio proyecto de Código Abierto?
La respuesta corta es "Sí", debido a que, sin importar lo que suceda, lanzar tu propio proyecto es una buena forma de aprender acerca de cómo funciona el código abierto.
Si nunca has utilizado este concepto en el pasado, probablemente estés preocupado de lo que otras personas digan, o que no digan nada. Si esto es así, debes saber que no estás solo.
El código abierto funciona como cualquier otra actividad creativa, ya sea escribir o pintar. Puede dar miedo de compartir algo con el mundo, pero la única forma de mejorar es practicar (aún si no tienes una audiencia).
Si no estás convencido todavía, toma un momento para pensar acerca de cuáles serán tus objetivos.
### Definiendo tus objetivos
Los objetivos pueden ayudarte a detectar puntos en los que continuar trabajando, a qué decirle que no, y a dónde recurrir por ayuda. Comienza preguntándote, _¿Por qué estoy haciendo "código abierto" a mi proyecto?_
No hay nunca una respuesta correcta a esta pregunta. Puedes tener múltiples objetivos para un solo proyecto o diferentes proyectos con diferentes objetivos.
Si tu único objetivo es mostrar al mundo tu trabajo, quizás no necesites ni quieras contribución, y quizás digas eso en el README. Por otra parte, si quieres ayuda, invertirás tiempo en clarificar la documentación y en hacer sentir a los recién llegados bienvenidos.
A medida que tu proyecto crezca, tu comunidad podrá llegar a necesitar más que solamente el código. Es decir, necesitará que respondas a issues, que revises el código, entre otras tareas importantes en un proyecto de esta clase.
El tiempo que dediques a tareas ajenas a codificar dependerá del tamaño y alcance de tus proyectos, deberías estar preparado, como encargado de mantenimiento, a afrontarlas por tu cuenta o encontrar a alguien que pueda ayudarte.
**Si eres parte de una compañia que quiere "abrir" el código de un proyecto,** debes asegurarte que el mismo tiene recursos internos que necesitan mejorar. Necesitarás identificar al responsable de mantener el proyecto una vez lanzado y definir cómo vas a compartir esas tareas con tu comunidad.
Si necesitas un presupuesto dedicado o personal para la promoción, operación y mantenimiento del proyecto, empieza esas conversaciones de forma temprana.
### Contribuyendo en otros proyectos.
Si tu meta es aprender cómo contribuir con otros o entender cómo funciona el "Código Abierto", considera contribuir en proyectos existentes. Comienza con proyectos que ya has estado usando y que te gustan. Contribuir a un proyecto puede ser tan simple como arreglar "typos" o actualizar documentación.
Si no sabés como comenzar a contribuir, mira esta [Guía sobre cómo contribuir](../how-to-contribute/).
## Lanzando tu propio proyecto de Código Abierto
No hay momento perfecto para abrir el código de tu trabajo. Puedes abrir el de una idea, el de un trabajo en progreso o después de varios años de ser un proyecto cerrado.
Generalmente, puedes abrir el código de tu proyecto cuando te sientas cómodo de que otras personas vean y te aconsejen sobre tu trabajo.
No importa en qué etapa decidas hacerlo, cada proyecto debe incluir la siguiente documentación.
* [Licencia de Código Abierto](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Pautas para contribuir](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Código de conducta](../code-of-conduct/)
Como encargado de mantenimiento, estos componentes ayudarán a comunicar tus deseos, manejar tus contribuciones y proteger los derechos legales de cada uno (incluyéndote). Incrementan significativamente tus posibilidades de tener una experiencia positiva.
Si tu proyecto está en GitHub, colocar estos archivos en tu directorio raíz con las recomendaciones de nombrado de los mismos, te ayudará a que GitHub los reconozca automáticamente y muestre a tus lectores.
### Eligiendo una licencia
Una licencia de Código Abierto garantiza que otros puedan usar, copiar, modificar y contribuir en tu proyecto sin problemas. Además ayuda a protegerte de situaciones legales complejas. **¡Debes elegir una licencia cuando inicias tu proyecto!**
El trabajo legal no es divertido. La buena noticia es que puedes copiar y pegar una licencia existente en tu repositorio. Solo llevará un minuto proteger tu trabajo.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), y [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) son las licencias más populares, pero [hay otras opciones](https://choosealicense.com) para elegir.
Cuando creas un nuevo proyecto en GitHub, te dan la opción de seleccionar una licencia. Incluir una licencia de Código Abierto hará tu proyecto efectivamente de Código Abierto.

Si tienes otras preguntas acerca del aspecto legal al manejar proyectos de este tipo, [te tenemos cubierto](../legal/).
### Escribiendo un README
Los README hacen más que explicar cómo usar tu proyecto, también explican por qué importa el mismo, y qué pueden hacer los usuarios con él.
Trata de que tu README responda a las siguientes preguntas:
* ¿Qué hace el proyecto?
* ¿Por qué es útil?
* ¿Cómo se debe comenzar?
* ¿Dónde puedo buscar más información? (si es que la necesito)
Puedes usarlo para responder otras preguntas: cómo manejo las contribuciones, cuáles son las metas del proyecto, e información acerca de licencias y atribuciones. Si no quieres aceptar contribuciones, o tu proyecto no está listo para producción, lo escribes.
Algunas veces las personas evitan escribir el README debido a que sienten que su proyecto está incompleto, o qué no quiere contribuciones. Ambas son muy buenas razones para escribir uno...
Para más inspiración, trata de usar @18F's ["Making READMEs Readable"](https://pages.18f.gov/open-source-guide/making-readmes-readable/) o @PurpleBooth's [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) para escribir un README.
Cuando incluyes un archivo de este tipo en tu directorio raíz, GitHub automáticamente lo mostrará en la página principal del repositorio.
### Escribiendo las pautas para contribuir
Un archivo CONTRIBUTING le da información a la audiencia acerca de cómo participar en el proyecto, por ejemplo:
* Cómo archivar un reporte de bug (trata de usar [issue and pull request templates](https://github.com/blog/2111-issue-and-pull-request-templates))
* Cómo sugerir una nueva funcionalidad/característica
* Cómo establecer tu entorno y correr pruebas
Además de detalles técnicos, este archivo es una oportunidad para comunicar tus expectativas, como:
* Los tipos de contribución que esperas
* Tu visión del proyecto (La hoja de ruta)
* Cómo deberían comunicarse (o cómo no) los contribuyentes contigo
Usando un tono cálido y amigable, y ofreciendo sugerencias específicas para contribuciones puede ayudar a los iniciados a sentirse bienvenidos y ansiosos de participar.
Por ejemplo, [Active Admin](https://github.com/activeadmin/activeadmin/) comienza [su guía de contribuciones](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) con:
> Primero, muchas gracias por considerar contribuir a Active Admin. Son personas como ustedes las que la hacen una gran herramienta.
En las primeras etapas del proyecto, tu archivo CONTRIBUTING puede ser simple. Siempre debes explicar cómo reportar bugs o issues, y cualquier requerimiento técnico (como tests) para hacer una contribución.
Con el tiempo, quizás debas agregar otras "preguntas frecuentes" a tu archivo. Escribir esta información significa que menos personas te preguntarán nuevamente la misma pregunta.
Para más información sobre este tema, puedes acceder a @nayafia's [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) o @mozilla's ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/).
Vincula tu CONTRIBUTING desde tu README, así más personas pueden verlo.Si tu [colocas el archivo en tu repositorio](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub automáticamente lo vinculará cuando un contribuyente cree un issue o abra un pull request.

### Estableciendo un código de conducta.
Finalmente, un código de conducta ayuda a establecer reglas base de comportamiento para los participantes de tus proyectos. Esto es muy deseable si estás lanzando un nuevo proyecto de código abierto para una compañía o comunidad. Un código de conducta facilita un comportamiento en comunidad sano y constructivo, reduciendo tu estrés como encargado de mantenimiento.
Para más información, entra a [Guía del Código de Conducta](../code-of-conduct/).
Además de comunicar _cómo_ esperas que se comporten los participantes, un código de conducta tiende a describir a quién se aplican las expectativas, cuando apliquen, y qué hacer si una violación a las mismas ocurre.
Como muchas licencias de código abierto, existen estándares emergentes para códigos de conducta para que no debas escribir uno propio. El [Contributor Covenant](https://www.contributor-covenant.org/) es un código de conducta usado por [más de 40000 proyectos de código abierto](https://www.contributor-covenant.org/adopters), incluyendo Kubernetes, Rails, and Swift. Debes estar preparado para redefinir el tuyo cuando sea necesario.
Copia el texto directamente en el archivo CODE_OF_CONDUCT dentro de tu repositorio, en el directorio raíz, y vincúlalo desde tu README.
## Dando un nombre y una marca a tu proyecto
La marca es más que elegir un nombre atractivo y un buen logo. Es acerca de cómo hablar de tu proyecto y llegar a la gente.
### Eligiendo el nombre correcto
Debes elegir un nombre sencillo de recordar y que en lo posible de una idea de lo que el proyecto hace. Ejemplos son:
* [Sentry](https://github.com/getsentry/sentry) monitorea apps
* [Thin](https://github.com/macournoyer/thin) es un server de Ruby
Si estás construyendo sobre un proyecto ya existente, usar su nombre como prefijo suele clarificar lo que el mismo hace (ejemplo: [node-fetch](https://github.com/bitinn/node-fetch) trae `window.fetch` a Node.js).
Considera claridad por sobre todo. Los chismes son divertidos, pero recuerda que algunas bromas pueden no ser traducidas otros idiomas o llevadas a otras culturas, con gente que posee diferentes experiencias a las tuyas. Algunos de tus potenciales usuarios pueden ser empleados de la compañía: ¡no debes hacerlos sentir incómodos cuando tienen que explicar tu proyecto en el trabajo!
### Evitando conflictos con los nombres
Busca proyectos con el mismo nombre, o similar, especialmente si compartes el mismo ecosistema o idioma. Si tu nombre coincide con algún otro proyecto popular, puede confundir a las personas.
Si quieres una página web, manejo de Twitter, u otros ítems que representen tu proyecto, asegúrate de que puedas asignar el nombre que quieras. En lo posible, [reserva tu nombre ahora](https://instantdomainsearch.com/) para estar tranquilo, aunque aún no lo vayas a usar.
Tu nombre no debe infringir ninguna marca (trademark), de ser así la compañía puede pedirte que des de baja a tu proyecto, o puede tomar acciones legales en tu contra. No vale el riesgo.
Puedes verificar [WIPO](http://www.wipo.int/branddb/en/) para verificar conflictos de este tipo. Si estás en una compañía, ésta es una de las cosas con las cual tu [equipo legal puede ayudar](../legal/).
Finalmente, haz una búsqueda rápida en Google: ¿Las personas podrán encontrar rápidamente el nombre? ¿En los resultados de búsqueda aparece algo que no quieres que ellos vean?
### Cómo escribir y codificar afecta tu marca
Durante el ciclo de vida de tu proyecto, escribirás una serie grande de documentos: README, tutoriales, issues, etc..
Ya sea documentación oficial como casual (un email), tu estilo de redacción debe ser parte de la marca de tu proyecto. Considera cómo será visto por tu audiencia y si es o no adecuado.
Usando un lenguaje inclusivo, puede ir lejos haciendo que tus proyectos reciban de forma más cálida a los nuevos participantes. Mantén un lenguaje simple.
Luego de cómo expresarte, tu estilo a la hora de codificar puede ser importante también. [Angular](https://github.com/johnpapa/angular-styleguide) y [jQuery](https://contribute.jquery.org/style-guide/js/) son ejemplos de proyectos con un riguroso trato en este sentido.
No es necesario escribir una "guía de estilo" para tus proyectos cuando recién estás comenzando, y quizás hasta descubras que disfrutas al incorporar distintos estilos de codificación en tu proyecto. Pero deberías anticiparte y definir cómo tu redacción y estilo de codificación puede atraer o no a distintos tipos de personas. Define esto al comienzo.
## Tu checklist a armar previamente al lanzamiento del proyecto
Estás listo para iniciar tu propio proyecto de Código Abierto. Aquí dejamos un checklist que puede ayudar. ¡Una vez marcadas todas las casillas estás listo para continuar! [Clickea "publish"](https://help.github.com/articles/making-a-private-repository-public/).
**Documentación**
**Code**
**Personas**
Si eres un individuo:
Si eres una compañía u organización:
## ¡Lo has hecho!
¡Felicitaciones por abrir el código de tu primer proyecto! Sin importar el devenir, trabajar en público es un regalo a la comunidad. Con cada commit, comentario y pull request, estás creando oportunidades no solo para ti, si no para que otras personas puedan aprender y crecer.
================================================
FILE: _articles/fa/best-practices.md
================================================
---
lang: fa
title: بهترین روالهای تجربه شده برای نگهدارندهها
description: زندگی خود را به عنوان یک نگهدارندهی اوپن سورس آسانتر کنید؛ از ثبتکردن فرآیندها گرفته تا بهرهبردن از اجتماعتان.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## نگهدارنده بودن به چه معناست؟
اگر شما نگهدارندهی پروژهای اوپن سورس باشید که افراد زیادی از آن استفاده میکنند، حتما متوجه شدهاید که کمتر مشغول به کدنویسی هستید و بیشتر نقش پاسخگویی به مشکلات را بر عهده دارید.
در مراحل اولیهی هر پروژهای، شما ایدههای جدیدی را امتحان میکنید و بر اساس آنچه میخواهید تصمیمگیری میکنید. با افزایش محبوبیت پروژه، متوجه میشوید که بیشتر مشغول کار با کاربران و همکاران خود خواهید بود.
نگهداری یک پروژه، به چیزی بیشتر از کدنویسی نیاز دارد. این وظایف اغلب به صورت ناگهانی پیش میآیند؛ اما آنها به همان اندازهی پروژهی در حال رشد مهم هستند. ما برای آسانتر کردن زندگیتان چند روش آماده کردهایم؛ از مراحل ثبت کردن فرآیند گرفته تا بهرهبردن از اجتماعتان.
## ثبت کردن فرآیندها
نوشتن مطالب، یکی از مهمترین کارهایی است که میتوانید به عنوان نگهدارنده انجام دهید.
ثبت کردن مطالب، نه تنها باعث شفافیت تفکر شما میشود، بلکه به دیگران کمک میکند تا حتی بدون پرسیدن سوالی، با احتیاجات و انتظارات شما آشنا شوند.
نوشتن مطالب، نه گفتن به چیزی که به درد شما نمیخورد را آسانتر میکند. همچنین فرآیند کمک کردن به شما را برای سایرین آسانتر میکند. شما هرگز نمیدانید که چه کسی ممکن است پروژهی شما را مطالعه یا از آن استفاده کند.
حتی اگر از پاراگرافهای طولانی استفاده نمیکنید!، نوشتن نکات مهم بهتر از چیزی ننوشتن است.
به یاد داشته باشید که نوشتن مطالب را به روز نگه دارید. اگر همیشه قادر به انجام این کار نیستید، مطالب قدیمی خود را حذف کنید یا مشخص کنید که این مطالب منسوخ شدهاند تا مانع به روز رسانیهای مشارکتکنندگان نشوید.
### چشم انداز خودتان از پروژه را یادداشت کنید
با نوشتن هدفهای خودتان از پروژه، شروع کنید. آنها را به «README» (من را بخوانید) خود اضافه کنید یا یک فایل جداگانه به نام «VISION » (چشم انداز) ایجاد کنید. اگر موارد دیگری وجود دارد که میتواند به شما کمک کند؛ مانند نقشهی راه پروژه، آنها را نیز به صورت عمومی منتشر کنید.
داشتن چشماندازی واضح و ثبت شده، شما را متمرکز نگه میدارد و به شما کمک میکند تا از بسط یا تغییرات در اهداف اولیه جلوگیری شود.
به عنوان مثال، @lord، متوجه شد که داشتن چشمانداز پروژه به او کمک میکند تا بفهمد برای کدام درخواستها وقت بگذارد. به عنوان یک نگهدارندهی جدید، وقتی اولین درخواست خود را برای [Slate](https://github.com/lord/slate) دریافت کرد، از عدم پایبندی به اهداف پروژهی خود پشیمان شد.
### انتظارات خود را اعلام کنید
نوشتن قوانین، میتواند اعصاب خردکن باشد. گاهی اوقات ممکن است این حس را داشته باشید که در حال کنترل رفتار دیگران و یا از بین بردن هیجان و لذت در میان دیگران هستید.
با این حال، اگر قوانین، مناسب و به طور عادلانهای نوشته و اجرا شوند باعث نگهداری هر چه بهتر میشوند. این قوانین، جلوی کارهایی که نمیخواهید انجام دهید را میگیرد.
اکثر افرادی که با پروژهی شما روبرو میشوند، چیزی از شما و شرایط شما نمیدانند. ممکن است فرض کنند که شما برای کار کردن بر روی پروژه حقوق میگیرید، به ویژه اگر آن پروژه چیزی باشد که آنها مرتباً استفاده میکنند و به آن وابستگی دارند. ممکن است زمانی وقت زیادی را صرف پروژهی خود میکردید، اما اکنون مشغول کار یا گذران زمان با خانوادهی خود هستید.
شما مرتکب کار اشتباهی نشدهاید! ولی اطمینان حاصل کنید که بقیه هم راجع به این مسائل اطلاع داشته باشند.
اگر نگهداری پروژه برای شما کاری نیمه وقت است یا کاملاً داوطلبانه است، درمورد آن صادق باشید و روشن کنید که چقدر زمان برای این کار دارید. این مسئله با میزان زمانی که شما فکر میکنید پروژه به آن نیاز دارد یا مدت زمانی که دیگران میخواهند شما در آن صرف کنید، یکی نیست و با هم فرق میکند.
در اینجا چند قانون داریم که به یاد داشتن آنها ارزش دارد:
* مشارکت چگونه تعریف و پذیرفته میشود (_آیا نیاز به آزمون دارد؟ یا قالب طرح مشکل؟_)
* انواع مشارکتهایی که میپذیرید (_آیا فقط برای قسمتهای خاصی از کد خود کمک میخواهید؟_)
* چه زمانی برای پیگیری مناسب است (_به عنوان مثال، «شما در طی 7 روز از نگهدارنده میتوانید انتظار پاسخگویی داشته باشید. اگر تا آن موقع خبری نشد، یادآوری کنید._)
* چه مدت زمان صرف پروژه میکنید (_به عنوان مثال، «ما فقط 5 ساعت در هفته برای این پروژه وقت میگذاریم»_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), و [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) نمونههایی از پروژهها با دستورالعملهایی برای نگهدارندگان و مشارکتکنندگان هستند.
### ابلاغیههای خود را به صورت عمومی اعلام کنید
تعاملات خود با بیرون را نیز ثبت کنید. در هر جایی که ممکن بود، ابلاغیههای مربوط به پروژهی خود را به صورت عمومی اعلام کنید. اگر کسی خواست که به طور خصوصی دربارهی درخواستی یا پشتیبانی با شما به گفتگو بپردازد، مودبانه او را به کانال ارتباطی عمومی، همچون فهرست پستی (mailing list) یا «issue tracker» هدایت کنید.
اگر با سایر نگهدارندهها ملاقات کردید یا در خلوت تصمیم مهمی گرفتید، این مکالمهها را به صورت عمومی ثبت کنید؛ حتی اگر بخواهد به صورت پست کردن یادداشتهایتان باشد.
به این ترتیب، هر کسی که به انجمن شما بپیوندد به همان اطلاعاتی که سالها در آنجا بوده است، دسترسی خواهد داشت.
## نه گفتن، را یاد بگیرید
شما مطالب خود را ثبت کردید. در حالت ایده آل، همه نوشتهها و مستندات شما را میخوانند، اما در واقع، شما باید به دیگران وجود این اطلاعات را نیز یادآوری کنید.
درصورتی که لازم باشد قوانین خود را اجرا کنید، با نوشتن و ثبت کردن همه چیز، به شما کمک میکند تا شرایط را از حالت شخصیسازی شده درآورید.
نه گفتن، لذتبخش نیست؛ اما گفتن «مشارکت شما با معیارهای این پروژه مطابقت ندارد» کمتر از «من مشارکت با شما را دوست ندارم»، به شخصیت طرف برمیخورد.
نه گفتن در بسیاری از شرایطی که به عنوان نگهدارنده با آن روبرو خواهید شد، به کار میآید: درخواستهایی که با ویژگیهای پروژهی شما متناسب نیستند، کسی که بحث را به بیراهه میکشاند، انجام کارهای غیرضروری برای دیگران.
### دوستانه با دیگران ارتباط برقرار کنید
یکی از مهمترین جاهایی که شما باید تمرین نه گفتن را انجام دهید، در سر برخی از مسائل و «درخواستهای pull» ای است که از شما میشود. به عنوان نگهدارندهی پروژه، ناگزیر پیشنهادهایی دریافت خواهید کرد که نمیخواهید آنها را بپذیرید.
چونکه شاید آن مشارکت، اهداف پروژهی شما را تغییر دهد یا با چشمانداز شما مطابقت نداشته باشد. یا شاید ایده خوب باشد، ولی اجرای آن ضعیف باشد.
صرف نظر از هرچه که دلیل بخواهد باشد، میتوان مشارکتهایی را که مطابق با استانداردهای پروژهی شما نیستند را با درایت مدیریت کرد.
اگر مشارکتی به شما پیشنهاد بشود که نخواهید آن را بپذیرید؛ اولین واکنش شما ممکن است نادیده گرفتن آن یا تظاهر به ندیدن آن باشد. انجام این کار میتواند به احساسات طرف مقابل ضربه بزند و حتی باعث کاهش انگیزهی سایر مشارکتکنندگان بالقوهی اجتماع (community) شما شود.
مشارکت ناخواسته را صرف اینکه آدم خوبی به نظر برسید، ادامه ندهید زیرا در ادامهی راه احساس گناه خواهید کرد. با گذشت زمان، مسائل و روابط عمومی بیپاسخ باعث میشود که کارتان روی پروژه بسیار استرسزا و ترسناک پیش برود.
بهتر است فوراً به مشارکتهایی که آنها را نمیخواهید، پایان دهید. اگر پروژه شما از کمبود بک لاگ رنج می برد, @steveklabnik در مقاله [how to triage issues efficiently](https://words.steveklabnik.com/how-to-be-an-open-source-gardener) پیشنهاداتی در این خصوص ارائه کرده است.
ثانیاً، بیتوجهی به مشارکتهایتان، سیگنالهای منفیای به درون اجتماع میفرستد. مشارکت در هر پروژهای میتواند دلهرهآور باشد، خصوصاً اگر برای اولین بار باشد که در پروژهای شرکت میکنید. حتی اگر مشارکت آنها را قبول نکردید، از آن شخص تشکر کرده و از توجه او سپاسگزار باشید. کار پسندیدهای است!
اگر نمیخواهید مشارکت کسی را قبول کنید:
* از توجه آنها **تشکر کنید**.
* **توضیح دهید که چرا نمیتوانید با آنها همکاری داشته باشید** و اگر میتوانید، پیشنهادهای واضحی را برای بهبود آنها برای آینده ارائه دهید؛ مهربان باشید، اما مصمم.
* در صورت داشتن دسترسی، آنها را **به مستندات مربوطه ارجاع دهید**. اگر با درخواستهای مکرر برای مواردی که نمیخواهید آنها را بپذیرید، مواجه شدید؛ آن موارد را برای جلوگیری از مکررات به مستندات خود اضافه کنید.
* **درخواست مشارکت را ببندید**.
شما به 1 یا 2 جمله بیشتر، برای پاسخگویی نیاز نخواهید داشت. به عنوان مثال، هنگامی که [celery](https://github.com/celery/celery/)، خطایی مربوط به ویندوز را گزارش داد، «berkerpeksag» [اینگونه پاسخ](https://github.com/celery/celery/issues/3383) داد:

اگر فکر نه گفتن شما را وحشت زده میکند، بدانید که شما تنها نیستید. همانطور که @jessfraz میگوید:
> من با نگهدارندههایی از پروژههای اوپن سورس مختلف مانندMesos» ،«Kubernetes» «Chromium صحبت کردهام و همه موافق هستند که یکی از سختترین قسمتهای نگهدارنده بودن، «نه» گفتن به اصلاحاتی است که نمیخواهید.
در نپذیرفتن پیشنهاد مشارکت کسی، احساس گناه نکنید. [طبق گفتهی](https://twitter.com/solomonstre/status/715277134978113536) @shykes، اولین قانون پروژههای اوپن سورس این است که: «نه موقتیست، بله برای همیشه». در حالی که همدردی با اشتیاق فرد دیگر، چیز پسندیدهای است؛ اما رد کردن پیشنهاد مشارکت به معنای رد کردن هویت فرد پشت سر آن پیشنهاد نیست.
ختم کلام این است که اگر مشارکت با دیگری به اندازه کافی خوب نباشد، شما ملزم به پذیرفتن هیچ تعهدی نیستید. وقتی دیگران در پروژهی شما مشارکت میکنند، مهربان و پاسخگو باشید؛ اما فقط تغییراتی را قبول کنید که واقعاً معتقد هستید پروژهی شما را بهتر میکند. هر چه در نه گفتن، تمرین بیشتری داشته باشید؛ گفتن آن راحتتر میشود. به شما قول میدهم.
### فعال باشید
برای کاهش حجم مشارکتهای ناخواسته در وهلهی اول، روند پروژه خود را در راهنمای ارسال و پذیرش مشارکتها توضیح دهید.
اگر درخواستهای مشارکت بسیار کم کیفیت دریافت میکنید، از افراد متقاضی بخواهید کمی قبل از ارسال پیشنهاد، کارهایی انجام دهند؛ به عنوان مثال:
* Fill out a issue or PR template/checklist
* قبل از ارسال درخواست Pull یک گزارش اشکال ارسال کنند.
اگر از قوانین شما پیروی نکردند، بلافاصله درخواست را رد کنید و آنها را به راهنمای ارسال مرجوع کنید.
اگرچه ممکن است در ابتدا این رویکرد کمی خشن به نظر برسد، اما فعال بودن برای هر دو طرف خوب است. در نتیجه این احتمال را کاهش میدهد که کسی ساعتهای زیادی صرف «درخواست Pull»ی که شما آن را قبول نخواهید کرد، نکند. و ثانیا حجم کاری شما را نیز کمتر میکند و مدیریت آن سادهتر میشود
بعضی اوقات، وقتی نه میگویید، مشارکتکنندهی بالقوه ممکن است ناراحت شود یا از تصمیم شما انتقاد کند. اگر آنها خصومتآمیز رفتار کردند و اگر نخواستند به طور سازنده همکاری کنند، [قدمهایی را برای خنثی کردن موقعیت](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) بردارید یا حتی آنها را از اجتماع خودتان اخراج کنید.
### با آغوش باز، پذیرای راهنمایی و مشاوره باشید
شاید کسانی در اجتماع شما باشند که مرتباً درخواستهای مشارکتی پیشنهاد میکنند که با استانداردهای پروژهی شما مطابقت نداشته باشد. مسلما رد شدن پیاپی برای هر دو طرف، طاقتفرساست.
اگر دیدید کسی مشتاق پروژهی شما است، اما به کمی پیشرفت نیاز دارد، صبور باشید. در هر شرایطی به روشنی توضیح دهید که چرا مشارکت آنها متناسب با انتظارات پروژهی شما نیست. سعی کنید ابتدا وظایفی سادهتر و با ابهامات کمتر به آنها بسپرید تا به قول معروف «آمادهی کار شوند». اگر وقت داشتید، در اولین مشارکت، آنها را راهنمایی کنید، یا شخص دیگری را در اجتماع خود پیدا کنید که تمایل به راهنمایی کردن آنها داشته باشد.
## از اجتماع خود بهره ببرید
لازم نیست همهی کارها را خودتان انجام دهید. دلیلی دارد که پروژهی شما، اجتماعی برای خود دارد! حتی اگر هنوز اجتماعی فعال ندارید، اگر کاربران زیادی دارید، کارها را به آنها بسپرید.
### حجم کار را با دیگران تقسیم کنید
اگر میخواهید که دیگران به شما کمک کنند، از آنها درخواست کنید.
راهی برای جذب مشارکتکنندگان این است که کارها را از نظر سختی درجهبندی کنید و [کارهای ساده را به مبتدیها بسپرید](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). سپس GitHub این موضوعات را در فضاهای مختلف خودش به نمایش میگذارد و باعث افزایش دیده شدن آنها میشود.
وقتی مشاهده کردید که مشارکتکنندگان جدید به صورت مکرر همکاری میکنند، با دادن مسئولیتهای بیشتر، آنها را تصدیق کنید و به رسمیت بشناسید. مشخص کنید که چگونه دیگران میتوانند در صورت اشتیاق به جایگاههای رهبری دست یابند.
همانطور که @lmccart در پروژهی خود متوجه شد، تشویق دیگران [به اشتراک گذاشتن مالکیت پروژه](../building-community/#مالکیت-پروژه-تان-را-به-اشتراک-بگذارید) میتواند حجم کاری شما را بسیار کاهش دهد[p5.js](https://github.com/processing/p5.js).
اگر لازم است کمی از پروژهی خود فاصله بگیرید، یا وقفهای در آن ایجاد کنید یا به طور کلی کنار بکشید؛ به هیچ وجه شرمآمور نیست که از شخص دیگری بخواهید مسئولیت کار شما را به عهده بگیرد.
اگر افراد دیگری مشتاق این هستند، به آنها اجازهی دسترسی دهید یا کنترل پروژه را به طور رسمی به شخص دیگری بسپارید. اگر کسی پروژهی شما را به چند شاخه تبدیل کرد و به طور فعال آن را در جای دیگری نگهداری کرد، پیوند دادن پروژهی اصلی خود به شاخه را مد نظر قرار دهید. این خیلی خوب است که مردم میخواهند پروژه شما ادامه یابد!
@progrium [متوجه شد]( https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) که ثبت کردن چشمانداز [پروژه](https://github.com/dokku/dokku)، کمک کرد تا آن اهداف حتی پس از کنار کشیدن او ادامه یابند:
> من یک صفحه در ویکی نوشتم و آنچه را که میخواهم و چرایی آن را توصیف کردم. بنا به دلایلی برای من تعجبآور بود که نگهدارندگان شروع به انتقال پروژه به سمت و سوی دلخواه خود کردند! آیا آنطور که میخواستم، پیش رفت؟ نه همیشه. ولی پروژه را به آنچه که نوشته بودم، نزدیکتر کرد.
### به دیگران اجازه دهید تا راه حلهای مورد نیاز خودشان را طراحی کنند
اگر فرد مشارکتکنندهای نظر دیگری در مورد کاری که پروژه باید انجام دهد داشته باشد، بهتر است که آنها را با مهربانی تشویق به کار بر روی شاخهی خودشان از پروژه بکنید.
به چند شاخه تقسیم کردن پروژه، الزاما چیز بدی نیست. امکان کپی و اصلاح پروژهها، یکی از بهترین ویژگیهای اوپن سورس بودن است. تشویق اجتماع (community) خودتان به کار بر روی شاخههای خودشان میتواند فضای خلاقانهی مورد نیاز را فراهم آورد، بدون اینکه با چشماندازهای پروژهی شما تداخلی ایجاد کند.
این موضوع همچنین درمورد کاربری صدق میکند که واقعاً نیاز به راهحلی دارد که ظرفیت طراحی آن را ندارید. ارائهی APIها و هوکهای سفارشیسازی (customization hooks)، بدون نیاز به تغییر مستقیم سورس، میتوانند به دیگران در تأمین نیازهاشان کمک کنند. @orta [متوجه شد](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) که افزونههای پرورشی برای «CocoaPods» منجر به «برخی از جالبترین ایدهها» شد:
> تقریباً اجتنابناپذیر به نظر میرسد که به محض بزرگتر شدن پروژه، نگهدارندهها باید در مورد نحوه تعریف کدهای جدید بسیار محافظهکارانهتر عمل کنند. شاید در گفتن «نه» تبحر پیدا کرده باشید، اما هنوز بسیاری از مردم نیازهایی معقول و منطقی دارند. بنابراین، در نهایت ابزار شما به یک پلتفرم تبدیل میشود.
## از رباتها استفاده کنید
همانطور که وظایفی وجود دارد که دیگران میتوانند در انجام آنها به شما کمک کنند، وظایفی نیز وجود دارد که هیچ انسانی هرگز نباید آنها را انجام دهد. رباتها دوست شما هستند. به عنوان یک نگهدارنده، از آنها برای سهولت زندگی خود استفاده کنید.
### برای بهبود کیفیت کدهای خود، از تستها و دیگر ابزار استفاده کنید.
یکی از مهمترین راهها برای اتوماتیک کردن پروژهی خود،افزودن تست است.
تستها به مشارکتکنندگان کمک میکند تا اطمینان داشته باشند که چیزی را خراب نمی کنند. تستها،همچنین بررسی و پذیرش سریع مشارکتها را برای شما آسان میکند.
هر چقدر از خود علاقهی بیشتری نمایش دهید و مشتاقتر باشید،اجتماع شما مشارکت بیشتری خواهد داشت.
تستهای خودکاری را طراحی کنید که برای همه مشارکتهای آتی اجرا شود و اطمینان حاصل کنید که تستهای شما به راحتی توسط مشارکتکنندگان قابل اجرا باشند. قبول کردن درخواستهای مشارکت در کدها را ملزم به قبول شدن در آن تست بکنید. با این کار، حداقل استاندارد کیفیتی را برای همهی درخواستها تعیین میکنید. [با بررسی وضعیت](https://help.github.com/articles/about-required-status-checks/) در GitHub میتوانید اطمینان حاصل کنید که بدون گذراندن تستهای شما اجازهی هیچ گونه تغییری داده نمیشود.
اگر تستهایی اضافه کردید، حتماً نحوهی کارکرد آنها را در فایل «CONTRIBUTING» (مشارکت) خود توضیح دهید.
### از ابزارها برای اتوماتیک کردن کارهای سادهی نگهداری استفاده کنید
خبر خوب در مورد نگهداری پروژههای محبوب این است که نگهدارندگان دیگر احتمالاً با مسائل مشابهی روبرو شدهاند و راهحلی از قبل برای آن طراحی کردهاند.
[ابزارهای متنوعی برای کمک](https://github.com/showcases/tools-for-open-source) به اتوماتیک کردن برخی جنبههای کار نگهداری وجود دارد. به عنوان مثال:
* ابزار [semantic-release](https://github.com/semantic-release/semantic-release)، عرضه نسخههای جدید شما را اتوماتیک میکند.
* ابزار [mention-bot](https://github.com/facebook/mention-bot)، به بازبینهای بالقوه برای «درخواست pull»ها خبر می دهد.
* ابزار [Danger](https://github.com/danger/danger)، به بررسی و بازبینی اتوماتیک کد کمک میکند.
* ابزار [no-response](https://github.com/probot/no-response)، مسائلی را که نویسنده به درخواستها برای اطلاعات بیشتر پاسخ نداده است، میبندد.
* ابزار [dependabot](https://github.com/dependabot)، هر روز «فایلهای وابسته» (مثل کتابخانهها یا کلاسهای جانبی یا ماژولها) شما را از نظر الزامات منسوخ شده بررسی میکند و «درخواستهای pull» را برای هر موردی که پیدا میکند، باز میکند.
برای گزارش اشکالات (bug) و سایر مشارکتهای متداول، GitHub دارای [قالبهای طرح مشکل و قالبهای درخواستهای pull](https://github.com/blog/2111-issue-and-pull-request-templates) است، که میتوانید برای کارآمد ساختن ارتباطاتی که دریافت میکنید، استفاده کنید. «TalAter»، برای کمک کردن به شما برای طرح مشکلات و مسائل روابط عمومی (PR templates)، ابزار [Choose Your Own Adventure guide](https://www.talater.com/open-source-templates/#/) را ساخت.
برای مدیریت اعلانهای ایمیل خود، میتوانید [فیلترهای ایمیل](https://github.com/blog/2203-email-updates-about-your-own-activity) را تنظیم کنید تا ایمیلها براساس اولویت سازماندهی شوند.
اگر می خواهید فراتر از حد معمول باشید، شیوهنامهها (style guides) و ابزار «linters» میتوانند مشارکتهای پروژه را استاندارد کرده و بررسی و پذیرش آنها را آسان کنند.
اگرچه اگر استانداردهای شما بسیار پیچیده باشد، می تواند موانع و مسائل مشارکت را افزایش دهند. مطمئن شوید که فقط به اندازهی کافی قوانینی را برای در آسایش قرار گرفتن دیگران اضافه کنید.
اگر مطمئن نیستید که از چه ابزاری استفاده کنید، به سایر پروژههای معروف به ویژه آن پروژههایی که مربوط به اکوسیستم خودتان است، توجه کنید. به عنوان مثال، فرآیند مشارکت برای سایر ماژولهای «Node»، چگونه است؟ همچنین استفاده از ابزارها و رویکردهای مشابه، فرآیند کارتان را برای مشارکتکنندگان شما آشناتر میکند.
## اشکالی ندارد اگر که وقفهای در کار خود ایجاد کنید
کار کردن به صورت اوپن سورس برای شما شادی آورد. شاید اکنون باعث شده است شما احساس انزواطلبی داشته باشید یا احساس گناه کنید.
شاید وقتی به پروژههای خود فکر میکنید بیش از حد احساس آشفتگی و یا احساس ترس میکنید. و در همین حال، «مشکلات» و «درخواستهای pull» روی هم انباشته میشود.
فرسودگی و خسته شدن از کار، مسئلهای واقعی و فراگیر در پروژههای اوپن سورس است؛ مخصوصاً در میان نگهدارندگان. به عنوان یک فرد نگهدارنده، خوشحالی و رضایت شما برای بقای هر پروژهی اوپن سورسی، ضروری است.
پس نیازی به گفتن نیست؛ به خودتان استراحت بدهید! نیازی نیست تا سر حد خستگی و فرسودگی پیش بروید تا سپس به تعطیلات بروید. @brettcannon، توسعهدهندهی پایتون، [تصمیم گرفت پس از 14 سال کار داوطلبانه در OSS، به تعطیلات یک ماهه برود](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/).
درست مانند هر کار دیگری، تعطیلات منظم، شما را باطراوت نگه میدارد و باعث خوشحالی و هیجان شما نسبت به کارتان میشود.
گاهی اوقات، زمانهایی که حس میکنید همه به شما احتیاج دارند؛ ممکن است فاصله گرفتن از پروژهی اوپن سورس سخت باشد. حتی ممکن است دیگران، شما را به خاطر فاصله گرفتن سرزنش کنند.
در حالی که از پروژه فاصله گرفتید، تلاش خود را برای یافتن پشتیبانی از کاربران و اجتماع خود بکنید. اگر نتوانستید پشتیبانی دیگران را به دست آورید، به هر حال کار خودتان را بکنید و فاصلهای را که نیاز دارید از پروژه بگیرید. زمانی که حضور نداشتید، حتماً ارتباط خود را با دیگران حفظ کنید؛ تا مردم از نبود پاسخگویی گیج نشوند.
فاصله گرفتن، فقط منحصر به تعطیلات میشود. اگر نمیخواهید آخر هفته یا در ساعات کاری، پروژههای اوپن سورس انجام دهید، این را به اطلاع دیگران برسانید تا بدانند که در آن اوقات مزاحم شما نشوند.
## ابتدا به فکر خودتان باشید!
نگهداری یک پروژهی محبوب به مهارتهای متفاوتی در مقایسه با مهارتهای مراحل اولیهی رشد نیاز دارد، اما به همان میزان پاداش بیشتری هم خواهد داشت. به عنوان یک نگهدارنده، شما باید مهارتهای رهبری و شخصی در سطحی فرای دیگران داشته باشید. اگرچه مدیریت آن همیشه آسان نیست، اما تعیین مرزهای مشخص و تنها پذیرفتن آنچه که با آن راحت هستید به شما کمک میکند تا شاد، سرحال و کارآمد باشید.
================================================
FILE: _articles/fa/building-community.md
================================================
---
lang: fa
title: ساخت انجمن های پذیرا
description: ساخت یک انجمن که افراد را به استفاده کردن ، اشتراک گذاری و تبلیغ کردن پروژه تان ترغیب کند.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## پروژه تان را برای موفقیت راه اندازی کنید
وقتی شما پروژه خود را راه اندازی کنید، مطالبی را پخش می کنید و افراد در حال بررسی آنها هستند. حالا سوال اینجا است که چطور باید از آنها بخواهید که در انتظار مطالبتان باشند؟
یک انجمن پذیرا ، یک نوع سرمایه گذاری برای شهرت و آینده پروژه تان است. اگر پروژه تان در حال آغاز کسب مشارکتهای اولیه اش است، با اعطای یک تجربه مثبت به مشارکت کننده های اولیه شروع کنید، و برای آنها به عقب برگشتن را ساده سازید
### کاری کنید تا افراد احساس پذیرفته شدن داشته باشند
یک راه برای تفکر درباره انجمن پروژه تان از طریق آنچه مایک مک کویید آن را [قیف مشارکت کننده](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/) می نامد میسر است.

در حین اینکه شما انجمن خود را می سازید، در نظر بگیرید چطور فردی در بالای قیف( یک کاربر بالقوه) می تواند از لحاظ نظری راهش را به ته قیف ( یک نگهدارنده فعال) هموار سازد. هدف شما این است که ناسازگاری در هر مرحله تجربه مشارکت کننده را کاهش دهید. وقتی افراد، بردهای آسانی دارند، آنها انگیزه بیشتری برای ادامه کار دارند.
با مستندات خود شروع کنید:
* **برای افراد استفاده از پروژه خود را ساده سازید:** یک مثال از آن کد واضح و [README دوستانه](../starting-a-project/#نوشتن-راهنمای-مشارکت) است که راه اندازی پروژه تان را برای هر کسی هموارتر می سازد.
* **بطور واضح توضیح دهید که مشارکت چگونه است،** البته این کار با استفاده از [فایل مشارکت](../starting-a-project/#نوشتن-راهنمای-مشارکت) و به روز نگه داشتن موضوعات میسر است.
* **موضوعات اولیه خوب:** برای کمک کردن به اینکه مشارکت کنندگان جدید کار خود را شروع کنند، [برچسب زدن به موضوعاتی که برای موفقیت مبتدی ها به قدر کافی ساده هستند](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels) را بطور آشکار لحاظ کنید. سپس GitHub ، این موضوعات را در محل های مختلف روی پلتفورم هموار می سازد، و مشارکت های مفید را افزایش می دهد و سپس ناسازگاری از کاربران مختلف در فائق آمدن بر موضوعاتی که در سطح آنها خیلی دشوار است را کاهش می دهد.
[نظرسنجی منبع باز( اوپن سورس) 2017 GitHub](http://opensourcesurvey.org/2017/) که مستندات ناقص و گیچ کننده ای را نشان می داد، بزرگترین مشکل برای کاربران منبع باز می باشد. مستندات خوب، افراد را دعوت می کند که با پروژهتان تعامل کنند. در نهایت افراد یک موضوع یا یک درخواست pull( ادغام یا یکپارچگی) را باز خواهند کرد. از این تعاملات به عنوان فرصتهایی برای سوق دادن آنها به پایین قیف استفاده کنید.
* **وقتی شخص جدیدی وارد پروژه شما می شود، از وی از روی علاقه تشکر کنید!** این یک تجربه منفی خواهد بود که از فردی بخواهید که به پروژه تان برنگردد.
* **پاسخگو باشید:** اگر شما به موضوعاتشان در عرض یک ماه پاسخ نمی دهید، شانس اینکه پروژه تان را فراموش کنند بالا می رود.
* **درباره انواع مشارکت هایی که خواهید پذیرفت ، پذیرای عقاید و افکار جدید باشید.** بسیاری از مشارکت کننده ها با یک گزارش باگ یا ترمیم جزئی آغاز می کنند. راه های زیادی برای مشارکت در یک پروژه وجود دارد. به افراد اجازه دهید تا بازگو کنند [چطور می خواهند مساعدت کنند](../how-to-contribute/#مشارکت-به-چه-معناست).
* **اگر یک مشارکتی وجود دارد که شما با آن مخالف هستید،** از آنها به خاطر بیان ایده تشکر کرده و [توضیح دهید](../best-practices/#نه-گفتن-را-یاد-بگیرید) چرا آن ایده با محدوده پروژه تان تناسب ندارد، و اگر مستندات خوبی دارید رو کنید.
اکثریت مشارکت کنندگان منبع باز، مشارکت کنندگان اتفاقی هستند: افرادی که تنها گهگاه در یک پروژه مشارکت می کنند. یک مشارکت کننده اتفاقی شاید زمان کافی برای همگامی با پروژه تان را نداشته باشد، پس کارتان این است که مشارکت را برای او تا حد ممکن ساده تر سازید.
ترغیب کردن مشارکت کنندگان دیگر یک سرمایه گذاری روی خودتان می باشد. وقتی شما بزرگترین طرفدارانتان را توانمند می سازید تا با کاری که آنها با انجامش هیجان زده می شوند همگام شوند، فشار کمی برای انجام کامل کار توسط خودتان اعمال می شود.
### مستند کردن همه چیز
وقتی شما یک پروژه جدید را آغاز می کنید، شاید احساس طبیعی تان این باشد که کارتان را باید خصوصی ادامه دهید. اما پروژه های منبع باز هنگامی شما را برمی انگیزند که شما پروسه تان را بطور علنی مستند می سازید.
وقتی شما کارها را می نویسید، افراد بیشتری می توانند در هر مرحله از رویه ها مشارکت کنند. شما ممکن است درباره چیزی کمک بخواهید چیزی که حتی در حد لزوم هم آن را نمی دانستید.
مکتوب کردن چیزها معنایی بیشتر از مستندسازی فنی صرف دارد. هر زمان شما احساس می کنید که مصر هستید تا کاری را مکتوب کنید یا بطور خصوصی پروژه تان را بحث کنید، از خودتان بپرسید که آیا می توانید آنرا علنی کنید یا نه؟
درباره نقشه مسیر پروژه تان ، انواع مشارکت هایی که شما در پی آنها هستید، اینکه چطور مشارکت ها بررسی می شوند یا اینکه چرا تصمیمات خاصی را اتخاذ می کنید ، شفاف سازی کنید.
اگر شما کاربران متعددی را مطلع سازید تا مسئله مشابهی را بررسی کنند، جوابها را در README مستند سازید.
برای جلسات، منتشر کردن یادداشت ها و نقشه های مسیر خود در یک موضوع مرتبط را مدنظر قرار دهید. بازخوردی که از این سطح از شفافیت کسب می کنید شاید شما را شگفت زده کند.
مستندسازی همه چیزها با کاری که شما انجام می دهید نیز همگام است. اگر شما در حال کار بر روی آپدیت کردن پروژه تان در حجم زیاد هستید، برای آن یک بخش درخواست pull اعمال کنید و آن را به عنوان کاری که در حال پیشرفت است نمره دهید (WIP) .از این طریق، افراد دیگر می توانند در پروسه شما اعمال نظر کنند
### پاسخگو باشید
در حین اینکه شما [پروژه تان را ارتقا می دهید](../finding-users)، افراد شاید بازخوردهایی برای شما داشته باشند. آنها ممکن است درباره اینکه چطور موارد کار می کنند سوالاتی داشته باشند، یا برای شروع نیاز به کمک داشته باشند.
سعی کنید که هنگامی که شخصی یک موضوع را پیوست می کند، تحویل می دهد یا درخواستی دارد یا درباره پروژه تان سوالی می پرسد پاسخگو باشید. وقتی شما به سرعت پاسخ دهید، افراد احساس خواهند کرد که آنها بخشی از یک گفتگو هستند و درباره مشارکت با شما مشتاق تر خواهند بود.
حتی اگر نمی توانید درخواستشان را فوراً بررسی کنید،حداقل از آنها تشکر کنید تا به افزایش مشارکت کمک کرده باشید. اینجا بیان می شود چطور @tdreyno به یک درخواست pull در سایت [Middleman](https://github.com/middleman/middleman/pull/1466) پاسخ داده است:

[دریک مطالعه موزیلا](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) پی برده است که مشارکت کنندگانی که بررسی های کدگونه را در ظرف 48 ساعت دریافت کرده بودند میزان برگشت و تکرار مشارکت خیلی بیشتری داشتند
همچنین مکالمات درباره پروژه تان می تواند در محل های دیگری در اینترنت مانند Stackverflow ، توییتر، یا Reddit روی دهد. شما می توانید در برخی از این محل ها نوتیفیکیشن هایی را اجرا کنید و بدین طریق هنگامی که شخصی به پروژه تان اشاره می کند، با خبر شوید.
### محلی برای مشارکت کردن انجمن تان اختصاص دهید
دو دلیل برای اعطای یک محل برای مشارکت در انجمنتان وجود دارد.
اولین دلیل به خاطر مشارکت کنندگان است. به افراد کمک کنید تا همدیگر را بشناسند. افراد دارای منافع مشترک، بطور اجتناب ناپذیری می خواهند که محلی برای گفتگو درباره آن منافع داشته باشند و وقتی ارتباطات علنی و قابل دسترس باشد، هر کسی می تواند آرشیوهای گذشته را بخواند تا به مشارکت خود شتاب بخشد.
دلیل دوم به خاطر خود شما است. اگر شما به افراد محل عمومی برای صحبت درباره پروژه تان ندهید، آنها احتمالاً با شما مستقیماً تماس خواهند گرفت. در شروع، ظاهراً ساده است که به پیامهای خصوصی با موضوع « فقط این بار»پاسخ دهید. اما در طول زمان مخصوصاً اگر پروژه تان معروف شود، شما کلافه خواهید شد. در برابر وسوسه ارتباط برقرار کردن با افراد درباره پروژه تان بطور خصوصی مقاومت کنید. در عوض آنها را به یک کانال عمومی معین هدایت کنید.
ارتباطات عمومی می تواند در حقیقت هدایت کردن مردم برای باز کردن یک موضوع به جای ایمیل مستقیم یا اظهار نظر کردن روی وبلاگتان باشد. همچنین شما می توانید یک لیست مِیلی داشته باشید، یا یک حساب توییتر، Slack یا کانال IRC برای افراد راه بیاندازید تا درباره پروژه تان گفتگو کنند. یا همه موارد بالا را با هم اعمال کنید!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) هر هفته وقت خود را در ساعات اداری به کمک به اعضای انجمن اختصاص می دهد:
> همچنین کاپس هر هفته زمانی را برای پیشنهاد دادن کمک و راهنمایی به انجمن اختصاص می دهد. مالکان کاپس با اختصاص زمان اختصاصی برای کار کردن با تازه واردها، کمک به PRs ، و بحث درباره ویژگی های جدید موافقت کرده اند.
استثنائات قابل توجهی در مورد ارتباطات عمومی وجود دارد از قبیلِ: موضوعات امنیتی و نقض کدهای رفتاری حساس. شما باید همیشه راهی پیش پای افراد بگذارید تا این موضوعات را بطور خصوصی گزارش کنند. اگر نمی خواهید که از ایمیل شخصی خود استفاده کنید، یک آدرس ایمیل اختصاصی ایجاد کنید.
## انجمنتان را رشد دهید
انجمنها بی نهایت قدرتمند هستند. این قدرت می تواند مفید یا مضر باشد که به این بستگی دارد که چطور آن را اعمال می کنید. در حین اینکه انجمن پروژه تان رشد می کند، راه هایی برای کمک به آن وجود دارد تا به جای نیروی مخرب یک نیروی سازنده باشد.
### بازیگران بد را تحمل نکنید
هر پروژه معروفی ناگزیر افرادی که ضرررسان هستند را نیز جذب خواهد کرد. آنها شاید بحثهای غیرضروری را شروع کنند، درباره ویژگی های جزئی خرده گیری کنند یا برای بقیه قلدری کنند.
شما به بهترین نحو تلاش کنید تا یک خطی مشی تحمل-صفر نسبت به این نوع افراد اقتباس کنید. اگر افراد منفی را چک نکنید ، افراد دیگر در جامعه تان را نیز ناراحت خواهند ساخت. آنها حتی شاید پروژه تان را ترک کنند.
بحثهای دائمی بر روی جنبه های جزئی پروژه تان، افرا دیگر از جمله خود شما را از تمرکز روی کارهای مهم دیگر بازمی دارد. افراد جدیدی که وارد پروژه تان می شوند شاید این مکالمات را ببینند و در نتیجه مشارکت نکنند.
وقتی می بینید رفتار منفیای در پروژه تان رخ می دهد، آن را علنی کنید. با لحن قاطع توضیح دهید که چرا رفتارشان قابل قبول نیست. اگر این مسئله دائماً وجود داشت شاید نیاز داشته باشید که از [آنها بخواهید تا پروژه تان را ترک کنند](../code-of-conduct/#عملیاتی-کردن-منشور-اخلاقی). [کد رفتاریتان](../code-of-conduct/) می تواند یک رهنمود سازنده برای این مکالمات باشد.
### با مشارکت کنندگان تماس بگیرید و در جریان قرار بگیرید که آنها در کجای کار هستند
مستندسازی خوب تنها هنگامی مهمتر می شود که انجمن تان رشد می کند. مشارکت کنندگان اتفاقی که ممکن است با پروژه تان آشنا نباشند ، مستنداتتان را می خوانند تا به سرعت متنی که آنها نیاز دارند را بدست آورند.
در فایل Contributing خود، بطور آشکار به مشارکت کنندگان جدید بگویید که چگونه کار خود را شروع کنند. شما شاید حتی بخواهید که یک بخش اختصاصی برای این منظور بسازید. برای مثال [Django](https://github.com/django/django) یک صفحه ویژه برای خوشامدگویی به مشارکت کنندگان جدید دارد

در صف موضوعتان ، باگهایی که برای انواع مختلف مشارکت کنندگان مناسب هستند، وجود دارد: برای مثال [_تنها اولین دفعه_](https://kentcdodds.com/blog/first-timers-only) ، « اولین موضوع خوب» یا « مستندات» را برچسب بزنید. این برچسب ها برای فرد جدید، بررسی سریع پروژه و شروع به کار بر روی موضوعاتتان را آسان می سازد
سرانجام از مستنداتتان استفاده کنید تا افراد را در هر مرحله از این رویه خرسند سازید.
شما هرگز با اکثر افرادی که وارد پروژه تان می شوند تعامل نخواهید کرد. شاید مشارکتهایی وجود داشته باشد که آنها را دریافت نکرده اید چون برخی از افراد نمی دانند از کجا باید مشارکت خود را شروع کنند. حتی کلمات کمی وجود دارند که با آن می توان افراد را از ترک کردن پروژه تان به خاطر اشباع شدن بازداشت.
برای مثال، در اینجا ما [رهنمودهای مشارکت](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md) پروژه [روبینیوس](https://github.com/rubinius/rubinius/) را می آوریم:
> ما می خواهیم که کار خود را با قدردانی از شما برای استفاده از روبینیوس شروع کنیم. این پروژه یک کار عاشقانه است و ما از همه کاربرانی که باگها را معرفی می کنند، عملکردها را بهبود می دهند و به مستندسازی کمک می کنند، قدردانی می کنیم. هر مشارکتی مهم است پس از شما برای مشارکت سپاسگزاری می کنیم. اینکه گفته می شود اینجا رهنمودهای کمی وجود دارند که ما از شما بخواهیم تا از آنها پیروی کنید، می تواند باعث موفقیت رسیدگی به موضوعتان شود.
### مالکیت پروژه تان را به اشتراک بگذارید
افراد با مشارکت در پروژه هایتان هنگام احساس مالکیت بر آن، هیجان زده می شوند. این بدان معنی نیست که شما باید چشم انداز پروژه تان را تغییر دهید یا مشارکتهایی که شما نمی خواهید را بپذیرید. اما هرچه به دیگران اعتبار بیشتری ببخشید، آنها بیشتر انتظار آن را می کشند.
ببینید آیا می توانید تا آنجا که ممکن است راه هایی را برای تسهیم مالکیت با انجمن تان بیابید. در اینجا بعضی ایده ها در این باره ارائه می شوند:
* **در برابر رفع باگ های ( غیرسرنوشت ساز) ساده مقاومت کنید:** در عوض از آنها به عنوان فرصتهایی برای پذیرش مشارکت کنندگان جدید استفاده کنید، یا شخصی که تمایل به مشارکت دارد، را راهنمایی کنید. شاید در اول غیرطبیعی به نظر برسد، اما سرمایه گذاریتان در طول زمان بازدهیاش را به تدریج بدست خواهد داد. برای مثال،@michaeljoseph از یک مشارکت کننده خواست تا درخواست pull خود را درباره موضوع [Cookiecutter](https://github.com/audreyr/cookiecutter) به جای تعمیر آن توسط خودش ارائه دهد.

* **یک فایل مشارکت کننده یا مولف در پروژه تان را شروع کنید** تا همه افرادی که به پروژه تان کمک می کردند مانند [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md) را لیست کنید.
* **اگر شما یک انجمن بزرگ دارید، یک خبرنامه منتشر کنید یا یک پست وبلاگی بنویسید** که قدردان مشارکت کنندگان هستید. خبرنامه های [This Week in Rust](https://this-week-in-rust.org/) و [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) هودی دو نمونه خوب از این موارد هستند.
* **به همه مشارکت کنندگان دسترسی Commit کردن بدهید.** @fleixge پی برد که این کار، [افراد را وادار می کند](https://felixge.de/2013/03/11/the-pull-request-hack.html) تا با هیجان بیشتری patch هایشان را اصلاح کنند و حتی باعث می شود اعضای جدید برای پروژه هایی بیابید که روی آنها سرمایه گذاری نکرده بودید.
* اگر پروژه تان روی گیت هاب است، **آن را از حساب شخصی خود به یک [سازمان](https://help.github.com/articles/creating-a-new-organization-account/) انتقال دهید** و حداقل یک ادمین پشتیبان به آن بیافزایید. سازمان ها کار کردن روی پروژه هایی با همکاران خارجی را آسانتر می سازند.
واقعیت این است که [اکثر پروژه ها](https://peerj.com/preprints/1233/) تنها دارای یک یا دو عضو هستند کسانی که اکثر کار را انجام می دهند. هرچه پروژه تان بزرگتر باشد، و هرچه انجمن تان بزرگتر باشد، دستیابی به کمک ساده تر خواهد بود.
در حالی که شاید همیشه شخصی را برای جواب دادن به تماس ها نیابید، اما فرستادن سیگنالهایی به آنجا شانسی که افراد دیگر در پروژه همکاری بکنند را افزایش خواهد داد. و اینکه هرچه زودتر اقدام کنید، افراد زودتر می توانند به شما کمک کنند.
## حل و فصل تضادها
در مراحل اولیۀ پروژه تان، اتخاذ کردن تصمیمات بزرگ ساده است. وقتی می خواهید که کاری را انجام دهید، شما فقط مشغول انجام آن شوید.
در حین اینکه پروژه تان معروف تر می شود، مردم بیشتری از تصمیماتی که شما اتخاذ می کنید سود می برند. حتی اگر انجمن بزرگی از مشارکت کنندگان را ندارید، و اگر پروژه تان دارای کاربران زیادی نیست، شما افرادی را خواهید یافت که تصمیمات را می سنجند و موضوعاتی مرتبط با خودشان را مطرح می کنند.
برای اکثر بخش ها، اگر شما یک انجمن محترم و صمیمی را پرورش می دهید و پروسه تان را علنی مستندسازی کنید، انجمن تان باید قادر باشد تا راه حل را پیدا کند. اما گاهی اوقات شما موضوعی را مطرح می کنید که پرداختن به آن یک کمی دشوارتر است.
### قالبی برای نوع دوستی تعیین کنید
وقتی انجمن تان با یک موضوع خاص مواجه است، مجرب ها ممکن است داوطلب شوند. افراد ممکن است عصبی شوند یا اشباع شوند و آن وظیفه را به شما یا دیگری محول کنند.
کارتان به عنوان یک نگاهدارنده آن است که از وخیم تر شدن شرایط جلوگیری کنید. حتی اگر شما عقیده قویای به این موضوع دارید، سعی کنید که جایگاه یک میانجی یا تسهیل کننده را داشته باشید به جای اینکه به نبرد با دیدگاه تان وارد شوید. اگر شخصی در حال بی مهر شدن است یا دارد مکالمات را انحصاری می سازد، [فوراً اقدام کنید](../building-community/#بازیگران-بد-را-تحمل-نکنید) تا مباحثات را مدنی و سودمند نگه دارید.
افراد دیگر به رهنمودهای شما نگاه می کنند. یک نمونه خوب را تعیین کنید، شما هنوز می توانید ناامیدی، ناراحتی یا نگرانی را اظهار کنید اما آرامش خود را کاملاً حفظ کنید.
خونسرد بودن آسان نیست، اما نشان دادن رهبری ، سلامت انجمن تان را بهبود می بخشد. اینترنت از شما تشکر می کند.
### فایل README خود را به عنوان یک قانون اساسی در نظر بگیرید
فایل README تان [بیشتر از یک مجموعه رهنمودها است](../starting-a-project/#نوشتن-راهنمای-مشارکت)، همچنین یک محلی برای گفتگو درباره اهداف، دیدگاه و نقشه مسیرتان است. اگر افراد آشکارا روی بحث درباره ارزش یک ویژگی خاص تمرکز می کنند، این کار به تجدیدنظر درباره README تان و صحبت درباره دیدگاه بهتر درباره پروژه تان کمک می کند. تمرکز روی README تان همچنین این مکالمات را غیرمحرمانه می سازد، بنابراین شما می توانید یک بحث سازنده را دنبال کنید.
### تمرکز روی سفر نه مقصد
برخی پروژه ها از یک فرایند رای گیری استفاده می کنند تا تصمیمات بزرگی را اتخاذ کنند. در حالی که در نگاه اول معقول به نظر می رسد، اما رای گیری به جای گوش دادن و پرداختن به نگرانی های همدیگر روی دستیابی به یک جواب تاکید می کند.
رای گیری می تواند سیاسی باشد، که در آن اعضای انجمن برای انجام منافع همدیگر یا رای دادن در یک راه خاص احساس تحت فشار قرار داشتن کنند. البته همه رای نمی دهند، چه [اکثریت انجمن تان سکوت پیشه کنند](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) چه کاربران فعلی که از رای آگاهی ندارند در حال جایگزین شدن باشند.
گاهی اوقات، رای گیری یک رهگشای ضروری است. هرچه شما بیشتر توانمند باشید به جای خودِ اجماع بیشتر روی « اجماعجویی» تاکید می کنید.
تحت یک فرایند اجماع جویی ، اعضای انجمن، نگرانی های بزرگ خود را بحث می کنند تا آنها احساس کنند که حرفهایشان شنیده می شود. وقتی تنها نگرانی های کوچک باقی می ماند، انجمن روی به جلو حرکت می کند.« اجماع جویی مهر تاییدی بر این مطلب است که یک انجمن شاید قادر نباشد که به یک جواب جامع دست یابد. در عوض، آن به گوش سپاری و مباحثه اولویت می دهد.
حتی اگر شما در عمل به عنوان یک نگهدارنده پروژه یک فرایند اجماعجویی را اقتباس کنید، مهم است که بدانید چه افرادی در حال گوش دادن هستند. وادار کنید دیگر افراد احساس کنند که شنیده می شوند و متعهد شوید که نگرانی هایشان را حل می کنید، و راه طولانی انتشار شرایط حساس را طی می کنید. سپس حرفهایتان را با اقداماتتان مقایسه کنید.
با به خاطر داشتن یک راه حل به یک تصمیم متمایل نشوید. مطمئن شوید که همه افراد احساس شنیده شدن می کنند و اینکه همه اطلاعات قبل از حرکت به سوی راه حل علنی شده اند.
### مکالمه را بطور متمرکز روی کار عملی حفظ کرده و پیش ببرید
مباحثه مهم است اما یک تفاوت بین مکالمات سودمند و غیرمفید وجود دارد.
مباحثات مادامی که فعالانه به سوی راه حل سوق می یابند را تشویق کنید. اگر واضح است که مکالمه بی فروغ شده یا به خارج از موضوع هدایت شده، گفتگوها دارد شخصی می شود یا افراد وارد بحثهای جزئی و حاشیه ای می شوند، زمان آن فرا رسیده که به مباحثات خاتمه دهید.
اجازه دادن به این مکالمات که همچنان ادامه یابد نه تنها برای موضوع تحت بررسی بد است بلکه برای سلامت انجمن تان نیز بد است. این کار پیامی می فرستد مبنی بر اینکه این نوع مکالمات مجاز هستند یا حتی انجام آنها مورد تشویق قرار می گیرد و در نتیجه می تواند روحیه افراد را از مطرح کردن و حل کردن موضوعات آتی تضعیف کند.
با ذکر هر نکته توسط دیگران یا خودتان، از خود بپرسید که _«چطور این نکته ما را به راه حل نزدیکتر می کند؟»_
اگر مکالمه به سوی حل شدن سوق یافته است از گروه بپرسید که در مرحله بعد باید _چه گامهایی را انتخاب کنید؟_ تا دوباره روی مکالمه متمرکز شوید.
اگر یک مکالمه بطور واضح هیچ روزنه ای به سوی راه حل نیافته یا هیچ اقدام واضحی برای عملیاتی شدن وجود ندارد یا اقدام مناسب قبلا اتخاذ شده، موضوع را ببندید و توضیح دهید چرا شما آن را بسته اید.
### نبردهایتان را عاقلانه سازید
متن مهم است، در نظر بگیرید چه کسانی در بحث درگیر می شوند و چطور آنها بقیه انجمن را تحت تاثیر قرار می دهند.
آیا همه افراد در انجمن در این باره ناراحت هستند یا حتی درگیر این موضوع هستند؟ یا آیا یک دردسرساز منحصر به فرد وجود دارد؟ فراموش نکنید که فقط صداهای فعال را در نظر نگیرید و اعضای ساکت جامعه تان را نیز لحاظ کنید.
اگر موضوع ، نیازهای گسترده تر انجمن تان را متجلی نمی سازد، شما شاید نیاز به تایید نگرانی های افراد کمی از انجمن تان داشته باشید. اگر این یک موضوع تکرار شونده بدون یک راه حل واضح باشد، آنها را به مباحثات قبلی درباره این موضوع ارجاع دهید و موضوع را ببندید.
### راهگشای انجمن تان را شناسایی کنید
با یک نگرش خوب و ارتباطات واضح، اکثر شرایط دشوار قابل حل هستند. البته حتی در مکالمه سودمند، می تواند یک تفاوت در عقیده درباره چگونگی پیشرفت رویه ها وجود داشته باشد. در این موارد، یک فرد یا گروه از افرادی را شناسایی کنید که می توانند به عنوان رهگشا عمل کنند.
یک رهگشا می تواند نگه دارنده اولیه پروژه باشد یا می تواند یک گروه کوچک از کسانی باشند که مبتنی بر رای گیری تصمیم می گیرند. بطور ایده آل شما یک رهگشا و یک فرایند مرتبط در یک فایل GOVERNANCE را شناسایی کرده اید قبل از اینکه ملزم باشید که از آن استفاده کنید.
رهگشایتان، باید یک تصمیم گیرنده نهایی باشد. موضوعات نفاق انگیز فرصتی برای انجمن تان است تا درس بگیرد و تکامل یابد. در آغوش کشیدن این فرصتها و استفاده از یک فرایند همکارانه برای حرکت به سوی یک راه حل هرجایی شدنی است.
## اجتماع ها و انجمن ها ❤️ متن باز هستند
انجمنهای سالم اما کوشا هزاران ساعت را برای منبع باز در هر هفته اختصاص می دهند. خیلی از مشارکت کنندگان به افراد دیگر به عنوان دلیلی برای کار کردن یا نکردن روی منبع باز اشاره می کنند. با یادگیری اینکه چطور از قدرت بطور سازنده بهره برداری کنید شما باید به افراد خارج از آنجا کمک کنید تا از یک تجربه منبع باز فراموش نشدنی برخوردار شوند.
================================================
FILE: _articles/fa/code-of-conduct.md
================================================
---
lang: fa
title: منشور اخلاقی
description: با تصویب و اجرای منشور اخلاقی، رفتار سالم و سازنده را در انجمن (community) خود تسهیل کنید.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## چرا به منشور اخلاقی نیاز داریم؟
منشور اخلاقی سندی است که انتظارات مربوط به رفتار را برای شرکتکنندگان پروژه تعیین میکند. تصویب و اجرای منشور اخلاقی میتواند به ایجاد جو اجتماعی مثبت و سازنده برای انجمن شما کمک کند.
منشور اخلاقی نه تنها از شرکتکنندگان پروژه بلکه از شما هم محافظت میکند. اگر شما از پروژهای نگهداری میکنید، ممکن است متوجه شده باشید که نگرشهای مخرب از طرف دیگر شرکتکنندگان باعث میشود در طول کار از کار خود خسته یا ناراضی شوید.
منشور اخلاقی این امکان را به شما میدهد تا رفتاری سالم و سازنده را در جامعه تسهیل کنید. داشتن نگرشی پیشگیرانه، احتمال اینکه شما یا دیگران از پروژه خسته شوید را کاهش میدهد و این امکان را برای شما فراهم میسازد تا وقتی کسی کاری را اشتباه انجام داد بتوانید با آن مقابله و جلوی آن را بگیرید.
## ایجاد منشور اخلاقی
سعی کنید هر چه زودتر منشور اخلاق را ایجاد کنید: در حالت ایدهآل، هنگامی که پروژۀ خود را شروع میکنید.
علاوه بر ابلاغ انتظاراتی که دارید، منشور اخلاقی موارد زیر را شرح میدهد:
* منشور اخلاقی در چه جاهایی اعمال میشود _(فقط در مورد مشکلات و درخواستهای pull، یا دیگر فعالیتهای انجمن مانند رویدادها؟)_
* منشور اخلاقی برای چه کسانی اعمال میشود _(اعضای انجمن و نگهدارندگان، در مورد حامیان مالی چطور؟)_
* اگر کسی منشور اخلاقی را نقض کند چه اتفاقی میافتد؟
* چگونه میتوان تخلفها را گزارش داد؟
در هر جا که میتوانید، از دانش پیشین خود استفاده کنید. [عهدنامۀ مشارکتکنندگان](https://contributor-covenant.org/) نوعی منشور اخلاقی جا افتاده و مقبول است که بیش از 40،000 پروژۀ متن باز از جمله «Kubernetes»، « «Rails و «Swift» از آن استفاده میکنند.
[منشور اخلاقی Django](https://www.djangoproject.com/conduct/) و [منشور اخلاقی Citizen](http://citizencodeofconduct.org/) نیز دو نمونۀ خوب دیگر هستند.
فایل «منشور اخلاقی» را در فهرست اصلی پروژه قرار دهید و با لینک کردن آن با فایلهای CONTRIBUTING یا README، آن را در دیدگاه انجمن خود قرار دهید.
## تصمیمگیری در مورد نحوۀ پیش بردن منشور اخلاقی
شما باید **قبل از وقوع** هر گونه تخلفی ابتدا توضیح دهید که منشور اخلاقی شما چگونه عملیاتی میشود. چندین دلیل برای اینکار وجود دارد:
* نشان میدهد که شما جدی هستید و در صورت لزوم اقدام میکنید.
* انجمنتان نسبت به بررسی شدن شکایات، اطمینان بیشتری پیدا میکند.
* به انجمن خود در صورت مرتکب شدن به تخلفی اطمینان خواهید داد که روند بازبینی منصفانه و شفاف خواهد بود.
شما باید روشی ویژهای (مانند آدرس ایمیل) برای مردم فراهم آورید تا بتوانند تخلفات ناشی از منشور اخلاقی را گزارش دهند و توضیح دهند که چه کسی مرتکب تخلفات شده است. میتواند یک نگهدارنده، گروهی از نگهدارندهها یا یک کارگروه ویژۀ منشور اخلاقی باشد.
فراموش نکنید که ممکن است کسی بخواهد در مورد شخصی که این گزارشات را دریافت میکند تخلفی را گزارش دهد. در این صورت، برای آنها گزینهای تعبیه کنید تا بتوانند تخلفات را به شخص دیگری گزارش دهند. به عنوان مثال، @ctb و @mr-c در مورد [پروژۀ خود «khmer»](https://github.com/dib-lab/khmer) میگویند:
> مواردی از سوءرفتار، آزار و اذیت و رفتارهای غیرقابلقبول را می توان با ایمیل زدن به **khmer project@idyll.org** گزارش داد که فقط «C. Titus Brown» و Michael R. Crusoe» به آن دسترسی دارند. برای گزارش مسئلهای در رابطه با هر کدام از آنها، لطفاً به **Judi Brown Clarke** دکترای مدیریت در مرکز «BEACON» برای مطالعۀ تکامل در عمل، مرکز علوم و فناوری «NSF» ایمیل بزنید.
برای ایده گرفتن، به [کتابچۀ راهنمای اجرای](https://www.djangoproject.com/conduct/enforcement-manual/) «Django» مراجعه کنید (اگرچه ممکن است بنا به اندازه پروژۀ خود، نیازی به چنین کتابچۀ جامعی نداشته باشید).
## عملیاتی کردن منشور اخلاقی
گاهی اوقات علیرغم تلاشی که میکنید، شخصی کاری خلاف منشور اخلاقی انجام میدهد. روشهای مختلفی برای پرداختن و عکسالعمل نشان دادن به رفتار منفی و مضر در هنگام بروز آن وجود دارد.
### جمعآوری اطلاعات در مورد وضعیت
با هر یک از اعضای انجمن خود، رفتاری یکسان داشته باشید. اگر گزارشی منوط بر نقص منشور اخلاقی دریافت کردید، آن را جدی بگیرید و موضوع را بررسی کنید، حتی اگر با آن شخص رابطهای نزدیک دارید. با این کار به انجمن خود نشان میدهید که برای دیدگاه آنها ارزش قائل هستید و به قضاوت آنها اعتماد دارید.
آن عضو خطاکار انجمن ممکن است اولین بار نباشد که مرتکب به خطایی شده و به طور مداوم دیگران را ناراحت میکند، یا ممکن است اولین بار آنها باشد. بسته به خطایی که مرتکب میشوند، اقدامات لازمی باید اجرا شود.
قبل از عکسالعمل نشان دادن، زمان کافی را برای فهمیدن کامل ماجرا صرف کنید. نظرات و گفتگوهای مربوط به گذشتۀ شخص را بررسی کنید تا آنها را بهتر بشناسید و متوجه شوید چرا ممکن است چنین رفتاری از آنها سر بزند. سعی کنید دیدگاههای دیگری را غیر از دیدگاههای خودتان دربارۀ این فرد و رفتار او جمعآوری کنید.
### اقداماتی مناسب به کار ببرید
پس از جمع آوری و بررسی اطلاعات کافی، باید تصمیم بگیرید که چه کاری انجام دهید. همانطور که به قدم بعدی میاندیشید، به یاد داشته باشید که هدف شما به عنوان ناظر، ایجاد محیطی امن، محترم و فضایی مشارکتی است. در نظر داشته باشید که تنها مسئلۀ چگونگی برخورد در آن موقعیت مهم نیست، بلکه چگونگی پاسخ و عکسالعمل شما در آیندهی رفتار و انتظارات افراد حاضر در انجمن شما تأثیر میگذارد.
وقتی کسی گزارشی منوط بر تخلف در منشور اخلاقی میدهد، رسیدگی به آن وظیفۀ شماست و نه خود او. گاهی اوقات، فرد گزارشدهنده با افشای این اطلاعات، آیندۀ شغلی، اعتبار یا ایمنی خود را ممکن است در معرض خطر بزرگی قرار دهد. وادار کردن آنها به مقابله کردن با فرد مزاحم و خاطی میتواند فرد گزارشدهنده را در موقعیتی مخاطرهآمیز قرار دهد. شما باید شخصا ارتباط مستقیم با فرد خاطی مورد نظر را مدیریت کنید، مگر اینکه فرد گزارشدهنده صریحاً خلاف آن را درخواست کند.
چند روش وجود دارد که شما میتوانید با استفاده از آنها با موارد نقض منشور اخلاقی برخورد کنید:
* **به شخص مورد نظر ترجیحاً به طور مشخص و واضح اخطار عمومی دهید** و توضیح دهید که چگونه رفتار او بر دیگران تأثیر منفی میگذارد. اخطار به صورت عمومی به بقیۀ افراد انجمن این پیام را میرساند که منشور اخلاقی را جدی میگیرید. در مکالمههای خود خوشبرخود باشید ولی جدی بمانید.
* **به طور خصوصی با شخص مورد نظر صحبت بکنید** تا توضیح دهید که چگونه رفتار او بر دیگران تأثیر منفی میگذارد. اگر موقعیت طوری باشد که اطلاعات حساس شخصی فرد در میان باشد، بهتر است از کانالهای ارتباطی خصوصی استفاده کنید. اگر با شخص به طور خصوصی صحبت میکنید، بهتر است کسانی را که برای اولین بار وضعیت را گزارش کردهاند مطلع کنید تا بدانند که اقدام کردهاید. قبل از پیگیری کردن گزارش مربوطه، از شخص گزارشدهنده رضایت بگیرید.
گاهی اوقات، نمیتوان به نتیجهای قطعی رسید. فرد مورد نظر ممکن است در مواجهه با او پرخاشگر یا خصمانه برخورد کند یا تغییری در رفتار خود ایجاد نکند. در این شرایط، ممکن است بخواهید اقدامات جدیتری را در نظر بگیرید. مثلا:
* **فرد مورد نظر را از ادامۀ همکاری در پروژه تعلیق کنید**، که از طریق منع موقت یا شرکت در هر جنبهای از پروژه اعمال میشود
* **فرد مورد نظر را به طور دائمی** از ادامۀ همکاری در پروژه تعلیق کنید
منع کردن اعضا نباید امری ساده تلقی شود و باید نشاندهندۀ اختلاف دائمی در دیدگاه و آشتیناپذیری تلقی شود. این اقدامات را فقط باید در مواقعی پیش بگیرید که مشخص باشد امکان دستیابی به نتیجهای قطعی وجود ندارد.
## وظایف شما به عنوان یک نگهدارنده
منشور اخلاقی آییننامهای نیست که به صورت خودسرانه اجرا شود. شما مجری منشور اخلاقی هستید و مسئولیت پیروی از قوانین تعیین شده به وسیلهی منشور اخلاقی از وظایف شماست.
شما به عنوان نگهدارنده، دستورالعملهایی را برای انجمن خود تعیین میکنید و آن دستورالعملها را مطابق با قوانین مندرج در منشور اخلاقی اجرا میکنید. این به معنای جدی گرفتن هر گونه گزارش مربوطی به نقض منشور اخلاقی است. گزارش فرد گزارشدهنده باید کاملا جامع و منصفانه بررسی شود. اگر تشخیص دادید رفتاری که آنها گزارش دادهاند، نقض منشور اخلاقی نیست، این مسئله را به وضوح با آنها در میان بگذارید و توضیح دهید که چرا در این زمینه اقدامی نمیکنید. عکسالعملی که نشان میدهند به خودشان مربوط است: باید رفتاری که آنها با آن روبرو بودهاند را تحمل کنند یا مشارکتشان در انجمن را متوقف سازند.
گزارش رفتاری که در واقع منشور اخلاقی شما را نقض نمیکند، همچنان نشاندهندۀ مشکلی در انجمن شما است و شما باید این مشکل بالقوه را بررسی کرده و چارهای برای آن پیدا کنید. که این ممکن است شامل بازنگری در منشور اخلاقی برای روشن ساختن رفتار قابلقبول یا صحبت با شخصی باشد که رفتار وی گزارش شده است و شما باید به فرد بگویید که اگرچه منشور اخلاقی را نقض نکردهاند، اما دارند در لبۀ آنچه که از آنها انتظار میرود راه میروند و موجب ناراحتی در برخی از شرکتکنندگان شدهاند.
موضوع مهم این است که شما به عنوان یک نگهدارنده، باید استانداردهای رفتار قابلقبول را تعیین و عملیاتی کنید. شما توانایی شکل دادن به ارزشهای اجتماعی پروژه را دارید و شرکتکنندگان انتظار دارند که شما این ارزشها را به صورت منصفانه و یکسان اجرا کنید.
## ترغیبکنندۀ رفتاری باشید که میخواهید در دنیا آن را مشاهده کنید 🌎
هنگامی که یک پروژه خصمانه یا ناخوشایند به نظر میرسد، حتی اگر فقط یک نفر باشد که رفتار او غیرقابلتحمل باشد، ممکن است مشارکتکنندگان بیشتری را از دست بدهید که حتی ممکن است بعضی از آنها را هرگز ملاقات نکرده باشید. اتخاذ یا اجرای منشور اخلاقی همیشه ساده نیست، اما ایجاد فضایی دوستانه به رشد انجمن شما کمک می کند.
================================================
FILE: _articles/fa/finding-users.md
================================================
---
lang: fa
title: پیدا کردن کاربر برای پروژههایتان
description: با داشتن کاربرانی راضی و خوشحال، به پروژهی اوپن سورس خود کمک کنید تا رشد کند..
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## به اطلاع همگان برسانید
هیچ قانونی وجود ندارد که بگوید هنگام راهاندازی، باید پروژهی اوپن سورس را تبلیغ کنید. دلایل رضایتبخش زیادی برای کار کردن در پروژهای اوپن سورس وجود دارد که هیچ ارتباطی با محبوبیت ندارد. به جای امیدواری برای اینکه دیگران پروژهی اوپن سورس شما را پیدا کنند و از آن استفاده کنند، باید در مورد پروژه و سختکوشی خودتان صحبت کنید و آن را به گوش دیگران برسانید!
## از پیامی که میخواهید به گوش دیگران برسانید، اطمینان حاصل کنید
قبل از اینکه شروع به تبلیغ و ترویج پروژه بکنید، باید بتوانید که کارآیی و چرایی اهمیت آن را توضیح بدهید.
چه چیزی موجب تفاوت و جالب بودن پروژهی شما نسبت به دیگر پروژهها میشود؟ به چه منظور آن را ساختید؟ پاسخ دادن به این سوالات، به شما کمک میکند تا به اهمیت پروژهی خودتان پی ببرید و آن را واضحتر بیان کنید.
به یاد داشته باشید به این دلیل که پروژهی شما مشکلی را برای کاربران برطرف میکند؛ افراد به عنوان کاربر به پروژهی شما ملحق میشوند و در نهایت به عنوان یک مشارکتکننده معرفی میشوند. همانطور که دربارهی پیام و ارزش پروژهی خود فکر میکنید، سعی کنید آنها را از دریچهی آنچه که کاربران و مشارکتکنندگان میخواهند نظاره کنید.
به عنوان مثال، @robb از کدها استفاده میکند تا به طور واضح اهمیت پروژهی خود را نشان دهد؛ نقشهنگاری [Cartography](https://github.com/robb/Cartography) مفید واقع میشود:

برای درک بهتر مفهوم، مورد [Personas and Pathways](https://mozillascience.github.io/working-open-workshop/personas_pathways/) موزیلا (Mozilla) را برای توسعهی پرسونای کاربران بررسی کنید
## مردم را در پیدا کردن و دنبال کردن پروژهی خودتان یاری کنید
طوری باشد که با اشارهای کوچک، مردم پروژهی شما را به یاد بیاورند.
**برای توسعهی پروژهی خود، کاملا بر کار خویش آگاه و از آن اطمینان داشته باشید.** یک آدرس توییتری، آدرس GitHub یا کانال IRC راهی آسان برای مشایعت و هدایت افراد به سمت پروژهی خودتان است. این رسانهها همچنین به اجتماع در حال رشد پروژهی شما، محلی برای تجمع و تبادل نظر میدهند.
اگر هنوز مایل به راهاندازی رسانههایی برای پروژهی خودتان نیستید، در همهی کارهایی که انجام میدهید Twitter یا GitHub خود را ترویج دهید. توسعه و تبلیغ Twitter یا GitHub به مردم این امکان را میدهد تا با شما در ارتباط باشند یا کارهای شما را دنبال کنند. اگر در جلسه یا رویدادی صحبت میکنید، اطمینان حاصل کنید تا اطلاعات تماس شما در مشخصات شما یا اسلایدها آمده باشد.
**ساخت وبسایتی را برای پروژهی خود مد نظر قرار دهید.** داشتن وبسایت، پروژهی شما را دوستانهتر و برای وبگردی و گشتزنی سادهتر میکند؛ به ویژه هنگامی که با مستندات و آموزشهای واضح همراه باشد. داشتن یک وب سایت همچنین بیانگر این است که پروژهی شما فعال است که همین باعث میشود مخاطبان شما احساس راحتی بیشتری در استفاده از آن داشته باشند. مثالهایی را ارائه دهید تا به افراد در مورد چگونگی استفاده از پروژهتان ایده بدهد.
[@Adrianholovaty](https://news.ycombinator.com/item?id=7531689)، یکی از سازندگان شرکت Django گفت که وبسایت «بهترین کاری بود که میتوانستیم برای Django در آن روزهای اولیه انجام دهیم». اگر پروژهی شما در GitHub باشد، میتوانید با استفاده از [GitHub Pages](https://pages.github.com/)، به راحتی وبسایت ایجاد کنید. [Yeoman](http://yeoman.io/)، [Vagrant](https://www.vagrantup.com/) و [Middleman](https://middlemanapp.com/) چند نمونه از وبسایتهای عالی و جامع هستند.

اکنون که برای پروژهی خود رسالت و راهی آسان برای یافتن پروژهتان توسط مردم دارید، وقت آن است که بیرون بزنیم و با مخاطبان ارتباط برقرار کنیم و با آنها صحبت کنیم!
## هر جا که مخاطبان شما بودند، شما هم به آنجا بروید (آنلاین)
اطلاعرسانی آنلاین، روشی عالی برای به اشتراک گذاشتن و انتقال سریع اخبار و اطلاعات است. با استفاده از مجراهای آنلاین، این امکان را خواهید داشت که به مخاطبان بسیار گستردهای دسترسی پیدا کنید.
برای دسترسی به مخاطبان خود از ارتباطات و بسترهای آنلاین موجود استفاده کنید. اگر پروژهی اوپن سورس شما پروژهای نرمافزاری است، احتمالاً بتوانید مخاطبان خود را در [Stack Overflow](https://stackoverflow.com/) ،[Hacker News](https://news.ycombinator.com/) یا [Quora](https://www.quora.com/) پیدا کنید. کانالهایی را پیدا کنید که فکر میکنید مردم در آن از کار شما بیشترین استفاده را میبرند یا مشتاق آن هستند.
ببینید آیا میتوانید روشهایی برای به اشتراک گذاشتن پروژه خود به صورت متناسبی پیدا کنید:
* **با پروژهها و انجمنهای اوپن سورس مرتبط و مدنظرتان آشنا شوید.** گاهی اوقات، لازم نیست که مستقیماً پروژهی خود را تبلیغ کنید. اگر پروژهی شما برای متخصصین علم داده که از پایتون استفاده میکنند عالی است، با انجمن علوم دادهی پایتون ملاقات کنید و آشنا شوید. هنگامی که مردم با شما آشنا شوند، فرصتها به صورت خودکار و طبیعی برای بحث و گفت و گو و به اشتراک گذاشتن کارهای شما بوجود میآید.
* **افرادی که مشکلاتی دارند و پروژهی شما، آن مشکلات را حل و فصل میکند را پیدا کنید.**از طریق تالارهای گفتگوی (فرومها) مرتبط، به جستجوی افرادی که میتوانندمخاطبانِ هدفِ پروژهی شما باشند، بپردازید. به سوالات آنها پاسخ دهید و در زمانی مناسب، روشی مدبرانه تعبیه کنید تا پروژهی خود را به عنوان یک راهحل پیشنهاد دهید.
* **از انتقادات و پیشنهادات رویگردان نباشید.** خود و کارهایتان را به مخاطبهایی مرتبط و متناسب که به کار شما علاقه دارند، معرفی کنید. مخاطبان خود را بشناسید و کسانی که از پروژهی شما سود و منفعت حاصل میکنند را مشخص کنید. سعی کنید این جمله را کامل کنید: «من فکر میکنم پروژهی من واقعاً به X، که در تلاش برای انجام کار Y است، کمک خواهد کرد». به جای اینکه صرفاً فقط کار خود را تبلیغ کنید، به بازخورد دیگران گوش دهید و پاسخگو باشید.
به طور کلی، به کمک کردن به دیگران تمرکز کنید قبل از اینکه چیزهایی را در عوض درخواست کنید؛ چون که اگر هر کسی بخواهد پروژههای خودش را به صورت آنلاین تبلیغ کند، همهمه و شلوغی زیادی بر پا خواهد شد. برای اینکه در جمعی شناخته شوید، سعی کنید خود را به دیگران معرفی کنید و نه اینکه فقط آنچه که میخواهید را بازگو کنید.
اگر کسی به فعالیتهای اولیهی شما پاسخی نداد و یا توجه نکرد، ناامید نشوید! اکثر راهاندازیهای پروژهها، فرآیندهایی هستند که باید چندین و چند بار تکرار شوند که ممکن است ماهها یا سالها به طول انجامد. اگر بار اول پاسخی دریافت نکردید، تاکتیک دیگری را امتحان کنید یا ابتدا به دنبال روشهایی برای افزودن ارزش به کار دیگران باشید. راهاندازی و توسعهی پروژه، به وقت و تعهد نیاز دارد.
## هر جا که مخاطبان شما بودند، شما هم به آنجا بروید (آفلاین)

رویدادهای آفلاین، روشی متداول برای تبلیغ پروژههای جدید برای مخاطبان است. این رویدادها راهی عالی برای دستیابی به مخاطبان مشتاق و ایجاد ارتباطات انسانی عمیقتر هستند؛ به خصوص که اگر شما میخواهید با توسعهدهندگان ارتباط برقرار کنید.
اگر [تجربهی چندانی در حوزهی سخنرانی در عموم](https://speaking.io/), ندارید و تازهکار هستید، با پیدا کردن یک جلسهی محلی که مرتبط با محتوا یا اکوسیستم پروژهی خودتان است شروع کنید.
اگر قبلاً هرگز در رویدادی صحبت نکردهاید، اینکه استرس داشته باشید، کاملاً طبیعی است! به یاد داشته باشید که مخاطبان شما آنجا هستند زیرا واقعاً میخواهند در مورد کارهای شما بشنوند.
هنگام نوشتن سخنرانی خود، بر آنچه که مخاطبان جالب میپندارند و از آن ارزش و درسی میگیرند، تمرکز کنید. دوستانه و صمیمانه سخن بگویید. لبخند به لب داشته باشید، تنفس کنید و لذت ببرید.
هنگامی که کار را بر روی متن سخنرانی خود آغاز میکنید، خواه هر چه موضوع سخنرانی شما باشد، اگر سخنرانی خود را همانند داستانی که برای مردم تعریف میکنید تصور کنید، میتواند به شما کمک بسزایی بکند.
به دنبال کنفرانسهایی باشید که مرتبط با محتوا یا اکوسیستم مورد نظر شما باشد. قبل از ارسال سخنرانی خود، در مورد کنفرانس تحقیق کنید تا سخنرانی خود را برای حاضران تنظیم و اصلاح کرده و در نتیجه شانس پذیرفته شدن برای سخنرانی در کنفرانس را افزایش دهید. شما همچنین میتوانید با مراجعه به لیست سخنرانان کنفرانس، از نوع و کیفیت مخاطبان خود آگاه شوید.
## برای خود اعتبار و شهرت دست و پا کنید
علاوه بر استراتژیهای ذکر شده در بالا، بهترین راه برای دعوت مردم برای به اشتراکگذاری و مشارکت در پروژهی شما، اشتراک و مشارکت در پروژههای آنها است.
کمک به تازهواردان، به اشتراک گذاشتن منابع و مشارکت مدبرانه در پروژههای دیگران به شما کمک میکند تا اعتبار خوبی برای خود بسازید. اگر عضوی فعال در اجتماع (انجمن) اوپن سورس باشید به شما کمک میکند تا مردم کار و محتوای شما را بشناسند و احتمال اینکه به پروژه شما توجه کنند و آن را به اشتراک بگذارند، بیشتر میشود. توسعهی روابط با سایر پروژههای اوپن سورس، میتواند منجر به مشارکت و همکاری رسمی شود.
برای ایجاد و کسب اعتبار، هیچوقت خیلی زود و یا خیلی دیر نیست. حتی اگر پروژهی خود را از قبل راهاندازی کردهاید، به جستجوی راههایی برای کمک به دیگران ادامه دهید. برای ایجاد و جذب مخاطب، هیچ راهحل یک شبهای وجود ندارد.
جلب اعتماد و احترامِ دیگران نیازمند زمان است و هیچ پایانی برای ایجاد و کسب اعتبار وجود ندارد
## تسلیم نشوید!
ممکن است مدتها طول بکشد تا اینکه مردم متوجه پروژهی اوپن سورس شما شوند. هیچ اشکالی نداره! برخی از محبوبترین پروژههای امروزی، برای رسیدن به سطح بالایی از فعالیت، سالها به طول انجامید. به جای اینکه امیدوار باشید پروژهی شما به طور خود به خود محبوبیت پیدا کند، بر ایجاد روابط متمرکز شوید. صبور باشید و مدام کار خود را با کسانی که قدر آن را میدانند به اشتراک بگذارید.
================================================
FILE: _articles/fa/getting-paid.md
================================================
---
lang: fa
title: گرفتن دستمزد برای کارهای متن باز
description: با دریافت پشتیبانیهای مالی در ازای زمانی که میگذارید یا به خاطر پروژهای که پیش میبرید، کار متن باز خود را حمایت کنید.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## چرا برخی افراد به دنبال پشتیبانیهای مالی هستند
بیشتر کارهای متن باز داوطلبانه است. به عنوان مثال، کسی ممکن است در پروژهای که از آن استفاده میکند با ایرادی (باگ) روبرو شود و راهحلی آسان برای ایراد ارائه کند، یا ممکن است کسی در اوقات فراغت خود از دستکاری در پروژهی متن باز لذت ببرد.
دلایل زیادی برای مایل نبودن شخص برای دریافت دستمزد در ازای کار متن باز خود، وجود دارد.
* ممکن است از قبل، **کار تمام وقت مورد علاقهی خود را داشته باشند** که به آنها این امکان را میدهد تا در اوقات فراغت خود در کارهای متن باز مشارکت داشته باشند.
* آنها از تصور کردن کارهای متن باز **به عنوان یک سرگرمی یا فرآیندی خلاقانه لذت میبرند** و نمیخواهند از نظر مالی ملزم به کار در پروژههای خود باشند.
* آنها از طریق مشارکت در کارهای متن باز **از مزایای دیگری برخوردار میشوند**، همچون ایجاد نمونهکار یا شهرت و اعتباری برای خود، یادگیری مهارت جدید یا احساس نزدیکتر بودن و صمیمیت بیشتر با اجتماع.
برای دیگران، به ویژه هنگامی که مشارکتها باید ادامه بیابد و یا به زمان قابل توجهی نیاز داشته باشد؛ اگر پروژه به آنها نیاز داشته باشد یا به دلایل شخصی باید به کار ادامه دهند، پرداخت دستمزد برای مشارکت در کار متن باز، تنها راه برای مشارکت است.
حفظ پروژههای پرطرفدار، میتواند مسئولیت سنگینی را بر روی دوش افراد بگذارد، میتواند بجای چند ساعت در ماه 10 یا 20 ساعت در هفته را به خود اختصاص دهد.
همچنین کارهای با دستمزد، این امکان برای افراد از اقشار مختلف جامعه را فراهم میآورد تا مشارکتهای قابلتوجه و معناداری انجام دهند. برخی از افراد، به سبب وضعیت مالی کنونیشان، بدهی یا خانواده یا سایر تعهدات، امکان مشارکت بدون دستمزد در پروژههای متن باز را ندارند. این بدان معناست که جهان هرگز مشارکت افراد مستعدی را که توانایی مالی برای مشارکت داوطلبانه را ندارند، نمیبیند. همانطور که @ashedryden [گفته است](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community)، پیامدهایی اخلاقی در این میان وجود دارد، زیرا کسانی که از قبل در زندگی دارای مزایایی هستند، شانس بیشتری در کارهایی که انجام میشود دارند، درنتیجه بر اساس مشارکتهای داوطلبانهی خود مزایای بیشتری کسب میکنند، در حالی که سایر افرادی که قادر به داوطلب شدن نیستند، فرصتهای آتی را از دست میدهند، که این عدم تنوع را در اجتماع کنونی (community) متن باز گسترش میدهد.
اگر به دنبال حمایتهای مالی هستید، دو راه وجود دارد. میتوانید زمان مناسب را برای مشارکت پیدا کنید، یا میتوانید بودجهای برای پروژهی خودتان پیدا کنید.
## وقت خود را سرمایهگذاری کنید
امروزه بسیاری از افراد برای کار به صورت پاره وقت یا تمام وقت در پروژههای متن باز دستمزد دریافت میکنند. متداولترین راه برای دریافت دستمزد برای وقتی که صرف میکنید، صحبت کردن با کارفرمای خودتان است.
متقاعد کردن کارفرما در پروژهای که واقعا از آن استفاده میکند آسانتر است، اما در مورد صحبتی که با او خواهید کرد، رویهای خلاقانه در نظر بگیرید. شاید کارفرمای شما از این پروژه استفاده نکند، اما آنها از پایتون استفاده میکنند و نگهداری از پروژهی پایتون محبوب به جذب توسعهدهندگان جدید پایتون کمک میکند. شاید این امر باعث شود که کارفرمای شما به طور کلی در در ارتباط با توسعهدهندگان سازندهتر و دوستانهتر به نظر برسد.
اگر در حال حاضر پروژهای متن باز ندارید که بخواهید روی آن کار کنید، اما ترجیح میدهید که خروجی کار فعلی شما متن باز باشد، از کارفرمای خود درخواست کنید که برخی از نرمافزارهای داخلی خود را متن باز کند.
بسیاری از شرکتها برنامههایی متن باز توسعه میدهند تا اعتباری برای نام برند خود ایجاد کنند و افرادی با استعداد استخدام کنند.
به عنوان مثال، @hueniverse دریافت که دلایلی تجاری برای توجیه [سرمایهگذاری والمارت (Walmart)] (https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html)در متن باز وجود دارد. و jamesgpearce@، دریافت که برنامهی متن باز فیسبوک، [تفاوتهایی را در استخدام ایجاد کرده است](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon)
> کاملا با فرهنگ خلاقیتجویانهی ما و آنچه که سازمان ما با آن شناخته میشود، سازگار و همسو است. ما از کارمندان خود پرسیدیم، «آیا از برنامهی نرمافزاری متن باز فیسبوک آگاهی داشتید؟» دو سوم آنها گفتند «بله» یک دوم آنها گفتند که این برنامه به تصمیمشان برای کار کردن در فیسبوک تاثیر داشت. اینها اعداد کمی نیستند و امیدواریم که این روند ادامه داشته باشد.
اگر شرکت شما این مسیر را طی میکند، مهم است که مرزهای بین اجتماع و فعالیتهای شرکتی را روشن کنید. در آخر، پروژههای متن باز از طریق مشارکتهای مردم در سرتاسر جهان از خود نگهداری میکند؛ این پروژهها بزرگتر از هر شرکت یا فضایی هستند.
اگر نمیتوانید کارفرمای کنونی خودتان را متقاعد به اولویتبندی کارهای متن باز بکنید، سعی کنید کارفرماهای جدیدی پیدا کنید که کارمندان را تشویق به مشارکت در متن باز میکنند. به دنبال شرکتهایی بگردید که تعهد صریحی برای کار با پروژههای متن باز داشته باشند. به عنوان مثال:
* برخی شرکتها مانند [Netflix](https://netflix.github.io/)، وبسایتهایی دارند که مشارکت آنها در متن باز را برجسته و نمایان میکند
پروژههایی که از شرکتهای بزرگی مانند [Go](https://github.com/golang) یا [React](https://github.com/facebook/react) سرچشمه گرفتهاند و به آن وصلاند نیز احتمالاً افرادی را برای کار با متن باز استخدام خواهند کرد
بسته به شرایط شخصی خودتان، میتوانید به طور مستقل برای تأمین هزینههای کار متن باز خود، پول جمع کنید. به عنوان مثال:
* نرمافزار متن باز @Homebrew ([و بسیاری از نگهدارندگان و سازمانها](https://github.com/sponsors/community))، کار خودشان را از طریق حامیان مالی [GitHub](https://github.com/sponsors) تأمین میکنند
* @gaearon کار خود در [Redux](https://github.com/reactjs/redux) را از طریق کمپین سرمایهگذاری جمعی «Patreon» تأمین مالی کرد
* @andrewgodwin از [طریق کمپین Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django) کارش در مورد مایگریشنهای دیتابیس «Django» را تأمین مالی کرد. (Schema Migration)
در آخر اینکه گاهی اوقات پروژههای متن باز درمورد موضوعاتی که ممکن است در آن بخواهید کمک کنید پاداشهایی قرار میدهند.
* @ConnorChristie توانست بابت [کمک](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) به @MARKETProtocol در «JavaScript library» (کتابخانهی جاوا اسکریپت) از طریق پاداشی تعیین شده در [gitcoin](https://gitcoin.co/)، دستمزد بگیرد
* @mamiM پس از تأمین اعتبار مربوط به مشکلِ شبکهی Bounties، ترجمهی ژاپنی برای @MetaMask انجام داد.
## یافتن بودجه برای پروژه
علاوه بر توافقهای اولیه با مشارکتکنندگان، گاهی اوقات پروژهها از شرکتها، افراد حقیقی یا دیگران برای تأمین بودجهی کارهای جاری پول جمعآوری میکنند.
بودجههای سازمانی ممکن است به پرداخت دستمزد مشارکتکنندگان، تأمین هزینههای اجرای پروژه (مانند هزینههای میزبانی) یا سرمایهگذاری بر روی ویژگیها یا ایدههای جدید اختصاص یابد.
با افزایش محبوبیت متن باز، هنوز هم یافتن بودجه برای پروژهها به صورت تجربی و آزمایشی است، اما چندین گزینهی متداول در دسترس است.
### جمعآوری سرمایه از طریق کمپینهای سرمایهگذاری جمعی یا حمایتهای مالی
اگر از قبل مخاطب یا اعتبار بالایی داشته باشید یا پروژهی شما از محبوبیت بالایی برخوردار باشد، یافتن حمایتهای مالی امکانپذیر است. چند نمونه از پروژههای حمایت شده:
* پروژهی **[webpack](https://github.com/webpack)** از طریق [OpenCollective](https://opencollective.com/webpack) از شرکتها و اشخاص پول جمعآوری میکند
* **[Ruby Together](https://rubytogether.org/)،** یک سازمان غیرانتفاعی است که هزینههای کار در [bundler](https://github.com/bundler/bundler)، [RubyGems](https://github.com/rubygems/rubygems) و سایر پروژههای بر پایهی زیرساختی «Ruby» را پرداخت میکند
### ایجاد یک منبع درآمدی
بسته به پروژهی خود، ممکن است بتوانید از طریق تبلیغات، گزینههای میزبانی شده یا ویژگیهای اضافی کسب درآمد داشته باشید. چندین مثال در این زمینه:
* **[Sidekiq](https://github.com/mperham/sidekiq)**، نسخههایی پولی به منظور پشتیبانی بیشتر ارائه میدهد
* **[Travis CI](https://github.com/travis-ci)**، نسخههای پولی محصولات خود را ارائه میدهد
* **[Ghost](https://github.com/TryGhost/Ghost)**، یک سازمان غیرانتفاعی است که خدمات مدیریتی پولی ارائه میدهد
بعضی از پروژههای محبوب مانند [npm](https://github.com/npm/npm) و [Docker](https://github.com/docker/docker)، برای حمایت از رشد کسب و کار خود، حتی سرمایههای مخاطرهآمیزی را جمعآوری میکنند
### برای بودجه، درخواست کمک هزینه (بورسیه) دهید
برخی از موسسات و شرکتهای نرمافزاری، کمکهزینههای مالی برای کارهای متن باز ارائه میدهند. گاهی اوقات، بدون ایجاد نهاد قانونیای برای پروژه، کمکهزینههای مالی به افراد حقیقی پرداخت میشود.
* **نرمافزار [Read the Docs](https://github.com/rtfd/readthedocs.org)**، از پشتیبانی بخش متن باز [Mozilla](https://www.mozilla.org/en-US/grants/)، کمکهزینه دریافت کرد
* **بودجهی کار [OpenMRS](https://github.com/openmrs)** توسط [Stripe's Open Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees) تأمین شد
* **[Libraries.io](https://github.com/librariesio)** از موسسهی [Sloan](https://sloan.org/programs/digital-technology) کمکهزینه دریافت کرد
* **موسسهی نرمافزار پایتون (Python Software Foundation)**، کمکهای مالی برای کارهای مرتبط با پایتون ارائه میدهد
برای جزئیات دقیقتر و مطالعات موردی، @nayafia راهنمای دریافت دستمزد برای کارهای متن باز را [نوشت](https://github.com/nayafia/lemonade-stand). انواع بودجهها به مهارتهای مختلفی نیاز دارد، بنابراین نقاط قوت خود را در نظر بگیرید تا گزینهی مناسب برای کار خودتان را دریابید.
## ایجاد پروندهی موردی (فایل) به منظور دریافت حمایت مالی
این که آیا پروژهی شما ایدهی جدیدی است یا سالهاست که وجود دارد؛ باید برای شناسایی و مشخص کردن سرمایهگذار هدف و ایجاد یک پروندهی اغواکننده، باید به خوبی راجع به آن فکر کنید.
چه بخواهید هزینهی زمانی که صرف میکنید را خودتان پرداخت کنید و یا موسسهای هزینهی پروژهی شما را پرداخت کند، باید بتوانید به سوالات زیر پاسخ دهید.
### تاثیرگذاری
این پروژه به چه دردی میخورد؟ برای چه کاربران شما، یا کاربران بالقوهی شما، پروژه را دوست داشته باشند؟ پروژهی خود را در پنج سال آینده چطور میبینید؟
### مقبولیت
سعی کنید شواهدی را در مورد اهمیت پروژهی خود جمعآوری کنید؛ چه بخواهد معیارهای سنجش، تجربههای گذشته، یا اظهارنظرهای مثبتی باشد. آیا شرکتها یا افراد قابل ذکری وجود دارند که از پروژهی شما استفاده بکنند؟ اگر نه، آیا شخص برجستهای پروژهی شما را تأیید کرده است؟
### ارزش آن برای سرمایهگذار
سرمایهگذاران، چه کارفرمای شما باشد و یا چه یک موسسهی اعطای کمکهزینه، اکثرا جذب فرصتها میشوند. چرا آنها باید از پروژهی شما در برابر سایر فرصتها حمایت کنند؟ از پروژهی شما چه منفعت شخصیای میبرند؟
### مصارف بودجه
با بودجه پیشنهادی، دقیقاً به چه نتیجهای دست خواهید یافت؟ به جای فکر کردن به پرداخت حقوق و دستمزد، روی نقاط عطف یا نتایج پروژه متمرکز شوید.
### چگونه بودجه را دریافت خواهید کرد
آیا سرمایهگذار، الزاماتی در مورد پرداخت هزینه مدنظر دارد؟ به عنوان مثال، ممکن است لازم باشد شما سازمانی غیرانتفاعی باشید یا یک حامی مالی غیرانتفاعی داشته باشید. یا شاید بودجه باید به جای سازمان به یک پیمانکار حقیقی داده شود. هر شخص سرمایهگذاری الزامات متفاوتی دارد، بنابراین حتماً از قبل تحقیقات خود را انجام دهید.
## آزمایش و تجربه کنید و تسلیم نشوید
جمعآوری پول آسان نیست، چه پروژهای متن باز باشید، چه یک سازمان غیرانتفاعی و یا یک استارتآپ نرمافزاری؛ باید در بیشتر موارد با دیدی خلاقانه به موضوع نگاه کنید. با مشخص کردن اینکه چگونه میخواهید دستمزد بگیرید، با تحقیقات خود و قرار دادن خود به جای سرمایهگذار، به شما کمک میکند تا پروندهای قانعکننده برای تأمین بودجه بسازید.
================================================
FILE: _articles/fa/how-to-contribute.md
================================================
---
lang: fa
title: چگونه در یک پروژهی متن باز مشارکت کنیم
description: میخواهید در یک پروژهی متن باز مشارکت کنید؟ در ادامهی مقاله نحوهی مشارکت در یک پروژهی متن باز برای افراد مبتدی و باتجربه شرح داده شده است.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## چرایی مشارکت در یک پروژهی متن باز؟
زمانی که در پروژههای متن باز مشارکت میکنید، چیزهای زیادی یاد میگیرید یا یاد میدهید، حتی میتوانید در هر مهارتی که تصورش را میکنید تجربه کسب کنید.
چرا افراد در پروژههای متن باز مشارکت میکنند؟ خب، دلایل زیادی وجود دارد!
### نرمافزاری که به آن متکی هستید را بهبود میدهید
مشارکتکنندهها مشارکت خود از پروژههایی شروع میکنند که کاربر آن میشوند. زمانی که در نرمافزار یک پروژهی متن باز باگ یا خطایی مشاهده کردید، در صورتی که توانایی برطرف کردن آن را داشته باشید میتوانید به سورس کد آن نگاهی بیندازید و خودتان اصلاحیهای برایش بنویسید. اگر با چنین موردی روبهرو شدید، مشارکت در اصلاح آن باگ بهترین راه برای مطمئن کردن دوستان (و خودتان مخصوصاً زمانی که نسخهی بعدی آن به روز شود) باشد که میتواند مزیتهای داشته باشد.
### مهارتهای موجودتان تقویت میشود
اگر به دنبال تمرین کدنویسی، طراحی رابطکاربری کاربر، طراحی گرافیک، نویسندگی یا سازماندهی کردن هستید، پروژهی متن باز این تمرینها را در اختیارتان قرار میدهد.
### با افرادی ملاقات میکنید که علایقشان با شما مشابه است
پروژههای متن باز با انجمنهای گرم و گیرایش باعث میشود افرادی که در آن حضور دارند برای سالها به آن مراجعه کنند. حتی بسیاری هستند که به واسطهی همکاریشان در راهاندازی کنفرانسها یا چتهای آنلاین شبانهشان دربارهی burritos ، روابط دوستانهی طولانی مدتی دارند.
### استاد پیدا میکنید و به دیگران آموزش میدهید
کار کردن با دیگران در پروژههای مشترک شما را مجبور میکند نحوهی انجام دادن کارها را توضیح دهید و به همان اندازه هم از دیگران کمک بخواهید. هر کسی میتواند خود را درگیرِ فعالیتهای یادگیری و آموزشی کند.
### محصولی عمومی تولید کنید که به رشد اعتبار و حرفهی کاریتان کمک کند
بر اساس تعریف، تمام پروژههای متن باز شما عمومی هستند. به این معنا که نمونه پروژهها را دریافت میکنید و میتوانید آن را همه جا ببرید و نشان دهید که چه کارهایی میتوانید با آن انجام دهید.
### مهارتهای دیگران را یاد میگیرید
پروژههای متن باز فرصتی فراهم میکنند که به واسطهی آن میتوانید مهارتهای مدیریت و رهبری پروژهی خود مانند برطرف کردن تضادها، سازماندهی کردن تیم و اولویت بندی کارها، را تقویت کنید.
### به شما قدرت اعمال تغییرات هرچند کوچک را میدهد
لازم نیست برای لذت بردن از همکاری در یک پروژهی متن باز، به یک مشارکتکنندهی درازمدت تبدیل شوید. تا حالا شده در یک وبسایت چند غلط املائی ببینید و دوست داشتید یک نفر آن را اصلاح کند؟ خب، اگر چنین حالتی برای پروژهتان به وجود بیاید، به راحتی میتوانید آن را برطرف کنید. پروژهی متن باز میتواند به افراد کمک کند تا شرکتی که در آن فعالیت میکنند و نحوهی کسب کردن تجربهشان را از زندگی خود مهمتر بدانند و همین مسئله حس رضایتبخشی به آنها میدهد.
## مشارکت به چه معناست؟
اگر در مشارکت یک پروژهی متن باز تازهوارد هستید، فرآیند آن میتواند ترسناک باشد. شما چگونه یک پروژه درست برای مشارکت کردن در آن را انتخاب میکنید؟ اگر چیزی از کد نویسی ندانید، چی؟ اگر چیزی درست پیش نرود، چی؟
خب، نگران نباشید! راههای زیادی برای مشارکت در پروژههای متن باز وجود دارد که در ادامهی مقاله مواردی از آنها را میآوریم که میتواند به بدست آوردن تجربههای بیشتر به شما کمک کند.
### الزماً قرار نیست در فرایند کدنویسی مشارکت کنید
یک دید غلط و مرسومی که برای مشارکت در پروژههای متن باز وجود دارد این است که فکر میکنند برای مشارکت در آن باید حتما کدنویسی شود. در حقیقت، [اغلب بخشهای دیگر پروژه](https://github.com/blog/2195-the-shape-of-open-source) است که از آن غفلت یا بیش از حد به آن توجه میشود. شما با برطرف کردن مشکلات و مشارکت در آن بخشها لطف بزرگی به پروژههای متن باز میکنید.
حتی اگر هم به کدنویسی در پروژه علاقهمند باشید، روشهای دیگر مشارکت بهترین راهبرای درگیر شدن در یک پروژه و ملاقات با اعضای انجمنهای دیگر وجود دارد. ساختن این روابط به شما فرصتهایی میدهد تا در بخشهای دیگر پروژه مشارکت کنید.
### آیا به برگزاری رویدادها علاقهمند هستید؟
* ورکشاپها (کارگاهها) را سازماندهی یا جلسات پروژه را برگزار کنید، مانند کاری که @fzamperin برای [NodeSchool](https://github.com/nodeschool/organizers/issues/406) انجام داد
* در صورت امکان، برای یک پروژه کنفرانس برگزار کنید
* به اعضای انجمن کمک کنید تا کنفرانسهای درستی پیدا و برای کنفرانس پرپوزال خود را ارسال کنند.
### آیا به طراحی علاقهمند هستید؟
* با هدف افزایش قابلیت استفاده به بهبود ساختار برنامه ها کمک کنید.
* مشابه [دروپال](https://www.drupal.org/community-initiatives/drupal-core/usability) میتوانید با هدف بهبود رابط کاربری اقدام به کاربرپژوهی و مطالعاتی از این دست کنید.
* با جمع آوری و یک کاسه کردن الگوهای طراحی به کار گرفته شده در پروژه یک شیوهنامه (استایل گاید) متمرکز ایجاد کنید.
* اقدام به خلق کارهای هنری مثل طراحی لوگو یا تی شرت مخصوص کنید. مثل کاری که [hapi.js](https://github.com/hapijs/contrib/issues/68) انجام داد.
### آیا به نویسندگی در پروژه علاقهمند هستید؟
* اسناد پروژه را بنویسید و اصلاح کنید
* پوشهی نمونهها را تنظیم کنید تا نحوهی استفادهی پروژه را نشان دهد
* برای پروژه یک خبرنامه راهاندازی کنید، یا شاخصههای آن را نوشته و تنظیم کنید
* برای پروژه، مطالب آموزشی بنویسید، مانند مشارکتکنندههایی که برای [PyPA](https://packaging.python.org/) مطالب آموزشی نوشتند
* مستندات پروژه را به زبانی دیگر ترجمه کنید
### آیا به سازماندهی پروژه علاقهمند هستید؟
* برای سازماندهی کردن همه چیز، مشکلات تکراری را لینک کنید و مسائل جدیدی مطرح کنید
* با مسئلههای (issue) باز رودرو شوید و پیشنهاد دهید مسائل قدیمی حل شوند، مانند کاری که @nzakas برای [ESLin](https://github.com/eslint/eslint/issues/6765) انجام داد
* برای پیشبرد بحث، سوالات شفافی دربارهی مسائل باز اخیر بپرسید
### آیا به کدنویسی علاقه دارید؟
* مسائل باز و حل نشده را پیدا و حل کنید، مانند کاری که @dianjin برای [Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560) انجام داد
* اگر میتوانید برای اعمال یک ویژگی جدید به پروژه کمک کنید، درخواستتان را مطرح کنید
* نصب پروژه را خودکار کنید
* ابزارهای مرتبط و تسهیل کننده و تست پروژه را تقویت کنید
### آیا از کمک کردن به مردم لذت میبرید؟
* به سوالاتی که افراد دربارهی پروژه در سایتهایی مانند Stack، Postgres، یا Reddit میپرسند، جواب بدهید
* سوالات افرادی که مسائل حل نشدهای دارند را جواب بدهید
* در اداره کانالهای گفتگو و تالارهای گفتمان مشارکت کنید
### آیا دوست دارید در کدنویسی به دیگران کمک کنید؟
* کدنویسی سایر افراد را بررسی کنید
* برای نحوهی استفادهی یک پروژهی متن باز، مطلب آموزشی بنویسید
* یک مشارکت کننده دیگر که میشناسید را پیشنهاد دهید، [مثل کاری که @ereichert در Rust برای @bronzdoc کرد](https://github.com/rust-lang/book/issues/123#issuecomment-238049666).
### لازم نیست فقط روی پروژههای نرمافزاری وقت صرف کنید!
با اینکه بیشتر پروژههای متن باز به نرمافزارها اطلاق میشود، اما میتوانید هرچیزی از جمله کتابها، دستورالعمل، لیست چیزهای مختلف و کلاسها را در پروژههای متن باز توسعه دهید.
به عنوان مثال:
* @sindresorhus [لیستهایی موسوم به «awesome»](https://github.com/sindresorhus/awesome) گردآوری و تنظیم میکند
* @h5bp [یک لیست حاوی سوالاتی جهت مصاحبه برای توسعه دهندگان فرانت اند](https://github.com/h5bp/Front-end-Developer-Interview-Questions) را نگهداری و مرتب میکند
* @stuartivnn و @nicole-a-tesla [مجموعهای از حقایق جالب دربارهی طوطی دریایی](https://github.com/stuartlynn/puffin_facts) ایجاد کردهاند.
حتی اگر توسعهدهندهی نرمافزار هم باشید، کار روی اسناد یک پروژه میتوانید به شما کمک کند تا پروژهی متن بازتان را شروع کنید. کار روی پروژههایی که کدنویسی کمتری دارد اغلب ترس کمتری دارد و فرآیند همکاری در آن باعث میشود اعتمادبهنفس و تجربهی شما افزایش پیدا کند.
## ورود و وفق دادن خودمان به یک پروژه جدید
مشارکت کردن در یک پروژهی متن باز که بیشتر از اصلاح غلطهایی املائی است، مانند وارد شدن به پارتی غریبههاست. اگر در این پارتی درباره ماهی قرمز بحث عمیقی شکل گرفته، شما دربارهی لاماها صحبت کنید، احتمالاً نگاه عجیبی به شما میشود.
بنابراین، قبل از اینکه کورکورانه با پیشنهادهایتان وارد کاری شوید، یاد بگیرید که چگونه در چت رومها گفتگو کنید. این کار شانس شما را برای شنیده شدن و توجه به ایدههایتان را بالا میبرد.
### آناتومی یک پروژهی متن باز
جامعهها در پروژههای متن باز متفاوت هستند.
زمانی که سالها روی یک پروژهی متن باز صرف میکنید، باید آن پروژهی متن باز را بشناسید. از طرفی، زمانی هم که به پروژهی متفاوتی منتقل میشوید، لغات، قوائد و سبک ارتباطاتی آن که ممکن است کاملاً متفاوت باشد را باید پیدا کنید.
گفته میشود بیشتر پروژههای متن باز از یک ساختار سازماندهی مشابه پیروی میکنند. شناخت و درک نقشها در جوامع مختلف و فرآیند کلی آن به شما کمک میکند به سرعت وارد هر پروژهی جدیدی شوید.
افراد مختلفی در یک پروژهی متن باز معمولی مشارکت میکنند:
* **نویسنده:** شخص یا سازمانی که یک پروژه را خلق میکند
* **صاحب مالک:** شخص یا اشخاصی که صاحب اداری آن سازمان یا مخزن هستند (البته صاحب پروژه همیشه با نویسندهی اصلی یکسان نیست)
* **مسئولنگهداری پروژه:** مشارکتکنندههایی که مسئول پیش بردن چشم انداز و مدیریت جنبههای سازمانی یک پروژه باشند (این افراد همچنین میتوانند نویسنده یا صاحب پروژه باشند)
* **مشارکتکننده:** هر کسی که در پروژه مشارکت داشته باشد
* **اعضای انجمن:** افرادی که از پروژه استفاده میکنند، میتوانند مکالمات فعالانهای داشته باشند یا نظراتشان را برای مسیر دادن به پروژه ابراز کنند
پروژههای بزرگتر همچنین ممکن است زیرکمیتهها یا گروههای کاری داشته باشند که روی وظایف متفاوتی مانند مجهز کردن، triage (تریاژ)، معتدل کردن انجمن و سازماندهی رویداد متمرکز میشوند. زمانی که به صفحهی «تیم» پروژهی یک وبسایت، یا مخزن مراجعه کنید، میتوانید اطلاعات این زیرکمیتهها و نقش افراد کلیدی را مشاهده کنید.
پروژههای متن باز اسناد مختلفی دارند که این فایلها معمولا در بالای لیست مخزن قرار میگیرند.
* **لایسنس/ گواهینامه (LICENSE):** طبق تعریف، هر پروژهی متن بازی باید لایسنس مخصوص به خود را داشته باشد. اگر یک پروژه لایسنس نداشته باشد، اصلاً متن باز محسوب نمیشود
* **فایل README:** فایل README یک دستورالعمل ساختاری برای تمام اعضای جدید انجمن است که میتوانند آن را مطالعه میکنند. در این فایل به خوبی آورده شده که پروژهی در دست چه فوایدی دارد و چگونه باید از آن استفاده کرد
* **فایل CONTRIBUTING:** زمانی که یک فایل README میتواند به مردم برای استفاده از پروژه کمک کنند، فایل CONTRIBUTING هم میتواند برای مشارکت افراد در پروژه به شما و به آنها کمک کند. در این فایل توضیح داده شده که به چه نوع مشارکتی نیاز است و فرآیند کاری پروژه به چه نحوه است. با اینکه هر پروژه فایل CONTRIBUTING ندارد، اما در صورت وجود چنین فایلی در پروژه میتواند به افراد مختلف سیگنال مشارکت در پروژه بدهد.
* **CODE_OF_CONDUCT:** در فایل code of conduct میتوانید قوائدی که شرکتکنندگان باید با در نظر گرفتن آن به صورت دوستانه و راحت و در یک محیط پذیرا با سایرین برخورد کنند را بنویسید. با اینکه هر پروژه ممکن است حاوی این فایل نباشد، اما زمانی که یک پروژهی متن باز این فایل را داشته باشد، به مشارکتکنندهها این سیگنال را میفرستد میتوانند در پروژه مشارکت داشته باشند. این فایل تقریباً حاوی توصیههایی رفتاری برای تعامل است.
* **اسناد دیگر:** یک پروژهی متن باز به خصوص پروژههای بزرگتر ممکن است حاوی اسناد دیگری مانند فایلهای آموزشی، بازنگری فنی، راهنمای گام به گام (walkthroughs) ، یا سیاستهای دولتی باشند.
در نهایت، پروژههای متن باز برای سازماندهی بحثها از ابزارهای زیر استفاده میکنند. مطالعهی آرشیو پروژهها میتواند دید خوبی از نحوهی فکر و کار انجمنها بدهد.
* **ایشو ترکر (Issue tracker):** جایی که افراد دربارهی مشکلات مرتبط با پروژه بحث میکنند
* **درخواست Pull (Pull requests):** جایی که افراد دربارهی تغییرات جاری بحث و بازبینی میکنند.
* **انجمن گفتگو یا خبرنامه های ایمیلی:** برخی از پروژه ها ممکن است برای موضوعات نیازمند بحث و گفتگو از انجمن های گفتگو یا خبرنامه ایمیلی به جای ایشو ترکر استفاده کنند. البته برخی دیگر ممکن است همین کار را به صورت کامل در بخش ایشو ترکر انجام دهند.
* **Synchronous chat channel:** بعضی از پروژههای از کانالهای چت مانند Slack یا IRC برای مکالمات محاورهای، همکاری یا تبادلات سریع استفاده میکنند.
## یافتن یک پروژه جهت مشارکت کردن در آن
اکنون میدانید نحوهی کار یک پروژهی متن باز چگونه است. بنابراین، زمانش رسیده تا برای مشارکت، یک پروژهی متن باز پیدا کنید!
اگر قبلا در هیچ پروژهی متن بازی مشارکت نداشتهاید، نصیحت رئیس جمهور آمریکا، جان. اف. کندی را بشنوید که گفت:«نگویید کشورتان برای شما چه کار کرده– بپرسید شما برای کشورتان چه کار کردهاید.»
مشارکتکنندهها در تمام سطحهای میتوانند در پروژههای متن باز مشارکت کنند. لازم نیست بیش از حد به ذهن خود فشار بیاورید که اولین مشارکت شما در یک پروژه دقیقاً به چه صورت است، یا اولین مشارکتتان در آن پروژه چگونه خواهد شد.
در عوض، به پروژههایی فکر کنید که قبلا استفاده شده، یا میخواهید استفاده کنید. پروژههایی که به صورت فعال در آن مشارکت میکنید، پروژههایی هستند که برمیگردند.
هر زمان در چنین پروژههایی به این موضوع فکر کردید که میتوانستید بهتر از این یا متفاوتتر باشد، بهتر است از روی غریزه کار کنید.
فکر نکنید یک پروژهی متن باز انحصاری است، چون پروژههای متن باز توسط افرادی مانند شما طراحی شده است. یک پروژهی متن باز تنها یک لفظ فانتزی برای برطرف کردن و حل مشکلات در دنیاست.
شما در پروژههای متن باز میتوانید فایل README را مطالعه، لینکهای خراب و غلطهای املائی را پیدا و برطرف کنید. شما و کاربران جدیدتان هم میتوانند متوجه مشکل یا مسئلهای شوند که فکر کیکند باید از اسناد پروژه باشد. به جای نادیده گرفتن، عبور کردن یا سپردن آن مسائل به افراد دیگر، برای اصلاح آن مشکلات میتوانید کمک کنید. این تمام چیزی است که یک پروژهی متن باز میتواند داشته باشد!
> [28% از مشارکتکنندههای معمولی](https://www.igor.pro.br/publica/papers/saner2016.pdf) روی اسناد پروژهی متن باز مانند اصلاح غلطهای املائی، شکل دهی مجدد، یا نوشتن ترجمه مشارکت میکنند.
اگر به دنبال مسائل موجود پروژهی متن بازتان هستید تا آن را برطرف کنید، میتوانید وارد صفحهی `/contribute` هر پروژهی متن باز شوید که مشکلات را برای تازهواردها برجسته میکند. شما میتوانید با حل کردن آن مشکلات، در مشارکت پروژهی متن باز همکاری داشته باشد. برای این منظور میتوانید به صفحهی اصلی repository (مخزن) در سایت GitHub مراجعه کنید و کلمهی `/contribute` را به انتهای آدرس URL آن اضافه کنید. به عنوان مثال:
[`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
شما همچنین میتوانید از منابع زیر برای کشف و مشارکت در پروژههای جدید کمک بگیرید:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### بررسی چک لیست قبل از مشارکت در پروژهی متن باز
زمانی که پروژهی مورد علاقهتان برای مشارکت را پیدا کردید، نگاهی سریعی داشته باشید که آیا آن پروژه مناسب است تا درخواست همکاریتان را بفرستید. در غیر این صورت، کار پُرتلاش شما ممکن است هیچوقت به نتیجه نرسد.
در ادامه میتوانید چک لیست دستی را ببینید که میتواند مشارکتکنندههای جدید یک پروژه را ارزیابی کند.
**پروژه با تعریف پروژهی متن باز مطابقت داشته باشد**
**پروژهی متن باز به صورت فعالانهای حضور مشارکتکنندهها را قبول میکند**
نگاهی به کامیت های اخیر در شاخه اصلی بیاندازید. در گیتهاب این این مورد در صفحه اصلی مخزن دیده میشود.
در قدم بعدی به مسائل پروژه (issue) نگاهی بیندازید.
حالا، تمام این مراحل را برای درخواست ادغام یا Pull Request پروژه هم در نظر بگیرید.
**پروژه پذیرای مشارکت است**
زمانی که یک پروژهی متن باز پذیرای مشارکتکنندههای جدید باشد، سیگنالهای دوستانهای برای مشارکتکنندهها میفرستد.
## چگونه درخواست مشارکت را ارسال کنیم
زمانی که پروژهی مورد علاقهتان را پیدا کردید، آمادهی مشارکت در آن میشوید و در نهایت باید راهی برای ارسال مشارکت خود به آن پیدا کنید.
### ارتباط موثر
خواه مشارکتکنندهی یکباره باشید، یا سعی داشته باشید در یک انجمن عضو شوید، کار کردن با دیگران میتواند یکی از مهمترین مهارتهایی باشد که در مشارکت در پروژهی متن باز میتوانید آن را توسعه و بهبود دهید.
قبل از درخواست ادغام یا باز کردن issue در بخش گزارش مسئله یا پرسیدن سوال در چت، نکتههای زیر را در نظر داشته باشید تا به شما کمک کند تا ایدههایتان کارآمد و موثرتر باشد.
**ارائهی زمینه:** به دیگران کمک کنید تا سرعت خود را افزایش دهند. اگر خطایی پیدا کردید و در حال برطرف کردن آن هستید، به دیگران توضیح دهید که سعی دارید چه کاری انجام میدهید و چگونه آن مشکل را حل میکنید. اگر ایدهی جدیدی هم پیشنهاد میدهید، نه تنها برای خود، بلکه برای دیگران توضیح دهید که چرا فکر میکنید این ایدهی شما میتواند برای پروژه مفید باشد.
> 😇 _"زمانی که Y را انجام میدهم، X اتفاق نمیافتد"_
>
> 😢 _"X به مشکل برخورد کرده است! لطفا برطرفش کنید."_
**تکالیفتان را از قبل انجام دهید.** اگر چیزی نمیدانید مشکلی نیست، اما باید نشان دهید که تلاشتان را میکنید. قبل از اینکه از دیگران کمک بخواهید، مطمئن شوید که فایل README، اسناد، مسائل حل شده یا حل نشده، لیست پست پروژه را خواندهاید، یا در اینترنت به دنبال جوابتان گشتهاید. وقتی تلاشتان برای یادگیری را نشان میدهید، مورد توجه تحسین دیگران قرار میگیرید
> 😇 _"مطمئن نیستم چگونه X را اجرا کنم. برای پیدا کردن جواب، فایلها را بررسی کردم و هیچ جوابی نگرفتم."_
>
> 😢 _"چگونه مسئله X را برطرف کنم؟"_
**درخواستها را مختصر و مفید مطرح کنید** هر مشارکتی مانند ارسال یک ایمیل، بدون در نظر گرفتن ساده یا مفید بودنش، به توجهی دیگران نیاز دارد. معمولاً درخواستها و سوالات اکثر پروژهها از افرادی که میخواهند به آنها جواب بدهند بیشتر است. بنابراین، درخواستها باید مختصر باشد. با کوتاه بودن درخواستها به افراد شانس بیشتری میدهید تا فرصت کمک کردن به شما را پیدا کنند.
> 😇 _"تمایل دارم یک فایل آموزشی API بنویسم"_
>
> 😢 _"زمانی که در بزرگراه در حال رانندگی کردن بودم، کنار یک پمپ بنزین توقف کردم و ایدهی شگفتانگیزی به ذهنم رسید که باید آن را عملی کنیم، اما قبل از توضیح، اجازه دهید ایدهام را به شما نشان بدهم ..."_
**تمام ارتباطات و تعاملات را به صورت عمومی نگهدارید.** هرچند وسوسهکننده است، اما به طور خصوصی با مسئولنگهداری پروژه تماس نگیرید مگر اینکه لازم باشد اطلاعات حساس مانند مسائل امنیتی یا نقض رفتار جدیدی را رد و بدل کنید. زمانی که مکالمهی شما عمومی شود، افراد بیشتری از تبادل این ارتباطات یاد میگیرند و بهره میگیرند. بحث و گفتگوها میتواند خودبه خود کمکرسان باشد.
> 😇 (در کامنت) «@-مسئولنگهداری: سلام! چگونه درخواست ادغام را پیش ببریم؟"_
>
> 😢 (در ایمیل) «سلام، ببخشید از طریق ایمیل مزاحم میشم، اما نمیدانم که میتوانید درخواست ادغام من را بررسی کنید.»_
**سوال کردن عیب نیست (اما صبور باشید!).** هرکسی در ابتدای کار در پروژه تازهوارد بوده است. حتی مشارکتکنندههای باتجربه زمانی که به پروژهی جدیدی مراجعه میکنند، باید سرعت خود را افزایش دهند. با این حساب، حتی مسئولنگهدارهای طولانی مدت هم همیشه با تمام بخشهای یک پروژه آشنا نیستند. بنابراین، سعی کنید صبور باشید تا فرصت نشان دادن آن را به شما بدهند.
> 😇 _"بابت بررسی کردن این خطا ممنونم. پیشنهادهای شما را دنبال میکنم. این خروجی کار است"_
>
> 😢 _"چرا مشکل من را نمیتوانید حل کنید؟ این پروژه مگر پروژهی شما نیست؟"_
**به تصمیمات انجمن احترام بگذارید.** ایدههای شما ممکن است با اولویتها و دید انجمن متفاوت باشد. آنها یا میتوانند به ایدههای شما بازخورد بدهند یا آن را دنبال نکنند. درحالیکه باید بحث و گفتگو کنید و به دنبال مصالحه باشید، مسئولنگهداری باید با تصمیمات شما بیشتر از شما زندگی کند. اگر با مسیر آنها مخالف هستید، همیشه میتوانید روی کار خود تمرکز کنید و پروژهی خودتان را شروع کنید.
> 😇 _"ناامید شدم که نمیتوانید پروندهی من را پشتیبانی کنید، اما همانطور که توضیح دادید این مسئله تنها روی بخشی از کاربران تاثیر میگذارد. متوجه هستم چرا. بابت شنیدن پیامم ممنون هستم"_
>
> 😢 _"چرا مورد من را پشتیبانی نمیکنید؟ این کار شما غیرقابل قبول است!"_
**فراتر از همه اینها.** مشارکتکنندههای سراسر دنیا پروژههای متن باز را میسازند. متنهای پروژهها میتواند با زبانها، فرهنگها، جغرافیاها و مناطق زمانی زیادی باشد. مدل ارتباط نوشتاری رساندن لحن و حالت مشارکتکنندههای یک پروژه را مشکل میکند. اما نیت خیر تمام این گفتگوها را در نظر داشته باشید. خوب است که ایدهی خود را مودبانه منتقل کنید، متن و محتوای بیشتری درخواست کنید، یا موقعیتتان را روشنتر کنید. فقط سعی کنید اینترنت را از زمانی که وارد شدید، را جای بهتری کرده باشید
### Gathering context
قبل از اینکه کاری انجام دهید، به سرعت بررسی کنید و مطمئن شوید که ایدهی شما در هیج جای مورد بحث قرار نگرفته باشد. فایل README، مسائل حلشده یا حلنشده، لیست پست و گفتگوهای Stack را به طور سرسری مطالعه کنید. لازم نیست ساعتها صرف خواندن آنها کنید، اما جستجوی سریع دربارهی کلمات کلیدی میتواند تا حد زیادی به شما کمک کند
اگر ایدهی شما در جای دیگری مطرح نشده بود، میتوانید آن را بیان کنید. اگر پروژه در GitHub باشد، با باز کردن Issue یا درخواست ادغام Pull Request احتمالاً میتوانید مکالمه داشته باشید:
* **Issues** مانند شروع یک مکالمه یا گفتگو است
* **Pull Requests** برای کار روی راهحل است
* **سایر راه های ارتباطی راههای ارتباطی** مانند شفافسازی، نحوهی پرسیدن سوال (How-to question)، پرسیدن سوال در Stack ، IRC ، Slack یا دیگر کانالهای چت است، البته اگر یک پروژه چنین راههای ارتباطی را باز گذاشته باشد.
قبل از باز کردن issue یا درخواست ادغام، اسناد مشارکت پروژه را بررسی کنید که معمولاً در فایلهایی به نام CONTRIBUTING یا README آورده شدند تا چیزهای خاصی که دنبالش هستید را مطالعه کنید. به عنوان مثال، آنها ممکن است از شما درخواست کنند الگوها را پیروی کنید یا به این نیاز داشته باشند که از این تستها استفاده کنند.
اگر در یک پروژه مشارکت عمیق و اساسی داشته باشید، قبل از مشارکت در پروژه، یک issue باز کنید و سوال کنید. این کار مفید است و باعث میشود پروژهی شما مدتی مشاهده شود. (در سایت GitHub میتوانید [روی «Watch» کلیک کنید](https://help.github.com/articles/watching-repositories/) تا از تمام مکالمات مطلع شوید)، و قبل از انجام دادم کار که ممکن است پذیرفته نشود، اعضای انجمن را بشناسید.
### باز کردن issue یا طرح سوال و گفتگو
در موقعیتهای زیر معمولاً باید یک issue باز کنید:
* جهت گزارش خطایی که خودتان نمیتوانید آن را حل کنید
* دربارهی موضوعات یا ایدهی سطح بالا بحث کنید (به عنوان مثال، دربارهی جامعه، دیدگاه یا سیاستها)
* ویژگی جدید یا ایدهی جدیدی برای پروژه پیشنهاد دهید
نکاتی برای برقراری ارتباط با مشکلات issue :
* **اگر با مسئلهی بازی روبهرو شدید که میخواهید آن را برطرف کنید**، کامنت کردن برای یک مسئله به افراد اجازه میدهد بدانند که شما این مسئله را باز کردید. به این ترتیب، افراد احتمالاً کمتر با مشکلات مشابهی شما برخورد میکنند
* **اگر یک issue مدتی پیش باز بوده است**، احتمال دارد جای دیگر به آن جواب داده شده باشد، یا قبلا حل شده است. بنابراین، قبل از شروع کار میتوانید برای تایید حل شدن یا حل نشدن آن درخوست کامنت بدهید.
* **اگر یک issue باز کردید**، اما جواب آن را بعدها متوجه شدید، روی issue کامنت بگذارید تا مردم متوجه شوند، سپس issue را ببندید. حتی با نوشتن اسناد میتواند سهمی در مشارکت پروژه داشته باشید.
### ارسال Pull request (درخواست ادغام)
شما معمولاً در موقیعتهای زیر باید درخواست ادغام باز کنید:
* ارائه اصلاحات ناچیز (به عنوان نمونه، غلطهای املائی، لینکهای خراب یا خطاهای مشهود)
* کار کردن روی مشارکتی که قبلا درخواست شده یا دربارهی آن بحث و گفتگو شده باشد
درخواست ادغام لزوماً به معنای پایان کار نیست. معمولاً بهتر است درخواست ادغام را قبلا باز کنید تا دیگران بتوانند آن را مشاهده و بازخوردهای خود را برای پیشرفت شما ارسال کنند. فقط آن را به «WIP» (کار در حال انجام) در کادر عنوان نشانهگذاری کنید. شما بعدها میتوانید کامیتهای بیشتری اضافه کنید.
اگر پروژه در GitHub باشد، با روشهای زیر میتوانید درخواست ادغام ارسال کنید:
* **[Fork the repository](https://guides.github.com/activities/forking/)** و یک نسخه برای خودتان کپی کنید. نسخه محلی خود را به مخزن بالادستی متصل کنید. هر از چندگاهی با دستور Pull آخرین نسخه تغییرات در مخزن اصلی را دریافت کنید تا پیش از اینکه تعارضی ما بین نسخه محلی و مخزن ایجاد شد بتوانید با مشکلات احتمالی کمتری تغییرات خود را به سمت مخزن اصلی ارسال کنید. [برای کسب اطلاعات بیشتر اینجا را مرور کنید](https://help.github.com/articles/syncing-a-fork/)
* **[ایجاد یک شاخه](https://guides.github.com/introduction/flow/)** برای اعمال ویرایش ها.
* در حین ارسال ها **به مسائل (issue) مرتبط ارجاع دهید** یا در کامنت مربوط به تغییرات جدید به مستندات مربوطه اشاره کنید.(مثال: این تغییر مشکل مطرح شده در مسئله شماره 37 را برطرف میکند.)
* اگر تغییرات شما حاوی تفاوتهای HTML/CSS باشد، **تصاویر مربوط به قبل و بعد آن را اضافه کنید**. تصاویر را وارد بدنهی درخواست ادغام کنید و رها کنید.
* تغییراتتان را **تست کنید!** تغییرات خود را در برابر تستهای موجود اجرا کنید و در صورت لزوم تغییرات جدیدی خلق کنید. اگر حتی تستهایی تعریف نشده بود، مطمئن شوید تغییراتتان پروژهی موجود شما را خراب نکند.
* با تمام تواناییتان **الگوها را رعایت کرده و مطابق سبک پروژه مشارکت کنید**. این توانایی میتواند به معنای استفاده از تورفتگیها، نقطه ویرگول (semi-colons) ، یا کامنتهای متفاوتی باشد که شما در مخزنتان خودتان دارید. این کار ادغام مسئولنگهداری را ساده میکند، دیگران هم متوجه آن میشوند و میتوانند آن را برای زمانهای آتی حفظ کنند.
اگر این اولین درخواست ادغام شماست، فیلم آموزشی [Make a Pull Request](http://makeapullrequest.com/) که @kentcdodds آن را خلق کرده، بررسی کنید. شما همچنین میتوانید از [Make a Pull Request](https://github.com/Roshanjossey/first-contributions) که توسط @Roshanjossey ایجاد شده به عنوان یک محزن تمرینی برای اولین تجربه خود استفاده کنید.
## بعد از ارسال درخواست مشارکت چه اتفاقی میافتد
شما درخواستتان را ارسال کردید! شروع مشارکتتان در یک پروژهی متن باز را تبریک میگوییم. امیدواریم این اولین قدمتان باشد.
بعد از ارسال درخواست مشارکتتان، یکی از اتفاقات زیر رخ میدهد:
### 😭 جوابی دریافت نمیکنید.
امیدواریم قبل از ارسال درخواست مشارکت، [چک لیست فعالیتهای پروژه](#بررسی-چک-لیست-قبل-از-مشارکت-در-پروژهی-متن-باز) را برررسی کرده باشید. هرچند، حتی در پروژهی فعال هم این احتمال وجود دارد که به درخواست مشارکت شما پاسخ ندهند.
اگر بیش از یک هفته جوابی برایتان ارسال نشد، به طور مودبانه میتوانید درخواست جواب دهید و از کسی بخواهید درخواست شما را بررسی کند. اگر نام کسی که میخواهید درخواست شما را بررسی کند میدانید، می توانید به اون اشاره (منشن: با گذاشتن علامت @ در ابتدای نام کاربری) کنید.
به صورت خصوصی با آن شخص **تماس نگیرید**. به یاد داشته باشید ارتباط عمومی برای پروژهها بسیار حیاتی است.
اگر به طور مودبانه درخواستهایتان را فرستاده باشید اما هنوز هیچکس پاسخگو نیست، احتمالاً هیچکس هیچوقت پاسخ شما را نخواهد داد. میدانیم که حس خوبی ندارد، اما اجازه ندهید این موضوع شما را دلسرد کند چون این اتفاق ممکن است برای همه رخ دهد!
برای برطرف کردن این مشکل دلایل زیادی وجود دارد که به شما میگوید چرا پاسخ درخواستتان داده نمیشود؛ دلایلی مانند شرایط شخصی که ممکن است از کنترل خارج شود. شما میتواند پروژهی دیگر یا راهی برای مشارکت پیدا کنید. قبل از اینکه اعضای یک انجمن متعهد یا پاسخگو باشند، زمان زیادی را صرف ارسال درخواست مشارکتتان نکنید.
### 🚧 یک نفر برای تغییر درخواستتان به شما پیام میدهد.
مرسوم است کسی بخواهید درخواست مشارکت خود را تغییر دهید، این درخواست تغییر میتواند در بازخورد ایده یا در تغییرات کد شما باشد.
اگر کسی درخواست تغییر برایتان ارسال کرد، پاسخگو باشید، چون آنها برای بررسی درخواست مشارکت شما زمان گذاشتند. باز گذاشتن PR (درخواست ادغام) و نادیده گرفتن آن صورت خوبی ندارد. اگر نمیدانید چگونه روی درخواستتان آن تغییرات را اعمال کنید، مشکلات را جستجو کنید و در صورت نیاز از کسی کمک بخواهید.
اگر برای برطرف کردن مسائل پروژه دیگر زمان کافی ندارید (به عنوان نمونه، اگر مکالمهی شما ماهها طول کشید، و اکنون شرایط شما تغییر کند)، اجازه دهید مسئولنگهداری پروژه از این موضوع مطلع شود تا منتظر جواب شما نباشد. حتی کسی دیگری ممکن است جای شما را بگیرد.
### 👎 درخواست مشارکتتان پذیرفته نشد
در پایان، درخواست مشارکتتان ممکن است پذیرفته شود یا نشود. هرچند، در صورت پذیرفته نشدن درخواستتان امیدواریم زمان زیادی روی آن صرف نکرده باشید. اگر مطمئن نیستید که چرا درخواستتان پذیرفته نشده، کاملاً معقولانه است که برای درخواست بازخورد و شفافسازی از مسئولنگهداری جواب بخواهید. در نهایت، با احترام به تصمیم آنها نباید خشمگین و عصبانی شوید. همیشه میتوانید پروژهی دیگری انتخاب کنید و اگر هم نمیخواهید در پروژهای مشرکت کنید، میتوانید پروژهی خودتان را داشته باشید!
### 🎉 درخواست مشارکت شما پذیرفته شد.
هوررا! درخواست مشارکت شما برای پروژهی متن باز موفقیتآمیز بوده است
## انجامش دادی!
خواه دنبال ارسال درخواست مشارکت خود برای اولین پروژهتان باشید، یا دنبال یک راه جدید برای مشارکت در پروژهای متن باز، امیدواریم انگیزه این کار را داشته باشید. حتی اگر درخواستتان هم پذیرفته نشد، فراموش نکنید از تلاش مسئولنگهداری پروژه تشکر کنید که تمام تلاش خود را برای کمک به شما گذاشت. پروژههای متن باز، مسائل، درخواست ادغام، کامنت توسط افرادی مانند شما تولید میشود.
================================================
FILE: _articles/fa/index.html
================================================
---
layout: index
title: راهنماهای متنباز
lang: fa
permalink: /fa/
---
================================================
FILE: _articles/fa/leadership-and-governance.md
================================================
---
lang: fa
title: مدیریت و نظارت
description: وجود نقشهای رسمی جهت تصمیمگیری، منافع زیادی برای پروژههای متن باز در حال رشد به همراه دارد.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## نظارت درست بر روی پروژهی در حال رشد
پروژهی شما رشد میکند، مردم درگیر پروژهی شما میشوند، و شما به ادامه دادن این کار متعهد میشوید. در این مرحله، ممکن است از خود بپرسید که چگونه میتوانید مشارکتکنندگان پروژهی خود را منسجم و یکپارچه کنید، خواه دادن دسترسی کامیت باشد یا حل و فصل کردن بحثها و گفتگوهای درون اجتماع. اگر سوالاتی دارید، جوابها پیش ماست.
## مثالهایی از نقشهای رسمی مورد استفاده در پروژه های متن باز، چه هستند؟
بسیاری از پروژهها، ساختار مشابهی را در حوزهی نقشهای مشارکتی و شناختی دنبال میکنند.
مضمون و معنای این نقشها، در واقع کاملا به شما بستگی دارد. در اینجا، چند نوع نقشی که ممکن است آنها را تشخیص دهید، نام بردیم:
* **نگهدارنده (Maintainer)**
* **مشارکتکننده (Contributor)**
* **کامیت کننده (Committer)**
**در برخی از پروژهها، نگهدارندگان** تنها افرادی در پروژه هستند که دسترسی کامیت دارند. در برخی دیگر از پروژهها، فقط افرادی دسترسی دارند که در «README» به عنوان نگهدارنده ذکر شدهاند.
نگهدارنده لزوماً کسی نیست که برای پروژهی شما کد مینویسد. بلکه میتواند کسی باشد که در تبلیغ پروژهی شما کارهای زیادی انجام داده باشد یا مستنداتی را نوشته باشد که پروژه را برای دیگران قابل دسترسیتر کرده است. صرف نظر از کاری که آنها در طی روز انجام میدهند، نگهدارنده کسی است که نسبت به مسیر و اجرای پروژه احساس مسئولیت میکند و متعهد به بهبود بخشیدن آن است.
**مشارکتکننده میتواند هر کسی باشد**: کسی که مسئله یا درخواست «Pull»ی را مطرح میکند، یا افرادی باشند که به پروژه ارزش میبخشند (خواه این که مسائل مربوط به اولویتبندی درخواستها، نوشتن کد یا سازماندهی رویدادها باشد) یا هر کسی باشد که درخواست «Pull»ی را ادغام (merge) بکند (جزئیترین تعریف از مشارکتکننده)
**اصطلاح «کامیت کننده»،** ممکن است برای وجه تمایز دسترسی کامیت، که نوع خاصی از مسئولیت در مقابل سایر اشکال مشارکت است، استفاده شود.
در حالی که میتوانید نقشها را در پروژهی خود به هر روشی که دوست دارید تعریف کنید، استفاده از تعاریف گستردهتر را برای تقویت اشکال بیشتری از مشارکت، [مد نظر خود قرار دهید](../how-to-contribute/#مشارکت-به-چه-معناست). شما میتوانید از نقشهای مدیریتی برای شناسایی رسمی افرادی که مشارکت برجستهای به پروژهی شما کردهاند، صرف نظر از مهارتهای فنی آنها استفاده کنید
## چگونه به این نقشهای مدیریتی، رسمیت ببخشیم؟
رسمیت بخشیدن به نقشهای مدیریتی، باعث میشود افراد احساس مالکیت کنند و به اعضای سایر اجتماعها بگویند برای کمک به چه کسانی روی آورند.
در پروژههای کوچکتر، تعیین کردن مدیران میتواند به سادگی افزودن نام آنها به فایلهای «README» یا به یک فایل متنی «CONTRIBUTORS» باشد.
برای پروژههای بزرگتر، اگر وبسایتی دارید، یک صفحهی تیمی ایجاد کنید یا اسامی مدیران پروژه را در آنجا لیست کنید. به عنوان مثال، [Postgres](https://github.com/postgres/postgres/) یک [صفحهی تیمی جامع](https://www.postgresql.org/community/contributors/) و فراگیر با مشخصاتی کوتاه برای هر مشارکتکننده دارد.
اگر پروژهی شما دارای جامعهی مشارکتکنندهی بسیار فعالی است، شما میتوانید یک «تیم اصلی» از نگهدارندهها، یا حتی کمیتههای فرعی از افرادی که مالکیت حوزههای موضوعات مختلف را دارند (به عنوان مثال، امنیت، اولویتبندی درخواستها یا هدایت اجتماع) تشکیل دهید. به جای اینکه به هر کسی، وظایف خاصی را محول کنید، بگذارید افراد خودشان، برای نقشهایی که بیشتر از همه هیجان زدهاند سازمان یابند و داوطلب شوند.
تیمهای مدیریت، ممکن است بخواهند کانالی مشخص (مانند IRC) ایجاد کنند یا به طور منظم برای بحث درمورد پروژه با هم ملاقات کنند (مانند Gitter یا Google Hangout). حتی میتوانید آن جلسات را علنی برگزار کنید تا سایر افراد بتوانند گوش دهند. به عنوان مثال، [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby) همچین کاری میکند
پس از اینکه نقشهای مدیریتی را ایجاد کردید، ثبت چگونگی نحوهی دسترسی افراد به آنها را فراموش نکنید! فرآیند روشن و واضحی را برای چگونگی کسی که میخواهد نگهدارنده شود یا به کمیتهای فرعی در پروژه شما بپیوندد، ایجاد کنید و آن را در «GOVERNANCE.md» خود بنویسید.
ابزارهایی مانند [Vossibility](https://github.com/icecrime/vossibility-stack)، میتواند به شما کمک کند تا به طور عمومی افرادی که در پروژه مشارکت میکنند (یا نمیکنند) را ردیابی کنید. ثبت این اطلاعات، جلوی این ذهنیت اجتماع که نگهدارندگان گروهی هستند که تصمیمات خود را به صورت خصوصی اتخاذ میکنند، میگیرد
در آخر اینکه اگر پروژهی شما در «GitHub» است، انتقال پروژهی خود را از حساب شخصی خود به یک تشکل و اضافه کردن حداقل یک مدیر پشتیبان را مد نظر خود قرار دهید. [تشکلهای «GitHub»](https://help.github.com/articles/creating-a-new-organization-account/)، مدیریت دسترسیها و مراکز ذخیرهسازی متعدد را آسانتر میکنند و پیشینهی پروژهی شما را از طریق [مالکیت مشترک](../building-community/#مالکیت-پروژه-تان-را-به-اشتراک-بگذارید) محافظت میکنند.
## چه موقع باید به کسی اجازهی دسترسی کامیت بدهیم؟
برخی از افراد فکر میکنند که شما باید به هر کسی که در پروژه مشارکت میکند، دسترسی کامیت بدهید. با انجام این کار، افراد بیشتری ترغیب به داشتن احساس مالکیت نسبت به پروژهی شما، میشوند.
از طرف دیگر، به خصوص برای پروژههای بزرگتر و پیچیدهتر، ممکن است بخواهید فقط به افرادی که تعهد خود را نشان داده و به اثبات رساندهاند، دسترسی کامیت بدهید. هیچ راه درستی برای انجام این کار وجود ندارد - هر جور که راحتتر هستید، عمل کنید!
اگر پروژهی شما در «GitHub» است، می توانید از شاخههای محافظت شده [protected branches](https://help.github.com/articles/about-protected-branches/) برای مدیریت افرادی که میتوانند تحت شرایط خاصی در شاخهای خاص عمل کنند، استفاده کنید
## برخی از ساختارهای نظارتی متداول برای پروژههای متن باز چیست؟
سه ساختار نظارتی متداول در ارتباط با پروژههای متن باز وجود دارد.
* **BDFL** مخفف "Benevolent Dictator for Life" یا «دیکتاتور خیرخواه جاویدان» است تحت این ساختار، یک نفر (معمولاً نویسندهی اولیهی پروژه) در مورد تمام تصمیمات مهم پروژه، حرف آخر را میزند. [Python](https://github.com/python)، نمونهای موثق در این مورد است. پروژههای کوچکتر احتمالاً به طور پیشفرض به صورت BDFL هستند، زیرا فقط یک یا دو نگهدارنده وجود دارد. پروژههایی که از یک شرکت منشأ گرفته شده باشند نیز ممکن است در طبقهبندی BDFL قرار گیرند
* **Meritocracy:** (شایسته سالاری) (توجه داشته باشید که اصطلاح شایسته سالاری برای برخی اجتماعها، مفهومی منفی دارد و ساختار آن [دارای پیشینهی پیچیدهی اجتماعی و سیاسی](http://geekfeminism.wikia.com/wiki/Meritocracy).)است.) تحت ساختار «شایسته سالاری»، به مشارکتکنندگان فعال پروژه (کسانی که از خود «شایستگی» نشان میدهند) نقش تصمیمگیرندگی رسمی داده میشود. تصمیمها، معمولاً براساس اجماع رای گرفته میشوند. مفهوم شایسته سالاری، نخستین بار توسط بنیاد «Apache»، به وجود آمد. تمامی پروژههای «Apache» بر اساس شایسته سالاری هستند. مشارکتها فقط توسط افراد حقیقی صورت میگیرد؛ نه توسط یک شرکت.
* **Liberal contribution:** (مشارکت آزادنه) تحت مدل مشارکت آزادانه، افرادی که بیشترین کار را انجام میدهند به عنوان تأثیرگذارترین افراد شناخته میشوند، اما این مدل براساس کاری که اکنون انجام میدهند است و نه مشارکتهای که در گذشته داشتهاند. تصمیمات بزرگ پروژه بر اساس فرآیندی در اجتماع به صورت اجماعی (بحث در مورد مسائل اساسی) به جای رأیگیری تنها گرفته میشود، و تلاش میشود تا آنجا که ممکن است دیدگاههای بیشتری از اجتماع را شامل شود. از جمله پروژههایی که از مدل مشارکت آزادانه استفاده کردند، میتوان [Node.js](https://foundation.nodejs.org/) و [Rust](https://www.rust-lang.org/) را نام برد.
از کدام مدل بهتر است استفاده کنید؟ به خودتان بستگی دارد! هر مدل، شامل نکات منفی و مثبتی میشود. اگرچه ممکن است این مدلها در ابتدا کاملاً متفاوت به نظر برسند؛ اما هر سه مدل، بیشتری از آنچه که به نظر می رسد اشتراکاتی دارند:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## آیا هنگام راهاندازی پروژهی خود به اسناد نظارتی نیاز دارم؟
زمان مناسب و دقیقی برای نوشتن اسناد نظارتی پروژه وجود ندارد، اما هنگامی که شرایط اجتماع خود را دیدید و با جو آن آشنا گشتید، به ثبت رساندن اسناد بسیار سادهتر میشود. بهترین (و سختترین) بخش در مورد نظارت پروژههای متن باز این است که توسط خود اجتماع شکل میگیرد!
هر چند برخی اسناد اولیهی نظارتی به طور اجتناب ناپذیری در پروژهی شما خواهد بود، ولی شروع به نوشتن آنچه میتوانید بکنید. به عنوان مثال، شما میتوانید حتی در زمان راهاندازی پروژهی خود، انتظارات واضح و شفاف خودتان از رفتار یا فرآیند مشارکت کاری را تعریف کنید.
اگر شما عضوی از شرکتی هستید که پروژهای متن باز راهاندازی میکند، بد نیست قبل از راهاندازی، بحثی درونسازمانی درباره نحوهی نگهداری شرکت و تصمیمگیری در مورد پیشرفت پروژه داشته باشید. همچنین بهتر است در مورد مسیری که شرکت شما در رابطه با پروژه پیش خواهد گرفت، به صورت علنی صحبت دهید.
## اگر کارمندان شاغل در شرکت شروع به ارائهی خدمات کنند، چه میشود؟
پروژههای متن باز موفق، توسط بسیاری از افراد و شرکتها مورد استفاده قرار میگیرند و در نهایت ممکن است برخی از شرکتها شروع به کسب درآمد از آن پروژهها بکنند. به عنوان مثال، شرکتی ممکن است از کدهای پروژه به عنوان یک بخش سازندهی محصولات خدمات تجاری استفاده کند.
هنگامی که استفاده از پروژه بیشتر شود، افراد زیادی خواستار کسانی که در آن پروژه تخصص دارند میشوند؛ ممکن است شما یکی از آنها باشید! و گاهی اوقات نیز به خاطر کاری که در پروژه میکنید، حقوق دریافت کنید.
بسیار مهم است که رفتاری عادی در قبال فعالیتهای تجاری داشت؛ درست رفتاری مانند فعالیتهای توسعهای در پروژههای دیگر. البته نباید برخورد خاص و رفتار ویژهای با توسعهدهندگانی که به آنها پول داده میشود در برابر آنهایی که بدون دریافت پول به کارشان مشغول هستند، قائل شد. هر یک از مشارکتها باید بر اساس شایستگیهای فنی ارزیابی شود. با این حال، افرادی که مشغول به فعالیتهای تجاری هستند، باید احساس راحتی داشته باشند و هنگام بحث و گفتگو در مورد پیشرفت یا ویژگی خاصی، در بیان موارد کاربردی و کارهایی که قبلا داشتند، باید احساس راحتی کنند.
پروژههای «تجاری» هیچ فرقی با پروژههای «متن باز» ندارند. «تجاری» فقط به این معنی است که پول هم در کار است؛ به این معنی که نرم افزاری که در تجارت مورد استفاده قرار میگیرد، نرمافزاری در پروژه بوده است که در فعالیت تجاری پذیرفته شده است. (هنگامی که از یک نرمافزار «متن باز» به عنوان بخشی سازنده از محصولی «غیر متن باز» استفاده میشود، محصول نهایی همچنان نرمافزاری «دارای حقوق انحصاری» است، هرچند مانند «متن باز» ممکن است برای اهداف تجاری یا غیر تجاری استفاده شود.)
مانند هر کس دیگری، توسعهدهندگانی که انگیزههای تجاری دارند از طریق کیفیت و کمیت مشارکتهای خودشان است که در پروژه اهمیت مییابند و تاثیرگذار میشوند. بدیهی است که توسعهدهندهای که برای کاری که میکند حقوق میگیرد، احتمالا بیشتر از شخصی که حقوق نمیگیرد، توانایی کار کردن دارد ولی اهمیتی ندارد، پرداخت حقوق فقط یکی از بسیار عاملهای احتمالی است که میتواند بر میزان کاری که شخص میکند، تأثیر بگذارد. مشارکتها رو معطوف به بحثهای مربوط به پروژه بکنید، و نه معطوف به موضوعاتی خارج از پروژه.
## آیا برای حمایت و پشتیبانی از پروژهی خود به نهاد قانونی نیاز خواهم داشت؟
شما برای پشتیبانی از پروژهی متن باز خود احتیاج به نهاد قانونی نخواهید داشت، مگر اینکه با پول سر و کار داشته باشید.
به عنوان مثال، اگر میخواهید کسب و کاری ایجاد کنید، باید از طریق «C Corp» یا «LLC» (اگر در ایالات متحده مستقر هستید) اقدام کنید. اگر فقط کارهای پیمانکاری مربوط به پروژه متن باز خود را انجام میدهید، میتوانید به عنوان یک مالک شخصی پول را بپذیرید یا یک «LLC» (اگر در ایالات متحده مستقر هستید) ایجاد کنید.
اگر میخواهید کمکهای مالی برای پروژهی متن باز خود بپذیرید، میتوانید بستری را برای کمکهای مالی (مثلاً با استفاده از PayPal یا Stripe) ایجاد کنید، اما این مبلغ مشمول کسر مالیات میشود، مگر اینکه به عنوان یک سازمان غیرانتفاعی واجد شرایط باشید (اگر در ایالات متحده مستقر هستید).
بسیاری از پروژهها مایل به پذیرفتن مشکلات ناشی از ایجاد سازمانی غیرانتفاعی نیستند، بنابراین در عوض یک حامی مالی غیرانتفاعی پیدا میکنند. یک حامی مالی، معمولاً در ازای درصدی از کمک مالی، کمکهای مالی را از طرف شما قبول میکند. [Software Freedom Conservancy](https://sfconservancy.org/)،[Apache Foundation](https://www.apache.org/) ،[Eclipse Foundation](https://eclipse.org/org/) ، [Linux Foundation](https://www.linuxfoundation.org/projects) و [Open Collective](https://opencollective.com/opensource)، نمونههایی از سازمانها هستند که به عنوان حامیهای مالی در پروژههای متن باز فعالیت میکنند
اگر پروژهی شما رابطهی نزدیکی با زبان یا اکوسیستم خاصی داشته باشد، ممکن است پیشزمینهی نرمافزاری مرتبط با آن وجود داشته باشد که بتوانید با آن کار کنید. به عنوان مثال، [Python Software Foundation](https://www.python.org/psf/) از [PyPI](https://pypi.org/) پشتیبانی میکند، [Python package manager](https://www.python.org/psf/) و [Node.js Foundation](https://foundation.nodejs.org/) به [Express.js](https://expressjs.com/)، که مبتنی بر Node است، کمک میکند.
================================================
FILE: _articles/fa/legal.md
================================================
---
lang: fa
title: جنبههای حقوقی پروژههای متن باز
description: تمامی چیزهایی که در مورد جنبههای حقوقی متن باز برای شما سوال شده و چیزهایی که سوال نشده.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## درک پیامدهای حقوقی پروژههای منبع آزاد
اشتراک گذاشتن کارهای خلاقانه با جهانیان میتواند تجربهای هیجانانگیز و ارزشمند باشد. همچنین میتواند به معنای درگیر شدن با یک سری موارد حقوقی باشد که در رابطه با آنها چیزی نمیدانید. خوشبختانه، نیازی نیست از ابتدا شروع کنید. ما نیازهای حقوقی شما را برآورده کرده و پوشش دادهایم. (قبل از شروع، حتماً متن [سلب مسئولیت](/notices/) ما را بخوانید.)
## چرا مردم اینقدر به جنبههای حقوقی متن آزاد اهمیت میدهند؟
به طور کلی، به این معنی است که هیچ کس دیگری نمیتواند از اثر شما استفاده کند، کپی کند، پخش کند یا اصلاحاتی روی آن انجام دهد؛ بدون اینکه در معرض ریسک دعوی قضایی و پیگیری قرار بگیرد.
هرچند پروژههای متن باز شرایطی غیرمعمول دارند، زیرا خالق اثر انتظار دارد که دیگران از اثر استفاده کنند و آن را اصلاح نمایند و به اشتراک بگذارند. اما از آنجا که پیشفرض قانونی همچنان شامل حق نشر میشود، شما به مجوزی نیاز دارید که صریحاً این دسترسیها را میسر سازد.
اگر مجوز (لایسنس) مربوط به پروژههای متن باز را اعمال نکنید، همه کسانی که در پروژۀ شما مشارکت میکنند نیز به عنوان دارندۀ حق نشر برای کارهای منحصر به فرد خود شناخته میشوند. این بدان معناست که هیچ کس نمیتواند از مشارکتهای خود استفاده یا کپی کند و آن را توزیع یا اصلاح نماید و این «هیچ کس» شامل شما هم میشود.
در آخر اینکه ممکن است پروژۀ شما وابستگیهایی با ملزومات مجوز داشته باشد که از آنها اطلاع نداشته باشید. انجمن (community) پروژه یا سیاستهای کارفرمایی شما نیز ممکن است پروژه را ملزم به استفاده از مجوزهای متن باز خاصی بکند. در زیر دربارۀ آن توضیح میدهیم.
## آیا پروژههای عمومی «GitHub» متن باز محسوب میشوند؟
هنگام ایجاد [پروژهای جدید](https://help.github.com/articles/creating-a-new-repository/) در «GitHub»، این انتخاب را دارید که منبع را **خصوصی** یا **عمومی** مشخص کنید

**عمومی کردن پروژهتان در «GitHub» به منزلۀ مجوزدار کردن پروژه نیست.** پروژههای عمومیای که [تحت شرایط خدمات «GitHub»](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants) قرار میگیرند این امکان را برای افراد میسر میسازد که پروژه شما را مشاهده کنند و آن را فورک (fork) کنند، اما در غیر این افراد همچین اجازهای ندارند.
اگر میخواهید دیگران از پروژۀ شما استفاده کنند، آن را توزیع دهند یا اصلاح نمایند و در آن مشارکت کنند، باید پروانۀ مخصوص پروژههای متن باز داشته باشید. به عنوان مثال، کسی قانونا نمیتواند از هر بخشی از پروژۀ «GitHub» شما در کد خود استفاده کند، حتی اگر عمومی باشد؛ مگر اینکه صریحاً به او اجازۀ چنین کاری را بدهید.
## به من توضیحات تکمیلی را در مورد چگونگی مراقبت از پروژه بدهید
امروزه کار خیلی سادهتر شده است زیرا مجوزهای پروژههای متن باز استاندارد شده و استفاده از آنها آسان است. میتوانید مجوزهای (پروانههای) موجود را مستقیماً در پروژۀ خود کپی کنید.
[MIT](https://choosealicense.com/licenses/mit/) ، [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) و [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) معروفترین مجوزهای متن باز هستند، اما گزینههای دیگری نیز برای انتخاب وجود دارد. میتوانید متن کامل این مجوزها و دستورالعملهای مربوط به نحوۀ استفاده از آنها را در سایت [choosealicense.com](https://choosealicense.com/) پیدا کنید.
وقتی پروژۀ جدیدی را در «GitHub» ایجاد میکنید، [از شما خواسته میشود مجوزی را انتخاب کرده و به پروژه اضافه کنید](https://help.github.com/articles/open-source-licensing/).
## چه مجوز متن بازی برای پروژۀ من مناسب است؟
اگر تازهکار هستید، [مجوز MIT](https://choosealicense.com/licenses/mit/) به درد شما میخورد. کوتاه است، درک آن بسیار آسان میباشد و به هر کسی اجازه میدهد هر کاری انجام دهد تا زمانی که کپی مجوز، از جمله اخطار حق نشر شما را نگه دارند. در صورت نیاز، میتوانید پروژه را تحت هر مجوز دیگری انتشار دهید.
در غیر این صورت، انتخاب مجوز متن باز مناسب برای پروژۀ شما به اهدافتان بستگی دارد.
پروژۀ شما به احتمال زیاد **وابستگیها** و مولفههای فراوانی داشته باشد (یا خواهد داشت). به عنوان مثال، اگر در پروژۀ متن باز خود از «Node.js» استفاده میکنید، احتمالاً از کتابخانههای Node Package Manager (npm) (مدیریت پکیج Node) استفاده خواهید کرد. هر کدام از این کتابخانههایی که به آنها وابسته هستید، مجوز (لایسنس، پروانه) متن باز مخصوص به خود را دارند. اگر هر یک از مجوزهای آنها «اختیاری» باشد (بدون هیچ گونه شرطی برای فعالیتهای آینده، اجازۀ استفاده، اصلاح، تغییر و اشتراکگذاری را به عموم مردم میدهد)، میتوانید از هر مجوزی که میخواهید استفاده کنید. مجوزهای اختیاری متداول شامل «MIT»، «Apache 2.0»، «ISC» و «BSD» میشوند.
از طرف دیگر، اگر هر یک از مجوزهای وابستگی شما، «کپیلفت قوی» باشند (مشروط به استفاده از همان مجوز در آینده، مجوزهای عمومی مشابهی را میدهد)، در این صورت پروژۀ شما باید از همان مجوز استفاده کند. مجوزهای متداول کپیلفت قوی شامل «GPLv2»، «GPLv3» و «AGPLv3» میشوند. (تعریف Copyleft : کپیلفت نوعی بازی با کلمهٔ کپیرایت است. کپیلفت عملی را توصیف میکند که در آن تضمین میشود که اجازهٔ نسخهبرداری و ویرایش یک اثر برای همگان محفوظ میمانَد و هیچ شخصی اجازه ندارد حق ویرایش و نسخهبرداری را از دیگر افراد سلب کند.)
همچنین ممکن است بخواهید **انجمنهایی** را در نظر بگیرید که امیدوار هستید از پروژۀ شما استفاده کنند و در آن مشارکت کنند:
* **آیا میخواهید پروژۀ شما به عنوان وابستگی توسط سایر پروژهها مورد استفاده قرار گیرد؟** بهتر است محبوبترین نوع مجوز را در انجمنتان استفاده کنید. به عنوان مثال، [MIT](https://choosealicense.com/licenses/mit/) محبوبترین مجوز برای [کتابخانههای npm](https://libraries.io/search?platforms=NPM) است.
* **آیا میخواهید پروژۀ شما مورد توجه کسب و کارهای بزرگ قرار بگیرد؟** کسبوکارهای بزرگ احتمالاً سریعا مجوز ثبت اختراع را از تمامی مشارکتکنندگان میخواهند. در این صورت، [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) به درد شما و آنها میخورد.
* **آیا میخواهید پروژه شما مورد توجه مشارکتکنندگانی قرار بگیرد که نمیخواهند مشارکتهای آنها در نرمافزارهای متن بسته مورد استفاده قرار بگیرد؟** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) یا (همچنین اگر آنها تمایلی به مشارکت در خدمات متن بسته ندارند) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) به درد خواهد خورد.
ممکن است **شرکت** شما در پروژههای متن باز، شرایط خاصی برای مجوزها داشته باشد. به عنوان مثال، ممکن است به مجوز اختیاری نیاز داشته باشد تا شرکت بتواند از پروژۀ شما در محصول متن بستۀ خود استفاده کند. یا ممکن است شرکت شما به یک مجوز کپیلفت قوی و یک توافقنامۀ همکاری اضافی نیاز داشته باشد (به زیر مراجعه کنید) تا فقط منحصرا شرکت شما بتواند از پروژه در نرمافزارهای متن بسته استفاده کند. یا ممکن است شرکت شما نیازها و شرایط خاصی در رابطه با استانداردها، مسئولیتهای اجتماعی یا شفافیت داشته باشد، که هر یک از آنها ممکن است به یک استراتژی خاص دیگری در ارتباط با مجوز نیاز داشته باشد. با [بخش حقوقی شرکت](#تیم-حقوقی-شرکت-من-چه-چیزهایی-را-باید-بداند) خود در رابطه با این موارد صحبت کنید.
هنگام ایجاد پروژه جدید در «GitHub»، به شما امکان انتخاب نوع مجوز داده میشود. انتخاب یکی از مجوزهایی که در بالا ذکر شد، پروژۀ «GitHub» شما را متن باز میکند. اگر مایل به دیدن گزینههای دیگهای هستید، [choosealicense.com](https://choosealicense.com) را بررسی کنید تا مجوز مناسبتان را پیدا کنید حتی اگر برای [نرمافزار](https://choosealicense.com/non-software/) نباشد.
## اگر بخواهم مجوز پروژۀ خود را تغییر دهم چه کاری باید بکنم؟
اکثر پروژهها به تغییر دادن مجوز خود، نیازی پیدا نمیکنند. ولی گاهی اوقات شرایط فرق میکند.
به عنوان مثال، با رشد پروژۀ شما، وابستگیها یا کاربران آن اضافه میشود یا شرکت شما استراتژیهای خود را تغییر میدهد که هرکدام از آنها نیاز به مجوز دیگری دارند. همچنین، اگر از ابتدا مجوزی برای پروژۀ خود انتخاب نکردید، افزودن مجوز در واقع تفاوتی با تغییر مجوز ندارد. هنگام افزودن یا تغییر مجوز پروژه، سه نکتۀ اساسی باید در نظر گرفته شود:
**کاری پیچیده است.** تعیین سازگاری و انطباق مجوز و حق نشر می تواند خیلی زود پیچیده و گیجکننده شود. تغییر مجوز به مجوزی جدید و سازگار برای نسخههای جدید و مشارکتها با تغییر مجوز تمامی مشارکتهای موجود، تفاوتهایی دارد. در اولین قدم، در صورت تمایل به تغییر مجوزها، تیم حقوقی شما درگیر میشود. حتی اگر برای تغییر مجوز از دارندگان حق نشر پروژه خود اجازه دارید یا میتوانید از آنها اجازه بگیرید، تأثیر این تغییر را بر سایر کاربران و مشارکتکنندگان پروژۀ خود در نظر داشته باشید. تغییر مجوز را به صورت یک «رویداد مدیریتی» برای پروژۀ خود تصور کنید که به احتمال زیاد با برقراری ارتباط صریح و مشورت با ذینفعان پروژه، هموارتر پیش خواهد رفت. بنابراین بهتر است از بدو تأسیس، مجوزی مناسب را برای پروژۀ خودتان انتخاب کنید!
**مجوز موجود و فعلی پروژهتان.** در صورتی که مجوز کنونی پروژۀ شما با مجوزی که میخواهید به آن تغییر دهید سازگار باشد، میتوانید از مجوز جدید استفاده کنید. به این دلیل که اگر مجوز A با مجوز B سازگار باشد، در حالی که با شرایط B مطابقت دارید، با شرایط A نیز منطبق خواهید بود (اما لزوما برعکس آن درست نیست). بنابراین اگر در حال حاضر از مجوزی اختیاری استفاده میکنید (به عنوان مثال، «MIT»)، میتوانید به مجوزی با شرایط بیشتری تغییر مجوز دهید، به شرطی که نسخهای از مجوز «MIT» و هرگونه شرط حق نشر دیگری مربوط به آن را حفظ کنید (یعنی همچنان با حداقل شرایط مجوز «MIT» سازگار باشید). اما اگر مجوز فعلی شما اختیاری نباشد (به عنوان مثال کپیلفت باشد یا مجوزی نداشته باشید) و تنها دارندۀ حق نشر نیستید، نمیتوانید مجوز پروژۀ خود را به «MIT» تغییر دهید. اساساً، صاحبان حق نشر پروژه با داشتن مجوز اختیاری از قبل اجازۀ تغییر مجوزها را دادهاند.
**صاحبان کنونی حقنشر پروژهتان.** اگر تنها مشارکتکننده در پروژهتان هستید، شما یا شرکت شما تنها صاحبان حقنشر این پروژه خواهید بود. خودتان یا شرکت میتوانید، مجوز را تغییر دهید یا مجوز جدیدی اضافه کنید. در غیر این صورت ممکن است باید قبل از تغییر مجوز، با دیگر صاحبان حقنشر به توافق برسید. آنها چه کسانی هستند؟ افرادی که متعهد به پروژه هستند، نقطۀ خوبی برای شروع است. اما در برخی موارد حقنشر توسط افراد بالادستی این افراد حفظ میشود. در برخی موارد افراد مشارکت کم و حداقلی داشتهاند، اما هیچ قانون سخت و جدی وجود ندارد که بگوید افرادی که مشارکتی در برخی از خطوط کد داشتهاند مشمول حقنشر نباشد. چه کار باید کرد؟ بستگی دارد. برای پروژهای نسبتاً کوچک و تازهشکل گرفته، ممکن است امکانپذیر باشد که همۀ مشارکتکنندگان موجود با تغییر مجوز در طرح مسئلهای یا در درخواست pullی موافقت کنند. برای پروژههای بزرگ و قدیمی، ممکن است برای مثلا تغییر مجوز مجبور شوید به جستجوی بسیاری از مشارکتکنندگان و حتی ورثههای آنها مشغول شوید. موزیلا سالها به طول انجامید (2001 تا 2006) تا مجوز «Firefox»، «Thunderbird» و دیگر نرمافزارهای مربوطه را تغییر دهد.
همچنین میتوانید موافقت مشارکتکنندگان را از قبل جلب کنید (از طریق توافقنامههای مشارکتی اضافی - به زیر مراجعه کنید) تا بتوانید کارتان را در مورد برخی از تغییرات مجوز تحت شرایط خاصی را فراتر از شرایط مجاز مجوز متن باز موجود پیش ببرید. این موضوع پیچیدگی تغییر مجوزها را کمی تغییر میدهد. برای اینکار به کمک وکلای خود بیشتر احتیاج خواهید داشت و هنوز هم باید در هنگام اجرای تغییر مجوز، به طور واضح با ذینفعان پروژۀ خود صحبت کنید.
## آیا پروژۀ من به توافقنامههای همکاری (مشارکتی) اضافی نیاز دارد؟
به احتمال زیاد نه. برای اکثریت قریب به اتفاق پروژههای متن باز، یک مجوز متن آزاد به طور ضمنی به عنوان مجوز درونی (برای مشارکتکنندگان) و مجوز خارجی (برای سایر مشارکتکنندگان و کاربران) عمل میکند. اگر پروژۀ شما در «GitHub» میزبانی میشود، شرایط خدماتدهی «GitHub»، «مجوزهای درونی و مجوزهای خروجی را [صریحا پیشفرض](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license) درنظر میگیرد.
توافقنامههای همکاری اضافی - که اغلب به آن توافقنامه مجوز مشارکتکننده (CLA) گفته میشود - برای نگهدارندگان پروژه میتواند کارهای مدیریتی ایجاد کند. اینکه توافقنامه چه مقدار کار اضافه میکند به پروژه و نحوۀ اجرای آن بستگی دارد. یک توافقنامهی ساده ممکن است نیاز داشته باشد که مشارکتکنندگان با یک کلیک تأیید کنند که از حقوق لازم برای مشارکت در مجوز پروژه متن باز برخوردار هستند. یک توافقنامهی پیچیدهتر ممکن است نیاز به بررسی قانونی داشته باشد و مربوط به کارفرمایان مشارکتکنندگان شود.
همچنین، با افزودن «تشریفات اداری» که به عقیدۀ برخی غیرضروری میباشد و فهم آن سخت یا ناعادلانه است (وقتی که ذینفعان توافقنامه حقوق و مزایای بیشتری از مشارکتکنندگان یا عموم مردمی که کارهایی در پروژهی متن باز انجام میدهند، به دست میآورند)؛ به همین خاطر ممکن است یک توافقنامهی همکاری اضافی غیرمنصفانه نسبت به انجمن پروژه تلقی شود.
برخی از شرایطی که ممکن است بخواهید یک توافقنامهی همکاری اضافی را برای پروژۀ خود در نظر بگیرید، شامل این موارد میشود:
* شما یا وکیلهایتان از توسعهدهندگان بخواهید نشان دهند هر تعهدی که روی آن کار میکنند مجاز است. الزام [گواهی مبدا توسعهدهنده](https://developercertificate.org/) برای این است که چه تعداد پروژه به این صورت هستند. به عنوان مثال، انجمن «Node.js» به جای «توافقنامۀ مجوز مشارکتکننده» قبلی خود از «گواهی مبدا توسعهدهنده» استفاده می کند. راهکار ساده برای اجرای خودکار «گواهی مبدا توسعهدهنده» در منبع (repository) شما، «ربات گواهی مبدا توسعهدهنده» است.
* اگر پروژه شما از یک مجوز متن باز استفاده بکند که شامل امتیاز ثبت اختراع (مانند MIT) نباشد و شما به داشتن سریع امتیاز ثبت اختراع مشارکتکنندگان نیاز داشته باشید؛ برخی از آنها ممکن است در شرکتهایی با مجموعههای بزرگ حق ثبت اختراع کار کنند که میتواند شما یا سایر مشارکتکنندگان و کاربران پروژه را مورد هدف قرار دهد. [توافقنامۀ مجوز مشارکتکنندگان حقیقی Apache](https://www.apache.org/licenses/icla.pdf)، یک توافقنامۀ همکاری اضافی است که معمولاً مورد استفاده قرار میگیرد و شامل امتیاز ثبت اختراع است که همانند آنچه در مجوز «Apache 2.0» یافت میشود، است.
* پروژۀ شما تحت مجوز کپیلفت باشد ، اما شما همچنین باید نسخهای اختصاصی از پروژه را توزیع و پخش کنید. هر مشارکتکننده باید به شما حق نشر اختصاص دهد یا به شما (اما نه به عموم) مجوز اختیاری بدهد. [توافقنامۀ همکاری MongoDB](https://www.mongodb.com/legal/contributor-agreement) نمونهای از این نوع توافقنامه است.
* ممکن باشد پروژۀ شما در طول عمر خود مجوزهایش را تغییر بدهد و بخواهید مشارکتکنندگان از قبل با چنین تغییراتی موافقت کنند.
اگر در پروژۀ خود نیازی به استفاده از توافقنامههای همکاری اضافی داشته باشید، استفاده از توافقنامههای یکپارچهسازی مانند [توافقنامۀ مجوز مشارکتکننده](https://github.com/cla-assistant/cla-assistant) را برای به حداقل رساندن حواسپرتی مشارکتکنندگان در نظر بگیرید.
## تیم حقوقی شرکت من چه چیزهایی را باید بداند؟
اگر به عنوان کارمند شرکت، پروژهای متن باز را منتشر میکنید، ابتدا تیم حقوقی باید بداند که شما در حال تهیۀ پروژهای متن باز هستید.
حتما این موضوع را به آنها بگویید حتی اگر این پروژهای شخصی باشد. شما احتمالاً با شرکت خود «توافقنامۀ کارمندی» دارید که به آنها تا حدودی کنترلی بر روی پروژه های شما میدهد، به خصوص اگر مربوط به شرکت باشند یا از منابع شرکت برای توسعۀ پروژه استفاده کرده باشید. شرکت شما _باید_ به شما اجازه دهد و ممکن است از قبل از طریق توافقنامهی کارمندی یا سایر سیاستهای شرکت مجوز داشته باشد. در غیر این صورت، میتوانید مذاکره کنید (به عنوان مثال، توضیح دهید که پروژۀ شما اهداف یادگیری و توسعۀ حرفهای شرکت را دنبال میکند)، یا تا زمانی که شرکت بهتری پیدا نکردید از کار بر روی پروژۀ خودتان خودداری کنید..
**اگر در جستجوی پروژهای برای شرکت هستید،** قطعاً آنها را در جریان بگذارید. تیم حقوقی شما احتمالاً قبلاً سیاستهایی را برای استفاده از مجوزهای متن باز (و شاید توافقنامههای همکاری اضافی) برای استفاده بر اساس الزامات تجاری و تخصصی شرکت در مورد اطمینان از مطابقت پروژۀ شما با مجوزهای وابستگی شرکت، در نظر گرفته است. اگر نه، به نفع هم شما و هم شرکت است! تیم حقوقی شما باید مشتاق همکاری با شما برای مشخص کردن این موارد باشد. چند مسئلۀ مهم:
* **نهادهای واسط** آیا پروژه شما وابستگیهایی به کار دیگران دارد یا در غیر این صورت کد دیگران را شامل می شود یا از آنها استفاده میکند؟ اگر پروژه متن باز باشد، باید پروژۀ شما با مجوزهای متن باز مطابقت داشته باشد. این کار با انتخاب مجوز شروع میشود که مربوط به مجوزهای متن باز واسط میشود (نگاه کنید به بالا). اگر پروژۀ شما پروژههای متن باز واسط دیگر را اصلاح یا توزیع میکند، تیم حقوقی شما همچنین میخواهد بداند که شما سایر شرایطهای مجوزهای متن باز واسط مانند حفظ اخطارهای حق نشر را رعایت میکنید یا خیر. اگر پروژۀ شما از کدهای دیگران استفاده میکند که فاقد مجوز متن باز هستند، احتمالاً باید از نگهدارندگان واسط بخواهید که [مجوز متن باز را اضافه کنند](https://choosealicense.com/no-license/#for-users) و اگر نمیتوانید مجوز را دریافت کنید، استفاده از کد دیگران را در پروژۀ خودتان متوقف کنید.
* **اسرار کاری:** به این توجه داشته باشید که آیا چیزی در پروژه وجود دارد که شرکت نخواهد آن را در دسترس عموم قرار دهد. در این صورت، پس از مشخص کردن مطالبی که میخواهید خصوصی نگه دارید، میتوانید بقیۀ پروژۀ خود را با متن باز کنید.
* **حق ثبت اختراع:** آیا شرکت شما متقاضی ثبت اختراعی است که متن باز آن پروژه در [دسترس عموم](https://en.wikipedia.org/wiki/Public_disclosure) است؟ متأسفانه، ممکن است از شما خواسته شود صبر کنید (یا شاید این شرکت در دیدگاه خود تجدید نظر کند). اگر انتظار دارید که کارمندان شرکتهای بزرگی که دارای حق ثبت اختراع هستند، به پروژۀ شما کمک کنند و در آن مشارکت داشته باشند، ممکن است تیم حقوقی از شما بخواهد از یک مجوز با امتیاز ثبت اختراع سریع (از جمله Apache 2.0 یا GPLv3) یا توافقنامۀ همکاری اضافی استفاده کنید ( به بالا نگاه کنید).
* **نشان تجاری:** بررسی کنید تا نام پروژۀ شما با [هیچ نشان تجاری موجودی مغایرت نداشته باشد](../starting-a-project/#از-نامگذاریهای-دارای-منافات-خودداری-کنید). اگر از نشانهای تجاری شرکت خود در پروژه استفاده میکنید، بررسی کنید تا هیچ مشکلی ایجاد نکند. [FOSSmarks](http://fossmarks.org/) یک راهنمای جامع برای شناخت نشانهای تجاری در زمینهی پروژههای متن باز و رایگان است.
* **حریم خصوصی:** آیا پروژۀ شما اطلاعات مربوط به کاربران را جمعآوری میکند؟ سرورهای شرکت، مکالمات را ضبط میکند؟ تیم حقوقی میتواند به شما در زمینهی پیروی از سیاستهای شرکت و آییننامههای خارجی کمک کند.
اگر دارید اولین پروژه متن باز شرکت خود را منتشر میکنید، رعایت موارد فوق کافی است (اما نگران نباشید، اکثر پروژهها نگرانیهای اساسی خاصی نباید ایجاد کنند).
در بلند مدت، تیم حقوقی میتواند کمک بیشتری به شرکت کند تا از مشارکت خود در پروژههای متن باز بهرهی بیشتری ببرد و در امان بماند:
* **سیاست های مربوط به مشارکت کارمندان:** سیاستهایی را تدوین کنید که مشخص سازد کارمندان شما در پروژههای متن باز چه نوع مشارکتی داشته باشند. داشتن سیاستهای مشخص و واضح باعث کاهش سردرگمی در بین کارمندان و کمک به آنها در مشارکت هرچه بهتر در پروژههای متن باز شرکت میشود؛ چه به عنوان بخشی از شغل آنها و چه به صورت فعالیت در اوقات فراغتشان. یک مثال خوب، [مدلهای استاندارد و سیاستهای همکاری در پروژههای متن باز](https://ospo.co/blog/crafting-your-open-source-contribution-policy/) «Rackspace» است.
* **چه چیزهایی را منتشر کنیم:** [(تقریبا) همه چیز؟](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) اگر تیم حقوقی شما استراتژی متن باز شرکت شما را درک کرده و در آن سرمایهگذاری کرده باشد، به جای جلوگیری از تلاشهایتان، به بهترین وجه به شما کمک میکند.
* **سازگاری:** حتی اگر شرکت شما هیچ پروژۀ متن بازی را منتشر نکند، از دیگر نرمافزارهای متن باز استفاده میکند. [داشتن آگاهی از روند کار](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) میتواند از بروز مشکلات بیجا، تأخیر در محصول و شکایات جلوگیری کند.
* **امتیاز ثبت اختراع:** ممکن است شرکت شما مایل باشد به شبکۀ [Open Invention Network](https://www.openinventionnetwork.com/)، که یک مجموعۀ ثبت اختراع مشترک برای محافظت از اعضا و استفادۀ آنها از پروژههای بزرگ متن باز یا جستجوی سایر [مجوزهای اختراع ثبت جایگزین](https://www.eff.org/document/hacking-patent-system-2016) است، بپیوندد.
* **نظارت:** مخصوصاً زمانی منطقی است که پروژهای را به یک [شخص حقوقی خارج از شرکت](../leadership-and-governance/#آیا-برای-حمایت-و-پشتیبانی-از-پروژهی-خود-به-نهاد-قانونی-نیاز-خواهم-داشت) منتقل کنید.
================================================
FILE: _articles/fa/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: fa
title: حفظ تعادل برای نگهدارندگان پروژههای متنباز
description: نکاتی برای مراقبت از خود و جلوگیری از فرسودگی به عنوان یک نگهدارنده
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
با رشد محبوبیت یک پروژه متنباز، مهم است که مرزهای مشخصی تعیین کنید تا به حفظ تعادل و ماندن در وضعیت آماده و پربازده برای مدت طولانی کمک کنید.
برای کسب دیدگاههایی از تجربیات نگهدارندگان و استراتژیهای آنها برای یافتن تعادل، ما یک کارگاه با ۴۰ عضو از جامعه نگهدارندگان برگزار کردیم که به ما این امکان را داد تا از تجربیات مستقیم آنها در مورد فرسودگی شغلی در متنباز و روشهایی که به آنها کمک کرده تعادل کار خود را حفظ کنند، بیاموزیم. اینجاست که مفهوم «بومشناسی شخصی» وارد عمل میشود.
پس بومشناسی شخصی چیست؟ همانطور که توسط موسسه رهبری راکوود توضیح داده شده، این شامل «حفظ تعادل، سرعت و کارایی برای پایداری انرژی در طول عمر» است. این چارچوب به ما کمک کرد تا گفتگوهایمان را به گونهای شکل دهیم که نگهدارندگان بتوانند اقدامات و مشارکتهای خود را به عنوان بخشی از یک اکوسیستم بزرگتر که با گذشت زمان تکامل مییابد، بشناسند. فرسودگی شغلی، یک سندرم ناشی از استرس مزمن محل کار که توسط [سازمان جهانی بهداشت](https://icd.who.int/browse/2025-01/foundation/en#129180281) تعریف شده است، در میان نگهدارندگان غیرمعمول نیست. این اغلب منجر به از دست دادن انگیزه، عدم توانایی در تمرکز و عدم همدلی برای مشارکتکنندگان و جامعهای که با آنها کار میکنید میشود.
با در آغوش گرفتن مفهوم بومشناسی شخصی، نگهدارندگان میتوانند به طور پیشگیرانه از فرسودگی جلوگیری کنند، مراقبت از خود را در اولویت قرار دهند و حس تعادل را حفظ کنند تا کار خود را به نحوه احسن انجام دهند.
## نکاتی برای مراقبت از خود و جلوگیری از فرسودگی به عنوان یک نگهدارنده:
### انگیزههای خود را برای کار در متنباز شناسایی کنید
زمانی را صرف کنید تا در مورد اینکه چه بخشهایی از نگهداری پروزه ها متن باز به شما انرژی میدهد، فکر کنید. درک انگیزههایتان میتواند به شما کمک کند تا
کارها را به گونهای اولویتبندی کنید که شما را آماده چالشهای جدید نگه دارد.
خواه بازخورد مثبت کاربران باشد، لذت همکاری و معاشرت با جامعه متن باز یا رضایت از کدنویسی در هر صورت شناخت انگیزه می تواند به تمرکز شما کمک کند.
### درباره عواملی که باعث از دست دادن تعادل و استرس شما میشوند تأمل کنید
درک اینکه چه عاملی باعث فرسودگی میشود، مهم است. در ادامه به برخی از دلایل رایج در میان نگهدارندگان متنباز اشاره شده است:
* **کمبود بازخورد مثبت:** کاربران در بیشتر موارد تنها نارضایتی خود را اطلاع میدهند اگر همه چیز خوب پیش برود، آنها معمولاً سکوت میکنند. دیدن لیستی از مشکلات گزارش شده در حال رشد بدون, بازخورد مثبت می تواند دلسرد کننده باشد. اما باید توچه داشت که توسعه و نگهداری شما باعث پیشرفت پروژه میشود.
* **ناتوانی در 'نه' گفتن:** بر عهده گرفتن مسئولیت های بیشتر از ظرفیت در یک پروژه منبع باز می تواند آسان باشد. چه از طرف کاربران باشد، چه مشارکت کنندگان یا سایر نگهبانان - ما همیشه نمی توانیم انتظارات همه را برآورده کنیم
* **کار انفرادی :** نگهدارنده بودن می تواند فوق العاده باعث تنهایی باشد. حتی اگر با گروهی از نگهدارندگان کار می کنید، چند سال گذشته برای تشکیل تیم های توزیع شده حضوری بسیار دشوار بوده است.
* **نبود زمان و منابع کافی:** این مورد به ویژه در مورد نگهدارندگان دواوطلب که باید زمان آزاد خود را فدای کار بر روی یک پروژه کنند، صادق است.
* **تعارض منافع:** منبع باز پر از گروه هایی با انگیزه های مختلف است که پیمایش در آنها ممکن است دشوار باشد. اگر برای کار منبع باز پول دریافت می کنید، علایق کارفرمای شما ممکن است گاهی در تضاد با جامعه باشد.
### مراقب علائم فرسودگی شغلی باشید
آیا می توانید سرعت خود را برای 10 هفته حفظ کنید؟ 10 ماه؟ 10 سال؟
ابزارهایی وجود دارند که می توانند به شما کمک کنند تا روی سرعت فعلی خود فکر کنید و ببینید آیا اصلاحاتی وجود دارد که بتوانید انجام دهید.
برای نمونه ابزار
\
[Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html)
\
ساخته شده توسط
\
[@shaunagm](https://github.com/shaunagm).
\
برخی از نگهدارندگان نیز از فناوری پوشیدنی برای ردیابی معیارهایی مانند کیفیت خواب و تغییرات ضربان قلب (هر دو با استرس مرتبط هستند) استفاده می کنند.
### برای ادامه حفظ خود و جامعه خود به چه چیزی نیاز دارید؟
جواب این سوال برای هر نگهدارنده متفاوت به نظر می رسد و بسته به فاز زندگی شما و سایر عوامل خارجی تغییر می کند. اما در ادامه چند موضوع ذکر میشود:
* * **به جامعه تکیه کنید:** تفویض اختیار و یافتن مشارکت کنندگان می تواند بار کاری را کاهش دهد. داشتن چندین نقطه تماس برای یک پروژه می تواند به شما کمک کند بدون نگرانی از کار دست بکشید. با سایر نگهدارندگان و جامعه گستردهتر در گروههایی مانند [Maintainer Community](http://maintainers.github.com/) ارتباط برقرار کنید گروه مذکور میتواند منبع خوبی برای پشتیبانی و یادگیری همتایان باشد..
همچنین میتوانید به دنبال راههایی برای تعامل با جامعه کاربران باشید، بنابراین میتوانید به طور منظم بازخورد شنیده و تأثیر کار منبع باز خود را درک کنید.
* **Explore funding:** فرقی ندارد که به دنبال مقداری پول پیتزا باشید یا میخواهید به صورت تمام وقت متنباز استفاده کنید، منابع زیادی برای کمک به شما وجود دارد! به عنوان اولین قدم، [GitHub Sponsors](https://github.com/sponsors) را فعال کنید تا به دیگران اجازه دهید از کار منبع باز شما حمایت مالی کنند. اگر به فکر پرش به تمام وقت هستید، برای دور بعدی [GitHub Accelerator](http://accelerator.github.com/) اقدام کنید.
* **استفاده از ابزارها:** استفاده از ابزار هایی برای اتوماتیک کردن برخی از فرایند ها و صرف زمان صرفه جویی شده در توسعه با معنا تر. ابزارهایی مانند [GitHub Copilot](https://github.com/features/copilot/) و [GitHub Actions](https://github.com/features/actions).
* **Rest and recharge:** برای سرگرمی ها و علایق خود در خارج از منبع باز وقت بگذارید. آخر هفته ها را برای استراحت و تجدید قوا استراحت کنید – و [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) خود را طوری تنظیم کنید که در دسترس بودن شما را منعکس کند! یک خواب خوب شبانه می تواند تفاوت بزرگی در توانایی شما برای حفظ تلاش هایتان در طولانی مدت ایجاد کند.
اگر جنبه های خاصی از پروژه خود را به خصوص لذت بخش می دانید، سعی کنید ساختار کار خود را طوری تنظیم کنید که بتوانید آن را در طول روز تجربه کنید.
* **تغین حدود:** شما نمی توانید به هر درخواستی بله بگویید. این می تواند به سادگی بگوید: "در حال حاضر نمی توانم به آن برسم و در آینده برنامه ای ندارم" یا فهرست کردن آنچه که علاقه مند به انجام و یا انجام ندادن آن در README هستید. برای مثال، میتوانید بگویید: «من فقط پول رکوئست هایی را ادغام میکنم که دلایل ایجاد آنها را به وضوح ذکر کردهاند» یا «من فقط مسائل را در روزهای پنجشنبه از ساعت 6 تا 7 بعد از ظهر بررسی میکنم.» این انتظارات را برای دیگران ایجاد میکند و چیزی به شما میدهد تا برای کمک به کاهش تنشها از سوی مشارکتکنندگان یا کاربران در زمانهای دیگر، به آن اشاره کنید.
یاد بگیرید که در از بین بردن رفتار سمی و تعاملات منفی قاطع باشید. اشکالی ندارد اگر در چیزهایی که برایتان اهمیتی ندارید انرژی صرف نکنید.
به یاد داشته باشید، بوم شناسی شخصی یک تمرین مداوم است که با ادامه داشتن در سفر منبع باز شما تکامل می یابد. با اولویت دادن به خودمراقبتی و حفظ حس تعادل، میتوانید به طور مؤثر و پایدار به جامعه منبع باز کمک کنید و از رفاه و موفقیت پروژههایتان در درازمدت اطمینان حاصل کنید.
## منابع مرتبط
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](https://governingopen.com/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## مشارکت کنندگان
با تشکر فراوان از همه نگهدارندگان که تجربیات و نکات خود را برای این راهنما با ما به اشتراک گذاشتند!
نگارنده:
[@abbycabs](https://github.com/abbycabs)
مترجم:
[@mostafa](https://github.com/mostafayavari94)
مشارکت کنندگان:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/fa/metrics.md
================================================
---
lang: fa
title: سنجههای پروژههای متن باز
description: آگاهانه تصمیمگیری کنید تا با ارزیابی و پیگیری موفقیت، به پیشرفت پروژۀ متن باز خود کمک کنید.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## چرا چیزی را ارزیابی کنیم؟
هنگامی که دادهها هوشمندانه استفاده شوند، به شما کمک میکنند تا به عنوان یک نگهدارندۀ متن باز تصمیمات بهتری بگیرید.
با اطلاعات بیشتر، میتوانید:
* درک بهتری از واکنش کاربران به ویژگیهای جدید داشته باشید
* بفهمید کاربران جدید از کجا آمدهاند
* موارد کاربردی برجسته و قابلیتها را شناسایی کنید و تصمیم بگیرید که آیا به پشتیبانی از آنها ادامه میدهید یا خیر
* محبوبیت پروژۀ خود را بسنجید
* جنبههای کاربردی پروژه را درک کنید
* از طریق اسپانسرها و کمکهزینهها، پول جمعآوری کنید
به عنوان مثال، پروژۀ متن باز [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) دریافت که «Google Analytics» به آنها در اولویتبندی کارها کمک میکند.
> «Homebrew» بصورت رایگان در اختیار کاربران قرار میگیرد و توسط داوطلبان در اوقات فراغتشان اداره میشود. در نتیجه، ما منابع لازم برای انجام مطالعات دقیق دربارۀ کاربران «Homebrew» را نداریم تا در مورد چگونگی بهترین طراحی برای آینده و اولویتبندی کارهای فعلی تصمیم بگیریم. تجزیه و تحلیل کلی و ناشناس در رابطه با کاربران به ما امکان میدهد اصلاحات و ویژگیها را بر اساس شیوه، مکان و زمان استفادۀ کاربران از «Homebrew» اولویتبندی کنیم.
محبوبیت، همه چیز نیست. دلایل متفاوت زیادی برای ورود افراد در پروژههای متن باز وجود دارد. اگر هدف شما به عنوان نگهدارندۀ متن باز این است که کار خود را در معرض نمایش بگذارید، پس همینطور برخورد کنید یا فقط از آن لذت ببرید؛ معیارها برای شما آنچنان مهم نیستند.
اگر _میخواهید_ به سطح درک عمیقتری دربارۀ پروژۀ خودتان برسید، روشهای تجزیه و تحلیل فعالیتهای پروژه خود را بدانید.
## کشف و پیدا کردن
قبل از اینکه کسی بتواند از پروژۀ شما استفاده کند یا در آن مشارکت داشته باشد، باید بداند که همچین پروژهای وجود دارد. از خودتان بپرسید: _آیا مردم میتوانند این پروژه را پیدا کنند؟_

اگر پروژۀ شما در «GitHub» قرار دارد، [میتوانید ببینید](https://help.github.com/articles/about-repository-graphs/#traffic) افرادی که در پروژۀ شما هستند از کجا آمدهاند؟ در صفحه پروژۀ خود، روی «Insights» و سپس «Traffic» کلیک کنید. در این صفحه، این موارد را میتوانید ببینید:
* **تعداد بازدیدها از صفحه:** به شما میگوید پروژه چند بار دیده شده است
* **تعداد بازدیدکنندگان منحصر به فرد:** به شما میگوید چند نفر پروژه را دیدهاند
* **سایتهای ارجاع دهنده یا معرفیکننده:** به شما میگوید، بازدیدکنندگان از کجا آمدهاند. این معیار به شما کمک میکند تا بفهمید در کجا میتوانید به مخاطب خود دسترسی پیدا کنید و آیا تلاشهای تبلیغاتی شما موثر واقع شده است یا خیر.
* **محتوای محبوب:** به شما میگوید، بازدیدکنندگان به کدام بخش پروژۀ شما میروند و شمار بازدیدهای صفحه و بازدیدکنندگان منحصر به فرد را نشان میدهد.
قسمت [GitHub stars](https://help.github.com/articles/about-stars/) هم میتواند به صورت معیاری برای محبوبیت عمل کند.اگرچه «GitHub stars» لزوماً با تعداد دانلودها و استفاده از محتوا ارتباط مستقیمی ندارد، اما این قسمت میتواند به شما بگوید که چه تعدادی از آدمها متوجه پروژۀ شما شدهاند..
همچنین شاید بخواهید قابلیت کشف شدن (شناخته شدن) را در [بخشهای مشخصی ردیابی کنید](https://opensource.com/business/16/6/pirate-metrics): به عنوان مثال، «Google PageRank»، ترافیک رجوعی به وبسایت پروژۀ شما، یا مراجعات از سایر پروژههای متنباز یا سایر وبسایتها.
## استفاده
مردم پروژۀ شما را در این دنیای عجیبغریبی که اینترنت مینامیم، پیدا میکنند. در بهترین حالت، وقتی پروژۀ شما را ببینند، به آن مشتاق میشوند و میخواهند کاری انجام دهند. دومین سوالی که باید از خود بپرسید این است که: _آیا مردم از این پروژه استفاده میکنند؟_
اگر از یک برنامۀ مدیریت پکیج (package manager) مانند «npm» یا «RubyGems.org» برای انتشار پروژۀ خود استفاده میکنید، میتوانید دانلودهای مربوط به پروژه را ردیابی کنید.
هر برنامۀ مدیریت پکیجی ممکن است تعریف متفاوتی از دانلود داشته باشد و دانلود لزوماً با نصب یا استفاده ارتباط داشته باشد، اما مبنایی را برای مقایسه فراهم میکند. برای پیگیری آمارهای مختلف میتوانید در میان بسیاری از مدیریتهای محبوب پیکیج، از [Libraries.io](https://libraries.io/) استفاده کنید.
اگر پروژۀ شما در «GitHub» است، دوباره به صفحۀ «Traffic» بروید. میتوانید از نمودار کلون [clone graph](https://github.com/blog/1873-clone-graphs) استفاده کنید تا ببینید چند بار پروژۀ شما در یک روز مشخص کپی شده است، که این نمودار براساس کل کلونها (کپیها) و کپیهای منحصر به فرد مشخص شده است.

اگر میزان استفاده در مقایسه با تعداد افرادی که پروژۀ شما را پیدا میکنند کم است، دو مسئله وجود دارد که باید در نظر بگیرید:
* مخاطبان به طور موفقیتآمیز با پروژۀ شما ارتباط نمیگیرند
* یا مخاطبان اشتباهی را جذب کردهاید
به عنوان مثال، اگر پروژۀ شما در صفحۀ اول «Hacker News» قرار گیرد، احتمالاً جهشی در میزان کشف (ترافیک) اما با نرخ گرایش پایینی را مشاهده خواهید کرد؛ زیرا در Hacker News، افراد زیادی پروژۀ شما را پیدا میکنند. اگر پروژۀ «Ruby» شما در یک مجمع «Ruby» ارائه شده باشد، به احتمال زیاد نرخ گرایش بالایی از مخاطبان هدف را شاهد خواهید بود.
سعی کنید بفهمید مخاطبان شما از کجا میآیند و از نظرات دیگران در مورد صفحۀ پروژۀ خود بهره ببرید تا متوجه شوید با کدام یک از این دو مسئله روبرو هستید.
وقتی با مخاطبان و افرادی که از پروژۀ شما استفاده میکنند آشنا شدید، بهتر است بفهمید که آنها چه استفادهای از پروژه میکنند. آیا آنها با فورک کردن کد شما و افزودن ویژگیهای مختلف، بر روی آن کار میکنند؟ آیا آنها از آن برای مصارف علمی یا تجاری استفاده میکنند؟
## استمرار و نگهداری
مردم پروژۀ شما را پیدا میکنند و از آن استفاده میکنند. سوالی که باید از خودتان بپرسید این است که: _آیا مردم در آن مشارکت هم میکنند یا خیر؟_
هیچوقت برای فکر کردن به مشارکتکنندگان دیر نیست. اگر پروژۀ شما محبوب باشد (بسیاری از آن استفاده کنند) و سایر افراد دست به کار نشوند و از آن _پشتیبانی نکنند_ خود را در موقعیتی ناسالم قرار میدهید (به اندازۀ کافی نگهدارنده نداشته باشید).
نگهداری، مستلزم [ورود مشارکتکنندگان جدید](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2) است، زیرا مشارکتکنندگان فعال قبلی در نهایت به سراغ کارهای دیگر میروند.
نمونههایی از معیارهای انجمن که باید مرتباً آنها را بررسی کنید، شامل این موارد میشود:
* **تعداد کل مشارکتکنندگان و تعداد تعهدات هر مشارکتکننده:** به شما میگوید چه تعداد مشارکتکننده دارید و چه کسانی کم و بیش فعال هستند. این بخش را میتوانید در «GitHub» در قسمت «Insights -> Contributors» مشاهده کنید. در حال حاضر، این نمودار فقط مشارکتکنندگانی که متعهد به شاخۀ پیشفرض مرکز ذخیرهسازی شدهاند را مشخص میکند.

* **مشارکتکنندگان تازهکار، عادی، همیشگی:** کمک میکند تا پیگیری کنید که آیا مشارکتکنندگان جدیدی دریافت میکنید یا خیر. (مشارکتکنندگان عادی، مشارکتکنندگانی با تعهدات کم هستند که البته تعریف «تعهدات کم» به خود شما بستگی دارد و میتواند یک یا پنج یا کمتر باشد) بدون مشارکتکنندگان جدید، انجمن پروژه راکد و کمرونق میشود.
* **تعداد مسائل در جریان و درخواستهای باز pull:** اگر بیش از حد زیاد شوند، ممکن است در اولویتبندی مسائل و بررسی کدها به کمک نیاز داشته باشید.
* **تعداد مسائل باز شده (open issued) و درخواست های باز شدۀ pull:** مسائل باز شده، یعنی کسی به اندازه کافی به پروژۀ شما اهمیت بدهد تا مسئلهای را باز کند. اگر این تعداد با گذشت زمان افزایش یابد، نشاندهندۀ این است که مردم به پروژۀ شما علاقهمند هستند.
* **انواع مشارکتها:** به عنوان مثال، نوع تعهدها، رفع اشتباهات یا اشکالات یا اظهار نظر در مورد یک موضوع.
## فعالیتهای شخص نگهدارنده
نگهدارندههایی که پاسخگو نیستند به نقطۀ ضعف پروژههای متن باز تبدیل میشوند. اگر کسی مشارکتی از خود به جای بگذارد اما هرگز از یک نگهدارنده پاسخی دریافت نکند، ممکن است احساس دلسردی کرده و آنجا را ترک کند.
[تحقیقات که در Mozilla شکل گرفت](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) نشان میدهد که پاسخگو بودن نگهدارنده عاملی حیاتی در تشویق به مشارکتهای بیشتر است.
در نظر بگیرید که چه مدت طول میکشد تا شما (یا نگهدارندهای دیگر) به مشارکتها پاسخ دهید، خواه مسئلهای باشد یا درخواست pull. پاسخگو بودن نیاز به اقدام خاصی ندارد. میتواند به این سادگی باشد: _«ممنون از درخواست شما! در عرض یک هفته آن را بررسی میکنم.»_
همچنین میتوانید مدت زمانی که برای تکمیل مراحل مختلف فرآیند مشارکت لازم است را اندازه بگیرید، همچون:
* متوسط زمان باز ماندن مسئله
* بسته شدن مسئله توسط روابط عمومی (PR)
* بسته شدن مسائل قدیمی
* متوسط زمان ادغام کردن درخواستهای pull
## از آمار 📊 برای درک مردم استفاده کنید
درک معیارها (استانداردها) به شما کمک میکند تا پروژۀ متن باز فعال و رو به رشدی داشته باشید. حتی اگر هم تمامی معیارها را پیگیری نمیکنید، از چارچوب بالا استفاده کنید تا توجه خود را به نوع رفتاری که به پیشرفت پروژه کمک میکند متمرکز کنید.
================================================
FILE: _articles/fa/security-best-practices-for-your-project.md
================================================
---
lang: fa
title: بهترین روشهای امنیتی برای پروژه شما
description: آینده پروژه خود را با ایجاد اعتماد از طریق روشهای امنیتی ضروری تقویت کنید - از MFA و اسکن کد گرفته تا مدیریت ایمن وابستگیها و گزارشدهی آسیبپذیری خصوصی.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
گذشته از باگها و قابلیتهای جدید، ماندگاری یک پروژه نه تنها به مفید بودن آن، بلکه به اعتمادی که از کاربرانش کسب میکند بستگی دارد. اقدامات امنیتی قوی برای زنده نگه داشتن این اعتماد مهم هستند. در اینجا برخی از اقدامات مهمی که میتوانید برای بهبود چشمگیر امنیت پروژه خود انجام دهید آورده شده است.
## اطمینان حاصل کنید که همه مشارکتکنندگان دارای دسترسی، احراز هویت چندعاملی (MFA) را فعال کردهاند
### یک بازیگر مخرب که موفق به جعل هویت یک مشارکت کننده دارای دسترسی در پروژه شما شود، خسارات فاجعهباری به بار خواهد آورد.
پس از به دست آوردن دسترسی privileged، این بازیگر میتواند کد شما را تغییر دهد تا اقدامات ناخواسته انجام دهد (مانند استخراج ارز دیجیتال)، یا میتواند بدافزار را به زیرساخت کاربران شما توزیع کند، یا میتواند به مخازن کد خصوصی دسترسی یابد تا مالکیت فکری و دادههای حساس، از جمله اعتبارنامههای سرویسهای دیگر را سرقت کند.
MFA یک لایه امنیتی اضافی در برابر تصاحب حساب ارائه میدهد. پس از فعالسازی، باید با نام کاربری و رمز عبور خود وارد شوید و شکل دیگری از احراز هویت را ارائه دهید که فقط شما آن را میدانید یا به آن دسترسی دارید.
## کد خود را به عنوان بخشی از گردش کار توسعه خود ایمن کنید
### رفع آسیبپذیریهای امنیتی در کد شما، در صورت تشخیص زودهنگام در فرآیند، بسیار کمهزینهتر از زمانی است که در محیط production استفاده میشوند.
از یک ابزار Static Application Security Testing (SAST) برای تشخیص آسیبپذیریهای امنیتی در کد خود استفاده کنید. این ابزارها در سطح کد عمل میکنند و به محیط اجرایی نیاز ندارند، و بنابراین میتوانند در مراحل اولیه فرآیند اجرا شوند و به طور یکپارچه در گردش کار توسعه معمول شما، در طول مرحله build یا مرور کد، ادغام شوند.
این مانند داشتن یک متخصص ماهر است که مخزن کد شما را بررسی میکند و به شما کمک میکند آسیبپذیریهای امنیتی رایجی که ممکن است در حین کدنویسی در معرض دید باشند را پیدا کنید.
چگونه ابزار SAST خود را انتخاب کنیم؟
* مجوز را بررسی کنید: برخی ابزارها برای پروژههای متنباز رایگان هستند. برای مثال GitHub CodeQL یا SemGrep.
* پوشش زبان(های) برنامهنویسی خود را بررسی کنید.
* ابزاری را انتخاب کنید که به راحتی با ابزارها و فرآیندهای موجود شما ادغام میشود. برای مثال، بهتر است که هشدارها به عنوان بخشی از فرآیند و ابزار مرور کد موجود شما در دسترس باشند، نه اینکه برای مشاهده آنها به ابزار دیگری مراجعه کنید.
* مراقب هشدارهای کاذب (False Positives) باشید! شما نمیخواهید ابزار بدون دلیل شما را کند کند!
* ویژگیها را بررسی کنید: برخی ابزارها بسیار قدرتمند هستند و میتوانند ردیابی نشت داده (Taint Tracking) انجام دهند (مثال: GitHub CodeQL)، برخی پیشنهادات رفع مشکل تولید شده توسط هوش مصنوعی ارائه میدهند، و برخی نوشتن کوئریهای سفارشی را آسانتر میکنند (مثال: SemGrep).
## اسرار خود را به اشتراک نگذارید
### دادههای حساس، مانند کلیدهای API، توکنها و رمزهای عبور، گاهی اوقات ممکن است به طور تصادفی در مخزن شما commit شوند.
این سناریو را تصور کنید: شما maintainer یک پروژه متنباز محبوب با مشارکت توسعهدهندگان از سراسر جهان هستید. یک روز، یک مشارکتکننده ناخواسته برخی از کلیدهای API یک سرویس شخص ثالث را در مخزن commit میکند. روزها بعد، شخصی این کلیدها را پیدا میکند و از آنها برای دسترسی غیرمجاز به سرویس استفاده میکند. سرویس به خطر میافتد، کاربران پروژه شما downtime را تجربه میکنند و اعتبار پروژه شما آسیب میبیند. به عنوان maintainer، اکنون با وظایف دلهرهآور لغو اسرار به خطر افتاده، بررسی اقدامات مخربانهای که مهاجم میتوانسته با این راز انجام دهد، اطلاعرسانی به کاربران affected و اجرای وصلهها روبرو هستید.
برای جلوگیری از چنین حوادثی، راهحلهای "اسکن اسرار" (secret scanning) وجود دارند که به شما در تشخیص این اسرار در کدتان کمک میکنند. برخی ابزارها مانند GitHub Secret Scanning و Trufflehog از Truffle Security اساساً از push شدن آنها به شاخههای remote جلوگیری میکنند، و برخی ابزارها به طور خودکار برخی اسرار را برای شما لغو میکنند.
## وابستگیهای خود را بررسی و بهروز کنید
### وابستگیهای موجود در پروژه شما میتوانند دارای آسیبپذیریهایی باشند که امنیت پروژه شما را به خطر میاندازند. بهروز نگه داشتن دستی وابستگیها میتواند کاری وقتگیر باشد.
این را تصور کنید: پروژهای که بر اساس بنیان محکم یک کتابخانه پرکاربرد ساخته شده است. این کتابخانه بعداً یک مشکل امنیتی بزرگ پیدا میکند، اما افرادی که برنامه را با استفاده از آن ساختهاند از آن اطلاعی ندارند. دادههای حساس کاربر در معرض دید قرار میگیرند وقتی یک مهاجم از این ضعف سوء استفاده کرده و آنها را میدزدد. این یک مورد نظری نیست. این دقیقاً چیزی است که برای Equifax در سال ۲۰۱۷ اتفاق افتاد: آنها پس از اعلام تشخیص یک آسیبپذیری شدید، وابستگی Apache Struts خود را بهروز نکردند. از آن سوء استفاده شد و نقض دادههای معروف Equifax 144 میلیون کاربر را تحت تاثیر قرار داد.
برای جلوگیری از چنین سناریوهایی، ابزارهای Software Composition Analysis (SCA) مانند Dependabot و Renovate به طور خودکار وابستگیهای شما را برای یافتن آسیبپذیریهای شناخته شده منتشر شده در پایگاههای داده عمومی مانند NVD یا GitHub Advisory Database بررسی میکنند و سپس pull requestهایی برای بهروزرسانی آنها به نسخههای ایمن ایجاد میکنند. بهروز ماندن با آخرین نسخههای ایمن وابستگیها، پروژه شما را در برابر خطرات بالقوه محافظت میکند.
## از تغییرات ناخواسته با شاخههای محافظت شده (protected branches) جلوگیری کنید
### دسترسی بدون محدودیت به شاخههای اصلی شما میتواند منجر به تغییرات تصادفی یا مخرب شود که ممکن است آسیبپذیریها را معرفی کرده یا ثبات پروژه شما را مختل کنند.
یک مشارکتکننده جدید دسترسی write به شاخه اصلی دریافت میکند و به طور تصادفی تغییراتی را که تست نشدهاند push میکند. یک نقص امنیتی فاجعهبار سپس آشکار میشود، به لطف آخرین تغییرات. برای جلوگیری از چنین مشکلاتی، قوانین محافظت از شاخه (branch protection rules) تضمین میکنند که تغییرات نمیتوانند به شاخههای مهم push یا merge شوند مگر اینکه ابتدا مرور شده و بررسیهای وضعیت مشخص شده را پشت سر بگذارند. با این اقدام اضافی در امانتر و در موقعیت بهتری هستید و هر بار کیفیت عالی را تضمین میکنید.
## یک مکانیزم دریافت برای گزارشدهی آسیبپذیری راهاندازی کنید
### این یک روش خوب است که گزارش باگ را برای کاربران خود آسان کنید، اما سوال بزرگ این است: وقتی این باگ تاثیر امنیتی دارد، چگونه میتوانند آن را به طور ایمن به شما گزارش دهند بدون اینکه شما را در معرض هدف هکرهای مخرب قرار دهند؟
این را تصور کنید: یک محقق امنیتی یک آسیبپذیری در پروژه شما کشف میکند اما راه روشن یا ایمنی برای گزارش آن پیدا نمیکند. بدون یک فرآیند مشخص شده، ممکن است یک issue عمومی ایجاد کند یا در مورد آن به طور آشکار در رسانههای اجتماعی بحث کند. حتی اگر خوشنیت باشند و یک وصله ارائه دهند، اگر آن را با یک pull request عمومی انجام دهند، دیگران قبل از merge شدن آن را خواهند دید! این افشای عمومی، آسیبپذیری را قبل از اینکه شما فرصت رسیدگی به آن را داشته باشید در معرض دید بازیگران مخرب قرار میدهد و به طور بالقوه منجر به یک اکسپلویت zero-day شده و پروژه شما و کاربرانش را مورد حمله قرار میدهد.
### خطمشی امنیتی (Security Policy)
برای اجتناب از این، یک خطمشی امنیتی منتشر کنید. یک خطمشی امنیتی، که در یک فایل `SECURITY.md` تعریف میشود، مراحل گزارش نگرانیهای امنیتی را به تفصیل شرح میدهد، یک فرآیند شفاف برای افشای هماهنگ شده ایجاد میکند و مسئولیتهای تیم پروژه را برای رسیدگی به issues گزارش شده تعیین میکند. این خطمشی امنیتی میتواند به سادگی این باشد: "لطفاً جزئیات را در یک issue یا PR عمومی منتشر نکنید، یک ایمیل خصوصی به ما به آدرس security@example.com ارسال کنید"، اما میتواند حاوی جزئیات دیگری نیز باشد، مانند زمانی که باید انتظار دریافت پاسخ از شما را داشته باشند. هر چیزی که میتواند به اثربخشی و کارایی فرآیند افشا کمک کند.
### گزارشدهی خصوصی آسیبپذیری (Private Vulnerability Reporting)
در برخی پلتفرمها، میتوانید فرآیند مدیریت آسیبپذیری خود را از دریافت تا انتشار، با استفاده از issues خصوصی، سادهتر و تقویت کنید. در GitLab، این کار را میتوان با issues خصوصی انجام داد. در GitHub، این کار گزارشدهی خصوصی آسیبپذیری (PVR) نامیده میشود. PVR به maintainers امکان میدهد گزارشهای آسیبپذیری را دریافت کرده و رسیدگی کنند، همه در داخل پلتفرم GitHub. GitHub به طور خودکار یک fork خصوصی برای نوشتن وصلهها و یک security advisory پیشنویس ایجاد میکند. همه اینها محرمانه باقی میمانند تا زمانی که شما تصمیم به افشای issues و انتشار وصلهها بگیرید. برای تکمیل فرآیند، security advisoryها منتشر میشوند و از طریق ابزار SCA به همه کاربران شما اطلاع رسانی کرده و آنها را محافظت میکنند.
## نتیجهگیری: چند قدم برای شما، یک بهبود بزرگ برای کاربران شما
این چند قدم ممکن است برای شما آسان یا ابتدایی به نظر برسند، اما راه زیادی را برای ایمنتر کردن پروژه شما برای کاربرانش طی میکنند، زیرا در برابر رایجترین مسائل محافظت ارائه میدهند.
## مشارکتکنندگان
### با تشکر از همه maintainerهایی که تجربیات و نکات خود را برای این راهنما با ما به اشتراک گذاشتند!
این راهنما توسط [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) نوشته شده است با مشارکت:
[@JLLeitschuh](https://github.com/JLLeitschuh)
[@intrigus-lgtm](https://github.com/intrigus-lgtm) + بسیاری دیگر!
================================================
FILE: _articles/fa/starting-a-project.md
================================================
---
lang: fa
title: شروع یک پروژهی متن باز / منبع باز / اوپن سورس
description: در این مقاله چیزهای زیادی دربارهی دنیای متن بازها میآموزید و آمادهی انتشار پروژهی متن باز خودتان میشوید.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## چیستی و چرایی متن باز
اگر به این فکر میکنید که پروژهی متن باز خودتان را شروع کنید؟ به شما تبریک میگوییم! دنیا قدردان کمک و مشارکت شماست. اجازه دهید در ادامه درباره پروژههای متن باز بیشتر صحبت کنیم و ببینیم چرا مردم پروژههایشان را متن باز میکنند.
### متن باز به چه معناست؟
زمانی که یک پروژه متن باز یا اوپن سورس باشد، **هر کسی میتواند و اجازه دارد به صورت رایگان از آن استفاده، مطالعه، ویرایش و برای هر هدفی که میخواهد، توزیع کند**. این اجازهها در [لایسنس متن باز](https://opensource.org/licenses) قید شده و قابل اجراست
پروژههای متن باز قدرتمند هستند، چون موانعی که در اختیارات و مشارکتها دیده میشود را کاهش و به افراد اجازه میدهد پروژههای خود را به سرعت گستردش و بهبود دهند. یکی دیگر از دلایل قدرتمند بودن متن بازها این است که پتانسیل کنترل محاسبه را بسته به منابع محدود به کاربران میدهد. اگر بخواهیم برای روشن شدن مطلب نمونهای بیاوریم، میتوانیم به کسبوکارهایی اشاره کنیم که به جای تکیه بر منابع محصور و محدود محصولات انحصاری فروشندههای نرمافزار، از نرمافزارهای متن بازی استفاده میکنند که به آنها اجازه میدهد شخصی را استخدام کنند تا آن نرمافزار را برای آنها شخصیسازی یا بهینه کند.
_نرمافزارهای رایگان_ همچنین به پروژههای متن باز منسوب میشود. گاهی هم ممکن است برنامههایی ببینید که [ترکیبی](https://en.wikipedia.org/wiki/Free_and_open-source_software) از اصلاحات «نرمافزار متن باز و رایگان» (FOSS) یا «نرمافزار متن باز، آزاد و رایگان» (FLOSS) استفاده میکنند. خب، باید بگوییم که کلمهی _Free_ (رایگان) و _libre_ (آزاد / رایگان) هر دو به معنای آزادی در استفاده و دسترسی اطلاق میشود، [نه قیمت آن](#آیا-پروژهای-متن-باز-مجانی--رایگان-هستند)
### چرا مردم پروژههایشان را متن باز میکنند؟
[دلایل زیادی وجود دارد](https://ben.balter.com/2015/11/23/why-open-source/) که یک شخص یا سازمان بخواهد پروژههای خود را متن باز کند. این دلایل عبارتند از:
* **مشارکت:** هر فردی در دنیا میتواند پروژههای متن باز را تغییر دهد و در ویرایش آن مشارکت داشته باشد. به عنوان نمونه، Exercism که به عنوان یک پلتفرم متن باز برای تمرین برنامهنویسی شناخته میشود، با مشارکت افراد مختلف تا به الان بیش از 350 توزیع و ویرایش داشته است.
* **اقتباس و تغییر مجدد:** هر فردی تقریباً با هر هدفی میتواند از پروژههای متن باز استفاده کند. افراد حتی میتوانند از یک پروژه، پروژههای دیگری به وجود بیاورند. به عنوان مثال میتوانیم به [وردپرس](https://github.com/WordPress) اشاره کنیم که از پروژه موجودی به نام [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md) منشعب شده است.
* **شفافیت:** هرکسی میتواند خطاها و تناقض پروژههای متن باز را بازرسی کند. از این رو، شفافیت برای دولتهایی مانند دولت [بلغارستان](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) یا [ایالات متحده آمریکا](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/) و صنایع مقرراتی مانند بانکداری، مراکز بهداشت وُ درمانی و نرمافزار امنیتی مانند [Let's Encrypt](https://github.com/letsencrypt) اهمیت بالایی پیدا میکند تا زمان بازرسی خطاها توسط افراد مختلف، دچار مشکل نشوند.
ویژگی متن باز فقط مختص به نرمافزارها نیست، شما هر چیزی حتی مجموعهای از دادههای یک کتابخانه را میتوانید متن باز کنید. اگر میخواهید بیشتر بدانید که چه چیزهای دیگری را میشود متن باز کرد، میتوانید به [GitHub Explore](https://github.com/explore) مراجعه کنید.
### آیا پروژهای متن باز «مجانی / رایگان» هستند؟
یکی از بزرگترین جذابیتهای متن بازها این است که پولی نیستند. هرچند، رایگان بودن، یک محصول جانبی با ارزش کلی یک پروژهی متن باز است.
به عبارت دیگر، [در لایسنس و گواهینامهی پروژههای متن بازها آورده شده است](https://opensource.org/osd-annotated) که هر کسی میتواند آنها را استفاده، ویرایش و تقریباً با هر هدفی به اشتراک بگذارد. از این رو، پروژههای متن باز به صورت رایگان عرضه میشوند و اگر هم استفاده از این پروژهها پولی شود، هر کسی به صورت قانونی میتواند از آن کپی بگیرد و درعوض، از نسخهی رایگان آن استفاده کند
در نتیجه، بیشتر پروژههای متن باز به صورت رایگان ارائه میشوند و از طرفی هم «رایگان بودن / مجانی بودن» به عنوان بخشی از تعریف پروژههای متن باز به حساب نمیآید، یعنی پروژههای متن باز هم به صورت رایگان و هم به صورت پولی هستند. البته راههایی سازگار با مجوزهای متن باز مثل ارائه مجوز دوگانه یا محدودکردن ویژگی ها به دو دسته رایگان و پولی برای کسب درآمد غیرمستقیم از پروژههای متن باز وجود دارد.
## آیا پروژهی متن باز خودم را باید منتشر کنم؟
اگر بخواهیم کوتاه جواب بدهیم، بله. چون خروجی پروژهی شما مهم نیست. مهم این است که پروژهتان منتشر شود و بهترین راه برای یاد گرفتن نحوهی کار پروژههای متن باز انتشار آنهاست.
اگر هیچوقت پروژهی متن بازتان را منتشر نکردهاید، ممکن است این نگرانی برایتان پیش بیاید افراد مختلف چه چیزی دربارهی پروژهتان میگویند یا اصلا به پروژهی شما توجه میکنند یا خیر. اگر چنین احساسی دارید، باید بگوییم که تنها نیستید.
کار یک پروژهی متن باز مانند هر فعالیت خلاقانهی دیگری مثل نویسندگی و نقاشی است. زمانی که شما به عنوان یک هنرمند اولین اثر خود را با دنیا به اشتراک میگذارید، احساس ترس به سراغتان میآید. اما این کار را باید انجام دهید، چون تمرین تنها راه بهتر شدن است؛ حتی اگر یک مخاطب هم نداشته باشید.
اگر هنوز هم متقاعد نشدید، به این فکر کنید که اهدافتان چه چیزهایی میتوانند باشند.
### اهدافتان را مشخص کنید
اهداف میتواند به شما کمک کند تا متوجه شوید که بر روی چه چیزی کار کنید، به چه چیزی نه بگویید و کجا به کمک دیگران نیاز دارید. با سوال کردن از خودتان شروع کنید. از خودتان بپرسید: _چرا میخواهم این پروژه را متن باز کنم؟_
خب، واضح است که هیچ کس جواب درستی برای این سوال ندارد. چون ممکن است چندین هدف برای یک پروژه یا پروژههای مختلفی با اهداف متفاوتی وجود داشته باشد.
اگر نمایش دادن کارتان تنها هدف برای متن باز کردن پروژهتان باشد، احتمالاً مشارکت دیگران را نمیخواهید و این نخواستن مشارکت را هم در فایل README پروژهتان نیز میآورید. از طرف دیگر، اگر واقعاً مشارکت دیگران را بخواهید، زمان خود را صرف مرتب کردن اسناد و صرف خوشامدگویی به افرادی میکنید که تازه وارد این حوزه شدند.
وقتی که پروژهی شما رشد میکند، جامعهی مخاطب پروژههایتان احتمالاً بیشتر از یک کد به شما نیاز خواهند داشت. وظایف مهمی که در یک پروژهی متن باز به شما محول میشود این است که برای مشکلات پاسخی داشته باشید، کدها را بررسی کنید و مژدهی پروژهی متن بازتان را به دیگران بدهید.
اگرچه مدت زمانی که صرف کارهای غیرکدنویسی میکنید، به اندازه و دامنهی پروژهیتان بستگی دارد، اما به عنوان یک مسئولنگهداری پروژه باید خودتان را آماده کنید آنها را انجام دهید یا حداقل شخصی را پیدا کنید که در کارهای غیرکدنویسی به شما کمک کند.
**اگر جزئی از یک پروژهی متن باز یک شرکت هستید،** مطمئن شوید پروژهیتان منابع لازم داخلی برای پیشرفت را داشته باشد. از این رو، باید بدانید که چه کسی مسئول نگهداری پروژهی متن بازتان است و چگونه میخواهید این وظایف را با جامعهی خود به اشتراک بگذارید
اگر برای ارتقاء، بهرهبرداری و نگهداری پروژه به بودجه خاص یا کارمند نیاز دارید، میتوانید این نیازها را در ابتدا اعلام کنید.
### مشارکت در سایر پروژهها
اگر هدفتان این باشد که با دیگران در پروژههای متن باز همکاری کنید یا میخواهید نحوهی عملکرد یک پروژهی متن باز را درک کنید، همکاری و مشارکت با پروژههای موجود را در نظر بگیرید. با پروژهای شروع کنید که قبلا به آن علاقهمند بودید و از آن استفاده میکردید. مشارکت در یک پروژهی متن باز میتواند به سادگی اصلاح یک کد اشتباه یا آپدیت / بهروزرسانی اسناد باشد.
اگر مطمئن نیستید که چگونه میتوانید در سایر پروژهها مشارکت کنید، به مقالهی [راهنمای نحوهی همکاری در پروژهی متن باز](../how-to-contribute/) مراجعه کنید
## انتشار پروژهی متن باز خودتان
زمان مناسبی برای متن باز کردن پروژهتان وجود ندارد. از این رو، میتوانید یک ایده، کارهایی در دست اقدام یا پروژههایی که بعد از سالها بسته ماندند، را متن باز کنید.
به طور کلی، هر زمان که احساس کردید با دیدگاهها و بازخوردهای دیگران راحت هستید، باید پروژهیتان را متن باز کنید.
مهم نیست در چه مرحلهای تصمیم گرفتید پروژهتان را متن باز کنید. هر پروژهای باید حاوی اسناد زیر باشد:
* [لایسنس متن باز](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [راهنمای مشارکت](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [آیین نامه رفتار](../code-of-conduct/)
این مؤلفهها به شما به عنوان مسئولنگهداری پروژه کمک میکند تا انتظاراتتان را بیان، مشارکتها را مدیریت و از حقوق قانونی خود و دیگران محافظت کنید. این موارد شانس شما را برای داشتن یک تجربهی خوب افزایش میدهد.
اگر پروژهی شما در GitHub قرار دارد، قرار دادن فایلهای فوق به همراه نام فایلهای توصیهشده در پوشه ریشه (root) میتواند به GitHub کمک کند تا آنها را به صورت خودکار به مخاطبانتان شناسایی کند و نمایش دهد.
### انتخاب لایسنس یا مجوز
لایسنسِ یا مجوز یک پروژهی متن باز به دیگران ضمانت میدهد از پروژهی متن باز استفاده، کپی، ویرایش و بدون هیچ عواقبی در آن مشارکت کنند. لایسنس همچنین از شما در برابر موقعیتهای سخت قانونی محافظت میکند. **زمانی که میخواهید پروژهی متن بازتان را منتشر کنید، حتما لایسنس آن را هم ضمیمه کنید**.
کارهای ادارای و حقوقی برای گرفتن لایسنس هیچ جذابیتی ندارد، اما خبر خوب اینجاست که میتوانید لایسنسهای موجود و در دسترس را که از قبل توسط دیگران تدوین شده را در repository (مخزن) خود کپی و پیست کنید. برای محافظت از تلاشی که برای متن باز کردن پروژهتان انجام دادید، این کار تنها یک دقیقه وقت شما را میگیرد.
[MIT](https://choosealicense.com/licenses/mit/)، [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) و [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) جزء محبوبترین لایسنسهای متن باز هستند. هرچند، لایسنسهای دیگری هم وجود دارد که میتوانید از آنها استفاده کنید.
زمانی که پروژهی جدیدی در GitHub ایجاد میکنید، به شما امکان انتخاب لایسنس داده میشود. انتخاب کردن لایسنس باعث میشود GitHub پروژهی شما را متن باز نشان دهد.

در ادامهی مقاله، سایر سوالات و نگرانیهایتان دربارهی [جنبههای قانونی](../legal/) مدیریت پروژهی متن بازتان را بررسی خواهیم کرد.
### نوشتن فایل «README» (فایلی که توضیحات پروژه در آن آورده میشود)
فایل README اطلاعات بیشتری نسبت به این دارد که نحوهی استفاده از پروژهتان را به کاربر توضیح دهد. این فایل همچنین توضیح میدهد که پروژهی شما چه اهمیتی دارد و کاربرانتان با این پروژه چه کارهای میتوانند انجام دهند.
سعی کنید در فایل README خودتان به سوالات زیر پاسخ دهید و جواب آنها را در فایل بیاورید:
* پروژهی شما چه کاری انجام میدهد؟
* چرا این پروژه مفید است؟
* چگونه شروع کردم؟
* در صورت نیاز، از کجا میتوانم کمک بیشتری دریافت کنم؟
شما با فایل README میتوانید به سایر سوالات نیز پاسخ دهید؛ سوالاتی مانند اینکه چگونه مشارکتتان را مدیریت میکنید، اهداف پروژهتان چیست و اطلاعات لایسنس و اختیارات پروژهتان را هم میتوانید بیاورید. اگر مشارکت کسی را نمیخواهید قبول کنید، یا پروژهی شما هنوز برای ارائه آماده نشده باشد، میتوانید این توضیحات را در فایل README بیاورید
بعضی از افراد از نوشتن فایل README خودداری میکنند، چون فکر میکنند پروژهی آنها هنوز تکمیل نشده یا اینکه نمیخواهند کسی مشارکتی داشته باشد. همینها دلایل خیلی خوبی برای نوشتن یک فایل README محسوب میشوند.
برای نوشتن یک فایل README کامل، میتوانید به مقالات @dguo's ["Make a README" guide](https://www.makeareadme.com/) یا @PurpleBooth's [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) مراجعه کنید و از آنها الهام بگیرید
زمانی که فایل README را در دایرکتوری ریشه خود قرار میدهید، GitHub به صورت خودکار آن را در صفحهی اصلی repository (انبار) نشان میدهد.
### نوشتن راهنمای مشارکت
فایل CONTRIBUTING (مشارکت) به مخاطبانتان میگوید که چگونه در پروژهی شما مشارکت کنند. به عنوان مثال، میتوانید اطلاعات زیر را در آن قید کنید:
* چگونه یک باگ یا مشکل گزارش شود
* چگونه ویژگی جدیدی پیشنهاد دهند
* چگونه محیط پروژهتان را تنظیم و آن را برای تست اجرا کنند
به علاوه، در فایل CONTRIBUTING میتوانید جزئیات فنی و انتظاراتتان را برای مشارکتکنندهها بیان کنید. به عنوان مثال:
* نوع مشارکتی که به دنبال آن هستید
* نقشهی راه یا دیدگاهی که به پروژه دارید
* چگونه مشارکتکنندهها باید (یا نباید) با شما در تماس باشند
زمانی که با خونگرمی، حس دوستانه و دادن پیشنهادهای خاص (مانند نوشتن اسناد، یا طراحی وبسایت) با مشارکتکنندههایتان برخورد میکنید، بیشتر راه را برای استقبال از تازهواردها رفتهاید و همین کار شما باعث میشود آنها برای همکاری با شما هیجانزده شوند.
برای روشن شدن مطلب اجازه دهید نمونهای بیاوریم. به عنوان مثال، [Active Admin](https://github.com/activeadmin/activeadmin/) [راهنمای مشارکت خود](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) به مشارکتکنندهها را اینگونه شروع میکند
> در ابتدا، از شما ممنون هستم که میخواهید با Active Admin مشارکت کنید. افرادی مثل شما هستند که باعث میشوند Active Admin عملکرد خوبی داشته باشد.
در ابتداییترین مرحلهی پروژهتان، فایل CONTRIBUTING میتواند ساده باشد. شما در این فایل همیشه باید نحوهی گزارش دادن باگها (خطاها) یا مشکلات فایل و هر نیاز فنی مانند تست کردن را برای مشارکتکنندهها توضیح دهید.
در طول زمان، ممکن است اطلاعات و سوالات مکرر زیادی به فایل CONTRIBUTING خود اضافه کنید. از این رو، افراد کمتری پیدا میشوند که سوالات تکراری از شما بپرسند.
برای اینکه بدانید چگونه اطلاعات فایل CONTRIBUTING خود را بنویسید، میتوانید به مقالات @nayafia's [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) یا @mozilla's ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/) مراجعه کنید.
[لینک فایل CONTRIBUTING خود را در فایل README قرار دهید](https://help.github.com/articles/setting-guidelines-for-repository-contributors/) تا افرادی که آن را مطالعه میکنند این فایل مشارکت را هم ببینند. اگر فایل CONTRIBUTING خود را در repository (انبار) (مخزن) پروژهتان قرار داده باشید، زمانی که یک مشارکتکننده طرح مشکل یا گزارش یک باگ یا درخواست ادغام کند، GitHub به صورت خودکار او را به لینک فایل CONTRIBUTING هدایت میکند

### تعیین آیین نامهی رفتاری (Code of Conduct)
بالاخره، آیین نامهی رفتاری به ما کمک میکند برای رفتارهای مشارکتکنندههای پروژهتان قوائدی تعیین کنید. زمانی که بخواهید یک پروژهی متن بازی را برای انجمن یا یک شرکت منتشر کنید، این قوائد میتواند ارزشمند باشد. آیین نامهی رفتاری یا (Code of Conduct) این قدرت را به شما میدهد تا رفتارهای سازنده و سالم را در بین جامعه کاربران ترویج کنید که در آینده به عنوان یک مسئولنگهداری پروژه احساس استرس کمتری داشته باشید.
برای اطلاعات بیشتر میتوانید به [راهنمای آیین نامهی رفتاری](../code-of-conduct/) مراجعه کنید.
علاوه بر اینکه یک آیین نامهی رفتاری رفتارهایی که از شرکتکنندهایتان انتظار دارید را باید به آنها بگوید، این را هم باید تعریف کنید که اجرای این انتظارات به چه کسانی و در چه زمانهایی باید انجام میشود. آیین نامهی رفتاری همچنین مشخص میکند که درصورت بروز تخلف چه کاری باید انجام شود.
مشابه استفاده از مجوزهایی که از قبل توسط دیگران تدوین شده استانداردهای نوظهوری برای آیین نامهی رفتاری وجود دارد که لازم نیست خودتان آن را بنویسید. [Contributor Covenant](https://contributor-covenant.org/) یکی از جاهایی است که آیین نامههایی در همین خصوص ارائه میکند و حاصل کار آن در [بیش از 40.000 پروژهی متن باز](https://www.contributor-covenant.org/adopters) مانند Kubernetes، Rails و Swift استفاده میشود. مهم نیست متن آیین نامهی رفتاری شما چیست، مهم این است که در صورت لزوم باید از آیین نامهی رفتاری خودتان استفاده کنید
متن آیین نامهی رفتاری خود را مستقیما در فایل CODE_OF_CONDUCT در مخزن گیت هاب خودتان کپی و پیست کنید. فایل را در دایرکتوری روت پروژهتان ذخیره کنید تا پیدا کردن و لینک دادن آن به فایل README راحت باشد.
## نامگذاری و برندسازی پروژه
برندسازی چیزی فراتر از یک لوگوی پُر زرق وُ برق یا یک نام جذاب برای پروژهتان است. برندسازی نحوهی صبحت کردن دربارهی پروژه و نحوه رساندن پیام به مخاطبتان را نشان میدهد.
### انتخاب نام درست
برای پروژهتان از نامی استفاده کنید که یادآوری آن ساده باشد. به طور ایده آل، میتوانید بعضی از ایدهها را از پروژههای زیر مشاهده کنید. به عنوان نمونه:
* [Sentry](https://github.com/getsentry/sentry) اپ ها را با هدف گزارش خطاهای رخ داده در آنها پایش می کند
* [Thin](https://github.com/macournoyer/thin) یک وب سرور ساده و سریع روبی است
اگر در حال طراحی پروژهتان هستید، به کارگیری نام آنها به عنوان پیشوند میتواند به شفاف کردن پروژهتان کمک کند. به عنوان نمونه، ([node-fetch](https://github.com/bitinn/node-fetch)، Window.fetch را به Node.js میآورد).
با در نظر گرفتن توصیه بالا. میتوان عناوین بامزه یا خوب زیادی ساخت، اما این را به یاد داشته باشید که بعضی از بازی با کلمات و جناسها ممکن است در سایر فرهنگها یا افرادی که تجربههای متفاوتی نسبت به شما دارند، مفهوم یا ترجمهی نادرستی داشته باشد. برخی از کاربران بالقوه شما هم ممکن است کارمندان یک شرکت باشند و حتما نمیخواهید زمانی که در حال توضیح دادن نحوهی پروژهتان در محل کارشان هستند، احساس نامساعدی داشته باشند.
### از نامگذاریهای دارای منافات خودداری کنید
اگر پروژهی شما زبان و اکوسیستم یکسانی دارد، میتوانید نام پروژههای مشابه با پروژهتان را [بررسی کنید](http://ivantomic.com/projects/ospnc/). اگر نام پروژهی شما با پروژهی دیگری شباهت زیادی داشته باشد، مخاطب شما ممکن است سردرگم شود.
اگر در یک وبسایت، توئیتر یا دیگر شبکههای اجتماعی میخواهید پروژهتان را نشان دهید، مطمئن شوید همان نامی را انتخاب کنید که میخواهید. به طور ایده آل، حتی اگر هنوز نمیخواهید از آن نام استفاده کنید و برای اینکه خیالتان راحت باشد، آن نام را [وارونه کنید](https://instantdomainsearch.com/)
مطمئن شوید نام پروژهی شما هیچ برند تجاری را نقض نمیکند. اگر چنین باشد، آن شرکت میتواند بعدها از شما درخواست کند پروژهتان را کنسل کرده یا حتی به صورت قانونی با شما برخورد کند. بنابراین، ارزش این همه ریسک را ندارد و برای جلوگیری از چنین مشکلاتی حتما از نام مناسبی استفاده کنید.
برای بررسی تضاد و منافات برندهای تجاری میتوانید به پایگاه داده برندهای جهانی [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) مراجعه کنید. اگر شما یک شخص حقوقی هستید و در یک شرکت فعالیت میکنید، این یکی از چیزهایی است که [تیم حقوقیتان میتواند](../legal/) به شما کمک کند
در نهایت، نام پروژهتان را به سرعت در گوگل جستجو کنید. ببینید که افراد به راحتی میتوانند پروژهتان را پیدا کنند؟ در نتایج جستجوی شما چیزی دیگر پیدا میشود که نمیخواهید کاربران آن را مشاهده کنند؟
### چگونه نوشتن و کدنویسی شما روی برندتان اثر میگذارد!
در طول عمر پروژهتان، در حال نوشتن چیزهای زیادی خواهید بود که میتوان به نوشتن فایلهای README، آموزشها، اسناد انجمن، نوشتن پاسخ به مشکلات، حتی شاید نوشتن و پاسخ دادن به خبرنامه و فهرست پستی، اشاره کرد.
سبک نویسندگی شما چه در اسناد رسمی و چه در ایمیلهای محاورهای بخشی از برند پروژهتان است. به این فکر کنید چگونه میخواهید با مخاطبتان برخورد کنید و ببینید این لحن نوشتاری همان چیزی است که میخواهید به مخاطب فرستاده شود یا خیر.
زمانی که از یک زبان جامع و گرم استفاده میکنید و حتی زمانی که با یک فرد صحبت میکنید، به جای کلمهی «تو» کلمهی «شما» را به کار میبرید، کمک زیادی به شما میکند تا مشارکتکنندههای جدید از پروژهی شما استقبال کنند. اگر میخواهید به زبان انگلیسی بنویسید، سعی کنید ساده باشد. چون زبان بیشتر خوانندههای شما بومی نیست.
جدا از کلماتی که در نوشتن اسناد مختلف استفاده میکنید، سبک کدنویسی شما هم ممکن است به بخشی از برند پروژهتان تبدیل شود. به عنوان مثال میتوانیم به دو نمونه پروژه به نامهای [Angular](https://angular.io/guide/styleguide) و [jQuery](https://contribute.jquery.org/style-guide/js/) اشاره کنیم که راهنما و سبک کدنویسی سختی دارند
در ابتدای کار لازم نیست از راهنمای سبک نویسندگی استفاده کنید. به هر حال، به مرور از ترکیب سبک متفاوت کدنویسی خود در پروژهتان لذت خواهید برد. هرچند، این را باید پیشبینی کنید که نحوهی نویسندگی و سبک کدنویسی شما ممکن است انواع مختلف افراد را جذب یا دفع کند. در ابتدایترین مرحلهی پروژهتان فرصت دارید مقدماتی که میخواهید مخاطبان ببنند را ارائه دهید.
## مرور (چک لیست / لیست بررسی) قبل از انتشار پروژهی متن باز
خب، آماده هستید تا پروژهتان را متن باز کنید؟ چک لیست در این مرحله میتواند به شما کمک کند. تمام گزینهها و تیکها را بررسی کردهاید؟ به محض آماده شدن، روی انتشار [publish](https://help.github.com/articles/making-a-private-repository-public/) کلیک کنید و به خودتان تبریک بگویید.
**مستندات**
**کد**
**افراد**
اگر شما شخص حقیقی هستید:
اگر شخص حقوقی هستید و در یک سازمان یا یک شرکت فعالیت میکنید:
## انجامش دادی!
اولین پروژهی متن بازتان را تبریک میگوییم. بهتر است بدانید که خروجی آن مهم نیست، فقط با این کار تجربهی کار در فضای جامعه را به دست آوردید. با هر کامیت (Commit)، کامنت (Comment) و پاسخ به درخواست ادغام فرصتی برای رشد و یادگیری خود و دیگران ایجاد میکنید.
================================================
FILE: _articles/finding-users.md
================================================
---
lang: en
title: Finding Users for Your Project
description: Help your open source project grow by getting it in the hands of happy users.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Spreading the word
There's no rule that says you have to promote an open source project when you launch. There are many fulfilling reasons to work in open source that have nothing to do with popularity. Instead of hoping others will find and use your open source project, you have to spread the word about your hard work!
## Figure out your message
Before you start the actual work of promoting your project, you should be able to explain what it does, and why it matters.
What makes your project different or interesting? Why did you create it? Answering these questions for yourself will help you communicate your project's significance.
Remember that people get involved as users, and eventually become contributors, because your project solves a problem for them. As you think about your project's message and value, try to view them through the lens of what _users and contributors_ might want.
For example, @robb uses code examples to clearly communicate why his project, [Cartography](https://github.com/robb/Cartography), is useful:

For a deeper dive into messaging, check out Mozilla's ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) exercise for developing user personas.
## Help people find and follow your project
Help people find and remember your project by pointing them to a single namespace.
**Have a clear handle to promote your work.** A Twitter handle, GitHub URL, or IRC channel is an easy way to point people to your project. These outlets also give your project's growing community a place to convene.
If you don't wish to set up outlets for your project yet, promote your own Twitter or GitHub handle in everything you do. Promoting your Twitter or GitHub handle will let people know how to contact you or follow your work. If you speak at a meetup or event, make sure that your contact information is included in your bio or slides.
**Consider creating a website for your project.** A website makes your project friendlier and easier to navigate, especially when it's paired with clear documentation and tutorials. Having a website also suggests that your project is active which will make your audience feel more comfortable using it. Provide examples to give people ideas for how to use your project.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), co-creator of Django, said that a website was _"by far the best thing we did with Django in the early days"_.
If your project is hosted on GitHub, you can use [GitHub Pages](https://pages.github.com/) to easily make a website. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), and [Middleman](https://middlemanapp.com/) are [a few examples](https://github.com/showcases/github-pages-examples) of excellent, comprehensive websites.

Now that you have a message for your project, and an easy way for people to find your project, let's get out there and talk to your audience!
## Go where your project's audience is (online)
Online outreach is a great way to share and spread the word quickly. Using online channels, you have the potential to reach a very wide audience.
Take advantage of existing online communities and platforms to reach your audience. If your open source project is a software project, you can probably find your audience on [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), or [Quora](https://www.quora.com/). Find the channels where you think people will most benefit from or be excited about your work.
See if you can find ways to share your project in relevant ways:
* **Get to know relevant open source projects and communities.** Sometimes, you don't have to directly promote your project. If your project is perfect for data scientists who use Python, get to know the Python data science community. As people get to know you, natural opportunities will arise to talk about and share your work.
* **Find people experiencing the problem that your project solves.** Search through related forums for people who fall into your project's target audience. Answer their question and find a tactful way, when appropriate, to suggest your project as a solution.
* **Ask for feedback.** Introduce yourself and your work to an audience that would find it relevant and interesting. Be specific about who you think would benefit from your project. Try to finish the sentence: _"I think my project would really help X, who are trying to do Y_". Listen and respond to others' feedback, rather than simply promoting your work.
Generally speaking, focus on helping others before asking for things in return. Because anyone can easily promote a project online, there will be a lot of noise. To stand out from the crowd, give people context for who you are and not just what you want.
If nobody pays attention or responds to your initial outreach, don't get discouraged! Most project launches are an iterative process that can take months or years. If you don't get a response the first time, try a different tactic, or look for ways to add value to others' work first. Promoting and launching your project takes time and dedication.
## Go where your project's audience is (offline)

Offline events are a popular way to promote new projects to audiences. They're a great way to reach an engaged audience and build deeper human connections, especially if you are interested in reaching developers.
If you're [new to public speaking](https://speaking.io/), start by finding a local meetup that's related to the language or ecosystem of your project.
If you've never spoken at an event before, it's perfectly normal to feel nervous! Remember that your audience is there because they genuinely want to hear about your work.
As you write your talk, focus on what your audience will find interesting and get value out of. Keep your language friendly and approachable. Smile, breathe, and have fun.
When you feel ready, consider speaking at a conference to promote your project. Conferences can help you reach more people, sometimes from all over the world.
Look for conferences that are specific to your language or ecosystem. Before you submit your talk, research the conference to tailor your talk for attendees and increase your chances of being accepted to speak at the conference. You can often get a sense of your audience by looking at a conference's speakers.
## Build a reputation
In addition to the strategies outlined above, the best way to invite people to share and contribute to your project is to share and contribute to their projects.
Helping newcomers, sharing resources, and making thoughtful contributions to others' projects will help you build a positive reputation. Being an active member in the open source community will help people have context for your work and be more likely to pay attention to and share your project. Developing relationships with other open source projects can even lead to official partnerships.
It's never too early, or too late, to start building your reputation. Even if you've launched your own project already, continue to look for ways to help others.
There is no overnight solution to building an audience. Gaining the trust and respect of others takes time, and building your reputation never ends.
## Keep at it!
It may take a long time before people notice your open source project. That's okay! Some of the most popular projects today took years to reach high levels of activity. Focus on building relationships instead of hoping that your project will spontaneously gain popularity. Be patient, and keep sharing your work with those who appreciate it.
================================================
FILE: _articles/fr/best-practices.md
================================================
---
lang: fr
title: Bonnes pratiques pour les responsables
description: Facilitez-vous la vie en tant que responsable Open Source, de la documentation des processus à l'exploitation de votre communauté.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Que signifie être un responsable
Si vous gérez un projet Open Source que beaucoup de personnes utilisent, vous avez peut-être remarqué que vous codez moins et que vous répondez à d'autres problèmes.
Au début d'un projet, vous expérimentez de nouvelles idées et prenez des décisions en fonction de ce que vous voulez. Au fur et à mesure que votre projet gagne en popularité, vous travaillerez de plus en plus avec vos utilisateurs et vos contributeurs.
Maintenir un projet nécessite plus que du code. Ces tâches sont souvent inattendues, mais elles sont tout aussi importantes pour un projet en croissance. Nous avons rassemblé quelques moyens pour vous faciliter la vie, de la documentation des processus à l'exploitation de votre communauté.
## Documentez vos processus
Écrire des choses est l'une des choses les plus importantes que vous pouvez faire en tant que responsable.
La documentation clarifie non seulement votre propre pensée, mais elle aide les autres à comprendre ce dont vous avez besoin ou ce que vous attendez, avant même de le demander.
Rédaction des choses rend plus facile de dire non quand quelque chose ne rentre pas dans votre champ d'application. Cela facilite également la tâche des gens. Vous ne savez jamais qui pourrait lire ou utiliser votre projet.
Même si vous n'utilisez pas de paragraphes entiers, des listes de point sont mieux que de ne pas écrire du tout.
N'oubliez pas de garder votre documentation à jour. Si vous n'êtes pas toujours en mesure de le faire, supprimez votre documentation obsolète ou indiquez qu'elle est obsolète afin que les contributeurs sachent que les mises à jour sont les bienvenues.
### Décrivez la vision de votre projet
Commencez par écrire les objectifs de votre projet. Ajoutez-les à votre fichier README ou créez un fichier distinct appelé VISION. S'il y a d'autres artefacts qui pourraient aider, comme une feuille de route de projet, laissez-les publics aussi.
Avoir une vision claire et documentée vous permet de rester concentré et vous aide à éviter le «glissement de portée» des contributions des autres.
Par exemple, @lord a découvert que le fait d'avoir une vision de projet l'aidait à déterminer les demandes pour lesquelles il devait passer du temps. En tant que nouveau responsable, il a regretté de ne pas s'en tenir à la portée de son projet quand il a obtenu sa première demande de fonctionnalité pour [Slate](https://github.com/lord/slate).
### Communiquez vos attentes
Les règles peuvent être angoissantes à écrire. Parfois, vous pourriez avoir l'impression de surveiller le comportement des autres ou de tuer tout le plaisir.
Écrit et appliqué équitablement, cependant, de bonnes règles habilitent les responsables. Ils vous empêchent d'être entraînés à faire des choses que vous ne voulez pas faire.
La plupart des personnes qui rencontrent votre projet ne savent rien de vous ou de votre situation. Ils peuvent supposer que vous êtes payé pour travailler dessus, surtout si c'est quelque chose qu'ils utilisent régulièrement et dont ils dépendent. Peut-être qu'à un moment donné, vous avez consacré beaucoup de temps à votre projet, mais maintenant vous êtes occupé avec un nouvel emploi ou un membre de votre famille.
Tout cela est parfaitement correct ! Assurez-vous simplement que les autres personnes le savent.
Si le maintien de votre projet est à temps partiel ou purement volontaire, soyez honnête quant au temps dont vous disposez. Ce n'est pas la même chose que le temps que vous estimez nécessaire au projet ou combien de temps les autres vous demandent.
Voici quelques règles qui méritent d'être notées :
* Comment une contribution est-elle examinée et acceptée (_A-t-elle besoin de tests ? Un modèle de question ?_)
* Les types de contributions que vous acceptez (_Vous voulez seulement de l'aide pour une partie de votre code ?_)
* Lorsqu'il est approprié de faire un suivi (_par exemple, "Vous pouvez vous attendre à recevoir une réponse d'un responsable dans les 7 jours. Dès lors Si vous n'avez pas encore de retour, n'hésitez pas à faire un ping."_)
* Combien de temps vous consacrez au projet (_par exemple, "Nous ne consacrons que 5 heures par semaine à ce projet"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), et [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) sont plusieurs exemples de projets avec des règles de base pour les responsables et les contributeurs.
### Maintenez la communication publique
N'oubliez pas de documenter vos interactions, aussi. Partout où vous pouvez, gardez la communication sur votre projet public. Si quelqu'un tente de vous contacter en privé pour discuter d'une demande de fonctionnalité ou d'un besoin de support, dirigez-les poliment vers un canal de communication public, tel qu'une liste de diffusion ou un outil de suivi des problèmes.
Si vous rencontrez d'autres responsables, ou prenez une décision importante en privé, documentez ces conversations en public, même si cela ne concerne que la publication de vos notes.
De cette façon, toute personne qui rejoint votre communauté aura accès à la même information que quelqu'un qui a été là pendant des années.
## Apprendre à dire non
Vous avez écrit des choses. Idéalement, tout le monde lira votre documentation, mais en réalité, vous devrez rappeler aux autres que cette connaissance existe.
Cependant, tout noter contribue à dépersonnaliser les situations lorsque vous devez appliquer vos règles.
Dire non n'est pas amusant, mais _"Votre contribution ne correspond pas aux critères de ce projet"_ est moins personnelle que _"Je n'aime pas votre contribution"_.
Dire non s'applique à de nombreuses situations que vous rencontrerez en tant que responsable : des demandes de fonctionnalités qui ne correspondent pas à la portée, quelqu'un qui déraille dans une discussion, qui fait un travail inutile pour les autres.
### Gardez la conversation amicale
Les endroits les plus importants où pratiquer l'art du refus sont vos issues et la file d'attente des pull requests. En tant que responsable du projet, vous recevrez inévitablement des suggestions que vous ne souhaitez pas accepter.
Peut-être que la contribution modifie la portée de votre projet ou ne correspond pas à votre vision. Peut-être que l'idée est bonne, mais la mise en œuvre est mauvaise.
Peu importe la raison, il est possible de gérer avec tact les contributions qui ne répondent pas aux normes de votre projet.
Si vous recevez une contribution que vous ne voulez pas accepter, votre première réaction pourrait être de l'ignorer ou de prétendre que vous ne l'avez pas vue. Cela pourrait nuire aux sentiments de l'autre et même démotiver d'autres contributeurs potentiels dans votre communauté.
Ne laissez pas une contribution indésirable ouverte parce que vous avez un sentiment de culpabilité ou que vous voulez être gentil. Au fil du temps, vos issues sans réponse et les PRs rendront le travail sur votre projet beaucoup plus stressant et intimidant.
Il est préférable de fermer immédiatement les contributions que vous ne voulez pas accepter. Si votre projet souffre déjà d'un important retard, @steveklabnik propose des suggestions pour [comment trier efficacement les issues](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Deuxièmement, ignorer les contributions envoie un signal négatif à votre communauté. Contribuer à un projet peut être intimidant, surtout s'il s'agit de la première fois. Même si vous n'acceptez pas leur contribution, remerciez la personne derrière et remerciez-la de son intérêt. C'est un gros compliment!
Si vous ne voulez pas accepter une contribution:
* **Remercier la** pour sa contribution
* **Expliquez pourquoi cela ne rentre pas** dans la portée du projet et proposez des suggestions d'amélioration claires, si vous le pouvez. Soyez gentil, mais ferme.
* **Lien vers la documentation pertinente**, si vous l'avez. Si vous remarquez des demandes répétées pour des choses que vous ne voulez pas accepter, ajoutez-les dans votre documentation pour éviter de vous répéter.
* **Fermez la demande**
Vous ne devriez pas avoir besoin de plus de 1-2 phrases pour répondre. Par exemple, lorsqu'un utilisateur de [celery](https://github.com/celery/celery/) a signalé une erreur liée à Windows, @berkerpeksag [a répondu ainsi](https://github.com/celery/celery/issues/3383):

Si la pensée de dire non vous terrifie, vous n'êtes pas seul. Comme @jessfraz [le met](https://blog.jessfraz.com/post/the-art-of-closing/):
> J'ai parlé à des responsables de plusieurs projets open source différents, Mesos, Kubernetes, Chromium, et ils sont tous d'accord que l'un des aspects les plus difficiles d'un responsable est de dire "Non" aux correctifs que vous ne voulez pas.
Ne vous sentez pas coupable de ne pas vouloir accepter la contribution de quelqu'un. La première règle de l'open source, [selon](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"Non est temporaire, oui est pour toujours."_. Alors que l'empathie avec l'enthousiasme d'une autre personne est une bonne chose, rejeter une contribution n'est pas la même chose que rejeter la personne derrière elle.
En fin de compte, si une contribution n'est pas suffisante, vous n'êtes pas obligé de l'accepter. Soyez gentil et réactif lorsque les gens contribuent à votre projet, mais n'acceptez que les changements qui, selon vous, amélioreront votre projet. Le plus souvent vous pratiquez en disant non, plus cela devient facile. Promis.
### Soyez proactif
Pour réduire le volume des contributions non désirées, expliquez le processus de soumission et d'acceptation des contributions de votre projet dans votre guide.
Si vous recevez trop de contributions de faible qualité, demandez aux contributeurs de faire un peu de travail à l'avance, par exemple:
* Remplir une issue ou un modèle de PR / checklist
* Ouvrir une issue avant de soumettre une PR
S'ils ne respectent pas vos règles, fermez immédiatement l'issue et référez à votre documentation.
Bien que cette approche puisse sembler méchante au début, être proactif est réellement bon pour les deux parties. Cela réduit le risque que quelqu'un consacre beaucoup d'heures de travail perdues à une pull request que vous n'allez pas accepter. Et cela rend votre charge de travail plus facile à gérer.
Parfois, quand vous dites non, votre contributeur potentiel peut se fâcher ou critiquer votre décision. Si leur comportement devient hostile, [prenez des mesures pour désamorcer la situation](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) ou même supprimez-le de votre communauté s'il ne souhaite pas collaborer de manière constructive.
### Embrasser le mentorat
Peut-être que quelqu'un dans votre communauté soumet régulièrement des contributions qui ne répondent pas aux normes de votre projet. Il peut être frustrant pour les deux parties de passer à plusieurs reprises par des rejets.
Si vous voyez que quelqu'un est enthousiaste à propos de votre projet, mais qu'il a besoin d'un peu de polish, soyez patient. Expliquer clairement dans chaque situation pourquoi les contributions ne répondent pas aux attentes du projet. Essayez de le diriger vers une tâche plus facile ou moins ambiguë, comme une question marquée _"bonne première issue"_, pour se faire les pieds. Si vous avez le temps, envisagez de l'encadrer à travers sa première contribution, ou de trouver quelqu'un d'autre dans votre communauté qui pourrait être disposé à le faire.
## Tirez parti de votre communauté
Vous n'avez pas à tout faire vous-même. La communauté de votre projet existe pour une raison ! Même si vous n'avez pas encore de communauté de contributeurs actifs, si vous avez beaucoup d'utilisateurs, mettez-les au travail.
### Partager la charge de travail
Si vous cherchez d'autres personnes, commencez par demander.
Lorsque vous voyez de nouveaux contributeurs faire des contributions répétées, reconnaissez leur travail en offrant plus de responsabilités. Documentez comment les autres peuvent devenir des leaders s'ils le souhaitent.
Encourager les autres à [partager la propriété du projet](../building-community/#partager-la-propriété-de-votre-projet) peut réduire considérablement votre charge de travail, comme l'a découvert @lmccart sur son projet, [p5.js](https://github.com/processing/p5.js).
Si vous avez besoin de quitter votre projet, que ce soit en pause ou en permanence, il n'y a pas de honte à demander à quelqu'un d'autre de vous remplacer.
Si d'autres personnes sont enthousiastes à l'égard de sa direction, donnez-leur l'autorisation de s'engager ou remettez officiellement le contrôle à quelqu'un d'autre. Si quelqu'un a forké votre projet et le maintient activement ailleurs, envisagez de créer un lien vers le fork de votre projet d'origine. C'est génial que tant de gens veulent que votre projet continue à vivre !
@progrium [a trouvé que](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) documentant la vision de son projet, [Dokku](https://github.com/dokku/dokku), a aidé à atteindre ces objectifs même après s'être retiré du projet:
> J'ai écrit une page wiki décrivant ce que je voulais et pourquoi je le voulais. Pour une raison ou une autre, j'ai été surpris de constater que les responsables ont commencé à faire avancer le projet dans cette direction ! Est-ce arrivé exactement comment je le ferais ? Pas toujours. Mais cela rapprochait encore le projet de ce que j'avais écrit.
### Laissez les autres construire les solutions dont ils ont besoin
Si un contributeur potentiel a une opinion différente sur ce que votre projet devrait faire, vous pouvez l'encourager doucement à travailler sur son propre fork.
Forker un projet ne doit pas être une mauvaise chose. Etre capable de copier et de modifier des projets est l'une des meilleures choses à propos de l'open source. Encourager les membres de votre communauté à travailler sur leur propre fork peut fournir le débouché créatif dont ils ont besoin, sans entrer en conflit avec la vision de votre projet.
La même chose s'applique à un utilisateur qui veut vraiment une solution que vous n'avez tout simplement pas la bande passante pour la faire. L'offre d'API et de hooks de personnalisation peut aider les autres à répondre à leurs propres besoins, sans avoir à modifier directement la source. @orta [a trouvé que](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) encourager les plugins pour CocoaPods a conduit à "quelques-unes des idées les plus intéressantes":
> Il est presque inévitable qu'une fois qu'un projet prend de l'ampleur, les responsables doivent être beaucoup plus conservateurs quant à la façon dont ils introduisent un nouveau code. Vous devenez bon à dire «non», mais beaucoup de gens ont des besoins légitimes. Ainsi, vous finissez par convertir votre outil en plate-forme.
## Donnez le aux robots
Tout comme il existe des tâches que d'autres personnes peuvent vous aider, il y a aussi des tâches que personne ne devrait jamais avoir à faire. Les robots sont vos amis. Utilisez-les pour rendre votre vie de responsable plus facile.
### Exiger des tests et autres vérifications pour améliorer la qualité de votre code
L'un des moyens les plus importants pour automatiser votre projet consiste à ajouter des tests.
Les tests aident les contributeurs à croire qu'ils ne casseront rien. Ils facilitent également la consultation et l'acceptation des contributions rapidement. Plus vous êtes réactif, plus votre communauté peut être engagée.
Configurez des tests automatiques qui s'exécuteront sur toutes les contributions entrantes, et assurez-vous que vos tests peuvent être facilement exécutés localement par les contributeurs. Exiger que toutes les contributions de code passent vos tests avant de pouvoir être soumis. Vous aiderez à définir une norme de qualité minimale pour toutes les soumissions. La [vérification du status requis](https://help.github.com/articles/about-required-status-checks/) sur GitHub peut vous aider à vous assurer qu'aucune modification ne sera mergée sans que vos tests ne passent.
Si vous ajoutez des tests, assurez-vous d'expliquer comment ils fonctionnent dans votre fichier CONTRIBUTING.
### Utiliser des outils pour automatiser les tâches de maintenance de base
Les bonnes nouvelles à propos du maintien d'un projet populaire sont que d'autres responsables ont probablement déjà fait face à des problèmes similaires et ont construit une solution pour cela.
Il y a une [variété d'outils disponibles](https://github.com/showcases/tools-for-open-source) pour aider à automatiser certains aspects du travail de maintenance. Quelques exemples:
* [semantic-release](https://github.com/semantic-release/semantic-release) automatise vos releases
* [mention-bot](https://github.com/facebook/mention-bot) mentionne les reviewers potentiels pour les pull requests
* [Danger](https://github.com/danger/danger) permet d'automatiser les revues de code
Pour les rapports de bogues et autres contributions communes, GitHub a des [Modèles d'issues et modèles de pull requests](https://github.com/blog/2111-issue-and-pull-request-templates), que vous pouvez créer pour rationaliser la communication que vous recevez. @TalAter a fait un guide [Choisissez Votre Propre Aventure] () pour vous aider à rédiger vos issues et vos modèles de PR.
Pour gérer vos notifications par e-mail, vous pouvez configurer [des filtres e-mail](https://github.com/blog/2203-email-updates-about-your-own-activity) pour organiser par priorité.
Si vous souhaitez être un peu plus avancé, les guides de style et les linters peuvent standardiser les contributions de projet et les rendre plus faciles à consulter et à accepter.
Cependant, si vos normes sont trop compliquées, elles peuvent augmenter les obstacles à la contribution. Assurez-vous d'ajouter suffisamment de règles pour faciliter la vie de tous.
Si vous n'êtes pas sûr des outils à utiliser, regardez ce que font les autres projets populaires, en particulier ceux de votre écosystème. Par exemple, à quoi ressemble le processus de contribution pour les autres modules Node ? L'utilisation d'outils et d'approches similaires rendra votre processus plus familier à vos contributeurs cibles.
## Il est normal de faire pause
Le travail open source vous a déjà apporté de la joie. Peut-être que maintenant ça commence à vous faire sentir fuyant ou coupable.
Peut-être vous sentez-vous débordé ou un sentiment croissant d'effroi quand vous pensez à vos projets. Et pendant ce temps, les issues et les pull requests s'accumulent.
Le burnout est un problème réel et omniprésent dans le travail open source, en particulier chez les responsables. En tant que responsable, votre bonheur est une exigence non négociable pour la survie de tout projet open source.
Bien que cela devrait aller de soi, faites une pause ! Vous ne devriez pas avoir à attendre de vous sentir usé pour prendre des vacances. @brettcannon, un développeur de base Python, a décidé de prendre [un mois de vacances](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) après 14 années de bénévolat de travail sur les logiciels open source.
Tout comme n'importe quel autre type de travail, prendre des pauses régulières vous gardera frais, heureux et excité par votre travail.
Parfois, il peut être difficile de faire une pause dans le travail open source quand on a l'impression que tout le monde a besoin de vous. Les gens peuvent même essayer de vous faire sentir coupable d'avoir abandonné.
Faites de votre mieux pour trouver du support pour vos utilisateurs et votre communauté pendant votre absence sur un projet. Si vous ne trouvez pas le soutien dont vous avez besoin, faites une pause quand même. Assurez-vous de communiquer lorsque vous n'êtes pas disponible, afin que les gens ne soient pas perturbés par votre manque de réactivité.
Prendre des pauses s'applique à plus que de simples vacances, aussi. Si vous ne voulez pas faire du travail open source le week-end, ou pendant les heures de travail, communiquez ces attentes aux autres, afin qu'ils sachent ne pas vous déranger.
## Prenez soin de vous d'abord !
Maintenir un projet populaire nécessite des compétences différentes des étapes précédentes de la croissance, mais ce n'est pas moins gratifiant. En tant que responsable, vous pratiquerez le leadership et les compétences personnelles à un niveau que peu de gens connaissent. Bien que ce ne soit pas toujours facile à gérer, définir des limites claires et ne prendre que ce que vous êtes à l'aise vous aidera à rester heureux, frais et productif.
================================================
FILE: _articles/fr/building-community.md
================================================
---
lang: fr
title: Construire des communautés accueillantes
description: Construire une communauté qui encourage les gens à utiliser, contribuer et évangéliser votre projet.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Mise en place de votre projet pour le succès
Vous avez lancé votre projet, vous passez le mot, et les gens le vérifient. Impressionnant ! Maintenant, comment les faites-vous rester ?
Une communauté accueillante est un investissement dans l'avenir et la réputation de votre projet. Si votre projet commence à peine à voir ses premières contributions, commencez par donner aux premiers contributeurs une expérience positive et facilitez-les pour qu'ils reviennent.
### Faites que les gens se sentent les bienvenus
Une façon de penser à la communauté de votre projet est ce que @MikeMcQuaid appelle l'[entonnoir du contributeur](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

Au fur et à mesure que vous construisez votre communauté, réfléchissez à la façon dont une personne en haut de l'entonnoir (un utilisateur potentiel) pourrait théoriquement se frayer un chemin vers le bas (un responsable actif). Votre but est de réduire la friction à chaque étape de l'expérience du contributeur. Quand les gens ont des victoires faciles, ils se sentent incités à faire plus.
Commencez avec votre documentation:
* **Facilitez l'utilisation de votre projet par quelqu'un.** [Un fichier README amical](../starting-a-project/#ecrire-un-fichier-readme) et des exemples de code clair faciliteront la tâche à tous ceux qui atterriront votre projet pour commencer.
* **Expliquez clairement comment contribuer**, en utilisant [votre fichier CONTRIBUTING](../starting-a-project/#rédaction-de-vos-directives-de-contribution) et en gardant vos issues à jour.
[L'enquête open source 2017 de GitHub](http://opensourcesurvey.org/2017/) a montré que la documentation incomplète ou confuse est le plus gros problème pour les utilisateurs open source. Une bonne documentation invite les gens à interagir avec votre projet. Finalement, quelqu'un va ouvrir une issue ou faire une pull request. Utilisez ces interactions comme des opportunités pour les déplacer dans l'entonnoir.
* **Quand quelqu'un arrive sur votre projet, remerciez-le de son intérêt !** Il suffit d'une expérience négative pour que quelqu'un ne veuille pas revenir.
* **Soyez réactif.** Si vous ne répondez pas à leur problème pendant un mois, il est probable qu'ils aient déjà oublié votre projet.
* **Soyez ouvert sur les types de contributions que vous accepterez.** De nombreux contributeurs commencent par un rapport de bug ou une petite correction. Il y a [plusieurs façons de contribuer](../how-to-contribute/#que-signifie-contribuer) à un projet. Laissez les gens aider comment ils veulent aider.
* **S'il y a une contribution avec laquelle vous n'êtes pas d'accord,** remerciez-les pour leur idée et [expliquez pourquoi](../best-practices/#apprendre-à-dire-non) cela ne rentre pas dans le cadre de la projet, en reliant à la documentation pertinente si vous l'avez.
La majorité des contributeurs open source sont des "contributeurs occasionnels": des personnes qui contribuent à un projet uniquement à l'occasion. Un contributeur occasionnel n'a peut-être pas le temps de se familiariser avec votre projet, alors votre travail consiste à rendre la contribution plus facile.
Encourager les autres contributeurs est un investissement en vous aussi. Lorsque vous permettez à vos plus grands fans de courir avec le travail qui les intéresse, il y a moins de pression pour tout faire vous-même.
### Documentez tout
Lorsque vous démarrez un nouveau projet, il peut sembler naturel de garder votre travail privé. Mais les projets Open Source prospèrent lorsque vous documentez votre processus en public.
Quand vous écrivez les choses, plus de gens peuvent participer à chaque étape du chemin. Vous pourriez obtenir de l'aide sur quelque chose dont vous ne saviez même pas que vous en aviez besoin.
Ecrire des choses signifie plus que de la documentation technique. Chaque fois que vous ressentez le besoin d'écrire quelque chose ou de discuter en privé de votre projet, demandez-vous si vous pouvez le rendre public.
Soyez transparent au sujet de la feuille de route de votre projet, des types de contributions que vous recherchez, de la façon dont les contributions sont examinées ou des raisons pour lesquelles vous avez pris certaines décisions.
Si vous remarquez que plusieurs utilisateurs rencontrent le même problème, documentez les réponses dans le fichier README.
Pour les réunions, pensez à publier vos notes ou vos plats à emporter dans un numéro pertinent. Les commentaires que vous obtiendrez de ce niveau de transparence pourraient vous surprendre.
Documenter tout s'applique au travail que vous faites aussi. Si vous travaillez sur une mise à jour substantielle de votre projet, placez-la dans une pull request et marquez-la comme un travail en cours (WIP). De cette façon, d'autres personnes peuvent se sentir impliquées dans le processus dès le début.
### Soyez réactif
Comme vous [faites la promotion de votre projet](../finding-users), les gens auront des commentaires pour vous. Ils peuvent avoir des questions sur la façon dont les choses fonctionnent, ou ont besoin d'aide pour commencer.
Essayez d'être réactif lorsque quelqu'un soumet une issue, une pull request ou une question à propos de votre projet. Lorsque vous répondez rapidement, les gens ont l'impression de participer à un dialogue, et ils seront plus enthousiastes à l'idée de participer.
Même si vous ne pouvez pas examiner la demande immédiatement, le reconnaître au début permet d'augmenter l'engagement. Voici comment @tdreyno a répondu à une pull request sur [Middleman](https://github.com/middleman/middleman/pull/1466):

[Une étude de Mozilla a trouvé que](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) les contributeurs qui ont reçu des avis de code dans les 48 heures avaient un taux de rendement beaucoup plus élevé et recommençaient a contribuer.
Des conversations sur votre projet pourraient également avoir lieu dans d'autres endroits sur Internet, tels que Stack Overflow, Twitter ou Reddit. Vous pouvez configurer des notifications dans certains de ces endroits afin d'être averti lorsque quelqu'un mentionne votre projet.
### Donnez à votre communauté point de rassemblement
Il y a deux raisons de donner à votre communauté un point de rassemblement.
La première raison est pour eux. Aidez les gens à se connaître. Les personnes ayant des intérêts communs voudront inévitablement un endroit pour en parler. Et quand la communication est publique et accessible, n'importe qui peut lire les archives passées pour se mettre au courant et participer.
La deuxième raison est pour vous. Si vous ne donnez pas aux gens un lieu public pour parler de votre projet, ils vous contacteront probablement directement. Au début, il peut sembler assez facile de répondre aux messages privés "juste une fois". Mais au fil du temps, surtout si votre projet devient populaire, vous serez épuisé. Résistez à la tentation de communiquer avec des personnes au sujet de votre projet en privé. Au lieu de cela, dirigez-les vers un canal public désigné.
La communication publique peut être aussi simple que de diriger les gens à ouvrir une issue au lieu de vous envoyer directement un e-mail ou de commenter votre blog. Vous pouvez également créer une liste de diffusion ou créer un compte Twitter, Slack ou un canal IRC pour que les gens puissent parler de votre projet. Ou essayez tout ce qui précède !
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) réserve des heures de bureau toutes les deux semaines pour aider les membres de la communauté:
> Kops a également du temps mis de côté toutes les deux semaines pour offrir de l'aide et des conseils à la communauté. Les mainteneurs de Kops ont convenu de consacrer du temps spécifiquement dédié au travail avec les nouveaux arrivants, en aidant sur les PR, et en discutant de nouvelles fonctionnalités.
Les exceptions notables à la communication publique sont: 1) les problèmes de sécurité et 2) les violations de code de conduite sensibles. Vous devriez toujours avoir un moyen pour les gens de signaler ces problèmes en privé. Si vous ne souhaitez pas utiliser votre adresse e-mail personnelle, configurez une adresse e-mail dédiée.
## Cultiver votre communauté
Les communautés sont extrêmement puissantes. Ce pouvoir peut être une bénédiction ou une malédiction, selon la façon dont vous l'utilisez. Au fur et à mesure que la communauté de votre projet grandit, il existe des moyens de l'aider à devenir une force de construction, pas de destruction.
### Ne tolérez pas les mauvais acteurs
Tout projet populaire attirera inévitablement des gens qui nuisent à votre communauté plutôt que de l'aider. Ils peuvent lancer des débats inutiles, ergoter sur des fonctionnalités triviales, ou intimider les autres.
Faites de votre mieux pour adopter une politique de tolérance zéro envers ces types de personnes. Si rien n'est fait, les personnes négatives mettront mal à l'aise les autres membres de votre communauté. Ils peuvent même partir.
Des débats réguliers sur des aspects triviaux de votre projet distraient les autres, y compris vous, de se concentrer sur des tâches importantes. Les nouvelles personnes qui arrivent à votre projet peuvent voir ces conversations et ne veulent pas participer.
Lorsque vous voyez un comportement négatif se produire sur votre projet, appelez-le publiquement. Expliquez, d'un ton ferme mais ferme, pourquoi leur comportement n'est pas acceptable. Si le problème persiste, vous devrez peut-être [leur demander de partir](../code-of-conduct/#appliquer-votre-code-de-conduite). Votre [code de conduite](../code-of-conduct/) peut être un guide constructif pour ces conversations.
### Rencontrez les contributeurs là où ils sont
Une bonne documentation devient seulement plus importante au fur et à mesure que votre communauté se développe. Les contributeurs occasionnels, qui ne connaissent peut-être pas votre projet, lisent votre documentation pour obtenir rapidement le contexte dont ils ont besoin.
Dans votre fichier CONTRIBUTING, expliquez explicitement aux nouveaux contributeurs comment démarrer. Vous pouvez même créer une section dédiée à cet effet. [Django](https://github.com/django/django), par exemple, a une page de destination spéciale pour accueillir de nouveaux contributeurs.

Dans votre liste d'issue en attente, étiquetez les bogues qui conviennent à différents types de contributeurs : par exemple, [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, ou _"documentation"_. [Ces étiquettes](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) facilitent l'analyse rapide de vos issues par une personne nouvelle dans votre projet de commencer.
Enfin, utilisez votre documentation pour que les gens se sentent les bienvenus à chaque étape du processus.
Vous n'interagirez jamais avec la plupart des personnes qui atterrissent sur votre projet. Il se peut que vous ayez reçu des contributions parce que quelqu'un se sentait intimidé ou ne savait pas par où commencer. Même quelques mots gentils peuvent empêcher quelqu'un de quitter votre projet avec de la frustration.
Par exemple, voici comment [Rubinius](https://github.com/rubinius/rubinius/) commence [son guide de contribution] (https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md) :
> Nous voulons commencer par vous dire merci d'utiliser Rubinius. Ce projet est un travail d'amour, et nous apprécions tous les utilisateurs qui détectent les bogues, améliorent les performances et aident à la documentation. Chaque contribution est significative, alors merci de votre participation. Cela étant dit, voici quelques lignes directrices que nous vous demandons de suivre afin que nous puissions résoudre votre problème avec succès.
### Partager la propriété de votre projet
Les gens sont enthousiastes à l'idée de contribuer à des projets lorsqu'ils éprouvent un sentiment d'appartenance. Cela ne signifie pas que vous devez retourner la vision de votre projet ou accepter des contributions que vous ne voulez pas. Mais plus vous donnez du crédit aux autres, plus ils resteront.
Voyez si vous pouvez trouver le moyen de partager la propriété avec votre communauté autant que possible. Voici quelques idées:
* **Résistez à corriger les bogues faciles (non critiques).** Utilisez-les plutôt comme des opportunités de recruter de nouveaux contributeurs, ou d'encadrer quelqu'un qui aimerait contribuer. Cela peut sembler anormal au début, mais votre investissement sera rentable au fil du temps. Par exemple, @michaeljoseph a demandé à un contributeur de soumettre une pull request sur une issue [Cookiecutter](https://github.com/audreyr/cookiecutter) ci-dessous, plutôt que de le réparer lui-même.

* **Démarrez un fichier CONTRIBUTORS ou AUTHORS dans votre projet** qui répertorie tous ceux qui ont contribué à votre projet, comme [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* Si vous avez une communauté importante **, envoyez un bulletin d'information ou rédigez un article** remerciant les contributeurs. [La semaine de Rust](https://this-week-in-rust.org/) et celle de Hoodie [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) sont deux bons exemples.
* **Donnez à chaque contributeur un droit de commit.** @felixge a trouvé que cela rendait les gens [plus excités de fignoler leurs patches](https://felixge.de/2013/03/11/the-pull-request-hack.html ), et il a même trouvé de nouveaux responsables pour des projets sur lesquels il n'avait pas travaillé depuis longtemps.
* Si votre projet est sur GitHub, **déplacez votre projet de votre compte personnel vers un [compte Organisation](https://help.github.com/articles/creating-a-new-organization-account/)** et ajoutez au moins un administrateur de sauvegarde. Les organisations facilitent le travail sur des projets avec des collaborateurs externes.
La réalité est que [la plupart des projets ont seulement](https://peerj.com/preprints/1233/) un ou deux mainteneurs qui font la plupart du travail. Plus votre projet est important et plus votre communauté est grande, plus il est facile de trouver de l'aide.
Même s'il se peut que vous ne trouviez pas toujours quelqu'un pour répondre à l'appel, envoyer un signal augmente les chances que d'autres personnes interviennent. Plus tôt vous commencerez, plus tôt les gens pourront vous aider.
## Résoudre les conflits
Au début de votre projet, prendre des décisions importantes est facile. Quand vous voulez faire quelque chose, vous le faites simplement.
Au fur et à mesure que votre projet gagne en popularité, de plus en plus de gens s'intéresseront aux décisions que vous prendrez. Même si vous n'avez pas une grande communauté de contributeurs, si votre projet compte beaucoup d'utilisateurs, vous trouverez des personnes qui pèsent sur les décisions ou qui soulèvent des problèmes.
Pour la plupart, si vous avez cultivé une communauté amicale et respectueuse et documenté vos processus ouvertement, votre communauté devrait être capable de trouver une solution. Mais parfois, vous rencontrez un problème qui est un peu plus difficile à résoudre.
### Mettre la barre pour la gentillesse
Lorsque votre communauté est aux prises avec un problème difficile, la colère peut monter. Les gens peuvent devenir fâchés ou frustrés et s'en prendre à un autre ou à vous.
Votre travail en tant que mainteneur consiste à éviter l'escalade de ces situations. Même si vous avez une opinion forte sur le sujet, essayez de prendre la position d'un modérateur ou d'un facilitateur, plutôt que de vous jeter dans la bagarre et de faire valoir vos points de vue. Si quelqu'un est méchant ou accapare la conversation, [agissez immédiatement](../building-community/#ne-tolérez-pas-les-mauvais-acteurs) pour garder les discussions civiles et productives.
D'autres personnes se tournent vers vous pour obtenir des conseils. Donner le bon exemple. Vous pouvez toujours exprimer votre déception, votre tristesse ou votre inquiétude, mais faites-le calmement.
Garder son calme n'est pas facile, mais faire preuve de leadership améliore la santé de votre communauté. L'internet vous remercie.
### Traitez votre fichier README en tant que constitution
Votre fichier README est [plus qu'un simple jeu d'instructions](../starting-a-project/#ecrire-un-fichier-readme). C'est aussi un endroit où parler de vos objectifs, de votre vision du produit et de votre feuille de route. Si les gens sont trop concentrés sur le débat sur le mérite d'une fonctionnalité particulière, il peut être utile de revoir votre fichier README et de parler de la vision plus élevée de votre projet. En vous concentrant sur votre fichier README, vous dépersonnalisez la conversation, ce qui vous permet d'avoir une discussion constructive.
### Focus sur le voyage, pas la destination
Certains projets utilisent un processus de vote pour prendre des décisions importantes. Bien que raisonnable à première vue, le vote met l'accent sur le fait d'arriver à une "réponse", plutôt que d'écouter et de répondre aux préoccupations de l'autre.
Le vote peut devenir politique, où les membres de la communauté se sentent poussés à se faire des faveurs ou à voter d'une certaine manière. Pas tout le monde vote, que ce soit la [majorité silencieuse](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) dans votre communauté, ou les utilisateurs actuels qui ne savaient pas qu'un vote avait lieu.
Parfois, le vote est un arbitre nécessaire. Cependant, autant que vous le pouvez, insistez sur ["recherche de consensus"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) plutôt que sur un consensus.
Dans le cadre d'un processus de recherche de consensus, les membres de la communauté discutent des préoccupations majeures jusqu'à ce qu'ils sentent qu'ils ont été suffisamment entendus. Lorsque seules des préoccupations mineures subsistent, la communauté va de l'avant. La recherche d'un consensus reconnaît qu'une communauté peut ne pas être capable d'atteindre une réponse parfaite. Au lieu de cela, il donne la priorité à l'écoute et à la discussion.
Même si vous n'adoptez pas un processus de recherche de consensus, en tant que responsable de projet, il est important que les gens sachent que vous écoutez. Faire en sorte que les autres se sentent entendus, et s'engager à résoudre leurs problèmes, contribue grandement à la diffusion des situations sensibles. Ensuite, suivez vos mots avec des actions.
Ne vous précipitez pas dans une décision pour avoir une résolution. Assurez-vous que tout le monde se sente entendu et que toutes les informations ont été rendues publiques avant de passer à une résolution.
### Maintenir la conversation centrée sur l'action
La discussion est importante, mais il y a une différence entre les conversations productives et improductives.
Encouragez la discussion tant qu'elle avance activement vers la résolution. S'il est clair que la conversation est en train de languir ou de sortir du sujet, les jabs deviennent personnels, ou les gens ergotent sur des détails mineurs, il est temps de les fermer.
Permettre ces conversations de continuer n'est pas seulement mauvais pour le problème en question, mais mauvais pour la santé de votre communauté. Il envoie un message que ces types de conversations sont autorisés ou même encouragés, et cela peut décourager les gens de relever ou de résoudre des futures issues.
Avec chaque point que vous ou d'autres avez fait valoir, demandez-vous:_"Comment cela nous rapproche-t-il d'une résolution ?"_
Si la conversation commence à se dérouler, demandez au groupe: _"Quelles étapes devrions-nous prendre ensuite ?"_ Pour recentrer la conversation.
Si une conversation ne va clairement nulle part, il n'y a pas de mesures claires à prendre, ou les mesures appropriées ont déjà été prises, fermez l'issue et expliquez pourquoi vous l'avez fermé.
### Choisissez vos batailles avec sagesse
Le contexte est important. Considérez qui est impliqué dans la discussion et comment il représente le reste de la communauté.
Est-ce que tout le monde dans la communauté est mécontent, voir même concerné par ce problème ? Ou est ce un fauteur de troubles solitaire ? N'oubliez pas de considérer vos membres de la communauté silencieuse, pas seulement les voix actives.
Si le problème ne représente pas les besoins plus larges de votre communauté, vous devrez peut-être simplement prendre en compte les préoccupations de quelques personnes. S'il s'agit d'un problème récurrent sans résolution claire, indiquez-le aux discussions précédentes sur le sujet et fermez le fil.
### Identifier un arbitre communautaire
Avec une bonne attitude et une communication claire, la plupart des situations difficiles peuvent être résolues. Cependant, même dans une conversation productive, il peut simplement y avoir une différence d'opinion sur la façon de procéder. Dans ces cas, identifiez un individu ou un groupe de personnes pouvant servir d'arbitre d'égalité.
Un arbitre pourrait être le principal responsable du projet, ou il pourrait s'agir d'un petit groupe de personnes qui prendrait une décision en fonction du vote. Idéalement, vous avez identifié une condition de départage et le processus associé dans un fichier GOVERNANCE avant de devoir l'utiliser.
Votre bris d'égalité devrait être un dernier recours. Les problèmes diviseurs sont une opportunité pour votre communauté de grandir et d'apprendre. Adoptez ces opportunités et utilisez un processus collaboratif pour passer à une résolution dans la mesure du possible.
## La communauté est le ❤️ de l'open source
Des communautés saines et prospères alimentent les milliers d'heures consacrées à l'open source chaque semaine. Beaucoup de contributeurs pointent vers d'autres personnes comme la raison de travailler - ou ne pas travailler - sur l'open source. En apprenant comment exploiter ce pouvoir de manière constructive, vous aiderez quelqu'un à vivre une expérience open source inoubliable.
================================================
FILE: _articles/fr/code-of-conduct.md
================================================
---
lang: fr
title: Votre code de conduite
description: Faciliter un comportement communautaire sain et constructif en adoptant et en appliquant un code de conduite.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Pourquoi un code de conduite
Un code de conduite est un document qui établit des attentes de comportement pour les participants de votre projet. Adopter et appliquer un code de conduite peut aider à créer une atmosphère sociale positive pour votre communauté.
Les codes de conduite aident à protéger non seulement vos participants, mais vous-même. Si vous maintenez un projet, vous constaterez peut-être que les attitudes improductives des autres participants peuvent vous fatiguer ou vous faire sentir malheureux au sujet de votre travail au fil du temps.
Un code de conduite vous permet de faciliter un comportement communautaire sain et constructif. Être proactif réduit la probabilité que vous, ou d'autres, soyez fatigué avec votre projet, et vous aide à agir lorsque quelqu'un fait quelque chose avec lequel vous n'êtes pas d'accord.
## Etablir un code de conduite
Essayez d'établir un code de conduite le plus tôt possible: idéalement, dès que vous créez votre projet.
En plus de communiquer vos attentes, un code de conduite décrit ce qui suit:
* Où le code de conduite prend effet _(uniquement sur les issues et les pull request, ou les activités communautaires comme les événements ?)_
* Qui le code de conduite s'applique-t-il _(membres de la communauté et les mainteneurs, mais qu'en est-il des sponsors ?)_
* Que se passe-t-il si quelqu'un enfreint le code de conduite
* Comment quelqu'un peut-il signaler les violations
Quand vous le pouvez, utilisez l'existant. Le [Contributor Covenant](https://contributor-covenant.org/) est un code de conduite qui est utilisé par plus de 40 000 projets open source, y compris Kubernetes, Rails et Swift.
Le [Django Code of Conduct](https://www.djangoproject.com/conduct/) et le [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) sont également deux bons exemples de code de conduite.
Placez un fichier CODE_OF_CONDUCT dans le répertoire racine de votre projet et rendez-le visible pour votre communauté en le liant à votre fichier CONTRIBUTING ou README.
## Décider comment vous allez appliquer votre code de conduite
Vous devrez expliquer comment votre code de conduite sera appliqué **_avant_** qu'une violation se produise. Il y a plusieurs raisons de le faire:
* Cela montre que vous êtes capable de prendre les mesures nécessaires quand il y a besoin.
* Votre communauté se sentira plus rassurée que les plaintes soient réellement examinées.
* Vous rassurez votre communauté sur le fait que le processus d'examen est juste et transparent, si jamais ils se retrouvaient à enquêter sur une violation.
Vous devriez donner aux gens un moyen privé (comme une adresse e-mail) de signaler une violation du code de conduite et d'expliquer qui reçoit ce rapport. Il pourrait s'agir d'un responsable, d'un groupe de responsables ou d'un groupe de travail sur le code de conduite.
N'oubliez pas que quelqu'un pourrait vouloir signaler une violation à propos d'une personne qui reçoit ces rapports. Dans ce cas, donnez-leur la possibilité de signaler les violations à quelqu'un d'autre. Par exemple, @ctb et @mr-c [expliquent sur leur projet](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer) :
> Les cas de comportement abusif, harcelant ou autrement inacceptable peuvent être signalés en envoyant un courriel à **khmer-project@idyll.org**, ce qui ne concerne que C. Titus Brown et Michael R. Crusoe. Pour signaler un problème concernant l'un ou l'autre d'entre eux, veuillez envoyer un courriel à **Judi Brown Clarke, Ph. D.** Directrice de la diversité au Centre BEACON pour l'étude de l'évolution en action, un centre NSF pour la science et la technologie.*
Pour l'inspiration, consultez le [manuel d'application](https://www.djangoproject.com/conduct/enforcement-manual/) de Django (bien que vous n'ayez pas besoin de quelque chose d'aussi complet, selon la taille de votre projet).
## Appliquer votre code de conduite
Parfois, malgré tous vos efforts, quelqu'un va faire quelque chose qui viole ce code. Il existe plusieurs façons d'aborder les comportements négatifs ou nuisibles quand ils surviennent.
### Recueillir des informations sur la situation
Traitez la voix de chaque membre de la communauté comme étant aussi importante que la vôtre. Si vous recevez un signalement de quelqu'un qui a enfreint le code de conduite, prenez-le au sérieux et faites une enquête, même si cela ne correspond pas à votre propre expérience avec cette personne. Cela indique à votre communauté que vous appréciez leur point de vue et faites confiance à leur jugement.
Le membre de la communauté en question peut être un récidiviste qui incite constamment les autres à se sentir mal à l'aise, ou il se peut qu'ils aient seulement dit ou fait quelque chose une fois. Les deux peuvent être des motifs d'action, selon le contexte.
Avant de répondre, donnez-vous le temps de comprendre ce qui s'est passé. Lisez les commentaires et les conversations passés de la personne pour mieux comprendre qui ils sont et pourquoi ils ont agi de cette façon. Essayez de recueillir des points de vues autres que le vôtre au sujet de cette personne et de son comportement.
### Prendre les mesures appropriées
Après avoir recueilli et traité suffisamment d'informations, vous devrez décider quoi faire. Lorsque vous considérez vos prochaines étapes, n'oubliez pas que votre objectif en tant que modérateur est de favoriser un environnement sûr, respectueux et collaboratif. Ne considérez pas seulement comment faire face à la situation en question, mais comment votre réponse affectera le reste du comportement et les attentes de votre communauté à aller de l'avant.
Quand quelqu'un signale une violation du code de conduite, c'est votre travail, et non le leur, que de le gérer. Parfois, le déclarant divulgue des informations mettant en péril sa carrière, sa réputation ou sa sécurité physique. Les forcer à affronter son harceleur pourrait mettre le déclarant dans une position compromettante. Vous devez gérer la communication directe avec la personne en question, à moins que le déclarant ne demande explicitement le contraire.
Il existe plusieurs façons de répondre à une violation du code de conduite:
* **Donnez à la personne en question un avertissement public** et expliquez comment son comportement a eu un impact négatif sur les autres, de préférence dans le canal où il s'est produit. Dans la mesure du possible, la communication publique indique au reste de la communauté que vous prenez le code de conduite au sérieux. Soyez gentil, mais ferme dans votre communication.
* **Communiquer en privé avec la personne** en question pour lui expliquer comment son comportement a eu un impact négatif sur les autres. Vous pouvez utiliser un canal de communication privé si la situation implique des informations personnelles sensibles. Si vous communiquez avec quelqu'un en privé, c'est une bonne idée de mettre en copie ceux qui ont d'abord signalé la situation, alors ils savent que vous avez pris des mesures. Dans ce cas, demandez le consentement du déclarant avant.
Parfois, une résolution ne peut pas être atteinte. La personne en question peut devenir agressive ou hostile lorsqu'elle est confrontée ou ne change pas son comportement. Dans cette situation, vous pouvez envisager de prendre des mesures plus énergiques. Par exemple:
* **Suspendre la personne** en question du projet, imposée par une interdiction temporaire de participer à tout aspect du projet
* **Interdire définitivement** la personne du projet
Interdire les membres ne devrait pas être pris à la légère et représente une différence de perspective permanente et irréconciliable. Vous ne devriez prendre ces mesures que lorsqu'il est clair qu'une résolution ne peut pas être atteinte.
## Vos responsabilités en tant que mainteneur
Un code de conduite n'est pas une loi imposée arbitrairement. Vous êtes l'exécutant du code de conduite et il est de votre responsabilité de suivre les règles établies par le code de conduite.
En tant que responsable, vous établissez les lignes directrices pour votre communauté et appliquez ces directives conformément aux règles énoncées dans votre code de conduite. Cela signifie prendre au sérieux tout rapport d'une violation du code de conduite. Les déclarants ont droit à un examen approfondi et équitable de leurs plaintes. Si vous déterminez que le comportement signalé n'est pas une violation, communiquez-le clairement et expliquez pourquoi vous n'allez pas agir. Ce qu'ils feront avec cela leur appartient: tolérer le comportement avec lequel ils ont un problème ou cesser de participer à la communauté.
Un rapport de comportement qui ne viole pas _théoriquement_ le code de conduite peut toujours indiquer qu'il y a un problème dans votre communauté, et vous devriez étudier ce problème potentiel et agir en conséquence. Cela peut inclure la révision de votre code de conduite pour clarifier un comportement acceptable et/ou parler à la personne dont le comportement a été signalé et lui signaler que bien qu'il n'ai pas enfreint le code de conduite, il est en train de contourner ce qui en est attendu et que certain participants en sont mal à l'aise.
En fin de compte, en tant que responsable, vous définissez et appliquez les normes pour un comportement acceptable. Vous avez la capacité de façonner les valeurs communautaires du projet, et les participants s'attendent à ce que vous appliquiez ces valeurs de manière juste et équitable.
## Encouragez le comportement que vous voulez voir dans le monde 🌎
Quand un projet semble hostile ou peu accueillant, même si ce n'est qu'une personne dont le comportement est toléré par les autres, vous risquez de perdre beaucoup plus de contributeurs, dont certains ne se rencontreront peut-être jamais. Il n'est pas toujours facile d'adopter ou d'appliquer un code de conduite, mais favoriser un environnement accueillant aidera votre communauté à grandir.
================================================
FILE: _articles/fr/finding-users.md
================================================
---
lang: fr
title: Trouver des utilisateurs pour votre projet
description: Aidez votre projet Open Source à se développer en le mettant entre les mains d'utilisateurs satisfaits.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Passer le mot
Il n'y a pas de règle qui stipule que vous devez promouvoir un projet open source lors de votre lancement. Il existe de nombreuses raisons satisfaisantes de travailler en open source qui n'ont rien à voir avec la popularité. Au lieu d'espérer que les autres trouveront et utiliseront votre projet open source, vous devez passer le mot au sujet de votre dur labeur !
## Bien concevoir votre message
Avant de commencer le travail de promotion de votre projet, vous devriez être en mesure d'expliquer ce qu'il fait et pourquoi c'est important.
Qu'est-ce qui rend votre projet différent ou intéressant ? Pourquoi l'avez-vous créé ? Répondre à ces questions par vous-même vous aidera à communiquer l'importance de votre projet.
Rappelez-vous que les gens s'impliquent en tant qu'utilisateurs et deviennent éventuellement des contributeurs, car votre projet résout un problème pour eux. En réfléchissant au message et à la valeur de votre projet, essayez de les voir sous l'angle de ce que les _utilisateurs et les contributeurs_ pourraient vouloir.
Par exemple, @robb utilise des exemples de code pour expliquer clairement pourquoi son projet, [Cartography](https://github.com/robb/Cartography), est utile:

Pour plus d'information concernant la messagerie, consultez l'exercice de Mozilla ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) pour développer des utilisateurs.
## Aidez les gens à trouver et à suivre votre projet
Aidez les internautes à trouver et à retenir votre projet en les pointant vers un espace de nom unique.
**Ayez une poignée claire pour promouvoir votre travail.** Un Twitter, une URL GitHub, ou un canal IRC est un moyen facile de diriger les gens vers votre projet. Ces points de vente permettent également à la communauté grandissante de votre projet de se réunir.
Si vous ne souhaitez pas encore créer de points de vente pour votre projet, faites la promotion de votre propre compte Twitter ou GitHub dans tout ce que vous faites. La promotion de votre compte Twitter ou GitHub permettra aux gens de savoir comment vous contacter ou suivre votre travail. Si vous parlez lors d'une rencontre ou d'un événement, assurez-vous que vos coordonnées sont incluses dans votre bio ou vos diapositives.
**Envisagez de créer un site Web pour votre projet.** Un site Web rend votre projet plus convivial et plus facile à parcourir, surtout lorsqu'il est associé à une documentation et à des tutoriels clairs. Avoir un site Web suggère également que votre projet est actif, ce qui rendra votre auditoire plus à l'aise pour l'utiliser. Donnez des exemples pour donner aux gens des idées sur la façon d'utiliser votre projet.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), co-créateur de Django, a déclaré qu'un site web était _"de loin la meilleure chose que nous ayons faite avec Django au début"_.
Si votre projet est hébergé sur GitHub, vous pouvez utiliser [les Pages GitHub](https://pages.github.com/) pour créer facilement un site web. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), et [Middleman](https://middlemanapp.com/) sont [quelques exemples](https://github.com/showcases/github-pages-examples) d'excellents sites Web complets.

Maintenant que vous avez un message pour votre projet et un moyen facile pour les gens de trouver votre projet, allez-y et parlez à votre auditoire !
## Allez là où se trouve le public de votre projet (en ligne)
La sensibilisation en ligne est un excellent moyen de partager et de répandre le mot rapidement. En utilisant les canaux en ligne, vous avez le potentiel d'atteindre un très large public.
Tirez parti des communautés et des plateformes en ligne existantes pour atteindre votre public. Si votre projet open source est un projet logiciel, vous pouvez probablement trouver votre public sur [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), ou [Quora](https://www.quora.com/). Trouvez les canaux dont vous pensez que les gens vont le plus tirer profit ou seront le plus enthousiasmés par votre travail.
Voyez si vous pouvez trouver des moyens de partager votre projet de manière pertinente :
* **Apprenez à connaître les projets open source pertinents et les communautés.** Parfois, vous n'avez pas à promouvoir directement votre projet. Si votre projet est parfait pour les scientifiques de données qui utilisent Python, familiarisez-vous avec la communauté de la science des données Python. Au fur et à mesure que les gens vous connaîtront, des occasions naturelles se présenteront pour parler et partager votre travail.
* **Trouvez des personnes rencontrant le problème que votre projet résout.** Recherchez dans les forums connexes pour les personnes qui tombent dans le public cible de votre projet. Répondez à leur question et trouvez avec tact un moyen de suggérer votre projet comme solution.
* **Demandez des commentaires.** Présentez-vous et votre travail à un public qui le trouverait pertinent et intéressant. Soyez précis au sujet de qui, selon vous, bénéficierait de votre projet. Essayez de finir la phrase: _"Je pense que mon projet aiderait vraiment X, qui essaye de faire Y"_. Écoutez et répondez aux commentaires des autres, plutôt que de simplement promouvoir votre travail.
En général, concentrez-vous sur l'aide aux autres avant de demander des choses en retour. Parce que n'importe qui peut facilement promouvoir un projet en ligne, il y aura beaucoup de bruit. Pour se démarquer de la foule, donnez aux gens un contexte pour ce que vous êtes et pas seulement ce que vous voulez.
Si personne ne fait attention ou répond à vos premiers contacts, ne vous découragez pas ! La plupart des lancements de projets sont un processus itératif qui peut prendre des mois ou des années. Si vous n'obtenez pas de réponse la première fois, essayez une tactique différente, ou cherchez d'abord des façons d'ajouter de la valeur au travail des autres. La promotion et le lancement de votre projet demandent du temps et du dévouement.
## Allez là où se trouve le public de votre projet (hors ligne)

Les événements hors ligne sont un moyen populaire de promouvoir de nouveaux projets auprès des publics. Ils constituent un excellent moyen d'atteindre un public engagé et de tisser des liens humains plus profonds, en particulier si vous souhaitez toucher les développeurs.
Si vous êtes [nouveau sur la prise de parole en public](https://speaking.io/), commencez par trouver une rencontre locale liée à la langue ou à l'écosystème de votre projet.
Si vous n'avez jamais parlé à un événement auparavant, il est tout à fait normal de vous sentir nerveux ! Rappelez-vous que votre auditoire est là parce qu'il veut vraiment entendre parler de votre travail.
Au fur et à mesure que vous écrivez votre exposé, concentrez-vous sur ce que votre auditoire trouvera intéressant et dont vous tirerez profit. Gardez votre ton amical et accessible. Souriez, respirez et amusez-vous.
Lorsque vous êtes prêt, envisagez de prendre la parole lors d'une conférence pour promouvoir votre projet. Les conférences peuvent vous aider à atteindre plus de gens, parfois de partout dans le monde.
Recherchez des conférences spécifiques à votre langue ou à votre écosystème. Avant de soumettre votre exposé, faites des recherches sur la conférence pour adapter votre discours aux participants et augmenter vos chances d'être accepté pour prendre la parole à la conférence. Vous pouvez souvent avoir une idée de votre auditoire en regardant les conférenciers d'une conférence.
## Construire une réputation
En plus des stratégies décrites ci-dessus, la meilleure façon d'inviter les gens à partager et à contribuer à votre projet est de partager et de contribuer à leurs projets.
Aider les nouveaux arrivants, partager des ressources et apporter une contribution réfléchie aux projets des autres vous aidera à vous bâtir une réputation positive. Être un membre actif dans la communauté open source aidera les gens à avoir un contexte pour votre travail et sera plus susceptible de prêter attention et de partager votre projet. Développer des relations avec d'autres projets open source peut même conduire à des partenariats officiels.
Il n'est jamais trop tôt ou trop tard pour commencer à bâtir votre réputation. Même si vous avez déjà lancé votre propre projet, continuez de chercher des moyens d'aider les autres.
Il n'y a pas de solution du jour au lendemain pour créer un public. Gagner la confiance et le respect des autres prend du temps, et bâtir votre réputation ne s'arrête jamais.
## Persévérez !
Cela peut prendre beaucoup de temps avant que les gens remarquent votre projet open source. C'est bon ! Certains des projets les plus populaires aujourd'hui ont pris des années pour atteindre des niveaux d'activité élevés. Concentrez-vous sur l'établissement de relations au lieu d'espérer que votre projet gagnera spontanément en popularité. Soyez patient et continuez à partager votre travail avec ceux qui l'apprécient.
================================================
FILE: _articles/fr/getting-paid.md
================================================
---
lang: fr
title: Etre payé pour faire de l'Open Source
description: Soutenez votre travail en Open Source en obtenant un soutien financier pour votre temps ou votre projet.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Pourquoi certaines personnes cherchent un soutien financier
Une grande partie du travail open source est volontaire. Par exemple, une personne peut rencontrer un bogue dans un projet qu'elle utilise et soumettre une solution rapide, ou alors, elle peut s'amuser à bricoler un projet open source pendant son temps libre.
Il y a plusieurs raisons pour lesquelles une personne ne voudrait pas être payée pour son travail open source.
* **Ils ont peut-être déjà un emploi à temps plein qu'ils aiment**, ce qui leur permet de contribuer à l'open source pendant leur temps libre.
* **Ils aiment penser à l'open source comme un passe-temps** ou une évasion créative et ne veulent pas se sentir financièrement obligés de travailler sur leurs projets.
* **Ils ont d'autres avantages à contribuer à l'open source**, comme bâtir leur réputation ou leur portfolio, apprendre une nouvelle compétence ou se sentir plus proches d'une communauté.
Pour d'autres, surtout lorsque les contributions sont en cours ou demandent beaucoup de temps, être payé pour contribuer à l'open source est la seule façon de participer, soit parce que le projet l'exige, soit pour des raisons personnelles.
Maintenir des projets populaires peut être une responsabilité importante, en prenant 10 ou 20 heures par semaine au lieu de quelques heures par mois.
Le travail rémunéré permet également aux personnes de différents horizons de faire des contributions significatives. Certaines personnes ne peuvent pas se permettre de consacrer du temps non rémunéré à des projets Open Source, en fonction de leur situation financière actuelle, de leur dette, de leur famille ou d'autres obligations. Cela signifie que le monde ne voit jamais les contributions de personnes talentueuses qui ne peuvent pas se permettre de faire du bénévolat. Cela a des implications éthiques, comme @ashedryden [a décrit](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), puisque le travail qui est fait est biaisés en faveur de ceux qui ont déjà des avantages dans la vie, qui obtiennent ensuite des avantages supplémentaires en fonction de leurs contributions bénévoles, tandis que d'autres qui ne peuvent pas faire de bénévolat n'obtiennent pas d'opportunités ultérieures, ce qui renforce le manque de diversité au sein de la communauté de l'open source.
Si vous cherchez un soutien financier, il y a deux pistes à considérer. Vous pouvez financer votre propre temps en tant que contributeur, ou vous pouvez trouver un financement organisationnel pour le projet.
## Financer votre temps
Aujourd'hui, beaucoup de gens sont payés pour travailler à temps plein ou à temps partiel. La façon la plus courante d'être payé pour votre temps est de parler à votre employeur.
Il est plus facile de plaider en faveur du travail open source si votre employeur utilise réellement le projet, mais soyez créatif avec votre argumentaire. Peut-être que votre employeur n'utilise pas le projet, mais ils utilisent Python, et le maintien d'un projet populaire Python aide à attirer de nouveaux développeurs Python. Peut-être que cela rend votre employeur plus convivial en général.
Si vous n'avez pas de projet Open Source sur lequel vous souhaitez travailler, mais préférez que votre travail actuel soit ouvert, demandez à votre employeur d'ouvrir certains de ses logiciels internes.
De nombreuses entreprises développent des programmes open source pour construire leur marque et recruter des talents de qualité.
@hueniverse, par exemple, a trouvé qu'il y avait des raisons financières pour justifier [l'investissement de Walmart dans l'open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). Et @jamesgpearce a trouvé que le programme open source de Facebook [a fait une différence](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) dans le recrutement:
> Il est étroitement lié à notre culture de hackers et à la perception de notre organisation. Nous avons demandé à nos employés: "Connaissiez-vous le logiciel Open Source sur Facebook ?" Les deux tiers ont dit "Oui". La moitié a déclaré que le programme a contribué positivement à leur décision de travailler pour nous. Ce ne sont pas des chiffres marginaux, et j'espère, une tendance qui se poursuit.
Si votre entreprise suit cette voie, il est important de garder les limites entre les activités communautaires et corporatives. En fin de compte, l'open source s'appuie sur les contributions de personnes du monde entier, et c'est plus important que n'importe quelle entreprise ou emplacement.
Si vous ne pouvez pas convaincre votre employeur actuel d'accorder la priorité au travail open source, envisagez de trouver un nouvel employeur qui encourage les contributions des employés à l'open source. Cherchez des entreprises qui rendent explicite leur dévouement au travail open source. Par exemple :
* Certaines entreprises, comme [Netflix](https://netflix.github.io/), ont des sites Web qui soulignent leur implication dans l'open source
Les projets provenant d'une grande entreprise, tels que [Go](https://github.com/golang) ou [React](https://github.com/facebook/react), emploieront probablement des personnes pour travailler sur Open source.
Enfin, en fonction de votre situation personnelle, vous pouvez essayer de collecter des fonds de manière indépendante pour financer votre travail open source. Par exemple :
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon a fait financer son travail sur [Redux](https://github.com/reactjs/redux) via une [campagne de crowdfunding sur Patreon](https://redux.js.org/)
* @andrewgodwin a fait financer le travail sur les migrations de schémas Django [à travers une campagne Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
## Trouver du financement pour votre projet
Au-delà des arrangements pour les contributeurs individuels, les projets recueillent parfois des fonds auprès d'entreprises, de particuliers ou d'autres pour financer des travaux en cours.
Le financement organisationnel pourrait servir à payer les contributeurs actuels, à couvrir les coûts de gestion du projet (tels que les frais d'hébergement) ou à investir dans de nouvelles fonctionnalités ou idées.
À mesure que la popularité de l'open source augmente, la recherche de financement pour des projets est encore expérimentale, mais il existe quelques options communes disponibles.
### Gagnez de l'argent pour votre travail grâce à des campagnes de crowdfunding ou de parrainage
Trouver des commandites fonctionne bien si vous avez déjà un public ou une réputation solide, ou si votre projet est très populaire.
Quelques exemples de projets sponsorisés incluent:
* **[webpack](https://github.com/webpack)** collecte des fonds auprès des entreprises et des particuliers [via OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** une organisation à but non lucratif qui paie pour travailler sur [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), et d'autres projets d'infrastructure Ruby
### Créer un flux de revenus
En fonction de votre projet, vous pouvez facturer un support commercial, des options hébergées ou des fonctionnalités supplémentaires. Quelques exemples incluent:
* **[Sidekiq](https://github.com/mperham/sidekiq)** propose des versions payantes pour un support supplémentaire
* **[Travis CI](https://github.com/travis-ci)** offre des versions payantes de son produit
* **[Ghost](https://github.com/TryGhost/Ghost)** est un organisme à but non lucratif avec un service géré payant
Certains projets populaires, tels que [npm](https://github.com/npm/cli) et [Docker](https://github.com/docker/docker), permettent même de lever du capital-risque pour soutenir la croissance de leur entreprise.
### Demande de financement
Certaines fondations de logiciels et sociétés offrent des subventions pour le travail open source. Parfois, des subventions peuvent être versées à des personnes sans créer une entité juridique pour le projet.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** a reçu une subvention de [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** le travail a été financé par [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** a reçu une subvention de la [Sloan Foundation](https://sloan.org/programs/digital-technology)
* La **[Python Software Foundation](https://www.python.org/psf/grants/)** offre des subventions pour les travaux liés à Python
Pour des options plus détaillées et des études de cas, @nayafia [a écrit un guide](https://github.com/nayafia/lemonade-stand) pour être payé pour le travail open source. Différents types de financement nécessitent des compétences différentes, alors considérez vos forces pour déterminer quelle option vous convient le mieux.
## Bâtir un dossier pour un soutien financier
Que votre projet soit une nouvelle idée, ou qu'il existe depuis des années, vous devriez vous attendre à réfléchir sérieusement à l'identification de votre bailleur de fonds cible et à présenter un cas convaincant.
Que vous cherchiez à payer pour votre temps libre ou à collecter des fonds pour un projet, vous devriez être en mesure de répondre aux questions suivantes.
### Impact
Pourquoi ce projet est-il utile ? Pourquoi vos utilisateurs, ou les utilisateurs potentiels, l'apprécient-ils autant ? Où sera-ce dans cinq ans ?
### Traction
Essayez de recueillir des preuves que votre projet compte, que ce soit des mesures, des anecdotes ou des témoignages. Y a-t-il des entreprises ou des personnes remarquables qui utilisent votre projet en ce moment ? Si non, une personne en vue l'a-t-elle approuvée ?
### Valeur au donateur
Les bailleurs de fonds, que ce soit votre employeur ou une fondation subventionnaire, sont fréquemment approchés avec des opportunités. Pourquoi devraient-ils soutenir votre projet par rapport à toute autre opportunité ? Comment en bénéficient-ils personnellement ?
### Utilisation des fonds
Qu'allez-vous accomplir exactement avec le financement proposé ? Concentrez-vous sur les jalons ou les résultats du projet plutôt que de payer un salaire.
### Comment vous recevrez les fonds
Le bailleur de fonds a-t-il des exigences en matière de déboursement ? Par exemple, vous devrez peut-être être un but non lucratif ou avoir un sponsor fiscal à but non lucratif. Ou peut-être que les fonds doivent être donnés à un entrepreneur individuel plutôt qu'à une organisation. Ces exigences varient selon les bailleurs de fonds, alors assurez-vous de faire vos recherches à l'avance.
## Expérimentez et n'abandonnez pas
Il n'est pas facile de gagner de l'argent, qu'il s'agisse d'un projet open source, d'un but non lucratif ou d'un démarrage de logiciel, et dans la plupart des cas, vous devez être créatif. Identifier comment vous voulez être payé, faire votre recherche, et vous mettre dans la peau de votre bailleur de fonds vous aidera à construire un argument convaincant pour le financement.
================================================
FILE: _articles/fr/how-to-contribute.md
================================================
---
lang: fr
title: Comment contribuer à l'Open Source
description: Vous voulez contribuer à l'Open Source ? Un guide pour faire des contributions Open Source, pour les débutants et pour les vétérans.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Pourquoi contribuer à l'open source
Contribuer à l'open source peut être une manière enrichissante d'apprendre, d'enseigner et de construire une expérience dans presque toutes les compétences que vous pouvez imaginer.
Pourquoi les gens contribuent-ils à l'open source ? Beaucoup de raisons !
### Améliorer les compétences existantes
Que ce soit le codage, la conception de l'interface utilisateur, la conception graphique, la rédaction ou l'organisation, si vous cherchez de la pratique, il y a une tâche pour vous sur un projet open source.
### Rencontrez des gens qui s'intéressent à des choses similaires
Les projets Open Source avec des communautés chaleureuses et accueillantes font que les gens reviennent pendant des années. Beaucoup de gens forment des amitiés à vie grâce à leur participation à l'open source, que ce soit dans le cadre de conférences ou de bavardages en ligne tard dans la nuit sur les burritos.
### Trouver des mentors et enseigner aux autres
Travailler avec d'autres sur un projet partagé signifie que vous devrez expliquer comment vous faites les choses, ainsi que de demander de l'aide à d'autres personnes. Les actes d'apprentissage et d'enseignement peuvent être une activité enrichissante pour tous ceux qui sont impliqués.
### Construire des artefacts publics qui vous aident à acquérir une réputation (et une carrière)
Par définition, tout votre travail open source est public, ce qui signifie que vous obtenez des exemples gratuits à emporter pour démontrer ce que vous pouvez faire.
### Apprendre les compétences des personnes
L'Open Source offre des opportunités de pratiquer des compétences de leadership et de gestion, telles que la résolution de conflits, l'organisation d'équipes de personnes et la hiérarchisation du travail.
### Cela permet de faire des changements, même les plus petits
Vous n'avez pas besoin de devenir un contributeur permanent pour profiter de la participation à l'open source. Avez-vous déjà vu une faute de frappe sur un site Web et souhaité que quelqu'un la corrige ? Sur un projet open source, vous pouvez le faire. L'Open Source aide les gens à se sentir interpellés par leur vie et leur expérience du monde, ce qui est en soi gratifiant.
## Que signifie contribuer
Si vous êtes un nouveau contributeur open source, le processus peut être intimidant. Comment trouvez-vous le bon projet ? Que faire si vous ne savez pas coder ? Et si quelque chose ne va pas ?
Ne pas s'inquiéter ! Il y a toutes sortes de façons de s'impliquer dans un projet open source, et quelques conseils vous aideront à tirer le meilleur parti de votre expérience.
### Vous n'avez pas à contribuer au code
Une idée commune fausse sur la contribution à l'open source est que vous devez contribuer au code. En fait, ce sont souvent les autres parties d'un projet qui sont [le plus négligées ou négligées](https://github.com/blog/2195-the-shape-of-open-source). Vous allez faire une faveur au projet en offrant de participer à ces types de contributions !
Même si vous aimez écrire du code, d'autres types de contributions sont un excellent moyen de s'impliquer dans un projet et de rencontrer d'autres membres de la communauté. Construire ces relations vous donnera l'opportunité de travailler sur d'autres parties du projet.
### Aimez-vous la planification d'événements ?
* Organiser des ateliers ou des meetups sur le projet, [comme @fzamperin a fait pour NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Organiser la conférence du projet (s'ils en ont une)
* Aider les membres de la communauté à trouver les bonnes conférences et soumettre des propositions de talk
### Aimez-vous créer ?
* Restructurer les mises en page pour améliorer la convivialité du projet
* Effectuer des recherches utilisateur pour réorganiser et affiner la navigation ou les menus du projet, [comme suggère Drupal](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Mettre en place un guide de style pour aider le projet à avoir un design visuel cohérent
* Créer de l'art pour des t-shirts ou un nouveau logo, [comme les contributeurs de hapi.js l'ont fait](https://github.com/hapijs/contrib/issues/68)
### Aimez-vous écrire ?
* Écrire et améliorer la documentation du projet
* Curate un dossier d'exemples montrant comment le projet est utilisé
* Démarrer un bulletin d'information pour le projet, ou organiser des faits marquants de la liste de diffusion
* Rédiger des tutoriels pour le projet, [comme les contributeurs de PyPA l'ont fait](https://packaging.python.org/)
* Écrire une traduction pour la documentation du projet
### Aimez-vous l'organisation ?
* Lien vers des questions en double, et suggérer de nouveaux labels pour les issues, pour garder les choses organisées
* Passer en revue les problèmes ouverts et suggérer de fermer les anciens, [comme @nzakas a fait pour ESLint](https://github.com/eslint/eslint/issues/6765)
* Posez des questions de clarification sur les issues récemment ouvertes pour faire avancer la discussion
### Aimez-vous le code ?
* Trouver un problème ouvert à aborder, [comme @dianjin a fait pour Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Demandez si vous pouvez aider à écrire une nouvelle fonctionnalité
* Automatiser la configuration du projet
* Améliorer l'outillage et les tests
### Aimez-vous aider les gens ?
* Répondez aux questions sur le projet sur, par exemple, Stack Overflow ([comme cet exemple Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) ou Reddit
* Répondre aux questions pour les personnes sur les questions ouvertes
* Aider à modérer les forums de discussion ou les canaux de conversation
### Aimez-vous aider les autres ?
* Réviser le code sur les soumissions d'autres personnes
* Écrire des tutoriels sur la façon dont un projet peut être utilisé
* Proposer de parrainer un autre contributeur, [comme @ereichert l'a fait pour @bronzdoc sur Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Il ne suffit pas de travailler sur des projets logiciels !
Alors que "open source" se réfère souvent à un logiciel, vous pouvez collaborer sur à peu près n'importe quoi. Il existe des livres, des recettes, des listes et des classes qui sont développés en tant que projets open source.
Par exemple:
* @sindresorhus gère une [liste de listes "géniales"](https://github.com/sindresorhus/awesome)
* @h5bp tient à jour une [liste des questions potentielles lors d'entretiens](https://github.com/h5bp/Front-end-Developer-Interview-Questions) pour les candidats développeurs
* @stuartlynn et @nicole-a-tesla ont fait une [collection de faits amusants sur les macareux](https://github.com/stuartlynn/puffin_facts)
Même si vous êtes un développeur de logiciels, travailler sur un projet de documentation peut vous aider à démarrer en open source. Il est souvent moins intimidant de travailler sur des projets qui n'impliquent pas de code, et le processus de collaboration renforcera votre confiance et votre expérience.
## S'orienter vers un nouveau projet
Pour tout ce qui n'est pas une faute de frappe, contribuer à l'open source, c'est comme aller à un groupe d'étrangers lors d'une fête. Si vous commencez à parler des lamas, alors qu'ils étaient plongés dans une discussion sur les poissons rouges, ils vous regarderont probablement un peu étrangement.
Avant de sauter à l'aveuglette avec vos propres suggestions, commencez par apprendre à lire la pièce. Cela augmente les chances que vos idées soient remarquées et entendues.
### Anatomie d'un projet open source
Chaque communauté open source est différente.
Passer des années sur un projet open source signifie que vous avez appris à connaître un projet open source. Déplacez-vous vers un projet différent, et vous pourriez trouver le vocabulaire, les normes et les styles de communication complètement différents.
Cela dit, de nombreux projets open source suivent une structure organisationnelle similaire. Comprendre les différents rôles de la communauté et le processus global vous aidera à vous orienter rapidement vers tout nouveau projet.
Un projet Open Source typique comprend les types de personnes suivants:
* **Auteur :** La personne / l'organisation qui a créé le projet
* **Propriétaire :** La ou les personnes qui ont la propriété administrative de l'organisation ou du repository (pas toujours les mêmes que l'auteur original)
* **Responsables :** Collaborateurs responsables de la vision et de la gestion des aspects organisationnels du projet. (Ils peuvent aussi être auteurs ou propriétaires du projet.)
* **Contributeurs :** Tous ceux qui ont contribué au projet.
* **Membres de la communauté :** Les personnes qui utilisent le projet. Ils peuvent être actifs dans les conversations ou exprimer leur opinion sur la direction du projet.
Les plus grands projets peuvent également avoir des sous-comités ou des groupes de travail axés sur différentes tâches, telles que l'outillage, le triage, la modération communautaire et l'organisation d'événements. Regardez sur le site Web d'un projet pour une page «équipe», ou dans le repository pour la documentation de gouvernance, pour trouver cette information.
Un projet a également une documentation. Ces fichiers sont généralement répertoriés à la racine d'un repository.
* **LICENCE :** Par définition, chaque projet open source doit avoir une [licence open source](https://choosealicense.com). Si le projet n'a pas de licence, il n'est pas open source.
* **README :** Le README est le manuel d'instructions qui accueille les nouveaux membres de la communauté au projet. Cela explique pourquoi le projet est utile et comment démarrer.
* **CONTRIBUTING :** Alors que les fichiers README aident les gens à utiliser le projet, les documents de contribution aident les gens à contribuer au projet. Il explique quels types de contributions sont nécessaires et comment le processus fonctionne. Bien que tous les projets n'aient pas de fichier CONTRIBUTING, sa présence indique qu'il s'agit d'un projet accueillant auquel contribuer.
* **CODE_OF_CONDUCT :** Le code de conduite établit des règles de base pour le comportement des participants et contribue à faciliter un environnement amical et accueillant. Bien que tous les projets n'aient pas de fichier CODE_OF_CONDUCT, sa présence indique qu'il s'agit d'un projet accueillant auquel contribuer.
* **Autre documentation :** Il pourrait y avoir de la documentation supplémentaire, comme des tutoriels, des procédures pas à pas, ou des politiques de gouvernance, en particulier sur des projets plus importants.
Enfin, les projets open source utilisent les outils suivants pour organiser la discussion. La lecture des archives vous donnera une bonne idée de la façon dont la communauté pense et travaille.
* **Suivi des issues :** Lorsque les gens discutent des issues liés au projet.
* **Pull Requests :** Où les gens discutent et examinent les changements en cours.
* **Forums de discussion ou listes de diffusion :** Certains projets peuvent utiliser ces canaux pour des sujets conversationnels (par exemple, _"Comment puis-je..."_ ou _"Que pensez-vous de..."_ au lieu d'un rapport de bug ou demandes de fonctionnalités). D'autres utilisent le suivi des issues pour toutes les conversations.
* **Canal de discussion synchrone :** Certains projets utilisent des canaux de discussion (tels que Slack ou IRC) pour des conversations informelles, la collaboration et des échanges rapides.
## Trouver un projet auquel contribuer
Maintenant que vous avez compris comment fonctionnent les projets open source, il est temps de trouver un projet auquel contribuer !
Si vous n'avez jamais contribué à l'open source auparavant, prenez quelques conseils du président américain John F. Kennedy, qui a dit: _"Ne demandez pas ce que votre pays peut faire pour vous - demandez ce que vous pouvez faire pour votre pays."_
Contribuer à l'open source se produit à tous les niveaux, à travers les projets. Vous n'avez pas besoin de trop réfléchir sur ce que sera exactement votre première contribution ou sur ce à quoi elle ressemblera.
Au lieu de cela, commencez par penser aux projets que vous utilisez déjà ou que vous voulez utiliser. Les projets auxquels vous contribuez activement sont ceux auxquels vous revenez.
Dans ces projets, chaque fois que vous pensez que quelque chose pourrait être meilleur ou différent, agissez selon votre instinct.
L'open source n'est pas un club exclusif. C'est fait par des gens comme vous. "Open source" est juste un terme de fantaisie pour traiter les problèmes du monde comme réparable.
Vous pouvez scanner un fichier README et trouver un lien cassé ou une faute de frappe. Ou vous êtes un nouvel utilisateur et vous avez remarqué que quelque chose est cassé, ou un problème que vous pensez devrait vraiment être dans la documentation. Au lieu de l'ignorer et de passer à autre chose, ou de demander à quelqu'un d'autre de le réparer, voyez si vous pouvez aider en faisant un descriptif du problème. C'est cela l'open source !
> [28% des contributions occasionnelles](https://www.igor.pro.br/publica/papers/saner2016.pdf) à l'open source sont de la documentation, une correction de faute de frappe, un reformatage ou l'écriture d'une traduction.
Vous pouvez également utiliser l'une des ressources suivantes pour vous aider à découvrir et à contribuer à de nouveaux projets :
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Une checklist avant de contribuer
Lorsque vous avez trouvé un projet auquel vous souhaitez contribuer, effectuez une analyse rapide pour vous assurer que le projet est adapté à l'acceptation des contributions. Sinon, votre travail acharné pourrait ne jamais avoir de réponse.
Voici une liste de contrôle pratique pour évaluer si un projet est bon pour les nouveaux contributeurs.
**Répondre à la définition de l'open source**
**Le projet accepte activement les contributions**
Regardez l'activité des commits sur la branche principale. Sur GitHub, vous pouvez voir cette information sur la page d'accueil d'un repository.
Ensuite, regardez les issues du projet.
Faites la même chose pour les pull requests du projet.
**Le projet est accueillant**
Un projet convivial et accueillant signale qu'il sera réceptif aux nouveaux contributeurs.
## Comment proposer une contribution
Vous avez trouvé un projet que vous aimez et vous êtes prêt à apporter votre contribution. Enfin ! Voici comment obtenir votre contribution de la bonne façon.
### Communiquer efficacement
Que vous soyez un contributeur ponctuel ou que vous essayiez de rejoindre une communauté, travailler avec les autres est l'une des compétences les plus importantes que vous développerez dans l'open source.
Avant d'ouvrir une issue ou une pull request, ou de poser une question dans une discussion, gardez ces points à l'esprit pour que vos idées soient bien comprises.
**Donner le contexte.** Aider les autres à se mettre rapidement à jour. Si vous rencontrez une erreur, expliquez ce que vous essayez de faire et comment le reproduire. Si vous suggérez une nouvelle idée, expliquez pourquoi vous pensez que ce serait utile pour le projet (pas seulement pour vous !).
> 😇 _"X n'arrive pas quand je fais Y"_
>
> 😢 _"X est cassé ! Veuillez le réparer."_
**Faites vos devoirs à l'avance.** C'est OK de ne pas savoir des choses, mais montrez que vous avez essayé. Avant de demander de l'aide, assurez-vous de consulter le fichier README, la documentation, les issues (ouvertes ou fermées), la liste de diffusion et la recherche sur Internet pour obtenir une réponse. Les gens apprécieront quand vous démontrerez que vous essayez d'apprendre.
> 😇 _"Je ne sais pas comment implémenter X. J'ai vérifié les documents d'aide et je n'ai trouvé aucune mention."_
>
> 😢 _"Comment puis-je X ?"_
**Gardez les demandes courtes et directes.** Tout comme pour l'envoi d'un courriel, chaque contribution, aussi simple ou utile soit-elle, nécessite l'avis de quelqu'un d'autre. De nombreux projets ont plus de demandes entrantes que de personnes disponibles pour aider. Soyez concis. Vous augmenterez les chances que quelqu'un puisse vous aider.
> 😇 _"J'aimerais écrire un tutoriel sur l'API."_
>
> 😢 _"Je roulais sur l'autoroute l'autre jour et je me suis arrêté pour faire le plein d'essence, et puis j'ai eu cette idée incroyable pour quelque chose que nous devrions faire, mais avant que j'explique cela, laissez-moi vous montrer..."_
**Gardez toute communication publique.** Bien que cela soit tentant, ne communiquez pas avec les responsables en privé à moins que vous ayez besoin de partager des informations sensibles (comme un problème de sécurité ou une violation grave de la conduite). Lorsque vous maintenez la conversation publique, plus de personnes peuvent apprendre et bénéficier de votre échange. Les discussions peuvent être, en elles-mêmes, des contributions.
> 😇 _(comme un commentaire) "@-mainainer Salut ! Comment devrions-nous procéder sur cette PR ?"_
>
> 😢 _(comme un e-mail) "Hello, désolé de vous déranger par e-mail, mais je me demandais si vous aviez eu l'occasion de revoir mes pull requests ?"_
**Il est acceptable de poser des questions (mais soyez patient!).** Tout le monde était nouveau au projet à un moment donné, et même les contributeurs expérimentés ont besoin de se mettre à jour quand ils regardent un nouveau projet. De même, même les responsables de longue date ne sont pas toujours familiers avec chaque partie du projet. Montrez-leur la même patience que vous voudriez qu'ils vous montrent.
> 😇 _"Merci d'avoir examiné cette erreur, j'ai suivi vos suggestions, voici la sortie."_
>
> 😢 _"Pourquoi ne voulez-vous pas résoudre mon problème, n'est-ce pas votre projet ?"_
**Respectez les décisions de la communauté.** Vos idées peuvent différer des priorités ou de la vision de la communauté. Ils peuvent offrir des commentaires ou décider de ne pas poursuivre votre idée. Alors que vous devriez discuter et chercher des compromis, les responsables doivent vivre avec votre décision plus longtemps que vous ne le ferez. Si vous n'êtes pas d'accord avec leur direction, vous pouvez toujours travailler sur votre propre fork ou démarrer votre propre projet.
> 😇 _"Je suis déçu que vous ne puissiez pas supporter mon cas d'utilisation, mais comme vous l'avez expliqué, cela ne concerne qu'une partie mineure des utilisateurs, je comprends pourquoi."_
>
> 😢 _"Pourquoi ne soutenez-vous pas mon cas d'utilisation ? C'est inacceptable !"_
**Surtout, gardez-le classique.** L'open source est composé de collaborateurs du monde entier. Le contexte se perd dans les langues, les cultures, les zones géographiques et les fuseaux horaires. De plus, la communication écrite rend plus difficile la transmission d'un ton ou d'une humeur. Supposer de bonnes intentions dans ces conversations. Il est bon de repousser poliment une idée, de demander plus de contexte ou de clarifier davantage votre position. Juste essayer de laisser l'Internet un meilleur endroit que lorsque vous l'avez trouvé.
### Rassembler le contexte
Avant de faire quoi que ce soit, faites une vérification rapide pour vous assurer que votre idée n'a pas été discutée ailleurs. Parcourez le fichier README du projet, les issues (ouvertes et fermées), la liste de diffusion et Stack Overflow. Vous n'avez pas à passer des heures à tout faire, mais une recherche rapide de quelques termes clés va aider.
Si vous ne trouvez pas votre idée ailleurs, vous êtes prêt à faire un geste. Si le projet est sur GitHub, vous communiquerez probablement en ouvrant une issue ou une pull request :
* **Les issues** sont comme démarrer une conversation ou une discussion
* **Les Pull Request** sont pour commencer à travailler sur une solution
* **Pour une communication légère,** comme une question de clarification ou de procédure, essayez de demander sur Stack Overflow, IRC, Slack ou d'autres canaux de discussion, si le projet en a un.
Avant d'ouvrir une issue ou une pull request, vérifiez les documents de contribution du projet (généralement un fichier appelé CONTRIBUTING, ou dans le fichier README), pour voir si vous devez inclure quelque chose de spécifique. Par exemple, ils peuvent vous demander de suivre un modèle ou d'exiger que vous utilisiez des tests.
Si vous voulez apporter une contribution substantielle, ouvrez une issue pour demander avant de travailler dessus. Il est utile de regarder le projet pendant un moment (sur GitHub, [vous pouvez cliquer sur "Watch"](https://help.github.com/articles/watching-repositories/) pour être averti de toutes les conversations), et arriver à connaître les membres de la communauté, avant de faire un travail qui pourrait ne pas être accepté.
### Ouvrir une issue
Vous devrez généralement ouvrir une issue dans les situations suivantes:
* Signaler une erreur que vous ne pouvez pas résoudre vous-même
* Discuter d'un sujet ou d'une idée de haut niveau (par exemple, communauté, vision ou politiques)
* Proposer une nouvelle fonctionnalité ou une autre idée de projet
Conseils pour communiquer sur les problèmes:
* **Si vous voyez un problème ouvert auquel vous voulez vous attaquer,** commentez le problème pour faire savoir aux autres que vous travaillez dessus. De cette façon, les gens seront moins susceptibles de dupliquer votre travail.
* **Si une issue a été ouverte il y a un certain temps,** il est possible qu'elle soit adressée ailleurs ou qu'elle ait déjà été résolue, alors commentez pour demander une confirmation avant de commencer le travail.
* **Si vous avez ouvert une issue, mais que vous avez trouvé la réponse plus tard,** commentez l'issue pour informer les gens, puis fermez-la. Même documenter ce résultat est une contribution au projet.
### Ouvrir une Pull Request
Vous devrez généralement ouvrir une pull request dans les situations suivantes :
* Soumettre des corrections triviales (par exemple, une faute de frappe, un lien cassé ou une erreur évidente)
* Commencer à travailler sur une contribution qui a déjà été demandée, ou dont vous avez déjà discuté, dans une issue
Une pull request n'a pas à représenter le travail fini. Il est généralement préférable d'ouvrir une pull request au début afin que les autres puissent regarder ou donner leur avis sur vos progrès. Il suffit de marquer "WIP" (Work in Progress) dans la ligne d'objet. Vous pouvez toujours ajouter plus de commits plus tard.
Si le projet est sur GitHub, voici comment soumettre une pull request:
* **[Forker le repository](https://guides.github.com/activities/forking/)** et clonez-le localement. Connectez votre repository local au repository original "upstream" en l'ajoutant en tant que remote. Pullez souvent des changements de "upstream" de sorte que vous restiez à jour afin que lorsque vous soumettez votre pull request, les conflits de merge seront moins probables. (Voir plus d'instructions détaillées [ici](https://help.github.com/articles/syncing-a-fork/).)
* **[Créer une branche](https://guides.github.com/introduction/flow/)** pour vos modifications.
* **Faites référence à toutes les questions pertinentes** ou aux éléments de documentations dans votre PR (par exemple, «Close #37»).
* **Inclure des captures d'écran avant et après** si vos modifications incluent des différences en HTML/CSS. Faites glisser et déposez les images dans le corps de votre pull request.
* **Testez vos modifications !** Exécutez vos modifications par rapport aux tests existants s'ils existent et créez-en de nouveaux si nécessaire. Que les tests existent ou non, assurez-vous que vos modifications ne cassent pas le projet existant.
* **Contribuer dans le style du projet** au mieux de vos capacités. Cela peut signifier utiliser des indentations, des points-virgules ou des commentaires différemment de ce que vous feriez dans votre propre repository, mais il est plus facile pour le mainteneur de fusionner, d'autres à comprendre et à maintenir dans le futur.
S'il s'agit de votre première Pull Request, consultez [Make a Pull Request](http://makeapullrequest.com/), que @kentcdodds a créé comme didacticiel vidéo. Vous pouvez également vous entraîner à faire une pull request dans le repository [Premières contributions](https://github.com/Roshanjossey/first-contributions), créé par @Roshanjossey.
## Que se passe-t-il après avoir proposé une contribution
Vous l'avez fait ! Félicitations pour devenir un contributeur open source. Nous espérons que c'est le premier de plusieurs.
Après avoir soumis une contribution, l'un des événements suivants se produira:
### 😭 Vous n'obtenez pas de réponse.
J'espère que vous avez [vérifié les signes d'activité dans le projet](#une-checklist-avant-de-contribuer) avant de faire une contribution. Même sur un projet actif, il est possible que votre contribution n'obtienne pas de réponse.
Si vous n'avez pas reçu de réponse depuis plus d'une semaine, il est juste de répondre poliment dans ce même fil, en demandant à quelqu'un de donner son avis. Si vous connaissez le nom de la bonne personne à consulter votre contribution, vous pouvez @-mentionner dans ce fil.
**Ne pas** tendre la main à cette personne en privé. Rappelez-vous que la communication publique est vitale pour les projets open source.
Si vous faites une contribution et que personne ne répond, il est possible que personne ne réponde, jamais. Ce n'est pas génial, mais ne vous laissez pas décourager. C'est arrivé à tout le monde ! Il y a plusieurs raisons possibles pour lesquelles vous n'avez pas reçu de réponse, y compris des circonstances personnelles qui peuvent être hors de votre contrôle. Essayez de trouver un autre projet ou un moyen de contribuer. Si c'est le cas, c'est une bonne raison de ne pas consacrer trop de temps à faire une contribution avant que les autres membres de la communauté soient engagés et réceptifs.
### 🚧 Quelqu'un demande des modifications à votre contribution.
Il est courant que l'on vous demande d'apporter des modifications à votre contribution, qu'il s'agisse de commentaires sur la portée de votre idée ou de modifications apportées à votre code.
Quand quelqu'un demande des changements, soyez flexible. Ils ont pris le temps d'examiner votre contribution. Ouvrir une PR et passer à autre chose est une mauvaise idée. Si vous ne savez pas comment faire des changements, recherchez le problème, puis demandez de l'aide si vous en avez besoin.
Si vous n'avez plus le temps de travailler sur le problème (par exemple, si la conversation dure depuis des mois et que votre situation a changé), informez le responsable pour qu'il n'attende pas de réponse. Quelqu'un d'autre peut être heureux de prendre le relais.
### 👎 Votre contribution ne sera pas acceptée.
Votre contribution peut ou pas être acceptée à la fin. J'espère que vous n'y avez pas déjà mis trop de travail. Si vous ne savez pas pourquoi cela n'a pas été accepté, il est tout à fait raisonnable de demander des commentaires et des éclaircissements au responsable. En fin de compte, cependant, vous devrez respecter que c'est leur décision. Ne discutez pas et ne soyez pas hostile. Vous êtes toujours le bienvenu pour forker et travailler sur votre propre version si vous n'êtes pas d'accord !
### 🎉 Votre contribution est acceptée.
Hourra! Vous avez réussi à faire une contribution open source!
## Vous l'avez fait!
Que vous veniez de faire votre première contribution open source, ou que vous cherchiez de nouvelles façons de contribuer, nous espérons que vous êtes inspirés à agir. Même si votre contribution n'a pas été acceptée, n'oubliez pas de dire merci quand un responsable a fait des efforts pour vous aider. L'open source est créé par des personnes comme vous: une issue, une pull request, un commentaire ou une salutation à la fois.
================================================
FILE: _articles/fr/index.html
================================================
---
layout: index
title: Open Source Guides
lang: fr
permalink: /fr/
---
================================================
FILE: _articles/fr/leadership-and-governance.md
================================================
---
lang: fr
title: Leadership et gouvernance
description: Les projets Open Source en croissance peuvent bénéficier de règles formelles pour prendre des décisions.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Comprendre la gouvernance pour votre projet en croissance
Votre projet prend de l'ampleur, les gens sont mobilisés et vous êtes engagé à poursuivre dans cette voie. À ce stade, vous allez peut-être vous demander comment incorporer les contributeurs réguliers du projet dans votre flux de travail, que ce soit en donnant à quelqu'un l'accès à la validation ou en résolvant les débats de la communauté. Si vous avez des questions, nous avons des réponses.
## Quels sont les exemples de rôles formels utilisés dans les projets open source
De nombreux projets suivent une structure similaire pour les rôles contributeurs et la reconnaissance.
Qu'est-ce que ces rôles signifient réellement, cependant, est entièrement à vous. Voici quelques types de rôles que vous pouvez reconnaître:
* **Responsables**
* **Contributeur**
* **Committeur**
**Pour certains projets, les "responsables"** sont les seules personnes dans un projet ayant un accès en validation. Dans d'autres projets, ils sont simplement les personnes répertoriées dans le fichier README en tant que responsables.
Un responsable ne doit pas nécessairement être quelqu'un qui écrit du code pour votre projet. Ce pourrait être quelqu'un qui a fait beaucoup de travail pour évangéliser votre projet, ou une documentation écrite qui a rendu le projet plus accessible aux autres. Peu importe ce qu'ils font au jour le jour, un responsable est probablement quelqu'un qui se sent responsable de la direction du projet et qui est déterminé à l'améliorer.
**Un contributeur peut être n'importe quel personne** qui commente un problème ou une demande d'extraction, les personnes qui ajoutent de la valeur au projet (qu'il s'agisse de problèmes de triage, d'écriture de code ou d'organisation d'événements) ou toute personne ayant une pull request mergée (sans doute la définition la plus proche d'un contributeur).
**Le terme "committeur"** pourrait être utilisé pour distinguer le droit de commit, qui est un type spécifique de responsabilité, des autres formes de contribution.
Alors que vous pouvez définir vos rôles de projet comme vous le souhaitez, [pensez à utiliser des définitions plus larges](../how-to-contribute/#que-signifie-contribuer) pour encourager plus de formes de contribution. Vous pouvez utiliser des rôles de leadership pour reconnaître formellement les personnes qui ont apporté des contributions exceptionnelles à votre projet, indépendamment de leurs compétences techniques.
## Comment formaliser ces rôles de leadership
La formalisation de vos rôles de leadership aide les gens à se sentir concernés et indique aux autres membres de la communauté qui chercher de l'aide.
Pour un projet plus petit, la désignation des responsables peut être aussi simple que d'ajouter leurs noms à votre fichier texte README ou CONTRIBUTORS.
Pour un plus grand projet, si vous avez un site web, créez une page d'équipe ou faites une liste de vos chefs de projet. Par exemple, [Postgres](https://github.com/postgres/postgres/) a une [page d'équipe complète](https://www.postgresql.org/community/contributors/) avec des profils courts pour chaque contributeur.
Si votre projet a une communauté de contributeurs très active, vous pouvez former une équipe de responsables, ou même des sous-comités de personnes qui s'approprient différents domaines (par exemple, la sécurité, le tri des problèmes ou la conduite de la communauté). Laissez les gens s'organiser et faire du bénévolat pour les rôles qui les intéressent le plus, plutôt que de les assigner.
Les équipes de direction peuvent vouloir créer une chaîne désignée (comme sur IRC) ou se rencontrer régulièrement pour discuter du projet (comme sur Gitter ou Google Hangout). Vous pouvez même rendre ces réunions publiques afin que les autres puissent les écouter. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), par exemple, [héberge des heures de bureau chaque semaine](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Une fois que vous avez établi des rôles de leadership, n'oubliez pas de documenter comment les gens peuvent les atteindre ! Établissez un processus clair pour que quelqu'un puisse devenir responsable ou rejoindre un sous-comité dans votre projet, et l'écrire dans votre GOVERNANCE.md.
Des outils tels que [Vossibility](https://github.com/icecrime/vossibility-stack) peuvent vous aider à savoir qui contribue (ou non) au projet. Documenter cette information évite la perception de la communauté que les responsables sont une clique qui prend ses décisions en privé.
Enfin, si votre projet est sur GitHub, envisagez de transférer votre projet de votre compte personnel vers une organisation et d'ajouter au moins un administrateur de sauvegarde. [Les organisations GitHub](https://help.github.com/articles/creating-a-new-organization-account/) facilitent la gestion des permissions et des dépôts multiples et protègent l'héritage de votre projet par [propriété partagée](../building-community/#partager-la-propriété-de-votre-projet).
## Quand dois-je donner à quelqu'un le droit de commit
Certaines personnes pensent que vous devriez donner un droit de commit à tous ceux qui apportent une contribution. Cela pourrait encourager plus de personnes à se sentir propriétaires de votre projet.
D'un autre côté, en particulier pour les projets plus volumineux et plus complexes, vous pouvez ne donner que le droit de commit aux personnes qui ont démontré leur engagement. Il n'y a pas une bonne façon de le faire - faites ce qui vous est le plus confortable !
Si votre projet est sur GitHub, vous pouvez utiliser des [branches protégées](https://help.github.com/articles/about-protected-branches/) pour gérer qui peut pousser vers une branche particulière, et dans quelles circonstances.
## Quelles sont les structures de gouvernance communes pour les projets open source
Il existe trois structures de gouvernance communes associées aux projets open source.
* **BDFL :** BDFL, "Benevolent Dictator for Life", signifie "Dictateur bienveillant pour la vie". Sous cette structure, une personne (généralement l'auteur initial du projet) a le dernier mot sur toutes les grandes décisions de projet. [Python](https://github.com/python) est un exemple classique. Les projets plus petits sont probablement BDFL par défaut, car il n'y a qu'un ou deux responsables. Un projet qui provient d'une entreprise pourrait également tomber dans la catégorie BDFL.
* **Méritocratie :** **(Note: le terme "méritocratie" a des connotations négatives pour certaines communautés et a une [histoire sociale et politique complexe](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Dans le cadre d'une méritocratie, les contributeurs actifs du projet (ceux qui démontrent le «mérite») ont un rôle formel de prise de décision. Les décisions sont généralement prises sur la base d'un consensus de vote pur. Le concept de méritocratie a été mis au point par la [Fondation Apache](https://www.apache.org/). [Tous les projets Apache](https://www.apache.org/index.html#projects-list) sont des méritocraties. Les contributions ne peuvent être faites que par des personnes qui se représentent elles-mêmes, et non par une entreprise.
* **Contribution libérale :** Selon un modèle de contribution libérale, les personnes qui font le plus de travail sont reconnues comme les plus influentes, mais cela est basé sur le travail actuel et non sur les contributions historiques. Les grandes décisions de projet sont prises en fonction d'un processus de recherche de consensus (discuter des griefs majeurs) plutôt que d'un simple vote, et s'efforcent d'inclure autant de perspectives communautaires que possible. Exemples populaires de projets qui utilisent un modèle de contribution libérale : [Node.js](https://foundation.nodejs.org/) et [Rust](https://www.rust-lang.org/).
Lequel devriez-vous utiliser ? C'est à vous de décider ! Chaque modèle a des avantages et des compromis. Et bien qu'ils puissent sembler tout à fait différents au début, les trois modèles ont plus en commun qu'ils ne le semblent. Si vous souhaitez adopter l'un de ces modèles, consultez ces modèles :
* [Gabarit de modèle BDFL](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Gabarit de modèle de la méritocratie](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Politique de contribution libérale de Node.js](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Ai-je besoin de documents de gouvernance lorsque je lance mon projet
Il n'y a pas de bon moment pour écrire la gouvernance de votre projet, mais c'est beaucoup plus facile à définir une fois que vous avez vu la dynamique de votre communauté se jouer. La meilleure partie (et la plus difficile) de la gouvernance open source est qu'elle est façonnée par la communauté !
Certaines documentations préliminaires contribueront inévitablement à la gouvernance de votre projet, alors commencez à écrire ce que vous pouvez. Par exemple, vous pouvez définir des attentes claires pour le comportement ou le fonctionnement de votre processus contributeur, même au lancement de votre projet.
Si vous faites partie d'une entreprise qui lance un projet open source, cela vaut la peine d'avoir une discussion interne avant le lancement sur la manière dont votre entreprise prévoit de maintenir et de prendre des décisions concernant le projet. Vous pouvez également expliquer publiquement quelque chose de particulier à la façon dont votre entreprise sera (ou ne sera pas !) impliquée dans le projet.
## Que se passe-t-il si les employés de l'entreprise commencent à soumettre des contributions
Les projets open source réussis sont utilisés par de nombreuses personnes et entreprises, et certaines entreprises peuvent éventuellement avoir des sources de revenus liées au projet. Par exemple, une entreprise peut utiliser le code du projet comme un composant dans une offre de service commercial.
Comme le projet est de plus en plus utilisé, les personnes qui ont de l'expertise dans ce domaine deviennent de plus en plus demandées - vous pouvez être l'une d'entre elles ! - et seront parfois payés pour le travail qu'ils font dans le projet.
Il est important de traiter l'activité commerciale comme normale et comme une autre source d'énergie de développement. Les développeurs payés ne devraient pas recevoir un traitement spécial par rapport aux non-payés, bien sûr, chaque contribution doit être évaluée sur ses mérites techniques. Cependant, les gens devraient se sentir à l'aise de s'engager dans une activité commerciale, et se sentir à l'aise d'énoncer leurs cas d'utilisation lorsqu'ils argumentent en faveur d'une amélioration ou d'une caractéristique particulière.
"Commercial" est complètement compatible avec "open source". "Commercial" signifie simplement qu'il y a de l'argent impliqué quelque part - que le logiciel est utilisé dans le commerce, ce qui est de plus en plus probable au fur et à mesure qu'un projet est adopté. (Lorsque le logiciel open source est utilisé dans le cadre d'un produit non-open-source, le produit global est toujours un logiciel "propriétaire", bien que, comme open source, il puisse être utilisé à des fins commerciales ou non-commerciales.)
Comme tout le monde, les développeurs motivés par le commerce acquièrent une influence sur le projet grâce à la qualité et à la quantité de leurs contributions. Évidemment, un développeur payé pour son temps peut être capable de faire plus que quelqu'un qui n'est pas payé, mais c'est bon: le paiement est juste l'un des nombreux facteurs possibles qui pourraient affecter combien quelqu'un fait. Gardez vos discussions de projet axées sur les contributions, pas sur les facteurs externes qui permettent aux gens de faire ces contributions.
## Ai-je besoin d'une entité légale pour soutenir mon projet
Vous n'avez pas besoin d'une entité légale pour soutenir votre projet open source à moins que vous ne manipuliez de l'argent.
Par exemple, si vous souhaitez créer une entreprise commerciale, vous devez créer un C Corp ou LLC (si vous êtes basé aux États-Unis). Si vous ne faites que du travail contractuel lié à votre projet open source, vous pouvez accepter de l'argent en tant que propriétaire unique ou créer une LLC (si vous êtes basé aux États-Unis).
Si vous souhaitez accepter des dons pour votre projet open source, vous pouvez configurer un bouton de don (PayPal ou Stripe, par exemple), mais l'argent ne sera pas déductible d'impôt, sauf si vous êtes un organisme à but non lucratif (501c3, si vous êtes aux États-Unis).
Beaucoup de projets ne souhaitent pas se lancer dans la création d'un but non lucratif, ils trouvent donc un sponsor fiscal à but non lucratif. Un sponsor fiscal accepte les dons en votre nom, généralement en échange d'un pourcentage du don. [Software Freedom Conservancy](https://sfconservancy.org/), [Fondation Apache](https://www.apache.org/), [Fondation Eclipse](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) et [Open Collective](https://opencollective.com/opensource) sont des exemples d'organisations qui servent de sponsors fiscaux pour des projets open source.
Si votre projet est étroitement associé à une langue ou à un écosystème donné, il peut également exister une base de logiciel connexe avec laquelle vous pouvez travailler. Par exemple, [Python Software Foundation](https://www.python.org/psf/) prend en charge [PyPI](https://pypi.org/), le gestionnaire de paquets Python et la [Fondation Node.js](https://foundation.nodejs.org/) aide à prendre en charge [Express.js](https://expressjs.com/), un framework basé sur Node.
================================================
FILE: _articles/fr/legal.md
================================================
---
lang: fr
title: Le côté légal de l'Open Source
description: Tout ce que vous n'avez jamais osé demander sur le côté juridique de l'Open Source, et quelques autres.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Comprendre les implications juridiques de l'open source
Partager votre travail créatif avec le monde peut être une expérience passionnante et enrichissante. Cela peut aussi signifier un tas de choses juridiques dont vous ne saviez pas que vous aviez à vous soucier. Heureusement, vous n'avez pas à partir de zéro. Nous avons couvert vos besoins juridiques. (Avant de creuser, assurez-vous de lire notre [avertissement](/notices/).)
## Pourquoi les gens se soucient tellement du côté légal de l'open source
Content que vous ayez demandé ! Lorsque vous effectuez un travail de création (tel que l'écriture, les graphiques ou le code), ce travail est sous copyright exclusif par défaut. Autrement dit, la loi suppose qu'en tant qu'auteur de votre travail, vous avez votre mot à dire sur ce que les autres peuvent en faire.
En général, cela signifie que personne d'autre ne peut utiliser, copier, distribuer ou modifier votre travail sans risquer des démontages, des ruptures ou des litiges.
L'open source est une circonstance inhabituelle, cependant, parce que l'auteur s'attend à ce que d'autres utilisent, modifient et partagent le travail. Mais parce que le défaut légal est toujours le droit d'auteur exclusif, vous avez besoin d'une licence qui énonce explicitement ces autorisations.
Si vous n'appliquez pas de licence open source, tous ceux qui contribuent à votre projet deviennent également détenteurs exclusifs des droits d'auteur de leur travail. Cela signifie que personne ne peut utiliser, copier, distribuer ou modifier ses contributions - et que "personne" ne vous inclut.
Enfin, votre projet peut avoir des dépendances avec des exigences de licence dont vous n'étiez pas au courant. La communauté de votre projet ou les politiques de votre employeur peuvent également exiger que votre projet utilise des licences Open Source spécifiques. Nous couvrirons ces situations ci-dessous.
## Les projets publics GitHub sont-ils open source
Lorsque vous [créez un nouveau projet](https://help.github.com/articles/creating-a-new-repository/) sur GitHub, vous avez la possibilité de créer le repository **privé** ou **public**.

**Rendre public votre projet GitHub est différent d'appliquer une licence à votre projet.** Les projets publics sont couverts par les [Conditions d'utilisation de GitHub](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), ce qui permet aux autres de voir et de forker votre projet, mais par défaut aucune permission ne leur est accordé sur votre travail.
Si vous souhaitez que d'autres personnes utilisent, distribuent, modifient ou contribuent à votre projet, vous devez inclure une licence open source. Par exemple, quelqu'un ne peut légalement utiliser aucune partie de votre projet GitHub dans son code, même s'il est public, à moins que vous ne lui donniez explicitement le droit de le faire.
## Donnez-moi juste l'essentiel sur ce dont j'ai besoin pour protéger mon projet
Vous avez de la chance, car aujourd'hui, les licences open source sont standardisées et faciles à utiliser. Vous pouvez copier-coller une licence existante directement dans votre projet.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), et [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) sont les licences open source les plus populaires, mais il existe d'autres options à choisir. Vous pouvez trouver le texte intégral de ces licences, et des instructions sur la façon de les utiliser, sur [choosealicense.com](https://choosealicense.com/).
Lorsque vous créez un nouveau projet sur GitHub, vous serez [invité à ajouter une licence](https://help.github.com/articles/open-source-licensing/).
## Quelle licence open source est appropriée pour mon projet
Si vous démarrez à partir d'une page vierge, il est difficile de se tromper avec la [Licence MIT](https://choosealicense.com/licenses/mit/). Elle est courte, très facile à comprendre et permet à quiconque de faire quoi que ce soit tant qu'il conserve une copie de la licence, comprenant vos droits d'auteur. Vous pourrez lancer le projet sous une licence différente si vous en avez besoin.
Sinon, choisir la bonne licence open source pour votre projet dépend de vos objectifs.
Votre projet a très probablement (ou aura) **des dépendances**. Par exemple, si vous ouvrez un projet Node.js, vous utiliserez probablement des bibliothèques du Node Package Manager (npm). Chacune de ces bibliothèques dépendra de sa propre licence open source. Si chacune de leurs licences est "permissive" (donne au public l'autorisation d'utiliser, de modifier et de partager, sans condition pour les licences en aval), vous pouvez utiliser la licence que vous voulez. Les licences permissives courantes incluent MIT, Apache 2.0, ISC et BSD.
D'un autre côté, si l'une de vos licences de dépendances est "strong copyleft" (donne également les mêmes permissions publiques, sous condition d'utiliser la même licence en aval), alors votre projet devra utiliser la même licence. GPLv2, GPLv3 et AGPLv3 sont les principales licences communes de copyleft.
Vous pouvez également considérer les **communautés** que vous espérez utiliser et contribuer à votre projet :
* **Voulez-vous que votre projet soit utilisé comme une dépendance par d'autres projets ?** Il sera probablement préférable d'utiliser la licence la plus populaire dans votre communauté pertinente. Par exemple, [MIT](https://choosealicense.com/licenses/mit/) est la licence la plus populaire pour [les bibliothèques npm](https://libraries.io/search?platforms=NPM).
* **Voulez-vous que votre projet attire les grandes entreprises ?** Une grande entreprise voudra probablement une licence de brevet express de tous les contributeurs. Dans ce cas, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) vous couvrent (vous et eux).
* **Souhaitez-vous que votre projet fasse appel à des contributeurs qui ne souhaitent pas que leurs contributions soient utilisées dans des logiciels à code source fermé ?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) ou (si ils ne souhaitent pas non plus contribuer aux services à code source fermé) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) sera très bien également.
Votre **entreprise** peut avoir des exigences de licence spécifiques pour ses projets open source. Par exemple, il peut nécessiter une licence permissive afin que l'entreprise puisse utiliser votre projet dans le produit de source fermée de l'entreprise. Votre entreprise peut également exiger une licence copyleft forte et un accord de contribution supplémentaire (voir ci-dessous) afin que seule votre entreprise, et personne d'autre, puisse utiliser votre projet dans un logiciel à source fermée. Votre entreprise peut également avoir certains besoins liés aux normes, à la responsabilité sociale ou à la transparence, qui pourraient nécessiter une stratégie de licence particulière. Parlez à votre [service juridique de l'entreprise](#que-doit-savoir-léquipe-juridique-de-mon-entreprise).
Lorsque vous créez un nouveau projet sur GitHub, vous avez la possibilité de sélectionner une licence. Y compris l'une des licences mentionnées ci-dessus rendra votre projet open source GitHub. Si vous souhaitez voir d'autres options, consultez [choosealicense.com](https://choosealicense.com) pour trouver la bonne licence pour votre projet, même si elle [n'est pas un logiciel](https://choosealicense.com/non-software/).
## Et si je veux changer la licence de mon projet
La plupart des projets n'ont jamais besoin de changer de licence. Mais parfois les circonstances changent.
Par exemple, au fur et à mesure que votre projet prend de l'ampleur, il ajoute des dépendances ou des utilisateurs, ou votre entreprise change de stratégie, chacune d'entre elles pouvant exiger ou vouloir une licence différente. En outre, si vous avez négligé d'autoriser votre projet dès le départ, l'ajout d'une licence équivaut à changer de licence. Il y a trois choses fondamentales à prendre en compte lors de l'ajout ou de la modification de la licence de votre projet :
**C'est compliqué.** Déterminer la compatibilité et la conformité des licences et qui détient les droits d'auteur peut devenir compliqué et déroutant très rapidement. Passer à une nouvelle licence, mais compatible, pour les nouvelles versions et les contributions est différent de la redistribution de toutes les contributions existantes. Impliquez votre équipe juridique le premier indice de tout désir de changer de licence. Même si vous avez ou pouvez obtenir l'autorisation des titulaires de droits d'auteur de votre projet pour un changement de licence, tenez compte de l'impact de ce changement sur les autres utilisateurs et contributeurs de votre projet. Pensez à un changement de licence comme un "événement de gouvernance" pour votre projet qui se déroulera plus facilement avec des communications et des consultations claires avec les parties prenantes de votre projet. Raison de plus pour choisir et utiliser une licence appropriée pour votre projet dès sa création !
**Licence existante de votre projet.** Si la licence existante de votre projet est compatible avec la licence que vous souhaitez modifier, vous pouvez simplement commencer à utiliser la nouvelle licence. En effet, si la licence A est compatible avec la licence B, vous respecterez les termes de A tout en respectant les termes de B (mais pas nécessairement l'inverse). Donc, si vous utilisez actuellement une licence permissive (par exemple, MIT), vous pouvez changer pour une licence avec plus de conditions, tant que vous conservez une copie de la licence MIT et tous les avis de droits d'auteur associés (à savoir, continuer à se conformer à Conditions minimales de la licence MIT). Mais si votre licence actuelle n'est pas permissive (par exemple, copyleft, ou si vous n'avez pas de licence) et que vous n'êtes pas le seul détenteur des droits d'auteur, vous ne pouvez pas simplement changer la licence de votre projet au MIT. Essentiellement, avec une licence permissive, les détenteurs de droits d'auteur du projet ont donné leur permission à l'avance pour changer de licence.
**Les détenteurs de droits d'auteur existants de votre projet.** Si vous êtes le seul contributeur à votre projet, alors vous ou votre entreprise êtes le seul détenteur des droits d'auteur du projet. Vous pouvez ajouter ou modifier n'importe quelle licence que vous ou votre entreprise souhaitez. Sinon, il peut y avoir d'autres détenteurs de droits d'auteur dont vous avez besoin d'un accord pour changer de licence. Qui sont-ils ? Les personnes qui se sont engagées dans votre projet sont un bon point de départ. Mais dans certains cas, le droit d'auteur sera détenu par les employeurs de ces personnes. Dans certains cas, les gens n'auront fait que des contributions minimes, mais il n'y a pas de règle absolue que les contributions sous un certain nombre de lignes de code ne soient pas soumises au droit d'auteur. Que faire ? Cela dépend. Pour un projet relativement petit et jeune, il peut être possible d'obtenir que tous les contributeurs existants acceptent un changement de licence dans une issue ou une pull request. Pour les projets de grande envergure et de longue durée, vous devrez peut-être chercher de nombreux contributeurs et même leurs héritiers. Mozilla a pris des années (2001-2006) pour changer la license de Firefox, Thunderbird et les logiciels associés.
Alternativement, vous pouvez demander aux contributeurs d'accepter à l'avance (via un accord de contribution supplémentaire - voir ci-dessous) certains changements de licence sous certaines conditions, au-delà de celles autorisées par votre licence open source existante. Cela déplace un peu la complexité de la modification des licences. Vous aurez besoin de plus d'aide de la part de vos avocats et vous voudrez toujours communiquer clairement avec les parties prenantes de votre projet lors de l'exécution d'un changement de licence.
## Mon projet a-t-il besoin d'un accord de contribution supplémentaire
Probablement pas. Pour la grande majorité des projets open source, une licence open source sert implicitement à la fois de licence entrante (des contributeurs) et sortante (aux autres contributeurs et utilisateurs). Si votre projet est sur GitHub, les conditions d'utilisation de GitHub font de "inbound = outbound" le [paramètre par défaut explicite](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Un accord de contribution supplémentaire - souvent appelé Accord de licence de contributeur (CLA) - peut créer un travail administratif pour les responsables de projet. La quantité de travail ajoutée par un accord dépend du projet et de la mise en œuvre. Un accord simple peut exiger que les contributeurs confirment, en un clic, qu'ils ont les droits nécessaires pour contribuer sous la licence open source du projet. Un accord plus compliqué pourrait nécessiter un examen juridique et une approbation des employeurs des cotisants.
En outre, en ajoutant de la "paperasse" jugée inutile, difficile à comprendre ou injuste (lorsque le destinataire obtient plus de droits que les contributeurs ou le public via la licence open source du projet), un accord de contribution supplémentaire peut être perçu comme inamical à la communauté du projet.
Certaines situations où vous pourriez envisager un accord de contribution supplémentaire pour votre projet incluent:
* Vos avocats veulent que tous les contributeurs acceptent expressément les termes de contribution (_signer_, en ligne ou hors ligne), peut-être parce qu'ils pensent que la licence Open Source n'est pas suffisante (même si c'est le cas !). Si c'est la seule préoccupation, un accord de contribution qui affirme la licence open source du projet devrait être suffisant. Le [Contrat de licence de contributeur individuel jQuery](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) est un bon exemple d'accord de contributeur supplémentaire léger. Pour certains projets, un [Developer Certificate of Origin](https://github.com/probot/dco) peut être une alternative.
* Votre projet utilise une licence open source qui n'inclut pas de brevet explicite (tel que MIT), et vous avez besoin d'une licence de brevet de tous les contributeurs, dont certains peuvent travailler pour des entreprises avec de grands portefeuilles de brevets qui pourraient vous servir ou les autres contributeurs et utilisateurs du projet. Le [Contrat de licence de contributeur individuel Apache](https://www.apache.org/licenses/icla.pdf) est un accord de contributeur supplémentaire communément utilisé qui a une licence de brevet reflétant celle de la licence Apache 2.0.
* Votre projet est sous licence copyleft, mais vous devez également distribuer une version propriétaire du projet. Vous aurez besoin de chaque contributeur pour vous attribuer des droits d'auteur ou vous accorder (mais pas le public) une licence permissive. Le [Contrat de collaboration MongoDB](https://www.mongodb.com/legal/contributor-agreement) est un exemple de ce type d'accord.
* Vous pensez que votre projet pourrait avoir besoin de changer de licence au cours de sa vie et que les contributeurs soient d'accord à l'avance sur de tels changements.
Si vous devez utiliser un accord de contributeur supplémentaire avec votre projet, envisagez d'utiliser une intégration telle que [Assistant CLA](https://github.com/cla-assistant/cla-assistant) pour minimiser la distraction des contributeurs.
## Que doit savoir l'équipe juridique de mon entreprise
Si vous publiez un projet open source en tant qu'employé de l'entreprise, votre équipe juridique doit d'abord savoir que vous êtes en train d'ouvrir un projet.
Pour le meilleur ou pour le pire, envisagez de les informer même s'il s'agit d'un projet personnel. Vous avez probablement avec votre entreprise un "accord IP d'employé" qui lui donne un certain contrôle sur vos projets, surtout s'ils sont liés à l'activité de l'entreprise ou si vous utilisez les ressources de l'entreprise pour développer le projet. Votre entreprise _devrait_ vous donner facilement la permission, et peut-être déjà à travers un accord de propriété intellectuelle favorable aux employés ou une politique d'entreprise. Sinon, vous pouvez négocier (par exemple, expliquer que votre projet répond aux objectifs d'apprentissage et de développement professionnel de l'entreprise pour vous), ou éviter de travailler sur votre projet jusqu'à ce que vous trouviez une meilleure entreprise.
**Si vous ouvrez la source d'un projet pour votre entreprise**, alors faites-le savoir. Votre équipe juridique a sans doute déjà des politiques de quelle licence open source (et peut-être un accord de contribution supplémentaire) à utiliser en fonction des besoins d'affaires de l'entreprise et de l'expertise assurant autour de votre projet est conforme aux licences de ses dépendances. Sinon, vous et ils ont de la chance! Votre équipe juridique devrait être impatiente de travailler avec vous pour comprendre ces choses. Quelques points à penser:
* **Matériel de tiers :** Votre projet a-t-il des dépendances créées par d'autres ou inclut ou utilise le code d'autres personnes ? Si ceux-ci sont open source, vous devrez vous conformer aux licences open source des matériaux. Cela commence par choisir une licence qui fonctionne avec les licences open source tierces (voir ci-dessus). Si votre projet modifie ou distribue du matériel Open Source tiers, votre équipe juridique voudra également savoir que vous remplissez d'autres conditions des licences Open Source tierces, telles que la conservation des avis de copyright. Si votre projet utilise le code d'autres personnes n'ayant pas de licence Open Source, vous devrez probablement demander aux responsables de la maintenance tiers d'[ajouter une licence Open Source](https://choosealicense.com/no-license/#for-users), et si vous ne pouvez pas en obtenir un, arrêtez d'utiliser leur code dans votre projet.
* **Secrets commerciaux :** Examiner s'il y a quoi que ce soit dans le projet que l'entreprise ne souhaite pas mettre à la disposition du grand public. Si c'est le cas, vous pouvez ouvrir le reste de votre projet, après avoir extrait le contenu que vous voulez garder privé.
* **Brevets :** Votre entreprise demande-t-elle un brevet dont l'open source de votre projet constituerait [divulgation publique](https://en.wikipedia.org/wiki/Public_disclosure) ? Malheureusement, vous pourriez être invité à attendre (ou peut-être que l'entreprise reconsidérera la maturité de l'application). Si vous attendez des contributions d'employés d'entreprises ayant de grands portefeuilles de brevets, votre équipe juridique voudra peut-être utiliser une licence avec un brevet spécialement pour les contributeurs (comme Apache 2.0 ou GPLv3) ou un accord de contribution supplémentaire (voir au dessus).
* **Marques :** Vérifiez que le nom de votre projet [n'est pas en conflit avec les marques existantes](../starting-a-project/#éviter-les-conflits-de-noms). Si vous utilisez les marques de votre propre entreprise dans le projet, vérifiez qu'il ne provoque aucun conflit. [FOSSmarks](http://fossmarks.org/) est un guide pratique pour comprendre les marques dans le contexte de projets libres et open source.
* **Confidentialité :** Votre projet recueille-t-il des données sur les utilisateurs ? "Téléphone Maison" aux serveurs de l'entreprise ? Votre équipe juridique peut vous aider à respecter les politiques de l'entreprise et les réglementations externes.
Si vous publiez le premier projet open source de votre entreprise, ce qui précède est plus que suffisant pour passer à travers (mais ne vous inquiétez pas, la plupart des projets ne devraient pas susciter d'inquiétudes majeures).
À plus long terme, votre équipe juridique peut faire davantage pour aider l'entreprise à tirer le meilleur parti de son implication dans l'open source et à rester en sécurité:
* **Règles de contribution des employés :** Envisagez de développer une politique d'entreprise qui spécifie comment vos employés contribuent aux projets open source. Une politique claire réduira la confusion parmi vos employés et les aidera à contribuer à des projets open source dans le meilleur intérêt de l'entreprise, que ce soit dans le cadre de leur travail ou pendant leur temps libre. Un bon exemple est Rackspace [Modèle IP et Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **Que publier :** [(Presque) tout ?](Http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Si votre équipe juridique comprend et est investie dans la stratégie open source de votre entreprise, ils seront les mieux placés pour vous aider plutôt que d'entraver vos efforts.
* **Conformité :** Même si votre entreprise ne diffuse aucun projet open source, elle utilise le logiciel open source des autres. [Awareness and process](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) peut prévenir les maux de tête, les retards de produit et les poursuites judiciaires.
* **Brevets :** Votre entreprise voudra peut-être rejoindre le [Open Invention Network](https://www.openinventionnetwork.com/), un pool de brevets défensif partagé pour protéger l'utilisation de projets open source majeurs par les membres, ou explorer une autre [licence alternative de brevet](https://www.eff.org/document/hacking-patent-system-2016).
* **Gouvernance :** Surtout si et quand il est logique de transférer un projet à une [entité juridique extérieure à l'entreprise](../leadership-and-governance/#ai-je-besoin-dune-entité-légale-pour-soutenir-mon-projet).
================================================
FILE: _articles/fr/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: fr
title: Maintenir l'équilibre chez les Mainteneurs de code Open Source
description: Conseils d'écologie personnelle et commen éviter le burnout en tant que mainteneur.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
Au fur et à mesure qu'un projet open source gagne en popularité, il devient important de fixer des limites claires pour vous aider à maintenir l'équilibre afin de rester frais et productif à long terme.
Afin de mieux comprendre les expériences des mainteneurs et leurs stratégies pour trouver un équilibre, nous avons organisé un atelier avec 40 membres de la communauté des mainteneurs, ce qui nous a permis d'apprendre de leurs expériences directes de l'épuisement professionnel dans l'open source et des pratiques qui les ont aidés à maintenir l'équilibre dans leur travail. C'est là que le concept d'écologie personnelle entre en jeu.
Alors, qu'est-ce que l'écologie personnelle ? Comme le décrit le Rockwood Leadership Institute, il s'agit de « maintenir l'équilibre, le rythme et l'efficacité pour soutenir notre énergie tout au long de la vie ». Cela a encadré nos conversations, en aidant les responsables à reconnaître que leurs actions et leurs contributions font partie d'un écosystème plus large qui évolue au fil du temps. L'épuisement professionnel, un syndrome résultant d'un stress chronique sur le lieu de travail [tel que défini par l'OMS](https://icd.who.int/browse/2024-01/mms/fr#129180281), n'est pas rare chez les responsables de la maintenance. Il se traduit souvent par une perte de motivation, une incapacité à se concentrer et un manque d'empathie à l'égard des contributeurs et de la communauté avec laquelle vous travaillez.
En adoptant le concept d'écologie personnelle, les responsables de la maintenance peuvent éviter de manière proactive l'épuisement professionnel, donner la priorité aux soins personnels et maintenir un sens de l'équilibre afin de faire leur meilleur travail.
## Astuces pour prendre soin de soi et éviter l'épuisement en tant que responsable de maintenance :
### Identifier vos motivations pour travailler dans l'open source
Prenez le temps de réfléchir aux aspects de la maintenance des logiciels libres qui vous stimulent. Comprendre vos motivations peut vous aider à prioriser le travail de manière à rester engagé et prêt à relever de nouveaux défis. Qu'il s'agisse des réactions positives des utilisateurs, de la joie de collaborer et de socialiser avec la communauté ou de la satisfaction de se plonger dans le code, le fait de reconnaître vos motivations peut vous aider à vous concentrer.
### Réfléchissez à ce qui vous déséquilibre et vous stresse.
Il est important de comprendre les causes de l'épuisement professionnel. Voici quelques thèmes communs aux mainteneurs de logiciels libres :
* **Absence de retours positifs:** Les utilisateurs sont beaucoup plus enclins à se manifester lorsqu'ils ont une plainte à formuler. Si tout fonctionne parfaitement, ils ont tendance à rester silencieux. Il peut être décourageant de voir la liste des problèmes s'allonger sans que les commentaires positifs montrent que votre contribution fait la différence.
* **Ne pas dire « non »:** Il peut être facile de prendre plus de responsabilités qu'on ne le devrait sur un projet open source. Que ce soit de la part des utilisateurs, des contributeurs ou d'autres mainteneurs, nous ne pouvons pas toujours répondre à leurs attentes.
* **Travailler en solitaire :** Être un mainteneur peut être incroyablement solitaire. Même si vous travaillez avec un groupe de mainteneurs, les dernières années ont été difficiles pour réunir des équipes dispersées en personne.
* **Manque de temps et de ressources :** C'est particulièrement vrai pour les mainteneurs bénévoles qui doivent sacrifier leur temps libre pour travailler sur un projet.
* **Demandes contradictoires :** L'open source est un ensemble de groupes aux motivations diverses, dans lequel il peut être difficile de s'y retrouver. Si vous êtes payé pour faire de l'open source, les intérêts de votre employeur peuvent parfois être en contradiction avec ceux de la communauté.
### Faites attention aux signes d'épuisement professionnel
Pouvez-vous maintenir votre rythme pendant 10 semaines ? 10 mois ? 10 ans ?
Il existe des outils comme la [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) de [@shaunagm](https://github.com/shaunagm) qui peuvent vous aider à réfléchir à votre rythme actuel et à voir s'il y a des ajustements à faire. Certains mainteneurs utilisent également une technologie portable pour suivre des paramètres tels que la qualité du sommeil et la variabilité du rythme cardiaque (tous deux liés au stress).
### De quoi auriez-vous besoin pour continuer à subvenir à vos besoins et à ceux de votre communauté ?
Cela sera différent pour chaque responsable, et changera en fonction de votre phase de vie et d'autres facteurs externes. Mais voici quelques thèmes que nous avons entendus :
* **Appuyez-vous sur la communauté:** La délégation et la recherche de collaborateurs peuvent alléger la charge de travail. Le fait d'avoir plusieurs points de contact pour un projet peut vous aider à faire une pause sans vous inquiéter. Entrez en contact avec d'autres mainteneurs et la communauté au sens large, dans des groupes tels que la [Communauté des mainteneurs](http://maintainers.github.com/). Il peut s'agir d'une excellente ressource pour l'entraide et l'apprentissage.
Vous pouvez également chercher des moyens de vous engager auprès de la communauté des utilisateurs, afin d'obtenir régulièrement des informations en retour et de comprendre l'impact de votre travail sur les logiciels libres.
* **Explorer le financement :** Que vous soyez à la recherche d'un peu d'argent pour une pizza ou que vous essayiez de vous lancer à plein temps dans l'open source, il existe de nombreuses ressources pour vous aider ! Dans un premier temps, pensez à activer [GitHub Sponsors](https://github.com/sponsors) pour permettre à d'autres de sponsoriser votre travail open source. Si vous envisagez de passer à temps plein, postulez pour le prochain cycle de l'[Accélérateur GitHub](http://accelerator.github.com/).
* **Utilisez les outils:** Profitez d'outils tels que [GitHub Copilot](https://github.com/features/copilot/) et [GitHub Actions](https://github.com/features/actions) pour automatiser les tâches banales et libérer votre temps pour des contributions plus significatives.
* **Se reposer et se ressourcer :** Consacrez du temps à vos loisirs et à vos centres d'intérêt en dehors de l'open source. Prenez vos week-ends pour vous détendre et vous ressourcer, et réglez votre [statut GitHub](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) pour qu'il reflète votre disponibilité ! Une bonne nuit de sommeil peut faire une grande différence dans votre capacité à soutenir vos efforts à long terme.
Si certains aspects de votre projet vous plaisent particulièrement, essayez de structurer votre travail de manière à en faire l'expérience tout au long de la journée.
* **Definir des limites :** Vous ne pouvez pas dire oui à toutes les demandes. Cela peut être aussi simple que de dire « Je ne peux pas le faire maintenant et je n'ai pas l'intention de le faire à l'avenir », ou d'énumérer ce que vous souhaitez faire et ne pas faire dans le fichier README. Par exemple, vous pourriez dire : « Je ne fusionne que les PR dont les raisons sont clairement listées » ou "Je n'examine les problèmes qu'un jeudi sur deux, de 18 à 19 heures". Cela définit les attentes des autres et vous donne un point de repère à d'autres moments pour aider à désamorcer les demandes de contributeurs ou d'utilisateurs sur votre temps.
Apprenez à faire preuve de fermeté pour mettre fin aux comportements toxiques et aux interactions négatives. Il est normal de ne pas donner d'énergie à des choses qui ne vous intéressent pas.
N'oubliez pas que l'écologie personnelle est une pratique permanente qui évoluera au fur et à mesure que vous progresserez dans votre voyage vers l'open source. En accordant la priorité à la prise en charge de soi et au maintien d'un équilibre, vous pouvez contribuer à la communauté open source de manière efficace et durable, en assurant à la fois votre bien-être et le succès de vos projets sur le long terme.
## Ressources complémentaires
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](hhttps://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](https://governingopen.com/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Contributors
Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/fr/metrics.md
================================================
---
lang: fr
title: Métriques Open Source
description: Prendre des décisions éclairées pour aider votre projet Open Source à prospérer en mesurant et en suivant son succès.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Pourquoi tout mesurer
Les données, lorsqu'elles sont utilisées à bon escient, peuvent vous aider à prendre de meilleures décisions en tant que responsable d'un projet open source.
Avec plus d'informations, vous pouvez:
* Comprendre comment les utilisateurs répondent à une nouvelle fonctionnalité
* Déterminer d'où viennent les nouveaux utilisateurs
* Identifier, et décider de soutenir, un cas d'utilisation aberrant ou une fonctionnalité
* Quantifier la popularité de votre projet
* Comprendre comment votre projet est utilisé
* Recueillir de l'argent grâce à des parrainages et des subventions
Par exemple, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) trouve que Google Analytics les aide à hiérarchiser leur travail:
> Homebrew est fourni gratuitement et géré entièrement par des bénévoles pendant leur temps libre. Par conséquent, nous ne disposons pas des ressources nécessaires pour effectuer des études détaillées des utilisateurs Homebrew afin de décider de la meilleure façon de concevoir les fonctionnalités futures et de hiérarchiser les travaux en cours. L'analyse anonyme des utilisateurs agrégés nous permet de hiérarchiser les correctifs et les fonctionnalités en fonction de comment, où et quand les utilisateurs utilisent Homebrew.
La popularité n'est pas tout. Tout le monde entre dans l'open source pour différentes raisons. Si votre objectif, en tant que responsable de l'open source, est de montrer votre travail, d'être transparent au sujet de votre code ou de vous amuser, les métriques peuvent ne pas être importantes pour vous.
Si vous _êtes_ intéressé à comprendre votre projet à un niveau plus profond, lisez la suite pour savoir comment analyser l'activité de votre projet.
## Découverte
Avant que quiconque puisse utiliser ou contribuer à votre projet, ils doivent savoir qu'il existe. Demandez-vous: _Est-ce que les gens trouvent ce projet ?_

Si votre projet est hébergé sur GitHub, [vous pouvez voir](https://help.github.com/articles/about-repository-graphs/#traffic) combien de personnes atterrissent sur votre projet et d'où elles viennent. À partir de la page de votre projet, cliquez sur "Insights", puis sur "Traffic". Sur cette page, vous pouvez voir:
* **Le nombre total de pages vues :** Vous indique combien de fois votre projet a été visionné
* **Le nombre total de visiteurs uniques :** Vous indique combien de personnes ont vu votre projet
* **Les sites référents :** Vous indique d'où viennent les visiteurs. Cette statistique peut vous aider à déterminer où joindre votre audience et si vos efforts de promotion fonctionnent.
* **Le contenu populaire :** Vous indique où les visiteurs vont sur votre projet, ventilé par pages vues et visiteurs uniques.
[Les étoiles de GitHub](https://help.github.com/articles/about-stars/) peuvent également aider à fournir une mesure de base de popularité. Bien que les étoiles GitHub ne correspondent pas nécessairement aux téléchargements et à l'utilisation, elles peuvent vous dire combien de personnes prennent en compte votre travail.
Vous pouvez également [suivre la découvrabilité dans des lieux spécifiques](https://opensource.com/business/16/6/pirate-metrics): par exemple, Google PageRank, le trafic de redirection depuis le site Web de votre projet ou les renvois d'autres sites ouverts, projets source ou sites Web.
## Usage
Les gens trouvent votre projet sur cette chose sauvage et folle que nous appelons l'Internet. Idéalement, quand ils verront votre projet, ils se sentiront obligés de faire quelque chose. La deuxième question que vous voudrez poser est: _Est-ce que les gens utilisent ce projet ?_
Si vous utilisez un gestionnaire de paquets pour distribuer votre projet, tels que npm ou RubyGems.org, vous pourrez peut-être suivre les téléchargements de votre projet.
Chaque gestionnaire de paquets peut utiliser une définition légèrement différente de "téléchargement", et les téléchargements ne sont pas nécessairement corrélés aux installations ou à l'utilisation, mais ils fournissent une base de comparaison. Essayez d'utiliser [Libraries.io](https://libraries.io/) pour suivre les statistiques d'utilisation de nombreux gestionnaires de paquets populaires.
Si votre projet est sur GitHub, naviguez à nouveau vers la page "Trafic". Vous pouvez utiliser le [graphe clone](https://github.com/blog/1873-clone-graphs) pour voir combien de fois votre projet a été cloné un jour donné, ventilé par clone total et clonage unique.

Si l'utilisation est faible par rapport au nombre de personnes découvrant votre projet, il y a deux points à considérer, pas plus:
* Votre projet ne réussit pas à convertir votre public, ou
* Vous attirez le mauvais public
Par exemple, si votre projet atterrit sur la première page de Hacker News, vous verrez probablement un pic de découverte (trafic), mais un taux de conversion plus faible, car vous atteignez tout le monde sur Hacker News. Toutefois, si votre projet Ruby est présenté lors d'une conférence Ruby, vous êtes plus susceptible de voir un taux de conversion élevé de la part d'un public ciblé.
Essayez de comprendre d'où vient votre public et demandez aux autres de donner leur avis sur la page de votre projet pour savoir lequel de ces deux problèmes vous rencontrez.
Une fois que vous savez que les gens utilisent votre projet, vous pouvez essayer de comprendre ce qu'ils font avec. Est-ce qu'ils s'appuient sur lui en forkant votre code et en ajoutant des fonctionnalités ? L'utilisent-ils pour la science ou les affaires?
## Rétention
Les gens trouvent votre projet et l'utilisent. La prochaine question que vous voudrez vous poser est: _Est-ce que les gens contribuent à ce projet ?_
Il n'est jamais trop tôt pour commencer à penser aux contributeurs. Sans d'autres personnes, vous risquez de vous mettre dans une situation malsaine où votre projet est populaire (beaucoup de gens l'utilisent) mais pas soutenu (pas assez de temps de maintenance pour répondre à la demande).
La rétention nécessite également un [afflux de nouveaux contributeurs](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), car les contributeurs actifs finiront par passer à autre chose.
Les exemples de statistiques de communauté que vous souhaitez suivre régulièrement incluent:
* **Nombre total de contributeurs et nombre de commits par contributeur :** Vous indique combien de contributeurs vous avez, et qui est plus ou moins actif. Sur GitHub, vous pouvez voir ceci sous "Insights" -> "Contributors". À l'heure actuelle, ce graphique ne tient compte que des contributeurs qui se sont engagés dans la branche par défaut du référentiel.

* **Types de contributions:** Par exemple, s'il s'agit de commits, de corrections de fautes de frappe ou de bugs, de commentaires sur une issue.
* **Premiers contributeurs occasionnels et répétitifs :** Vous aide à savoir si vous recevez de nouveaux contributeurs et s'ils reviennent. (Les contributeurs occasionnels sont des contributeurs avec un faible nombre de commit, que ce soit un commit, moins de cinq commits, ou autre chose selon vos critères.) Sans de nouveaux contributeurs, la communauté de votre projet peut devenir stagnante.
* **Nombre d'issues ouvertes et de Pull Request ouvertes :** Si ces chiffres sont trop élevés, vous aurez peut-être besoin d'aide pour le tri des issues et les révisions de code.
* **Nombre d'issue _opened_ et de pull request _opened_ :** Les issues ouvertes signifient que quelqu'un se soucie suffisamment de votre projet pour ouvrir une issue. Si ce nombre augmente avec le temps, cela suggère que les gens s'intéressent à votre projet.
## Activité de responsable
Enfin, vous souhaiterez fermer la boucle en vous assurant que les responsables de votre projet sont en mesure de gérer le volume de contributions reçues. La dernière question que vous voudrez vous poser est la suivante: _suis-je (ou sommes-nous) en train de répondre à notre communauté?_
Les mainteneurs qui ne répondent pas deviennent un goulot d'étranglement pour les projets open source. Si quelqu'un soumet une contribution mais n'obtient jamais de retour d'un responsable, il peut se sentir découragé et partir.
[Research from Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) suggère que la réactivité du responsable est un facteur critique pour encourager les contributions répétées.
Pensez à suivre le temps qu'il vous faut (ou à un autre responsable) pour répondre aux contributions, qu'il s'agisse d'une issue ou d'une Pull Request. Répondre ne nécessite pas d'action. Cela peut être aussi simple que de dire: _"Merci pour votre soumission! Je vais examiner cela la semaine prochaine."_
Vous pouvez également mesurer le temps nécessaire pour passer d'une étape à l'autre du processus de contribution, par exemple:
* Temps moyen d'ouverture d'une issue
* Si les issues sont fermées par des PR
* Si les issues périmées se ferment
* Temps moyen pour merger une pull request
## Utilisez 📊 pour en savoir plus sur les gens
La compréhension des métriques vous aidera à créer un projet open source actif et en croissance. Même si vous ne suivez pas toutes les mesures sur un tableau de bord, utilisez le cadre ci-dessus pour attirer votre attention sur le type de comportement qui aidera votre projet à prospérer.
================================================
FILE: _articles/fr/security-best-practices-for-your-project.md
================================================
---
lang: fr
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/fr/starting-a-project.md
================================================
---
lang: fr
title: Lancer un projet Open Source
description: En savoir plus sur le monde de l'Open Source et préparez-vous à lancer votre propre projet.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## Le "quoi" et le "pourquoi" de l'open source
Donc, vous songez à commencer avec l'open source ? Toutes nos félicitations ! Le monde va apprécier votre contribution. Parlons de ce qu'est l'open source et pourquoi les gens le font.
### Que signifie "open source" ?
Lorsqu'un projet est open source, cela signifie que **n'importe qui peut voir, utiliser, modifier et distribuer votre projet dans n'importe quel but.** Ces autorisations sont appliquées via [une licence open source](https://opensource.org/licenses).
L'open source est puissant car il abaisse les barrières à l'adoption, permettant aux idées de se propager rapidement.
Pour comprendre comment cela fonctionne, imaginez qu'un ami organise une collation, et que vous apportez une tarte aux cerises.
* Tout le monde goûte la tarte (_utiliser_)
* La tarte est un succès ! Ils vous demandent la recette que vous leur fournissez (_voir_)
* Un ami, Alex, qui est chef pâtissier, suggère de réduire le sucre (_modifier_)
* Une autre amie, Lisa, demande à l'utiliser pour un dîner la semaine prochaine (_distribuer_)
Par comparaison, un processus de source fermée serait de se rendre dans un restaurant et commander une tranche de tarte aux cerises. Vous devez payer des frais pour manger la tarte, et le restaurant ne vous donnera probablement pas leur recette. Si vous avez copié leur tarte exactement et l'avez vendue sous votre propre nom, le restaurant pourrait même prendre des mesures légales contre vous.
### Pourquoi les gens ouvrent-ils leur travail ?
[Il y a de nombreuses raisons](https://ben.balter.com/2015/11/23/why-open-source/) pour une personne ou une organisation de vouloir ouvrir un projet. Parmi celles-ci :
* **Collaboration :** Les projets open source peuvent accepter des changements de n'importe qui dans le monde. [Exercism](https://github.com/exercism/), par exemple, est une plate-forme d'exercices de programmation avec plus de 350 contributeurs.
* **Adoption et remixage :** Les projets open source peuvent être utilisés par n'importe qui dans presque n'importe quel but. Les gens peuvent même l'utiliser pour construire d'autres choses. [WordPress](https://github.com/WordPress), par exemple, a commencé en tant que fork (nous verrons plus tard ce qu'on appelle un fork, pour le moment voyez ceci comme une copie à un instant donné) d'un projet existant appelé [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparence :** Tout le monde peut inspecter un projet open source pour y chercher des erreurs ou des incohérences. La transparence est importante pour des gouvernements comme celui de [Bulgarie](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) ou des [États-Unis](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), les industries réglementées comme les banques ou les soins de santé, et les logiciels de sécurité comme [Let's Encrypt](https://github.com/letsencrypt).
L'open source n'est pas seulement pour les logiciels. Vous pouvez tout rendre open source depuis les jeux de données aux livres. Jetez un coup d'œil sur [GitHub Explore](https://github.com/explore) pour trouver des idées sur ce que vous pouvez faire d'autre.
### L'open source signifie-t-il "gratuit" ?
L'un des plus gros attraits de l'open source est qu'il ne coûte pas d'argent. La "gratuité" est toutefois une conséquence de la valeur globale de l'open source.
Puisqu'[une licence open source nécessite](https://opensource.org/osd-annotated) que n'importe qui puisse utiliser, modifier et partager votre projet dans pratiquement n'importe quel but, les projets eux-mêmes ont tendance à être gratuits. Si le projet coûte de l'argent, n'importe qui peut légalement en faire une copie et utiliser la version gratuite à la place.
En conséquence, la plupart des projets open source sont gratuits, mais la "gratuité" ne fait pas partie de la définition de l'open source. Il existe des moyens de facturer les projets open source indirectement à travers une double licence ou des fonctionnalités limitées, tout en respectant la définition officielle de l'open source.
## Dois-je lancer mon propre projet open source
La réponse courte est oui, car peu importe le résultat, le lancement de votre propre projet est une excellente façon d'apprendre comment fonctionne l'open source.
Si vous n'avez jamais ouvert aux autres un projet auparavant, vous pourriez vous demander ce que les gens vont penser, ou être inquiet du risque que personne ne le remarquera. Si cela vous parle, sachez que vous n'êtes pas seul !
Le travail open source est comme toute autre activité créative, que ce soit l'écriture ou la peinture. Cela peut être effrayant de partager votre travail avec le reste du monde, mais la seule façon de s'améliorer est de pratiquer - même si vous n'avez pas de public.
Si vous n'êtes pas encore convaincu, prenez un moment pour réfléchir à vos objectifs.
### Fixer vos objectifs
Les objectifs peuvent vous aider à déterminer ce sur quoi vous devez travailler, ce à quoi vous devez dire non et où vous avez besoin de l'aide des autres. Commencez par vous demander : _pourquoi est-ce que j'ouvre ce projet ?_
Il n'y a pas de bonne réponse à cette question. Vous pouvez avoir plusieurs objectifs pour un même projet ou différents projets avec des objectifs différents.
Si votre seul objectif est de montrer votre travail, vous ne voulez peut-être même pas de contributions, et vous pouvez alors même le dire dans votre fichier README. D'un autre côté, si vous voulez des contributeurs, vous allez investir du temps dans une documentation claire et faire en sorte que les nouveaux arrivants se sentent les bienvenus.
Au fur et à mesure que votre projet grandit, votre communauté peut commencer à avoir besoin de plus que du code. Gardez bien à l'esprit que répondre aux problèmes, réviser le code et promouvoir votre projet sont des tâches importantes dans un projet open source.
Bien que le temps que vous consacrez à des tâches sans code dépende de la taille et de la portée de votre projet, vous devez vous préparer en tant que responsable à les résoudre par vous-même ou à trouver quelqu'un pour vous aider.
**Si vous faites partie d'une entreprise qui ouvre le code source d'un projet,** assurez-vous que votre projet dispose des ressources internes dont il a besoin pour prospérer. Vous voudrez identifier qui est responsable de la maintenance du projet après son lancement et comment vous allez partager ces tâches avec votre communauté.
Si vous avez besoin d'un budget ou d'un personnel dédié pour la promotion, les opérations et la maintenance du projet, commencez ces discussions au sein de votre entreprise aussi tôt que possible.
### Contribuer à d'autres projets
Si votre objectif est d'apprendre à collaborer avec d'autres ou à comprendre le fonctionnement de l'open source, envisagez de contribuer à un projet existant. Commencez avec un projet que vous utilisez déjà et que vous aimez. Contribuer à un projet peut être aussi simple que de réparer des fautes de frappe ou de mettre à jour une documentation.
Si vous ne savez pas comment commencer en tant que contributeur, consultez notre guide [Comment contribuer à l'Open Source](../how-to-contribute/).
## Lancer votre propre projet open source
Il n'y a pas de moment idéal pour ouvrir votre travail. Vous pouvez ouvrir une idée, un travail en cours, ou après des années de source fermée.
De manière générale, vous devriez ouvrir votre projet lorsque vous serez à l'aise à l'idée que les autres puissent voir et donner votre avis sur votre travail.
Quelle que soit la phase durant laquelle vous décidez d'ouvrir votre projet, chaque projet doit inclure la documentation suivante :
* [Licence open source](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Directives de contribution](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code de conduite](../code-of-conduct/)
En tant que responsable, ces composants vous aideront à communiquer les attentes, à gérer les contributions et à protéger les droits légaux de chacun (y compris les vôtres). Ils augmentent considérablement vos chances d'avoir une expérience positive.
Si votre projet est sur GitHub, placer ces fichiers dans votre répertoire racine avec les noms de fichiers recommandés aidera GitHub à les reconnaître et à les faire apparaître automatiquement à vos lecteurs.
### Choisir une licence
Une licence open source garantit que d'autres utilisateurs peuvent utiliser, copier, modifier et contribuer à votre projet sans aucune répercussion. Elle vous protège également contre les situations juridiques épineuses. **Vous devez inclure une licence lorsque vous lancez un projet open source.**
Le travail juridique n'est pas amusant. La bonne nouvelle est que vous pouvez copier et coller une licence existante dans votre dépôt. Cela ne prendra qu'une minute pour protéger votre dur labeur.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), et [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) sont les licences Open Source les plus populaires, mais vous pouvez choisir [d'autres options](https://choosealicense.com).
Lorsque vous créez un nouveau projet sur GitHub, vous avez la possibilité de sélectionner une licence. L'inclusion d'une licence open source rendra votre projet GitHub open source.

Si vous avez d'autres questions ou préoccupations concernant les aspects juridiques de la gestion d'un projet open source, [nous avons ce qu'il vous faut](../legal/).
### Ecrire un fichier README
Les fichiers README font plus qu'expliquer comment utiliser votre projet. Ils expliquent également pourquoi votre projet est important et ce que vos utilisateurs peuvent en faire.
Dans votre fichier README, essayez de répondre aux questions suivantes :
* Que fait ce projet ?
* Pourquoi ce projet est-il utile ?
* Par quoi puis-je commencer ?
* Où puis-je obtenir plus d'aide, si j'en ai besoin ?
Vous pouvez utiliser votre fichier README pour répondre à d'autres questions, telles que la manière dont vous gérez les contributions, les objectifs du projet et les informations sur les licences et l'attribution. Si vous ne souhaitez pas accepter de contributions ou si votre projet n'est pas encore prêt pour la production, écrivez ces informations.
Parfois, les gens évitent d'écrire un fichier README parce qu'ils ont l'impression que le projet n'est pas terminé ou qu'ils ne veulent pas de contributions. En fait ce sont toutes de très bonnes raisons d'en écrire un.
Pour plus d'inspiration, essayez d'utiliser celui de @18F ["Making READMEs Readable"](https://pages.18f.gov/open-source-guide/making-readmes-readable/) ou le [modèle de README](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) de @PurpleBooth pour écrire un fichier README complet.
Lorsque vous incluez un fichier README dans le répertoire racine, GitHub l'affiche automatiquement sur la page d'accueil du dépot.
### Rédaction de vos directives de contribution
Un fichier CONTRIBUTING indique à votre audience comment participer à votre projet. Par exemple, vous pouvez inclure des informations sur:
* Comment déposer un rapport de bug (essayez d'utiliser [des modèles de questions et de pull requests](https://github.com/blog/2111-issue-and-pull-request-templates))
* Comment proposer une nouvelle fonctionnalité
* Comment configurer votre environnement et exécuter des tests
En plus des détails techniques, un fichier CONTRIBUTING est une opportunité de communiquer vos attentes pour les contributions, telles que:
* Les types de contributions que vous recherchez
* Votre feuille de route ou vision pour le projet
* Comment les contributeurs devraient (ou ne devraient pas) entrer en contact avec vous
Utiliser un ton chaleureux et amical et offrir des suggestions précises pour les contributions (comme la rédaction de documentation ou la création d'un site Web) peut faire beaucoup pour que les nouveaux arrivants se sentent les bienvenus et enthousiastes à l'idée de participer.
Par exemple, [Active Admin](https://github.com/activeadmin/activeadmin/) démarre [son guide de contribution](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) avec:
> Tout d'abord, merci d'envisager de contribuer à Active Admin. Ce sont des gens comme vous qui font d'Active Admin un outil formidable.
Dans les premières étapes de votre projet, votre fichier CONTRIBUTING peut être simple. Vous devez toujours expliquer comment signaler les bogues ou les problèmes de fichiers, ainsi que les exigences techniques (comme les tests) pour apporter une contribution.
Au fil du temps, vous pouvez ajouter d'autres questions fréquemment posées à votre fichier CONTRIBUTING. La rédaction de ce genre d'informations signifie que moins de personnes vous poseront les mêmes questions encore et encore.
Pour plus d'aide avec la rédaction de votre fichier CONTRIBUTING, consultez le [modèle de guide de contribution de @nayafia](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) ou le guide de @mozilla ["Comment Construire un CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/).
Ajoutez un lien vers votre fichier CONTRIBUTING dans votre fichier README, afin que plus de gens le voient. Si vous [placez le fichier CONTRIBUTING dans le repository de votre projet](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub affichera automatiquement un lien vers votre fichier lorsqu'un contributeur crée un problème ou ouvre une pull request.

### Établir un code de conduite
Enfin, un code de conduite permet de définir des règles de base pour le comportement des participants de votre projet. Ceci est particulièrement utile si vous lancez un projet open source pour une communauté ou une entreprise. Un code de conduite vous permet de faciliter un comportement communautaire sain et constructif, ce qui réduira votre stress en tant que responsable.
Pour plus d'informations, consultez notre [Code de conduite](../code-of-conduct/).
En plus d'indiquer _comment_ vous souhaitez que les participants se comportent, un code de conduite a également tendance à décrire à qui s'appliquent ces attentes, quand elles s'appliquent, et que faire en cas de violation.
Tout comme les licences open source, il existe également des normes émergentes pour les codes de conduite, vous n'avez donc pas besoin d'écrire les vôtres. Le [Contributor Covenant](https://contributor-covenant.org/)) est un code de conduite qui est utilisé par [plus de 40 000 projets open source](https://www.contributor-covenant.org/adopters) , y compris Kubernetes, Rails et Swift. Quel que soit le texte que vous utilisez, vous devez être prêt à appliquer votre code de conduite si nécessaire.
Collez le texte directement dans un fichier CODE_OF_CONDUCT dans votre repository. Conservez le fichier dans le répertoire racine de votre projet pour qu'il soit facile à trouver et mettez un lien vers lui dans votre fichier README.
## Nommer et créer l'image de marque de votre projet
La marque est plus qu'un logo flashy ou un nom de projet accrocheur. Il s'agit de la façon dont vous parlez de votre projet et à qui est destiné votre message.
### Choisir le bon nom
Choisissez un nom facile à retenir et, idéalement, qui donne une idée de ce que fait le projet. Par exemple:
* [Sentry](https://github.com/getsentry/sentry) surveille les applications pour fournir des rapports d'erreur
* [Thin](https://github.com/macournoyer/thin) est un serveur web Ruby simple et rapide
Si vous construisez sur un projet existant, l'utilisation de leur nom comme préfixe peut aider à clarifier ce que fait votre projet (par exemple, [node-fetch](https://github.com/bitinn/node-fetch) apporte `window.fetch` à Node.js).
Pensez à la clarté avant tout. Faire des jeux de mots, c'est amusant, mais rappelez-vous que certaines blagues peuvent ne pas se traduire dans d'autres cultures et des personnes ayant des expériences différentes de vous peuvent ne pas les comprendre. Certains de vos utilisateurs potentiels peuvent être des employés dans une entreprise : vous ne voulez pas les mettre mal à l'aise quand ils devront expliquer votre projet au travail !
### Éviter les conflits de noms
[Vérifiez les projets open source avec un nom similaire](http://ivantomic.com/projects/ospnc/), surtout si vous partagez le même langage ou écosystème. Si votre nom est trop proche de celui d'un projet existant populaire, vous risquez de perturber votre auditoire.
Si vous souhaitez un site Web, un pseudo Twitter ou d'autres entités pour représenter votre projet, assurez-vous de pouvoir obtenir les noms souhaités. Idéalement, [réservez ces noms maintenant](https://instantdomainsearch.com/) pour votre tranquillité d'esprit, même si vous n'avez pas l'intention de les utiliser pour l'instant.
Assurez-vous que le nom de votre projet ne porte pas atteinte à une marque. Une entreprise pourrait vous demander d'arrêter votre projet dans le futur, ou même intenter une action en justice contre vous. Cela ne vaut tout simplement pas le risque.
Vous pouvez consulter la [Base de données mondiale de l'OMPI sur les marques](https://www.wipo.int/branddb/fr/) pour obtenir des informations sur les marques provenant de différentes sources aux niveaux national et international. Si vous êtes dans une entreprise, c'est un des sujets sur lesquels [votre équipe juridique peut vous aider](../legal/).
Enfin, recherchez le nom de votre projet sur Google. Les gens pourront-ils trouver facilement votre projet ? Est-ce que quelque chose d'autre apparaît dans les résultats de recherche que vous ne voudriez pas qu'ils voient ?
### Comment vous écrivez (et codez) affecte votre marque, aussi !
Tout au long de la vie de votre projet, vous allez beaucoup écrire : des fichiers README, des didacticiels, des documents communautaires, des réponses aux problèmes, peut-être même des bulletins d'informations et des listes de diffusion.
Qu'il s'agisse d'une documentation officielle ou d'un courriel occasionnel, votre style d'écriture fait partie de la marque de votre projet. Réfléchissez à comment vous pourriez rencontrer votre public et au ton que vous souhaitez utiliser pour communiquer avec eux.
L'utilisation d'un langage chaleureux et inclusif (tel que l'utilisation de «eux», même en faisant référence à la personne seule) peut faire beaucoup pour rendre votre projet accueillant pour les nouveaux contributeurs. Tenez-vous-en à un langage simple, car bon nombre de vos lecteurs ne sont peut-être pas francophones.
Au-delà de votre façon d'écrire, votre style de codage peut également faire partie de la marque de votre projet. [Angular](https://github.com/johnpapa/angular-styleguide) et [jQuery](https://contribute.jquery.org/style-guide/js/) sont deux exemples de projets avec des lignes directrices et des styles de codage rigoureux.
Il n'est pas nécessaire d'écrire un guide de style pour votre projet lorsque vous débutez, et vous constaterez peut-être que vous aimez incorporer différents styles de codage dans votre projet de toute façon. Mais vous devriez prévoir comment votre style d'écriture et de codage pourrait attirer ou décourager différents types de personnes. Les premières étapes de votre projet sont votre opportunité de définir le précédent que vous souhaitez voir.
## Votre checklist de pré-lancement
Prêt à lancer votre projet open source ? Voici une checklist pour vous aider. Toutes les cases sont cochées ? Vous êtes prêt à vous lancer ! [Cliquez sur "Publier"] (https://help.github.com/articles/making-a-private-repository-public/) et donnez vous une tape dans le dos.
**Documentation**
**Code**
**Humain**
Si vous êtes un individu:
Si vous êtes une entreprise ou une organisation:
## Vous l'avez réussi !
Félicitations pour l'ouverture de votre premier projet. Peu importe le résultat, travailler en public est un cadeau fait à la communauté. A chaque commit, commentaire et pull request, vous créez des opportunités pour vous-même et pour les autres d'apprendre et de progresser.
================================================
FILE: _articles/getting-paid.md
================================================
---
lang: en
title: Getting Paid for Open Source Work
description: Sustain your work in open source by getting financial support for your time or your project.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Why some people seek financial support
Much of the work of open source is voluntary. For example, someone might come across a bug in a project they use and submit a quick fix, or they might enjoy tinkering with an open source project in their spare time.
There are many reasons why a person would not want to be paid for their open source work.
* **They may already have a full-time job that they love,** which enables them to contribute to open source in their spare time.
* **They enjoy thinking of open source as a hobby** or creative escape and don't want to feel financially obligated to work on their projects.
* **They get other benefits from contributing to open source,** such as building their reputation or portfolio, learning a new skill, or feeling closer to a community.
For others, especially when contributions are ongoing or require significant time, getting paid to contribute to open source is the only way they can participate, either because the project requires it, or for personal reasons.
Maintaining popular projects can be a significant responsibility, taking up 10 or 20 hours per week instead of a few hours per month.
Paid work also enables people from different walks of life to make meaningful contributions. Some people cannot afford to spend unpaid time on open source projects, based on their current financial position, debt, or family or other caretaking obligations. That means the world never sees contributions from talented people who can't afford to volunteer their time. This has ethical implications, as @ashedryden [has described](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), since work that is done is biased in favor of those who already have advantages in life, who then gain additional advantages based on their volunteer contributions, while others who are not able to volunteer then don't get later opportunities, which reinforces the current lack of diversity in the open source community.
If you're looking for financial support, there are two paths to consider. You can fund your own time as a contributor, or you can find organizational funding for the project.
## Funding your own time
Today, many people get paid to work part- or full-time on open source. The most common way to get paid for your time is to talk to your employer.
It's easier to make a case for open source work if your employer actually uses the project, but get creative with your pitch. Maybe your employer doesn't use the project, but they use Python, and maintaining a popular Python project helps attract new Python developers. Maybe it makes your employer look more developer-friendly in general.
If you don't have an existing open source project you'd like to work on, but would rather that your current work output is open sourced, make a case for your employer to open source some of their internal software.
Many companies are developing open source programs to build their brand and recruit quality talent.
@hueniverse, for example, found that there were financial reasons to justify [Walmart's investment in open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). And @jamesgpearce found that Facebook's open source program [made a difference](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) in recruiting:
> It is closely aligned with our hacker culture, and how our organization was perceived. We asked our employees, "Were you aware of the open source software program at Facebook?". Two-thirds said "Yes". One-half said that the program positively contributed to their decision to work for us. These are not marginal numbers, and I hope, a trend that continues.
If your company goes down this route, it's important to keep the boundaries between community and corporate activity clear. Ultimately, open source sustains itself through contributions from people all over the world, and that's bigger than any one company or location.
If you can't convince your current employer to prioritize open source work, consider finding a new employer that encourages employee contributions to open source. Look for companies that make their dedication to open source work explicit. For example:
* Some companies, like [Netflix](https://netflix.github.io/), have websites that highlight their involvement in open source
Projects that originated at a large company, such as [Go](https://github.com/golang) or [React](https://github.com/facebook/react), will also likely employ people to work on open source.
Depending on your personal circumstances, you can try raising money independently to fund your open source work. For example:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon funded his work on [Redux](https://github.com/reactjs/redux) through a [Patreon crowdfunding campaign](https://redux.js.org/)
* @andrewgodwin funded work on Django schema migrations [through a Kickstarter campaign](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
Finally, sometimes open source projects put bounties on issues that you might consider helping with.
* @ConnorChristie was able to get paid for [helping](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol work on their JavaScript library [through a bounty on gitcoin](https://gitcoin.co/).
* @mamiM did Japanese translations for @MetaMask after the [issue was funded on Bounties Network](https://explorer.bounties.network/bounty/134).
## Finding funding for your project
Beyond arrangements for individual contributors, sometimes projects raise money from companies, individuals, or others to fund ongoing work.
Organizational funding might go towards paying current contributors, covering the costs of running the project (such as hosting fees), or investing in new features or ideas.
As open source's popularity increases, finding funding for projects is still experimental, but there are a few common options available.
### Raise money for your work through crowdfunding campaigns or sponsorships
Finding sponsorships works well if you have a strong audience or reputation already, or your project is very popular.
A few examples of sponsored projects include:
* **[webpack](https://github.com/webpack)** raises money from companies and individuals [through OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** a nonprofit organization that pays for work on [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), and other Ruby infrastructure projects
### Create a revenue stream
Depending on your project, you may be able to charge for commercial support, hosted options, or additional features. A few examples include:
* **[Sidekiq](https://github.com/mperham/sidekiq)** offers paid versions for additional support
* **[Travis CI](https://github.com/travis-ci)** offers paid versions of its product
* **[Ghost](https://github.com/TryGhost/Ghost)** is a nonprofit with a paid managed service
Some popular projects, like [npm](https://github.com/npm/cli) and [Docker](https://github.com/docker/docker), even raise venture capital to support their business growth.
### Apply for grant funding
Some software foundations and companies offer grants for open source work. Sometimes, grants can be paid out to individuals without setting up a legal entity for the project.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** received a grant from [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** work was funded by [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** received a grant from the [Sloan Foundation](https://sloan.org/programs/digital-technology)
* The **[Python Software Foundation](https://www.python.org/psf/grants/)** offers grants for Python-related work
* **[FLOSS/fund](https://floss.fund/)** is a dedicated fund to provide no-strings attached financial support to FOSS projects globally.
* The **[GitHub Secure Open Source Fund](https://resources.github.com/github-secure-open-source-fund/)** is a program designed to financially and programmatically improve security and sustainability of open source projects.
For more detailed options and case studies, @nayafia [wrote a guide](https://github.com/nayafia/lemonade-stand) to getting paid for open source work. Different types of funding require different skills, so consider your strengths to figure out which option works best for you.
## Building a case for financial support
Whether your project is a new idea, or has been around for years, you should expect to put significant thought into identifying your target funder and making a compelling case.
Whether you're looking to pay for your own time, or fundraise for a project, you should be able to answer the following questions.
### Impact
Why is this project useful? Why do your users, or potential users, like it so much? Where will it be in five years?
### Traction
Try to collect evidence that your project matters, whether it's metrics, anecdotes, or testimonials. Are there any companies or noteworthy people using your project right now? If not, has a prominent person endorsed it?
### Value to funder
Funders, whether your employer or a grantmaking foundation, are frequently approached with opportunities. Why should they support your project over any other opportunity? How do they personally benefit?
### Use of funds
What, exactly, will you accomplish with the proposed funding? Focus on project milestones or outcomes rather than paying a salary.
### How you'll receive the funds
Does the funder have any requirements around disbursal? For example, you may need to be a nonprofit or have a nonprofit fiscal sponsor. Or perhaps the funds must be given to an individual contractor rather than an organization. These requirements vary between funders, so be sure to do your research beforehand.
## Experiment and don't give up
Raising money isn't easy, whether you're an open source project, a nonprofit, or a software startup, and in most cases requires you to get creative. Identifying how you want to get paid, doing your research, and putting yourself in your funder's shoes will help you build a convincing case for funding.
================================================
FILE: _articles/hi/best-practices.md
================================================
---
lang: hi
title: मेंटेनर्स के लिए सर्वोत्तम प्रैक्टिस
description: आपके जीवन को आसान बनाने के तरीके, संग्रहणिक प्रक्रियाओं से लेकर आपकी समुदाय का उपयोग करने तक, एक ओपन सोर्स मेंटेनर के रूप में।
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## मेंटेनर का मतलब क्या है?
अगर आप किसी खुले स्रोत परियोजना का पालन करते हैं जिसका बहुत सारे लोग उपयोग करते हैं, तो आपने देखा होगा कि आप कोडिंग कम और मुद्दों के जवाब देने ज्यादा कर रहे हैं।
परियोजना के प्रारंभिक चरण में, आप नए विचारों की प्रायोगिकता कर रहे होते हैं और निर्णय वही लेते हैं जो आप चाहते हैं। जब आपकी परियोजना लोकप्रिय होने लगती है, तो आप अपने उपयोगकर्ताओं और सहयोगियों के साथ काम करने के बारे में अधिक सोचेंगे।
परियोजना को संभालने के लिए कोड से ज्यादा की आवश्यकता होती है। ये कार्य अक्सर अप्रत्याशित होते हैं, लेकिन एक बढ़ती हुई परियोजना के लिए ये उतने ही महत्वपूर्ण होते हैं। हमने कुछ तरीके जुटाए हैं जो आपके जीवन को आसान बनाने में मदद करेंगे, प्रक्रियाओं की दस्तावेजीकरण से लेकर आपकी समुदाय का उपयोग करने तक।
## प्रक्रियाओं की दस्तावेजीकरण
चीजों को लिखना मेंटेनर के रूप में आपकी सबसे महत्वपूर्ण चीजों में से एक है।
दस्तावेजीकरण न केवल आपके विचारों को स्पष्ट करता है, बल्कि यह दूसरे लोगों को समझने में मदद करता है कि आपकी क्या आवश्यकताएं हैं या आपकी क्या उम्मीदें हैं, उनसे पहले ही।
चीजें लिखने से, कुछ आपके स्कोप में नहीं आने पर "नहीं" कहना आसान हो जाता है। यह लोगों को साथ में आने और मदद करने के लिए भी आसान बनाता है। आप कभी नहीं जान सकते कि कौन-सा व्यक्ति आपकी परियोजना को पढ़ रहा है या उसका उपयोग कर रहा है।
चाहे आप पूरे पैराग्राफ ना भी उपयोग करें, बुलेट पॉइंट्स को लिखना बिना कुछ लिखे होने से बेहतर है।
याद रखें कि आपकी दस्तावेजीकरण को अपडेट रखने की आवश्यकता है। अगर आप हमेशा इसे अपडेट नहीं कर पा रहे हैं, तो अपने पुराने दस्तावेजीकरण को हटा दें या इसे पुराना बताएं ताकि सहयोगी जानें कि अपडेट्स का स्वागत है।
### अपनी परियोजना की दृष्टि लिखें
परियोजना के लक्ष्यों को लिखने की शुरुआत करें। उन्हें अपने README में जोड़ें, या एक अलग फ़ाइल जिसे VISION के नाम से बुलाया जा सकता है, बनाएं। अगर कोई और आर्टिफैक्ट हो सकते हैं जो मदद कर सकते हैं, जैसे कि परियोजना का रोडमैप, तो उन्हें भी सार्वजनिक बनाएं।
स्पष्ट, दस्तावेजीत दृष्टि आपको ध्यान में रखने में मदद करती है और आपको दूसरों के सहयोग से आने वाले "स्कोप क्रीप" से बचाती है।
उदाहरण के लिए, @lord ने यह जानकर पाया कि परियोजना की दृष्टि रखने से उसने यह तय किया कि किन अनुरोधों पर समय खर्च करना चाहिए। एक नए मेंटेनर के रूप में, उसने खेद किया कि उसने अपनी परियोजना की दिशा को न अपनाकर अपने पहले विशेषता अनुरोध के लिए [Slate](https://github.com/lord/slate) को मान्यता दी।
### आपकी उम्मीदाएँ संवाद करें
नियम लिखने के लिए हो सकते हैं और समय-समय पर यह घबराने वाला होता है। कभी-कभी आपको ऐसा लग सकता है कि आप दूसरों के व्यवहार की पुलिसी बना रहे हैं या सब मज़ा खत्म कर रहे हैं।
लेकिन यदि नियम स्पष्ट, लिखित और सावधानीपूर्वक पालन किए जाएं, तो यह मेंटेनर्स को सशक्त बनाते हैं। वे आपको उन कामों में नहीं फंसने से बचाते हैं जिन्हें आप करना नहीं चाहते।
आपकी परियोजना के बारे में ज्यादातर लोग आपके बारे में कुछ भी नहीं जानते हैं या आपके परिस्थितियों के बारे में। वे मान सकते हैं कि आप इस पर काम करने के लिए पैसे प्राप्त करते हैं, विशेष रूप से अगर यह कुछ है जिसका वे नियमित रूप से उपयोग करते हैं और उस पर निर्भर करते हैं। शायद किसी समय आपने अपनी परियोजना में काफी समय लगाया था, लेकिन अब आप एक नई नौकरी या परिवार के सदस्य के साथ व्यस्त हैं।
ये सब बिल्कुल ठीक है! बस यह सुनिश्चित करें कि अन्य लोग इसके बारे में जानते हैं।
यदि आपकी परियोजना को पार्ट-टाइम या पूरी तरह से स्वयंसेवा में बनाए रखना है, तो यह स्पष्ट रूप से बताएं कि आपके पास कितना समय है। यह उस समय के समान नहीं है जिसकी परियोजना को आपकी आवश्यकता है, या उस समय के समान नहीं है जिसे दुसरों को आपके खर्च करने के लिए चाहिए।
यहाँ कुछ नियम हैं जो लिखने योग्य हैं:
* किसी योगदान की समीक्षा और स्वीकार कैसे की जाती है (_क्या उन्हें परीक्षण की आवश्यकता है? एक समस्या टेम्पलेट?_)
* योगदान के प्रकार जिन्हें आप स्वीकार करेंगे (_क्या आप केवल अपने कोड के एक निश्चित भाग के लिए सहायता चाहते हैं?_)
* जब फॉलो-अप करना उचित हो (_उदाहरण के लिए, "आप 7 दिनों के भीतर अनुरक्षक से प्रतिक्रिया की उम्मीद कर सकते हैं। यदि आपने तब तक कुछ नहीं सुना है, तो बेझिझक थ्रेड को पिंग करें।"_)
* आप प्रोजेक्ट पर कितना समय बिताते हैं (उदाहरण के लिए, "हम इस प्रोजेक्ट पर प्रति सप्ताह केवल 5 घंटे खर्च करते हैं"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), and [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) अनुरक्षकों और योगदानकर्ताओं के लिए बुनियादी नियमों वाली परियोजनाओं के कई उदाहरण हैं।
### संवाद को सार्वजनिक रखें
अपने संवादों को डॉक्युमेंट करना न भूलें। जहां भी संभव हो, अपनी परियोजना के बारे में होने वाले संवाद को सार्वजनिक रूप से रखें। यदि कोई किसी विशेषता अनुरोध या समर्थन की आवश्यकता के लिए आपसे निजी तौर पर संपर्क करने का प्रयास करता है, तो उन्हें सवालों की सार्वजनिक संवाद स्रोत, जैसे कि मेलिंग सूची या समस्या ट्रैकर, की ओर सभीष्ठता से प्रेषित करें।
यदि आप अन्य संरक्षकों से मिलते हैं, या यदि आप निजी तौर पर महत्वपूर्ण निर्णय लेते हैं, तो इन संवादों को सार्वजनिक डॉक्युमेंट करें, चाहे आपके नोट पोस्ट करने के बारे में भी हो।
इस तरह, जो भी आपकी समुदाय में शामिल होता है, वह उसी जानकारी तक पहुँच पाएगा जो सालों से वहाँ हैने वाले किसी के पास है।
## ना कहना सीखना
आपने बातें लिख दी हैं. आदर्श रूप से, हर कोई आपके दस्तावेज़ को पढ़ेगा, लेकिन वास्तव में, आपको दूसरों को याद दिलाना होगा कि यह ज्ञान मौजूद है।
हालाँकि, सब कुछ लिखित होने से उन स्थितियों को वैयक्तिकृत करने में मदद मिलती है जब आपको अपने नियमों को लागू करने की आवश्यकता होती है।
ना कहना मज़ेदार नहीं है, लेकिन _"आपका योगदान इस परियोजना के मानदंडों से मेल नहीं खाता"__"मुझे आपका योगदान पसंद नहीं है"_ की तुलना में कम व्यक्तिगत लगता है।
ना कहना उन कई स्थितियों पर लागू होता है जिनका सामना आप एक अनुरक्षक के रूप में करेंगे: सुविधा अनुरोध जो दायरे में फिट नहीं होते हैं, कोई व्यक्ति चर्चा को पटरी से उतार रहा है, दूसरों के लिए अनावश्यक काम कर रहा है।
### बातचीत मित्रवत रखें
सबसे महत्वपूर्ण स्थानों में से एक जहां आप ना कहने का अभ्यास करेंगे, वह है आपके मुद्दे पर और अनुरोध कतार को खींचना। एक प्रोजेक्ट अनुरक्षक के रूप में, आपको अनिवार्य रूप से ऐसे सुझाव प्राप्त होंगे जिन्हें आप स्वीकार नहीं करना चाहते हैं।
हो सकता है कि योगदान आपके प्रोजेक्ट का दायरा बदल दे या आपके दृष्टिकोण से मेल न खाए। हो सकता है कि विचार अच्छा हो, लेकिन कार्यान्वयन ख़राब हो।
कारण चाहे जो भी हो, उन योगदानों को चतुराई से संभालना संभव है जो आपके प्रोजेक्ट के मानकों को पूरा नहीं करते हैं।
यदि आपको कोई योगदान मिलता है जिसे आप स्वीकार नहीं करना चाहते हैं, तो आपकी पहली प्रतिक्रिया इसे अनदेखा करना या दिखावा करना हो सकता है कि आपने इसे नहीं देखा है। ऐसा करने से दूसरे व्यक्ति की भावनाएं आहत हो सकती हैं और यहां तक कि आपके समुदाय में अन्य संभावित योगदानकर्ता भी हतोत्साहित हो सकते हैं।
अनचाहे योगदान को खुले छोडने का कारण यह नहीं होना चाहिए कि आपको आपत्ति महसूस हो रही हो या आप अच्छे बनना चाहते हों। समय के साथ, आपके बिना उत्तरित मुद्दे और पुल रिक्वेस्ट (PRs) से आपके प्रोजेक्ट पर काम करने में अधिक तनावपूर्ण और डरावनी भावना उत्पन्न हो सकती है।
जिन योगदानों को आप जानते हैं कि आप स्वीकार नहीं करना चाहते, उन्हें तुरंत बंद कर देना बेहतर है। यदि आपका प्रोजेक्ट पहले से ही बड़े बैकलॉग से ग्रस्त है, @steveklabnik [how to triage issues efficiently](https://words.steveklabnik.com/how-to-be-an-open-source-gardener) के लिए सुझाव हैं .
योगदान को नज़रअंदाज करना आपके समुदाय को नकारात्मक संकेत भेजता है। किसी प्रोजेक्ट में योगदान देना डराने वाला हो सकता है, खासकर अगर यह किसी के लिए पहली बार हो। भले ही आप उनके योगदान को स्वीकार न करें, इसके पीछे वाले व्यक्ति को स्वीकार करें और उनकी रुचि के लिए उन्हें धन्यवाद दें। यह एक बड़ी प्रशंसा है!
यदि आप कोई योगदान स्वीकार नहीं करना चाहते हैं:
* **उन्हें उनके योगदान के लिए धन्यवाद**
* **स्पष्ट करें कि यह परियोजना के दायरे में क्यों फिट नहीं बैठता**, और यदि आप सक्षम हैं तो सुधार के लिए स्पष्ट सुझाव दें। दयालु बनें, लेकिन दृढ़ रहें।
* **प्रासंगिक दस्तावेज का लिंक**, यदि आपके पास है। यदि आप उन चीज़ों के लिए बार-बार अनुरोध देखते हैं जिन्हें आप स्वीकार नहीं करना चाहते हैं, तो उन्हें दोहराने से बचने के लिए उन्हें अपने दस्तावेज़ में जोड़ें।
* **अनुरोध बंद करें**
You shouldn't need more than 1-2 sentences to respond. For example, when a user of [celery](https://github.com/celery/celery/) reported a Windows-related error, @berkerpeksag [responded with](https://github.com/celery/celery/issues/3383):

यदि ना कहने का विचार आपको भयभीत करता है, तो आप अकेले नहीं हैं। जैसा @jessfraz [put it](https://blog.jessfraz.com/post/the-art-of-closing/):
> मैंने कई अलग-अलग ओपन सोर्स प्रोजेक्ट्स, मेसोस, कुबेरनेट्स, क्रोमियम के अनुरक्षकों से बात की है, और वे सभी इस बात से सहमत हैं कि अनुरक्षक होने के सबसे कठिन हिस्सों में से एक उन पैच को "नहीं" कहना है जिन्हें आप नहीं चाहते हैं।
किसी के योगदान को स्वीकार न करने को लेकर दोषी महसूस न करें। ओपन सोर्स का पहला नियम, [according to](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"
नहीं अस्थायी है, हाँ हमेशा के लिए है।"_ जबकि किसी अन्य व्यक्ति के उत्साह के साथ सहानुभूति रखना अच्छी बात है, किसी योगदान को अस्वीकार करना उसके पीछे वाले व्यक्ति को अस्वीकार करने के समान नहीं है।
अंततः, यदि कोई योगदान पर्याप्त नहीं है, तो आप इसे स्वीकार करने के लिए बाध्य नहीं हैं। जब लोग आपके प्रोजेक्ट में योगदान दें तो दयालु और उत्तरदायी बनें, लेकिन केवल उन बदलावों को स्वीकार करें जिनके बारे में आपको वास्तव में विश्वास है कि वे आपके प्रोजेक्ट को बेहतर बनाएंगे। आप जितनी बार ना कहने का अभ्यास करेंगे, यह उतना ही आसान हो जाएगा। वादा करना।
### सक्रिय होना
सबसे पहले अवांछित योगदान की मात्रा को कम करने के लिए, अपने योगदान मार्गदर्शिका में योगदान जमा करने और स्वीकार करने के लिए अपने प्रोजेक्ट की प्रक्रिया की व्याख्या करें।
यदि आपको बहुत अधिक निम्न-गुणवत्ता वाले योगदान प्राप्त हो रहे हैं, तो आवश्यक है कि योगदानकर्ता पहले से ही थोड़ा काम करें, उदाहरण के लिए:
* कोई अंक या पीआर टेम्पलेट/चेकलिस्ट भरें
* पीआर सबमिट करने से पहले एक मुद्दा खोलें
यदि वे आपके नियमों का पालन नहीं करते हैं, तो समस्या को तुरंत बंद करें और अपने दस्तावेज़ की ओर इंगित करें।
हालाँकि यह दृष्टिकोण पहली बार में निर्दयी लग सकता है, सक्रिय होना वास्तव में दोनों पक्षों के लिए अच्छा है। इससे इस बात की संभावना कम हो जाती है कि कोई व्यक्ति काम के कई घंटे बर्बाद करके ऐसे पुल अनुरोध में लगाएगा जिसे आप स्वीकार नहीं करेंगे। और यह आपके कार्यभार को प्रबंधित करना आसान बनाता है।
कभी-कभी, जब आप ना कहते हैं, तो आपका संभावित योगदानकर्ता परेशान हो सकता है या आपके निर्णय की आलोचना कर सकता है। यदि उनका व्यवहार शत्रुतापूर्ण हो जाए, [स्थिति को शांत करने के लिए कदम उठाएं](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) या यदि वे रचनात्मक रूप से सहयोग करने के इच्छुक नहीं हैं, तो उन्हें अपने समुदाय से हटा भी दें।
### मार्गदर्शन को गले लगाओ
हो सकता है कि आपके समुदाय में कोई व्यक्ति नियमित रूप से ऐसे योगदान सबमिट करता हो जो आपके प्रोजेक्ट के मानकों को पूरा नहीं करता हो। बार-बार अस्वीकृतियों से गुजरना दोनों पक्षों के लिए निराशाजनक हो सकता है।
यदि आप देखते हैं कि कोई आपके प्रोजेक्ट को लेकर उत्साहित है, लेकिन उसे थोड़ा निखारने की जरूरत है, तो धैर्य रखें। प्रत्येक स्थिति में स्पष्ट रूप से बताएं कि उनका योगदान परियोजना की अपेक्षाओं को पूरा क्यों नहीं करता है। उन्हें किसी आसान या कम अस्पष्ट कार्य की ओर इंगित करने का प्रयास करें, जैसे उनके पैरों को गीला करने के लिए _"अच्छा पहला अंक,"_ चिह्नित कोई मुद्दा। यदि आपके पास समय है, तो उनके पहले योगदान के माध्यम से उन्हें सलाह देने पर विचार करें, या अपने समुदाय में किसी और को ढूंढें जो उन्हें सलाह देने के लिए तैयार हो सकता है।
## अपने समुदाय का लाभ उठाएं
आपको सब कुछ खुद ही करने की ज़रूरत नहीं है. आपके प्रोजेक्ट का समुदाय किसी कारण से मौजूद है! भले ही आपके पास अभी तक कोई सक्रिय योगदानकर्ता समुदाय नहीं है, यदि आपके पास बहुत सारे उपयोगकर्ता हैं, तो उन्हें काम पर लगाएं।
### कार्यभार साझा करें
यदि आप मदद के लिए दूसरों की तलाश कर रहे हैं, तो आसपास पूछकर शुरुआत करें।
नए योगदानकर्ताओं को प्राप्त करने का एक तरीका स्पष्ट रूप से है [ऐसे लेबल मुद्दे जो शुरुआती लोगों के लिए निपटने के लिए काफी सरल हैं](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). इसके बाद GitHub इन मुद्दों को प्लेटफ़ॉर्म पर विभिन्न स्थानों पर प्रदर्शित करेगा, जिससे उनकी दृश्यता बढ़ेगी।
जब आप नए योगदानकर्ताओं को बार-बार योगदान करते हुए देखें, तो अधिक जिम्मेदारी देकर उनके काम को पहचानें। दस्तावेज़ बनाएं कि यदि अन्य लोग चाहें तो नेतृत्व की भूमिका में कैसे विकसित हो सकते हैं।
दूसरों को इसके लिए प्रोत्साहित करना [अपने प्रोजेक्ट का स्वामित्व साझा करें](../building-community/#अपने-प्रोजेक्ट-का-स्वामित्व-साझा-करें) आपके स्वयं के कार्यभार को बहुत कम कर सकता है, जैसा कि @lmccart ने अपने प्रोजेक्ट पर पाया, [p5.js](https://github.com/processing/p5.js).
यदि आपको अपने प्रोजेक्ट से हटना है, या तो अंतराल पर या स्थायी रूप से, तो किसी और को आपकी जगह लेने के लिए कहने में कोई शर्म की बात नहीं है।
यदि अन्य लोग इसकी दिशा को लेकर उत्साहित हैं, तो उन्हें प्रतिबद्ध पहुंच प्रदान करें या औपचारिक रूप से नियंत्रण किसी और को सौंप दें। यदि किसी ने आपके प्रोजेक्ट को फोर्क किया है और इसे कहीं और सक्रिय रूप से बनाए रख रहा है, तो अपने मूल प्रोजेक्ट से फोर्क को जोड़ने पर विचार करें। यह बहुत अच्छा है कि इतने सारे लोग चाहते हैं कि आपका प्रोजेक्ट चालू रहे!
@progrium [ने पाया कि](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) अपने प्रोजेक्ट, [Dokku](https://github.com/dokku/dokku) के लिए विज़न का दस्तावेजीकरण करने से, प्रोजेक्ट से जाने के बाद भी उन लक्ष्यों को जीवित रखने में मदद मिली:
> मैंने एक विकी पेज लिखा जिसमें बताया गया कि मैं क्या चाहता था और मैं यह क्यों चाहता था। किसी कारण से यह मेरे लिए आश्चर्य की बात थी कि अनुरक्षकों ने परियोजना को उस दिशा में आगे बढ़ाना शुरू कर दिया! क्या यह बिल्कुल वैसा ही हुआ जैसा मैंने इसे किया था? हमेशा नहीं। लेकिन फिर भी यह परियोजना को मैंने जो लिखा था उसके करीब ले आया।
### दूसरों को वे समाधान बनाने दें जिनकी उन्हें आवश्यकता है
यदि किसी संभावित योगदानकर्ता की इस बारे में अलग राय है कि आपके प्रोजेक्ट को क्या करना चाहिए, तो आप उन्हें धीरे-धीरे अपने स्वयं के कांटे पर काम करने के लिए प्रोत्साहित करना चाह सकते हैं।
किसी प्रोजेक्ट को फोर्क करना कोई बुरी बात नहीं है। प्रोजेक्टों को कॉपी और संशोधित करने में सक्षम होना ओपन सोर्स के बारे में सबसे अच्छी चीजों में से एक है। अपने समुदाय के सदस्यों को अपने स्वयं के फ़ोर्क पर काम करने के लिए प्रोत्साहित करना, आपके प्रोजेक्ट के दृष्टिकोण के साथ टकराव किए बिना, उन्हें आवश्यक रचनात्मक आउटलेट प्रदान कर सकता है।
यही बात उस उपयोगकर्ता पर लागू होती है जो वास्तव में एक ऐसा समाधान चाहता है जिसे बनाने के लिए आपके पास बैंडविड्थ नहीं है। एपीआई और अनुकूलन हुक की पेशकश दूसरों को स्रोत को सीधे संशोधित किए बिना, अपनी जरूरतों को पूरा करने में मदद कर सकती है। @orta [ने पाया कि](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) कोकोपोड्स के लिए प्लगइन्स को प्रोत्साहित करने से "कुछ सबसे दिलचस्प विचार" सामने आए:
> यह लगभग अपरिहार्य है कि एक बार जब कोई परियोजना बड़ी हो जाती है, तो अनुरक्षकों को इस बारे में अधिक रूढ़िवादी बनना पड़ता है कि वे नए कोड कैसे पेश करते हैं। आप "नहीं" कहने में अच्छे हो जाते हैं, लेकिन बहुत से लोगों की ज़रूरतें वैध होती हैं। तो, इसके बजाय आप अपने टूल को एक प्लेटफ़ॉर्म में परिवर्तित कर देते हैं।
## रोबोट लाओ
जिस प्रकार ऐसे कार्य हैं जिनमें अन्य लोग आपकी सहायता कर सकते हैं, वैसे ही ऐसे कार्य भी हैं जिन्हें किसी भी मनुष्य को कभी नहीं करना चाहिए। रोबोट आपके मित्र हैं. एक अनुरक्षक के रूप में अपने जीवन को आसान बनाने के लिए उनका उपयोग करें।
### आपके कोड की गुणवत्ता में सुधार के लिए परीक्षण और अन्य जांच की आवश्यकता है
परीक्षण जोड़कर अपने प्रोजेक्ट को स्वचालित करने का सबसे महत्वपूर्ण तरीका है।
परीक्षण योगदानकर्ताओं को यह विश्वास दिलाने में मदद करते हैं कि वे कुछ भी नहीं तोड़ेंगे। वे आपके लिए योगदान की शीघ्रता से समीक्षा करना और स्वीकार करना भी आसान बनाते हैं। आप जितने अधिक संवेदनशील होंगे, आपका समुदाय उतना ही अधिक सक्रिय हो सकता है।
स्वचालित परीक्षण सेट करें जो आने वाले सभी योगदानों पर चलेंगे, और सुनिश्चित करें कि आपके परीक्षण योगदानकर्ताओं द्वारा स्थानीय स्तर पर आसानी से चलाए जा सकें। आवश्यक है कि सबमिट किए जाने से पहले सभी कोड योगदान आपके परीक्षणों में उत्तीर्ण हों। आप सभी प्रस्तुतियों के लिए गुणवत्ता का न्यूनतम मानक निर्धारित करने में मदद करेंगे। GitHub पर [आवश्यक स्थिति जांच](https://help.github.com/articles/about-required-status-checks/) यह सुनिश्चित करने में मदद कर सकता है कि आपके परीक्षण पास किए बिना कोई भी परिवर्तन मर्ज नहीं किया जाएगा।
यदि आप परीक्षण जोड़ते हैं, तो यह बताना सुनिश्चित करें कि वे आपकी CONTRIBUTING फ़ाइल में कैसे काम करते हैं।
### बुनियादी रखरखाव कार्यों को स्वचालित करने के लिए टूल का उपयोग करें
एक लोकप्रिय परियोजना को बनाए रखने के बारे में अच्छी खबर यह है कि अन्य रखरखावकर्ताओं ने संभवतः इसी तरह के मुद्दों का सामना किया है और उनके लिए एक समाधान तैयार किया है।
रखरखाव कार्य के कुछ पहलुओं को स्वचालित करने में मदद के लिए [विभिन्न प्रकार के उपकरण उपलब्ध हैं](https://github.com/showcases/tools-for-open-source) हैं। कुछ उदाहरण:
* [semantic-release](https://github.com/semantic-release/semantic-release) automates your releases
* [mention-bot](https://github.com/facebook/mention-bot) mentions potential reviewers for pull requests
* [Danger](https://github.com/danger/danger) helps automate code review
* [no-response](https://github.com/probot/no-response) closes issues where the author hasn't responded to a request for more information
* [dependabot](https://github.com/dependabot) checks your dependency files every day for outdated requirements and opens individual pull requests for any it finds
बग रिपोर्ट और अन्य सामान्य योगदानों के लिए, GitHub के पास [इश्यू टेम्प्लेट्स और पुल रिक्वेस्ट टेम्प्लेट्स](https://github.com/blog/2111-issue-and-pull-request-templates) हैं, जिन्हें आप संचार को सुव्यवस्थित करने के लिए बना सकते हैं आपको प्राप्त हुया। @TalAter ने आपके मुद्दे और पीआर टेम्प्लेट लिखने में आपकी मदद करने के लिए एक [अपनी खुद की एडवेंचर गाइड चुनें](https://www.talater.com/open-source-templates/#/) बनाई है।
अपनी ईमेल सूचनाओं को प्रबंधित करने के लिए, आप प्राथमिकता के आधार पर व्यवस्थित करने के लिए [ईमेल फ़िल्टर](https://github.com/blog/2203-email-updates-about-your-own-activity) सेट कर सकते हैं।
यदि आप थोड़ा और उन्नत होना चाहते हैं, तो स्टाइल गाइड और लिंटर परियोजना योगदान को मानकीकृत कर सकते हैं और उनकी समीक्षा करना और स्वीकार करना आसान बना सकते हैं।
हालाँकि, यदि आपके मानक बहुत जटिल हैं, तो वे योगदान में बाधाएँ बढ़ा सकते हैं। सुनिश्चित करें कि आप सभी के जीवन को आसान बनाने के लिए केवल पर्याप्त नियम जोड़ रहे हैं।
यदि आप निश्चित नहीं हैं कि कौन से टूल का उपयोग करना है, तो देखें कि अन्य लोकप्रिय प्रोजेक्ट क्या करते हैं, विशेष रूप से आपके पारिस्थितिकी तंत्र में। उदाहरण के लिए, अन्य नोड मॉड्यूल के लिए योगदान प्रक्रिया कैसी दिखती है? समान टूल और दृष्टिकोण का उपयोग करने से आपकी प्रक्रिया आपके लक्षित योगदानकर्ताओं के लिए अधिक परिचित हो जाएगी।
## विराम देना ठीक है
ओपन सोर्स का काम एक बार आपके लिए खुशी लेकर आया। शायद अब यह आपको टालने या दोषी महसूस कराने लगा है।
जब आप अपनी परियोजनाओं के बारे में सोचते हैं तो शायद आप अभिभूत महसूस कर रहे हों या भय की भावना बढ़ रही हो। और इस बीच, मुद्दों और पुल अनुरोधों का ढेर लग जाता है।
ओपन सोर्स कार्य में बर्नआउट एक वास्तविक और व्यापक मुद्दा है, विशेषकर अनुरक्षकों के बीच। एक अनुरक्षक के रूप में, किसी भी ओपन सोर्स प्रोजेक्ट के अस्तित्व के लिए आपकी खुशी एक गैर-परक्राम्य आवश्यकता है।
हालाँकि यह बिना कहे चला जाना चाहिए, एक ब्रेक लें! आपको छुट्टी लेने के लिए तब तक इंतजार नहीं करना चाहिए जब तक आप थका हुआ महसूस न करें। @brettcannon, एक पायथन कोर डेवलपर, ने 14 साल के स्वयंसेवक OSS के बाद [एक महीने की छुट्टी](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) लेने का फैसला किया काम।
किसी भी अन्य प्रकार के काम की तरह, नियमित ब्रेक लेने से आप अपने काम के प्रति तरोताजा, खुश और उत्साहित रहेंगे।
कभी-कभी, जब ऐसा महसूस हो कि हर किसी को आपकी ज़रूरत है तो ओपन सोर्स कार्य से ब्रेक लेना कठिन हो सकता है। लोग आपको दूर जाने के लिए दोषी महसूस कराने का प्रयास भी कर सकते हैं।
जब आप किसी प्रोजेक्ट से दूर हों तो अपने उपयोगकर्ताओं और समुदाय के लिए समर्थन पाने की पूरी कोशिश करें। यदि आपको आवश्यक सहायता नहीं मिल पा रही है, तो फिर भी एक ब्रेक ले लें। जब आप उपलब्ध न हों तो संवाद करना सुनिश्चित करें, ताकि लोग आपकी प्रतिक्रियाशीलता की कमी से भ्रमित न हों।
ब्रेक लेना केवल छुट्टियों के अलावा और भी बहुत कुछ पर लागू होता है। यदि आप सप्ताहांत पर या काम के घंटों के दौरान ओपन सोर्स काम नहीं करना चाहते हैं, तो उन अपेक्षाओं को दूसरों को बताएं, ताकि वे जान सकें कि आपको परेशान नहीं करना है।
## पहले अपना ख्याल रखें!
किसी लोकप्रिय प्रोजेक्ट को बनाए रखने के लिए विकास के शुरुआती चरणों की तुलना में अलग कौशल की आवश्यकता होती है, लेकिन यह कम फायदेमंद नहीं है। एक अनुरक्षक के रूप में, आप नेतृत्व और व्यक्तिगत कौशल का उस स्तर पर अभ्यास करेंगे जिसका अनुभव बहुत कम लोगों को होता है। हालाँकि इसे प्रबंधित करना हमेशा आसान नहीं होता है, स्पष्ट सीमाएँ निर्धारित करना और केवल वही लेना जिसमें आप सहज हों, आपको खुश, तरोताज़ा और उत्पादक रहने में मदद करेगा।
================================================
FILE: _articles/hi/building-community.md
================================================
---
lang: hi
title: स्वागत योग्य समुदायों का निर्माण
description: एक ऐसे समुदाय का निर्माण करना जो लोगों को आपके प्रोजेक्ट का उपयोग करने, उसमें योगदान करने और उसका प्रचार-प्रसार करने के लिए प्रोत्साहित करे।
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## सफलता के लिए अपना प्रोजेक्ट तैयार करना
आपने अपना प्रोजेक्ट लॉन्च कर दिया है, आप इसका प्रचार-प्रसार कर रहे हैं और लोग इसकी जांच कर रहे हैं। बहुत बढ़िया! अब, आप उन्हें अपने साथ कैसे जोड़े रखेंगे?
स्वागत करने वाला समुदाय आपके प्रोजेक्ट के भविष्य और प्रतिष्ठा में एक निवेश है। यदि आपका प्रोजेक्ट अभी अपना पहला योगदान देखना शुरू कर रहा है, तो शुरुआती योगदानकर्ताओं को एक सकारात्मक अनुभव देकर शुरुआत करें, और उनके लिए वापस आना आसान बनाएं।
### लोगों को स्वागत का एहसास कराएं
आपके प्रोजेक्ट के समुदाय के बारे में सोचने का एक तरीका यह है कि @MikeMcQuaid इसे [योगदानकर्ता फ़नल](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/) कहता है:

जैसे ही आप अपना समुदाय बनाते हैं, इस बात पर विचार करें कि फ़नल के शीर्ष पर कोई व्यक्ति (एक संभावित उपयोगकर्ता) सैद्धांतिक रूप से नीचे (एक सक्रिय अनुरक्षक) तक अपना रास्ता कैसे बना सकता है। आपका लक्ष्य योगदानकर्ता अनुभव के प्रत्येक चरण में घर्षण को कम करना है। जब लोगों को आसानी से जीत मिलती है, तो वे और अधिक करने के लिए प्रोत्साहित महसूस करेंगे।
अपने दस्तावेज़ से प्रारंभ करें:
* **किसी के लिए आपके प्रोजेक्ट का उपयोग करना आसान बनाएं।** [एक मैत्रीपूर्ण README लिखना](../starting-a-project/#एक-रीडमी-लिखना)
और स्पष्ट कोड उदाहरण आपके प्रोजेक्ट पर आने वाले किसी भी व्यक्ति के लिए आरंभ करना आसान बना देंगे।
* **स्पष्ट रूप से बताएं कि योगदान कैसे करना है**, आपकी [योगदान CONTRIBUTING फ़ाइल का उपयोग करके](../starting-a-project/#अपने-योगदान-संबंधी-दिशानिर्देश-लिखना) और अपने मुद्दों को अद्यतन रखते हुए।
* **अच्छे प्रथम अंक**: नए योगदानकर्ताओं को आरंभ करने में मदद करने के लिए, स्पष्ट रूप से विचार करें [उन मुद्दों को लेबल करना जो शुरुआती लोगों के लिए निपटने के लिए काफी सरल हैं](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). इसके बाद GitHub इन मुद्दों को प्लेटफ़ॉर्म पर विभिन्न स्थानों पर सामने लाएगा, उपयोगी योगदान बढ़ाएगा, और उन मुद्दों से निपटने वाले उपयोगकर्ताओं के मनमुटाव को कम करेगा जो उनके स्तर के लिए बहुत कठिन हैं।
[GitHub का 2017 ओपन सोर्स सर्वेक्षण](http://opensourcesurvey.org/2017/) अपूर्ण या भ्रमित करने वाला दस्तावेज़ दिखाना ओपन सोर्स उपयोगकर्ताओं के लिए सबसे बड़ी समस्या है। अच्छा दस्तावेज़ीकरण लोगों को आपके प्रोजेक्ट के साथ बातचीत करने के लिए आमंत्रित करता है। अंततः, कोई व्यक्ति कोई समस्या खोलेगा या अनुरोध खींच लेगा। इन इंटरैक्शन को फ़नल से नीचे ले जाने के अवसर के रूप में उपयोग करें।
* **जब कोई नया व्यक्ति आपके प्रोजेक्ट पर आता है, तो उनकी रुचि के लिए उन्हें धन्यवाद दें!** किसी को वापस आने से रोकने के लिए केवल एक नकारात्मक अनुभव की आवश्यकता होती है।
* **उत्तरदायी बनें।** यदि आप एक महीने तक उनके मुद्दे पर प्रतिक्रिया नहीं देते हैं, तो संभावना है कि वे पहले ही आपके प्रोजेक्ट के बारे में भूल चुके होंगे।
* **आप जिस प्रकार के योगदान स्वीकार करेंगे, उसके बारे में खुले दिमाग से काम करें।** कई योगदानकर्ता बग रिपोर्ट या छोटे सुधार के साथ शुरुआत करते हैं। [योगदान करने के कई तरीके](../how-to-contribute/#योगदान-देने-का-क्या-मतलब-है) हैं। लोग जिस तरह से मदद करना चाहते हैं, उन्हें मदद करने दें।
* **यदि कोई योगदान है जिससे आप असहमत हैं,** उनके विचार के लिए उन्हें धन्यवाद दें और [समझाइए क्यों](../best-practices/#ना-कहना-सीखना) यह परियोजना के दायरे में फिट नहीं बैठता है, यदि आपके पास प्रासंगिक दस्तावेज हैं तो इसे लिंक करें।
अधिकांश ओपन सोर्स योगदानकर्ता "आकस्मिक योगदानकर्ता" हैं: वे लोग जो कभी-कभार ही किसी परियोजना में योगदान करते हैं। एक आकस्मिक योगदानकर्ता के पास आपके प्रोजेक्ट को पूरी तरह से गति देने का समय नहीं हो सकता है, इसलिए आपका काम उनके लिए योगदान करना आसान बनाना है।
अन्य योगदानकर्ताओं को प्रोत्साहित करना आपके लिए भी एक निवेश है। जब आप अपने सबसे बड़े प्रशंसकों को उस काम के लिए सशक्त बनाते हैं जिसके लिए वे उत्साहित हैं, तो सब कुछ स्वयं करने का दबाव कम होता है।
### हर चीज़ का दस्तावेजीकरण करें
जब आप कोई नया प्रोजेक्ट शुरू करते हैं, तो अपने काम को निजी रखना स्वाभाविक लग सकता है। लेकिन जब आप अपनी प्रक्रिया को सार्वजनिक रूप से दस्तावेज़ित करते हैं तो ओपन सोर्स प्रोजेक्ट फलते-फूलते हैं।
जब आप चीज़ें लिखते हैं, तो हर कदम पर अधिक लोग भाग ले सकते हैं। आपको किसी ऐसी चीज़ पर मदद मिल सकती है जिसके बारे में आपको पता भी नहीं था कि आपको इसकी ज़रूरत है।
चीज़ों को लिखने का अर्थ केवल तकनीकी दस्तावेज़ीकरण से कहीं अधिक है। जब भी आपको कुछ लिखने या अपने प्रोजेक्ट पर निजी तौर पर चर्चा करने की इच्छा महसूस हो, तो अपने आप से पूछें कि क्या आप इसे सार्वजनिक कर सकते हैं।
अपने प्रोजेक्ट के रोडमैप, आप किस प्रकार के योगदान की तलाश कर रहे हैं, योगदान की समीक्षा कैसे की जाती है, या आपने कुछ निर्णय क्यों लिए, इस बारे में पारदर्शी रहें।
यदि आप देखते हैं कि कई उपयोगकर्ता एक ही समस्या से जूझ रहे हैं, तो उत्तरों को README में दर्ज करें।
बैठकों के लिए, किसी प्रासंगिक मुद्दे पर अपने नोट्स या निष्कर्ष प्रकाशित करने पर विचार करें। पारदर्शिता के इस स्तर से आपको जो फीडबैक मिलेगा वह आपको आश्चर्यचकित कर सकता है।
हर चीज़ का दस्तावेज़ीकरण आपके द्वारा किए जाने वाले काम पर भी लागू होता है। यदि आप अपने प्रोजेक्ट में पर्याप्त अपडेट पर काम कर रहे हैं, तो इसे पुल अनुरोध में डालें और इसे कार्य प्रगति पर (डब्ल्यूआईपी) के रूप में चिह्नित करें। इस तरह, अन्य लोग शुरू से ही इस प्रक्रिया में शामिल महसूस कर सकते हैं।
### उत्तरदायी बनें
जैसे ही आप [अपने प्रोजेक्ट का प्रचार करें](../finding-users), लोगों के पास आपके लिए प्रतिक्रिया होगी. उनके मन में यह सवाल हो सकता है कि चीज़ें कैसे काम करती हैं, या उन्हें आरंभ करने में सहायता की आवश्यकता हो सकती है।
जब कोई व्यक्ति कोई समस्या दर्ज करता है, पुल अनुरोध सबमिट करता है, या आपके प्रोजेक्ट के बारे में कोई प्रश्न पूछता है तो प्रतिक्रियाशील बनने का प्रयास करें। जब आप तुरंत प्रतिक्रिया देते हैं, तो लोगों को लगेगा कि वे एक संवाद का हिस्सा हैं, और वे भाग लेने के लिए अधिक उत्साहित होंगे।
भले ही आप तुरंत अनुरोध की समीक्षा नहीं कर सकते, लेकिन इसे जल्दी स्वीकार करने से जुड़ाव बढ़ाने में मदद मिलती है। यहां बताया गया है कि @tdreyno ने [मिडिलमैन](https://github.com/middleman/middleman/pull/1466) पर पुल अनुरोध का जवाब कैसे दिया:

[मोज़िला के एक अध्ययन में यह पाया गया](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) जिन योगदानकर्ताओं को 48 घंटों के भीतर कोड समीक्षाएँ प्राप्त हुईं, उनकी वापसी और दोहराव योगदान की दर बहुत अधिक थी।
आपके प्रोजेक्ट के बारे में बातचीत इंटरनेट पर स्टैक ओवरफ्लो, ट्विटर या रेडिट जैसे अन्य स्थानों पर भी हो सकती है। आप इनमें से कुछ स्थानों पर सूचनाएं सेट कर सकते हैं ताकि जब कोई आपके प्रोजेक्ट का उल्लेख करे तो आप सतर्क हो जाएं।
### अपने समुदाय को एकत्र होने के लिए जगह दें
अपने समुदाय को एकत्रित होने के लिए जगह देने के दो कारण हैं।
पहला कारण उनके लिए है. लोगों को एक-दूसरे को जानने में मदद करें। समान रुचि वाले लोग अनिवार्य रूप से इसके बारे में बात करने के लिए जगह चाहेंगे। और जब संचार सार्वजनिक और सुलभ होता है, तो कोई भी गति प्राप्त करने और भाग लेने के लिए पिछले अभिलेखों को पढ़ सकता है।
दूसरा कारण आपके लिए है. यदि आप लोगों को अपने प्रोजेक्ट के बारे में बात करने के लिए सार्वजनिक स्थान नहीं देते हैं, तो वे संभवतः आपसे सीधे संपर्क करेंगे। शुरुआत में, निजी संदेशों का "सिर्फ एक बार" जवाब देना काफी आसान लग सकता है। लेकिन समय के साथ, खासकर यदि आपका प्रोजेक्ट लोकप्रिय हो जाता है, तो आप थकावट महसूस करेंगे। अपने प्रोजेक्ट के बारे में लोगों से निजी तौर पर संवाद करने के प्रलोभन से बचें। इसके बजाय, उन्हें एक निर्दिष्ट सार्वजनिक चैनल पर निर्देशित करें।
सार्वजनिक संचार उतना ही सरल हो सकता है जितना लोगों को आपको सीधे ईमेल करने या आपके ब्लॉग पर टिप्पणी करने के बजाय किसी मुद्दे को खोलने के लिए निर्देशित करना। आप अपने प्रोजेक्ट के बारे में लोगों से बात करने के लिए एक मेलिंग सूची भी सेट कर सकते हैं, या एक ट्विटर अकाउंट, स्लैक या आईआरसी चैनल बना सकते हैं। या उपरोक्त सभी प्रयास करें!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) समुदाय के सदस्यों की सहायता के लिए हर दूसरे सप्ताह कार्यालय समय अलग रखें:
> कोप्स के पास समुदाय को सहायता और मार्गदर्शन प्रदान करने के लिए हर दूसरे सप्ताह का समय भी निर्धारित होता है। कोप्स अनुरक्षकों ने नवागंतुकों के साथ काम करने, पीआर के साथ मदद करने और नई सुविधाओं पर चर्चा करने के लिए विशेष रूप से समर्पित समय निर्धारित करने पर सहमति व्यक्त की है।
सार्वजनिक संचार के उल्लेखनीय अपवाद हैं: 1. सुरक्षा मुद्दे और 2. संवेदनशील आचार संहिता का उल्लंघन। आपके पास लोगों के लिए इन मुद्दों की निजी तौर पर रिपोर्ट करने का हमेशा एक तरीका होना चाहिए। यदि आप अपने व्यक्तिगत ईमेल का उपयोग नहीं करना चाहते हैं, तो एक समर्पित ईमेल पता सेट करें।
## अपने समुदाय को बढ़ाना
समुदाय अत्यंत शक्तिशाली हैं. वह शक्ति वरदान या अभिशाप हो सकती है, यह इस बात पर निर्भर करता है कि आप उसका उपयोग कैसे करते हैं। जैसे-जैसे आपके प्रोजेक्ट का समुदाय बढ़ता है, उसे विनाश की नहीं बल्कि निर्माण की शक्ति बनने में मदद करने के कई तरीके हैं।
### बुरे अभिनेताओं को बर्दाश्त न करें
कोई भी लोकप्रिय परियोजना अनिवार्य रूप से ऐसे लोगों को आकर्षित करेगी जो आपके समुदाय को मदद करने के बजाय नुकसान पहुंचाते हैं। वे अनावश्यक बहस शुरू कर सकते हैं, छोटी-छोटी बातों पर विवाद कर सकते हैं, या दूसरों को धमका सकते हैं।
इस प्रकार के लोगों के प्रति शून्य-सहिष्णुता की नीति अपनाने की पूरी कोशिश करें। यदि अनियंत्रित छोड़ दिया जाए, तो नकारात्मक लोग आपके समुदाय के अन्य लोगों को असहज कर देंगे। वे चले भी सकते हैं.
आपके प्रोजेक्ट के तुच्छ पहलुओं पर नियमित बहस आपके सहित दूसरों को महत्वपूर्ण कार्यों पर ध्यान केंद्रित करने से विचलित करती है। आपके प्रोजेक्ट में आने वाले नए लोग इन वार्तालापों को देख सकते हैं और भाग नहीं लेना चाहेंगे।
जब आप अपने प्रोजेक्ट पर नकारात्मक व्यवहार होते देखें, तो उसे सार्वजनिक रूप से बताएं। दयालु लेकिन दृढ़ स्वर में बताएं कि उनका व्यवहार स्वीकार्य क्यों नहीं है। यदि समस्या बनी रहती है, तो आपको इसकी आवश्यकता हो सकती है [उन्हें जाने के लिए कहो](../code-of-conduct/#अपनी-आचार-संहिता-लागू-करना). आपके [आचार संहिता](../code-of-conduct/) इन वार्तालापों के लिए एक रचनात्मक मार्गदर्शक हो सकता है।
### योगदानकर्ताओं से वहीं मिलें जहां वे हैं
जैसे-जैसे आपका समुदाय बढ़ता है, अच्छा दस्तावेज़ीकरण और अधिक महत्वपूर्ण हो जाता है। आकस्मिक योगदानकर्ता, जो अन्यथा आपके प्रोजेक्ट से परिचित नहीं हो सकते हैं, उन्हें जिस संदर्भ की आवश्यकता है उसे तुरंत प्राप्त करने के लिए आपके दस्तावेज़ को पढ़ें।
अपनी योगदान फ़ाइल में, नए योगदानकर्ताओं को स्पष्ट रूप से बताएं कि शुरुआत कैसे करें। आप इस उद्देश्य के लिए एक समर्पित अनुभाग भी बनाना चाह सकते हैं। उदाहरण के लिए, [Django](https://github.com/django/django) के पास नए योगदानकर्ताओं का स्वागत करने के लिए एक विशेष लैंडिंग पृष्ठ है।

अपनी समस्या कतार में, ऐसे बग लेबल करें जो विभिन्न प्रकार के योगदानकर्ताओं के लिए उपयुक्त हों: उदाहरण के लिए, [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, or _"documentation"_. [These labels](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) आपके प्रोजेक्ट में नए व्यक्ति के लिए आपके मुद्दों को तुरंत स्कैन करना और आरंभ करना आसान बनाएं।
अंत में, लोगों को हर कदम पर स्वागत महसूस कराने के लिए अपने दस्तावेज़ का उपयोग करें।
आप उन अधिकांश लोगों के साथ कभी बातचीत नहीं करेंगे जो आपके प्रोजेक्ट पर आते हैं। ऐसे योगदान भी हो सकते हैं जो आपको इसलिए नहीं मिले क्योंकि कोई व्यक्ति डरा हुआ महसूस कर रहा था या नहीं जानता था कि कहां से शुरुआत करें। यहां तक कि कुछ दयालु शब्द भी किसी को हताशा में आपका प्रोजेक्ट छोड़ने से रोक सकते हैं।
उदाहरण के लिए, यहां बताया गया है कि कैसे [Rubinius](https://github.com/rubinius/rubinius/) प्रारंभ होगा [its contributing guide](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> हम रुबिनियस का उपयोग करने के लिए आपको धन्यवाद कहकर शुरुआत करना चाहते हैं। यह परियोजना प्यार का परिश्रम है, और हम उन सभी उपयोगकर्ताओं की सराहना करते हैं जो बग पकड़ते हैं, प्रदर्शन में सुधार करते हैं और दस्तावेज़ीकरण में मदद करते हैं। प्रत्येक योगदान सार्थक है, इसलिए भाग लेने के लिए धन्यवाद। जैसा कि कहा जा रहा है, यहां कुछ दिशानिर्देश दिए गए हैं जिनका पालन करने के लिए हम आपसे कहते हैं ताकि हम आपकी समस्या का सफलतापूर्वक समाधान कर सकें।
### अपने प्रोजेक्ट का स्वामित्व साझा करें
जब लोग स्वामित्व की भावना महसूस करते हैं तो वे परियोजनाओं में योगदान देने के लिए उत्साहित होते हैं। इसका मतलब यह नहीं है कि आपको अपने प्रोजेक्ट के दृष्टिकोण को बदलना होगा या उन योगदानों को स्वीकार करना होगा जो आप नहीं चाहते हैं। लेकिन जितना अधिक आप दूसरों को श्रेय देंगे, उतना ही अधिक वे आपके साथ बने रहेंगे।
देखें कि क्या आप अपने समुदाय के साथ स्वामित्व को यथासंभव साझा करने के तरीके ढूंढ सकते हैं। यहाँ कुछ विचार हैं:
* **आसान (गैर-महत्वपूर्ण) बग को ठीक करने का विरोध करें।** इसके बजाय, उन्हें नए योगदानकर्ताओं को भर्ती करने के अवसर के रूप में उपयोग करें, या किसी ऐसे व्यक्ति का मार्गदर्शन करें जो योगदान देना चाहता है। यह पहली बार में अस्वाभाविक लग सकता है, लेकिन आपका निवेश समय के साथ फल देगा। उदाहरण के लिए, @michaeljoseph ने एक योगदानकर्ता से इसे स्वयं ठीक करने के बजाय नीचे दिए गए [कुकीकटर](https://github.com/audreyr/cookiecutter) मुद्दे पर एक पुल अनुरोध सबमिट करने के लिए कहा।

* **अपने प्रोजेक्ट में एक योगदानकर्ता या लेखक फ़ाइल प्रारंभ करें** जिसमें आपके प्रोजेक्ट में योगदान देने वाले सभी लोगों की सूची हो, जैसे [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md)
करता है.
* यदि आपके पास एक बड़ा समुदाय है, तो **एक समाचार पत्र भेजें या एक ब्लॉग पोस्ट लिखें** योगदानकर्ताओं को धन्यवाद दें। जंग का [This Week in Rust](https://this-week-in-rust.org/) और हुडीज़ [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) दो अच्छे उदाहरण हैं.
* **प्रत्येक योगदानकर्ता को पहुंच प्रदान करें** @felixge ने पाया कि इसने लोगों को बनाया है [more excited to polish their patches](https://felixge.de/2013/03/11/the-pull-request-hack.html), और उन्हें उन परियोजनाओं के लिए नए अनुरक्षक भी मिल गए जिन पर उन्होंने कुछ समय से काम नहीं किया था।
* यदि आपका प्रोजेक्ट GitHub पर है, **move your project from your personal account to an [Organization](https://help.github.com/articles/creating-a-new-organization-account/)** और कम से कम एक बैकअप व्यवस्थापक जोड़ें. संगठन बाहरी सहयोगियों के साथ परियोजनाओं पर काम करना आसान बनाते हैं।
हकीकत तो यही है [most projects only have](https://peerj.com/preprints/1233/) एक या दो अनुरक्षक जो अधिकांश कार्य करते हैं। आपका प्रोजेक्ट जितना बड़ा होगा, और आपका समुदाय जितना बड़ा होगा, सहायता पाना उतना ही आसान होगा।
हालाँकि आपको कॉल का उत्तर देने के लिए हमेशा कोई नहीं मिल सकता है, लेकिन वहाँ सिग्नल लगाने से अन्य लोगों के कॉल करने की संभावना बढ़ जाती है। और आप जितनी जल्दी शुरुआत करेंगे, उतनी जल्दी लोग मदद कर सकते हैं।
## विवादों का समाधान
आपके प्रोजेक्ट के शुरुआती चरणों में, बड़े निर्णय लेना आसान होता है। जब आप कुछ करना चाहते हैं, तो आप बस उसे करते हैं।
जैसे-जैसे आपका प्रोजेक्ट अधिक लोकप्रिय होगा, अधिक लोग आपके निर्णयों में रुचि लेंगे। भले ही आपके पास योगदानकर्ताओं का एक बड़ा समुदाय न हो, यदि आपके प्रोजेक्ट में बहुत सारे उपयोगकर्ता हैं, तो आप पाएंगे कि लोग निर्णयों पर विचार कर रहे हैं या अपने स्वयं के मुद्दे उठा रहे हैं।
अधिकांश भाग के लिए, यदि आपने एक मैत्रीपूर्ण, सम्मानजनक समुदाय विकसित किया है और अपनी प्रक्रियाओं को खुले तौर पर प्रलेखित किया है, तो आपका समुदाय समाधान खोजने में सक्षम होना चाहिए। लेकिन कभी-कभी आप ऐसे मुद्दे में फंस जाते हैं जिसका समाधान करना थोड़ा कठिन होता है।
### दयालुता का स्तर निर्धारित करें
जब आपका समुदाय किसी कठिन मुद्दे से जूझ रहा हो, तो गुस्सा बढ़ सकता है। लोग क्रोधित या निराश हो सकते हैं और इसे एक-दूसरे पर या आप पर निकाल सकते हैं।
एक अनुरक्षक के रूप में आपका काम इन स्थितियों को बढ़ने से रोकना है। भले ही विषय पर आपकी राय मजबूत हो, लड़ाई में कूदने और अपने विचारों को आगे बढ़ाने के बजाय एक मॉडरेटर या फैसिलिटेटर की स्थिति लेने का प्रयास करें। यदि कोई निर्दयी हो रहा है या बातचीत पर एकाधिकार जमा रहा है, [तुरंत कार्रवाई करें](../building-community/#बुरे-अभिनेताओं-को-बर्दाश्त-न-करें)
चर्चाओं को सभ्य और उत्पादक बनाए रखना।
अन्य लोग मार्गदर्शन के लिए आपकी ओर देख रहे हैं। अच्छा उदाहरण स्थापित करो। आप अभी भी निराशा, नाखुशी या चिंता व्यक्त कर सकते हैं, लेकिन ऐसा शांति से करें।
खुद को शांत रखना आसान नहीं है, लेकिन नेतृत्व प्रदर्शित करने से आपके समुदाय के स्वास्थ्य में सुधार होता है। इंटरनेट आपका धन्यवाद करता है.
### अपने README को एक संविधान मानें
आपका README है [निर्देशों के एक संग्रह से कहीं अधिक](../starting-a-project/#एक-रीडमी-लिखना). यह आपके लक्ष्यों, उत्पाद दृष्टिकोण और रोडमैप के बारे में बात करने का भी स्थान है। यदि लोग किसी विशेष सुविधा की योग्यता पर बहस करने पर अत्यधिक ध्यान केंद्रित कर रहे हैं, तो यह आपके README पर दोबारा गौर करने और आपके प्रोजेक्ट की उच्च दृष्टि के बारे में बात करने में मदद कर सकता है। अपने README पर ध्यान केंद्रित करने से बातचीत भी अवैयक्तिक हो जाती है, जिससे आप रचनात्मक चर्चा कर सकते हैं।
### यात्रा पर ध्यान दें, मंजिल पर नहीं
कुछ परियोजनाएँ प्रमुख निर्णय लेने के लिए मतदान प्रक्रिया का उपयोग करती हैं। पहली नज़र में समझदार होते हुए भी, मतदान एक-दूसरे की चिंताओं को सुनने और संबोधित करने के बजाय "उत्तर" पाने पर जोर देता है।
मतदान राजनीतिक हो सकता है, जहां समुदाय के सदस्य एक-दूसरे का पक्ष लेने या एक निश्चित तरीके से मतदान करने के लिए दबाव महसूस करते हैं। चाहे वह कोई भी हो, हर कोई वोट नहीं देता [silent majority](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) आपके समुदाय में, या वर्तमान उपयोगकर्ताओं को, जिन्हें नहीं पता था कि वोट हो रहा है।
कभी-कभी, मतदान एक आवश्यक टाईब्रेकर होता है। हालाँकि, जितना आप सक्षम हैं, आम सहमति के बजाय ["आम सहमति की तलाश"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) पर जोर दें।
सर्वसम्मति प्राप्त करने की प्रक्रिया के तहत, समुदाय के सदस्य प्रमुख चिंताओं पर तब तक चर्चा करते हैं जब तक उन्हें नहीं लगता कि उन्हें पर्याप्त रूप से सुना गया है। जब केवल छोटी-मोटी चिंताएँ बची रहती हैं, तो समुदाय आगे बढ़ता है। "आम सहमति की मांग" यह स्वीकार करती है कि एक समुदाय एक सटीक उत्तर तक पहुंचने में सक्षम नहीं हो सकता है। इसके बजाय, यह सुनने और चर्चा को प्राथमिकता देता है।
भले ही आप वास्तव में सर्वसम्मति प्राप्त करने की प्रक्रिया नहीं अपनाते हों, एक परियोजना अनुरक्षक के रूप में, यह महत्वपूर्ण है कि लोग जानें कि आप सुन रहे हैं। अन्य लोगों को यह महसूस कराना कि उनकी बात सुनी जा रही है, और उनकी चिंताओं को हल करने के लिए प्रतिबद्ध होना, संवेदनशील स्थितियों को दूर करने में काफी मदद करता है। फिर, अपने शब्दों को कार्यों के साथ जारी रखें।
किसी संकल्प के लिए निर्णय लेने में जल्दबाजी न करें। सुनिश्चित करें कि हर कोई यह महसूस करे कि समाधान की ओर बढ़ने से पहले सभी जानकारी सार्वजनिक कर दी गई है।
### बातचीत को कार्रवाई पर केंद्रित रखें
चर्चा महत्वपूर्ण है, लेकिन उत्पादक और अनुत्पादक बातचीत में अंतर है।
चर्चा को तब तक प्रोत्साहित करें जब तक यह सक्रिय रूप से समाधान की ओर बढ़ रही हो। यदि यह स्पष्ट है कि बातचीत धीमी हो रही है या विषय से भटक रही है, तीखी नोकझोंक व्यक्तिगत होती जा रही है, या लोग छोटी-छोटी बातों को लेकर झगड़ रहे हैं, तो इसे बंद करने का समय आ गया है।
इन वार्तालापों को जारी रखने की अनुमति देना न केवल मौजूदा मुद्दे के लिए बुरा है, बल्कि आपके समुदाय के स्वास्थ्य के लिए भी बुरा है। यह एक संदेश भेजता है कि इस प्रकार की बातचीत की अनुमति है या इसे प्रोत्साहित भी किया जाता है, और यह लोगों को भविष्य के मुद्दों को उठाने या हल करने से हतोत्साहित कर सकता है।
आपके द्वारा या दूसरों द्वारा उठाए गए प्रत्येक बिंदु पर, अपने आप से पूछें, _"यह हमें किसी समाधान के करीब कैसे लाता है?"_
यदि बातचीत सुलझने लगी है, तो बातचीत पर फिर से ध्यान केंद्रित करने के लिए समूह से पूछें, _"हमें आगे कौन सा कदम उठाना चाहिए?"_
यदि बातचीत स्पष्ट रूप से कहीं नहीं जा रही है, कोई स्पष्ट कार्रवाई नहीं की जानी है, या उचित कार्रवाई पहले ही की जा चुकी है, तो मुद्दे को बंद करें और बताएं कि आपने इसे क्यों बंद किया।
### अपनी लड़ाइयाँ बुद्धिमानी से चुनें
प्रसंग महत्वपूर्ण है. विचार करें कि चर्चा में कौन शामिल है और वे शेष समुदाय का प्रतिनिधित्व कैसे करते हैं।
क्या समुदाय में हर कोई इस मुद्दे से परेशान है, या इससे जुड़ा भी है? या एक अकेला उपद्रवी है? केवल सक्रिय आवाज़ों पर ही नहीं, बल्कि अपने मूक समुदाय के सदस्यों पर भी विचार करना न भूलें।
यदि मुद्दा आपके समुदाय की व्यापक आवश्यकताओं का प्रतिनिधित्व नहीं करता है, तो आपको बस कुछ लोगों की चिंताओं को स्वीकार करने की आवश्यकता हो सकती है। यदि यह बिना किसी स्पष्ट समाधान के बार-बार आने वाला मुद्दा है, तो उन्हें विषय पर पिछली चर्चाओं की ओर इंगित करें और थ्रेड बंद कर दें।
### एक सामुदायिक टाईब्रेकर की पहचान करें
अच्छे रवैये और स्पष्ट संचार के साथ, अधिकांश कठिन परिस्थितियाँ हल हो सकती हैं। हालाँकि, एक सार्थक बातचीत में भी, कैसे आगे बढ़ना है, इस पर राय में अंतर हो सकता है। इन मामलों में, ऐसे व्यक्ति या लोगों के समूह की पहचान करें जो टाईब्रेकर के रूप में काम कर सकते हैं।
एक टाईब्रेकर परियोजना का प्राथमिक अनुरक्षक हो सकता है, या यह लोगों का एक छोटा समूह हो सकता है जो मतदान के आधार पर निर्णय लेता है। आदर्श रूप से, आपने गवर्नेंस फ़ाइल का उपयोग करने से पहले उसमें एक टाईब्रेकर और संबंधित प्रक्रिया की पहचान कर ली है।
आपका टाईब्रेकर अंतिम उपाय होना चाहिए। विभाजनकारी मुद्दे आपके समुदाय के लिए बढ़ने और सीखने का एक अवसर हैं। इन अवसरों को स्वीकार करें और जहां भी संभव हो समाधान की ओर बढ़ने के लिए सहयोगात्मक प्रक्रिया का उपयोग करें।
## समुदाय खुले स्रोत का ❤️ है
स्वस्थ, संपन्न समुदाय हर सप्ताह खुले स्रोत में खर्च किए गए हजारों घंटों को ऊर्जा प्रदान करते हैं। कई योगदानकर्ता खुले स्रोत पर काम करने - या काम न करने - का कारण अन्य लोगों को बताते हैं। रचनात्मक रूप से उस शक्ति का उपयोग करना सीखकर, आप किसी को अविस्मरणीय ओपन सोर्स अनुभव प्राप्त करने में मदद करेंगे।
================================================
FILE: _articles/hi/code-of-conduct.md
================================================
---
lang: hi
title: आपकी आचार संहिता
description: आचार संहिता को अपनाकर और लागू करके स्वस्थ और रचनात्मक सामुदायिक व्यवहार को सुविधाजनक बनाना।
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## मुझे आचार संहिता की आवश्यकता क्यों है?
आचार संहिता एक दस्तावेज है जो आपके प्रोजेक्ट के प्रतिभागियों के लिए व्यवहार की अपेक्षाएं स्थापित करता है। आचार संहिता को अपनाने और लागू करने से आपके समुदाय के लिए एक सकारात्मक सामाजिक माहौल बनाने में मदद मिल सकती है।
आचार संहिता न केवल आपके प्रतिभागियों को, बल्कि स्वयं को भी सुरक्षित रखने में मदद करती है। यदि आप किसी प्रोजेक्ट को बनाए रखते हैं, तो आप पा सकते हैं कि अन्य प्रतिभागियों का अनुत्पादक रवैया आपको समय के साथ अपने काम के बारे में थका हुआ या नाखुश महसूस करा सकता है।
आचार संहिता आपको स्वस्थ, रचनात्मक सामुदायिक व्यवहार को सुविधाजनक बनाने के लिए सशक्त बनाती है। सक्रिय रहने से यह संभावना कम हो जाती है कि आप या अन्य लोग अपने प्रोजेक्ट से थक जाएंगे, और जब कोई ऐसा कुछ करता है जिससे आप सहमत नहीं हैं तो आपको कार्रवाई करने में मदद मिलती है।
## आचार संहिता स्थापित करना
यथाशीघ्र एक आचार संहिता स्थापित करने का प्रयास करें: आदर्श रूप से, जब आप पहली बार अपना प्रोजेक्ट बनाते हैं।
आपकी अपेक्षाओं को संप्रेषित करने के अलावा, आचार संहिता निम्नलिखित का वर्णन करती है:
* जहां आचार संहिता प्रभावी होती है _(केवल मुद्दों और पुल अनुरोधों, या घटनाओं जैसी सामुदायिक गतिविधियों पर?)_
* आचार संहिता किस पर लागू होती है _(समुदाय के सदस्यों और अनुरक्षकों पर, लेकिन प्रायोजकों के बारे में क्या?)_
* यदि कोई आचार संहिता का उल्लंघन करता है तो क्या होगा
* कोई कैसे उल्लंघन की रिपोर्ट कर सकता है
जहां भी आप कर सकें, पूर्व कला का उपयोग करें। [योगदानकर्ता अनुबंध](https://contributor-covenant.org/) एक ड्रॉप-इन आचार संहिता है जिसका उपयोग कुबेरनेट्स, रेल्स और स्विफ्ट सहित 40,000 से अधिक ओपन सोर्स परियोजनाओं द्वारा किया जाता है।
The [Django आचार संहिता](https://www.djangoproject.com/conduct/) और यह [नागरिक आचार संहिता](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) आचार संहिता के दो अच्छे उदाहरण भी हैं।
एक CODE_OF_CONDUCT फ़ाइल अपने प्रोजेक्ट की रूट डायरेक्टरी में फ़ाइल में रखें, और इसे अपने समुदाय से जोड़कर इसे अपने समुदाय के लिए दृश्यमान बनाएं CONTRIBUTING या README फ़ाइल.
## यह निर्णय लेना कि आप अपनी आचार संहिता को कैसे लागू करेंगे
उल्लंघन होने से **_पहले_** आपको स्पष्ट करना चाहिए कि आपकी आचार संहिता कैसे लागू की जाएगी। ऐसा करने के कई कारण हैं:
* यह दर्शाता है कि आप जरूरत पड़ने पर कार्रवाई करने को लेकर गंभीर हैं।
* आपका समुदाय अधिक आश्वस्त महसूस करेगा कि शिकायतों की वास्तव में समीक्षा की जाती है।
* आप अपने समुदाय को आश्वस्त करेंगे कि समीक्षा प्रक्रिया निष्पक्ष और पारदर्शी है, क्या उन्हें कभी भी उल्लंघन के लिए जांच में पाया जाएगा।
आपको लोगों को आचार संहिता के उल्लंघन की रिपोर्ट करने का एक निजी तरीका (जैसे ईमेल पता) देना चाहिए और यह बताना चाहिए कि वह रिपोर्ट कौन प्राप्त करता है। यह एक अनुरक्षक, अनुरक्षकों का समूह या आचार संहिता कार्य समूह हो सकता है।
यह मत भूलिए कि हो सकता है कि कोई व्यक्ति उस व्यक्ति के बारे में उल्लंघन की रिपोर्ट करना चाहता हो जो उन रिपोर्टों को प्राप्त करता है। इस मामले में, उन्हें किसी अन्य को उल्लंघन की रिपोर्ट करने का विकल्प दें। उदाहरण के लिए,@ctb and @mr-c [उनके प्रोजेक्ट पर स्पष्टीकरण दें](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> अपमानजनक, परेशान करने वाले, या अन्यथा अस्वीकार्य व्यवहार के मामलों की रिपोर्ट **khmer-project@idyll.org** पर ईमेल करके की जा सकती है, जो केवल सी. टाइटस ब्राउन और माइकल आर. क्रूसो को जाती है। उनमें से किसी एक से जुड़े मुद्दे की रिपोर्ट करने के लिए कृपया विज्ञान और प्रौद्योगिकी के लिए एक एनएसएफ केंद्र, बीकॉन सेंटर फॉर द स्टडी ऑफ इवोल्यूशन इन एक्शन में विविधता निदेशक **जूडी ब्राउन क्लार्क, पीएच.डी.** को ईमेल करें।*
प्रेरणा के लिए, Django का [प्रवर्तन मैनुअल](https://www.djangoproject.com/conduct/enforcement-manual/) देखें (हालाँकि, आपके प्रोजेक्ट के आकार के आधार पर, आपको इतनी व्यापक चीज़ की आवश्यकता नहीं हो सकती है).
## अपनी आचार संहिता लागू करना
कभी-कभी, आपके सर्वोत्तम प्रयासों के बावजूद, कोई ऐसा कार्य करेगा जो इस संहिता का उल्लंघन करता है। नकारात्मक या हानिकारक व्यवहार सामने आने पर उससे निपटने के कई तरीके हैं।
### स्थिति के बारे में जानकारी इकट्ठा करें
समुदाय के प्रत्येक सदस्य की आवाज़ को अपनी आवाज़ के समान महत्वपूर्ण मानें। यदि आपको कोई रिपोर्ट मिलती है कि किसी ने आचार संहिता का उल्लंघन किया है, तो इसे गंभीरता से लें और मामले की जांच करें, भले ही वह उस व्यक्ति के साथ आपके अपने अनुभव से मेल न खाता हो। ऐसा करना आपके समुदाय को संकेत देता है कि आप उनके दृष्टिकोण को महत्व देते हैं और उनके निर्णय पर भरोसा करते हैं।
विचाराधीन समुदाय का सदस्य बार-बार अपराधी हो सकता है जो लगातार दूसरों को असहज महसूस कराता है, या हो सकता है कि उसने केवल एक बार ही कुछ कहा या किया हो। संदर्भ के आधार पर दोनों ही कार्रवाई करने के आधार हो सकते हैं।
प्रतिक्रिया देने से पहले, स्वयं को यह समझने का समय दें कि क्या हुआ था। यह बेहतर ढंग से समझने के लिए कि वे कौन हैं और उन्होंने ऐसा व्यवहार क्यों किया होगा, उस व्यक्ति की पिछली टिप्पणियों और बातचीत को पढ़ें। इस व्यक्ति और उनके व्यवहार के बारे में अपने अलावा अन्य दृष्टिकोण इकट्ठा करने का प्रयास करें।
### उचित कार्रवाई करें
पर्याप्त जानकारी एकत्र करने और संसाधित करने के बाद, आपको यह निर्णय लेना होगा कि क्या करना है। जब आप अपने अगले कदमों पर विचार करें, तो याद रखें कि एक मॉडरेटर के रूप में आपका लक्ष्य एक सुरक्षित, सम्मानजनक और सहयोगात्मक वातावरण को बढ़ावा देना है। न केवल इस बात पर विचार करें कि संबंधित स्थिति से कैसे निपटा जाए, बल्कि यह भी कि आपकी प्रतिक्रिया आपके समुदाय के बाकी व्यवहार और अपेक्षाओं को कैसे प्रभावित करेगी।
जब कोई आचार संहिता के उल्लंघन की रिपोर्ट करता है, तो इसे संभालना उनका नहीं, आपका काम है। कभी-कभी, रिपोर्टर अपने करियर, प्रतिष्ठा या शारीरिक सुरक्षा को बहुत जोखिम में डालकर जानकारी का खुलासा कर रहा है। उन्हें अपने उत्पीड़क का सामना करने के लिए मजबूर करना रिपोर्टर को समझौतावादी स्थिति में डाल सकता है। आपको संबंधित व्यक्ति के साथ सीधा संवाद संभालना चाहिए, जब तक कि रिपोर्टर स्पष्ट रूप से अन्यथा अनुरोध न करे।
ऐसे कुछ तरीके हैं जिनसे आप आचार संहिता के उल्लंघन पर प्रतिक्रिया दे सकते हैं:
* **संबंधित व्यक्ति को सार्वजनिक चेतावनी दें** और बताएं कि उनके व्यवहार ने दूसरों पर कैसे नकारात्मक प्रभाव डाला, अधिमानतः उस चैनल में जहां यह हुआ। जहां संभव हो, सार्वजनिक संचार शेष समुदाय को बताता है कि आप आचार संहिता को गंभीरता से लेते हैं। दयालु बनें, लेकिन अपने संचार में दृढ़ रहें।
* **व्यक्तिगत रूप से उस व्यक्ति तक पहुंचें**यह समझाने के लिए कि उनके व्यवहार ने दूसरों पर कैसे नकारात्मक प्रभाव डाला। यदि स्थिति में संवेदनशील व्यक्तिगत जानकारी शामिल है तो आप निजी संचार चैनल का उपयोग करना चाह सकते हैं। यदि आप किसी के साथ निजी तौर पर संवाद करते हैं, तो उन लोगों को सीसी देना एक अच्छा विचार है जिन्होंने सबसे पहले स्थिति की सूचना दी थी, ताकि वे जान सकें कि आपने कार्रवाई की है। सीसी देने से पहले रिपोर्टिंग व्यक्ति से सहमति मांगें।
कभी-कभी, किसी समाधान तक नहीं पहुंचा जा सकता. सामना किए जाने पर संबंधित व्यक्ति आक्रामक या शत्रुतापूर्ण हो सकता है या अपना व्यवहार नहीं बदलता है। इस स्थिति में, आप कड़ी कार्रवाई करने पर विचार कर सकते हैं। उदाहरण के लिए:
* **परियोजना के किसी भी पहलू में भाग लेने पर अस्थायी प्रतिबंध के माध्यम से लागू, परियोजना से संबंधित व्यक्ति को निलंबित करें**
* **प्रोजेक्ट से व्यक्ति को स्थायी रूप से प्रतिबंधित** करें
सदस्यों पर प्रतिबंध लगाना हल्के में नहीं लिया जाना चाहिए और यह दृष्टिकोण में स्थायी और अपूरणीय अंतर का प्रतिनिधित्व करता है। आपको ये उपाय केवल तभी करना चाहिए जब यह स्पष्ट हो कि किसी समाधान पर नहीं पहुंचा जा सकता।
## एक अनुरक्षक के रूप में आपकी जिम्मेदारियाँ
आचार संहिता कोई ऐसा कानून नहीं है जिसे मनमाने ढंग से लागू किया जाए। आप आचार संहिता के प्रवर्तक हैं और आचार संहिता द्वारा स्थापित नियमों का पालन करना आपकी जिम्मेदारी है।
एक अनुरक्षक के रूप में आप अपने समुदाय के लिए दिशानिर्देश स्थापित करते हैं और उन दिशानिर्देशों को अपनी आचार संहिता में निर्धारित नियमों के अनुसार लागू करते हैं। इसका अर्थ है आचार संहिता उल्लंघन की किसी भी रिपोर्ट को गंभीरता से लेना। रिपोर्टर को उनकी शिकायत की गहन और निष्पक्ष समीक्षा करनी चाहिए। यदि आप यह निर्धारित करते हैं कि जिस व्यवहार की उन्होंने रिपोर्ट की है वह उल्लंघन नहीं है, तो उन्हें स्पष्ट रूप से बताएं और बताएं कि आप इस पर कार्रवाई क्यों नहीं करने जा रहे हैं। वे इसके साथ क्या करते हैं यह उन पर निर्भर है: उस व्यवहार को सहन करें जिससे उन्हें कोई समस्या थी, या समुदाय में भाग लेना बंद कर दें।
व्यवहार की एक रिपोर्ट जो तकनीकी रूप से आचार संहिता का उल्लंघन नहीं करती है, फिर भी यह संकेत दे सकती है कि आपके समुदाय में कोई समस्या है, और आपको इस संभावित समस्या की जांच करनी चाहिए और तदनुसार कार्य करना चाहिए। इसमें स्वीकार्य व्यवहार को स्पष्ट करने के लिए अपनी आचार संहिता को संशोधित करना और/या उस व्यक्ति से बात करना शामिल हो सकता है जिसके व्यवहार की रिपोर्ट की गई थी और उन्हें यह बताना कि हालांकि उन्होंने आचार संहिता का उल्लंघन नहीं किया है, वे जो अपेक्षित है उससे किनारा कर रहे हैं और निश्चित कर रहे हैं। प्रतिभागी असहज महसूस करते हैं।
अंत में, एक अनुरक्षक के रूप में, आप स्वीकार्य व्यवहार के लिए मानक निर्धारित और लागू करते हैं। आपके पास परियोजना के सामुदायिक मूल्यों को आकार देने की क्षमता है, और प्रतिभागी आपसे उन मूल्यों को निष्पक्ष और समान तरीके से लागू करने की उम्मीद करते हैं।
## उस व्यवहार को प्रोत्साहित करें जो आप दुनिया में देखना चाहते हैं 🌎
जब कोई परियोजना शत्रुतापूर्ण या अप्रिय लगती है, भले ही वह सिर्फ एक व्यक्ति हो जिसका व्यवहार दूसरों द्वारा सहन किया जाता है, तो आप कई और योगदानकर्ताओं को खोने का जोखिम उठाते हैं, जिनमें से कुछ से आप कभी भी नहीं मिल सकते हैं। आचार संहिता को अपनाना या लागू करना हमेशा आसान नहीं होता है, लेकिन स्वागत योग्य माहौल को बढ़ावा देने से आपके समुदाय को बढ़ने में मदद मिलेगी।
================================================
FILE: _articles/hi/finding-users.md
================================================
---
lang: hi
title: अपने प्रोजेक्ट के लिए उपयोगकर्ता ढूँढना
description: अपने ओपन सोर्स प्रोजेक्ट को खुश उपयोगकर्ताओं के हाथों में पहुंचाकर उसे बढ़ने में मदद करें।
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## बातों का प्रसार
ऐसा कोई नियम नहीं है जो कहता हो कि लॉन्च करते समय आपको एक ओपन सोर्स प्रोजेक्ट का प्रचार करना होगा। ओपन सोर्स में काम करने के कई संतोषजनक कारण हैं जिनका लोकप्रियता से कोई लेना-देना नहीं है। यह आशा करने के बजाय कि अन्य लोग आपके ओपन सोर्स प्रोजेक्ट को ढूंढेंगे और उसका उपयोग करेंगे, आपको अपनी कड़ी मेहनत के बारे में प्रचार करना होगा!
## अपने संदेश का पता लगाएं
इससे पहले कि आप अपने प्रोजेक्ट को बढ़ावा देने का वास्तविक काम शुरू करें, आपको यह समझाने में सक्षम होना चाहिए कि यह क्या करता है और यह क्यों मायने रखता है।
आपके प्रोजेक्ट को क्या अलग या दिलचस्प बनाता है? आपने इसे क्यों बनाया? इन प्रश्नों का स्वयं उत्तर देने से आपको अपने प्रोजेक्ट के महत्व के बारे में बताने में मदद मिलेगी।
याद रखें कि लोग उपयोगकर्ता के रूप में शामिल होते हैं, और अंततः योगदानकर्ता बन जाते हैं, क्योंकि आपका प्रोजेक्ट उनके लिए एक समस्या का समाधान करता है। जब आप अपने प्रोजेक्ट के संदेश और मूल्य के बारे में सोचते हैं, तो उन्हें इस नजरिए से देखने का प्रयास करें कि उपयोगकर्ता और योगदानकर्ता क्या चाहते हैं।
उदाहरण के लिए, @robb अपने प्रोजेक्ट को स्पष्ट रूप से बताने के लिए कोड उदाहरणों का उपयोग करता है, [Cartography](https://github.com/robb/Cartography), उपयोगी है:

मैसेजिंग के बारे में गहराई से जानने के लिए मोज़िला देखें ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) उपयोगकर्ता व्यक्तित्व विकसित करने के लिए व्यायाम।
## अपने प्रोजेक्ट को ढूंढने और उसका अनुसरण करने में लोगों की सहायता करें
लोगों को एक ही नामस्थान की ओर इंगित करके अपना प्रोजेक्ट ढूंढने और याद रखने में सहायता करें।
**अपने काम को बढ़ावा देने के लिए एक स्पष्ट हैंडल रखें।** एक ट्विटर हैंडल, GitHub URL, या IRC चैनल लोगों को आपके प्रोजेक्ट की ओर इंगित करने का एक आसान तरीका है। ये आउटलेट आपके प्रोजेक्ट के बढ़ते समुदाय को एकत्रित होने की जगह भी देते हैं।
यदि आप अभी तक अपने प्रोजेक्ट के लिए आउटलेट स्थापित नहीं करना चाहते हैं, तो अपने हर काम में अपने स्वयं के ट्विटर या GitHub हैंडल को बढ़ावा दें। आपके ट्विटर या GitHub हैंडल को बढ़ावा देने से लोगों को पता चलेगा कि आपसे कैसे संपर्क किया जाए या आपके काम का अनुसरण किया जाए। यदि आप किसी बैठक या कार्यक्रम में बोलते हैं, तो सुनिश्चित करें कि आपकी संपर्क जानकारी आपके बायो या स्लाइड में शामिल है।
**अपने प्रोजेक्ट के लिए एक वेबसाइट बनाने पर विचार करें।** एक वेबसाइट आपके प्रोजेक्ट को मित्रवत और नेविगेट करने में आसान बनाती है, खासकर जब इसे स्पष्ट दस्तावेज़ीकरण और ट्यूटोरियल के साथ जोड़ा जाता है। एक वेबसाइट होने से यह भी पता चलता है कि आपका प्रोजेक्ट सक्रिय है जिससे आपके दर्शकों को इसका उपयोग करने में अधिक सहजता महसूस होगी। लोगों को अपने प्रोजेक्ट का उपयोग करने के तरीके के बारे में विचार देने के लिए उदाहरण प्रदान करें।
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), Django के सह-निर्माता ने कहा कि एक वेबसाइट _"प्रारंभिक दिनों में Django के साथ हमने जो किया वह अब तक का सबसे अच्छा काम था"_.
यदि आपका प्रोजेक्ट GitHub पर होस्ट किया गया है, तो आप इसका उपयोग कर सकते हैं [GitHub Pages](https://pages.github.com/) आसानी से एक वेबसाइट बनाने के लिए. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), और [Middleman](https://middlemanapp.com/) हैं [a few examples](https://github.com/showcases/github-pages-examples) उत्कृष्ट, व्यापक वेबसाइटें।

अब जब भी आपके पास अपने प्रोजेक्ट के लिए एक संदेश है, और लोगों के लिए आपके प्रोजेक्ट को आकर्षित करने का एक आसान तरीका है, तो वहां आएं और अपने दर्शकों से बात करें!
## वहां जाएं जहां आपके प्रोजेक्ट के दर्शक हैं (ऑनलाइन)
ऑनलाइन आउटरीच बात को तेजी से साझा करने और फैलाने का एक शानदार तरीका है। ऑनलाइन चैनलों का उपयोग करके, आपके पास बहुत व्यापक दर्शकों तक पहुंचने की क्षमता है।
अपने दर्शकों तक पहुंचने के लिए मौजूदा ऑनलाइन समुदायों और प्लेटफार्मों का लाभ उठाएं। यदि आपका ओपन सोर्स प्रोजेक्ट एक सॉफ्टवेयर प्रोजेक्ट है, तो आप संभवतः अपने दर्शकों को ढूंढ सकते हैं [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), या [Quora](https://www.quora.com/). वे चैनल ढूंढें जहां आपको लगता है कि लोगों को आपके काम से सबसे अधिक लाभ होगा या वे आपके काम के बारे में उत्साहित होंगे।
देखें कि क्या आप अपने प्रोजेक्ट को प्रासंगिक तरीकों से साझा करने के तरीके ढूंढ सकते हैं:
* **प्रासंगिक ओपन सोर्स प्रोजेक्ट्स और समुदायों को जानें।** कभी-कभी, आपको सीधे अपने प्रोजेक्ट का प्रचार करने की ज़रूरत नहीं होती है। यदि आपका प्रोजेक्ट पायथन का उपयोग करने वाले डेटा वैज्ञानिकों के लिए एकदम सही है, तो पायथन डेटा विज्ञान समुदाय को जानें। जैसे-जैसे लोग आपको जानने लगेंगे, आपके काम के बारे में बात करने और साझा करने के स्वाभाविक अवसर पैदा होंगे।
* **उन लोगों को ढूंढें जो उस समस्या का अनुभव कर रहे हैं जिसे आपका प्रोजेक्ट हल करता है।** उन लोगों के लिए संबंधित मंचों के माध्यम से खोजें जो आपके प्रोजेक्ट के लक्षित दर्शकों में आते हैं। उनके प्रश्न का उत्तर दें और समाधान के रूप में अपनी परियोजना का सुझाव देने के लिए, जब उचित हो, एक चतुराईपूर्ण तरीका खोजें।
* **प्रतिक्रिया के लिए पूछें।** ऐसे दर्शकों के सामने अपना और अपने काम का परिचय दें जिन्हें यह प्रासंगिक और दिलचस्प लगे। इस बारे में स्पष्ट रहें कि आपको क्या लगता है कि आपके प्रोजेक्ट से किसे लाभ होगा। वाक्य को पूरा करने का प्रयास करें: _"मुझे लगता है कि मेरा प्रोजेक्ट वास्तव में एक्स की मदद करेगा, जो Y_ करने की कोशिश कर रहे हैं"। केवल अपने काम का प्रचार करने के बजाय दूसरों की प्रतिक्रिया सुनें और उसका जवाब दें।
सामान्यतया, बदले में चीज़ें मांगने से पहले दूसरों की मदद करने पर ध्यान केंद्रित करें। क्योंकि कोई भी किसी प्रोजेक्ट को आसानी से ऑनलाइन प्रमोट कर सकता है, इसलिए बहुत शोर होगा। भीड़ से अलग दिखने के लिए, लोगों को यह संदर्भ दें कि आप कौन हैं, न कि केवल वह जो आप चाहते हैं।
यदि कोई आपकी आरंभिक पहुंच पर ध्यान नहीं देता है या प्रतिक्रिया नहीं देता है, तो निराश न हों! अधिकांश प्रोजेक्ट लॉन्च एक पुनरावृत्तीय प्रक्रिया है जिसमें महीनों या वर्षों का समय लग सकता है। यदि आपको पहली बार कोई प्रतिक्रिया नहीं मिलती है, तो एक अलग रणनीति आज़माएं, या पहले दूसरों के काम में मूल्य जोड़ने के तरीकों की तलाश करें। अपने प्रोजेक्ट को प्रचारित करने और लॉन्च करने में समय और समर्पण लगता है।
## वहां जाएं जहां आपके प्रोजेक्ट के दर्शक हैं (ऑफ़लाइन)

ऑफ़लाइन कार्यक्रम दर्शकों के बीच नई परियोजनाओं को बढ़ावा देने का एक लोकप्रिय तरीका है। वे व्यस्त दर्शकों तक पहुंचने और गहरे मानवीय संबंध बनाने का एक शानदार तरीका हैं, खासकर यदि आप डेवलपर्स तक पहुंचने में रुचि रखते हैं।
यदि आप [सार्वजनिक भाषण में नए](https://peaking.io/) हैं, तो एक स्थानीय बैठक ढूंढ़कर शुरुआत करें जो आपके प्रोजेक्ट की भाषा या पारिस्थितिकी तंत्र से संबंधित हो।
यदि आपने पहले कभी किसी कार्यक्रम में बात नहीं की है, तो घबराहट महसूस होना बिल्कुल सामान्य है! याद रखें कि आपके दर्शक वहां हैं क्योंकि वे वास्तव में आपके काम के बारे में सुनना चाहते हैं।
जब आप अपनी बात लिखते हैं, तो इस बात पर ध्यान केंद्रित करें कि आपके दर्शकों को क्या दिलचस्प लगेगा और उन्हें क्या लाभ मिलेगा। अपनी भाषा मित्रतापूर्ण एवं सुगम्य रखें। मुस्कुराएं, सांस लें और आनंद लें।
जब आप तैयार महसूस करें, तो अपने प्रोजेक्ट को बढ़ावा देने के लिए एक सम्मेलन में बोलने पर विचार करें। सम्मेलन आपको अधिक लोगों तक पहुँचने में मदद कर सकते हैं, कभी-कभी दुनिया भर से।
ऐसे सम्मेलनों की तलाश करें जो आपकी भाषा या पारिस्थितिकी तंत्र के लिए विशिष्ट हों। अपना भाषण प्रस्तुत करने से पहले, उपस्थित लोगों के लिए अपनी बात तैयार करने के लिए सम्मेलन पर शोध करें और सम्मेलन में बोलने के लिए स्वीकार किए जाने की संभावना बढ़ाएं। आप अक्सर सम्मेलन के वक्ताओं को देखकर अपने दर्शकों के बारे में अंदाजा लगा सकते हैं।
## प्रतिष्ठा बनायें
ऊपर उल्लिखित रणनीतियों के अलावा, लोगों को अपने प्रोजेक्ट में साझा करने और योगदान करने के लिए आमंत्रित करने का सबसे अच्छा तरीका उनकी परियोजनाओं को साझा करना और योगदान देना है।
नए लोगों की मदद करना, संसाधन साझा करना और दूसरों की परियोजनाओं में विचारशील योगदान देना आपको सकारात्मक प्रतिष्ठा बनाने में मदद करेगा। ओपन सोर्स समुदाय में एक सक्रिय सदस्य होने से लोगों को आपके काम के संदर्भ में मदद मिलेगी और आपके प्रोजेक्ट पर ध्यान देने और साझा करने की अधिक संभावना होगी। अन्य ओपन सोर्स परियोजनाओं के साथ संबंध विकसित करने से आधिकारिक साझेदारी भी हो सकती है।
अपनी प्रतिष्ठा बनाना शुरू करने के लिए कभी भी बहुत जल्दी या बहुत देर नहीं होती है। भले ही आपने अपना खुद का प्रोजेक्ट पहले ही लॉन्च कर दिया हो, दूसरों की मदद करने के तरीकों की तलाश जारी रखें।
दर्शक वर्ग बनाने का कोई रातोरात समाधान नहीं है। दूसरों का विश्वास और सम्मान हासिल करने में समय लगता है, और आपकी प्रतिष्ठा बनाना कभी ख़त्म नहीं होता।
## बने रहिए!
लोगों को आपके ओपन सोर्स प्रोजेक्ट पर ध्यान देने में काफी समय लग सकता है। वह ठीक है! आज की कुछ सबसे लोकप्रिय परियोजनाओं को गतिविधि के उच्च स्तर तक पहुंचने में वर्षों लग गए। यह आशा करने के बजाय कि आपका प्रोजेक्ट अनायास लोकप्रियता हासिल कर लेगा, संबंध बनाने पर ध्यान केंद्रित करें। धैर्य रखें और अपना काम उन लोगों के साथ साझा करते रहें जो इसकी सराहना करते हैं।
================================================
FILE: _articles/hi/getting-paid.md
================================================
---
lang: hi
title: ओपन सोर्स कार्य के लिए भुगतान प्राप्त करना
description: अपने समय या अपने प्रोजेक्ट के लिए वित्तीय सहायता प्राप्त करके अपने काम को खुले स्रोत में बनाए रखें।
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## कुछ लोग वित्तीय सहायता क्यों चाहते हैं?
ओपन सोर्स का अधिकांश कार्य स्वैच्छिक है। उदाहरण के लिए, हो सकता है कि किसी को अपने द्वारा उपयोग किए जा रहे किसी प्रोजेक्ट में बग का सामना करना पड़े और वह त्वरित समाधान सबमिट कर दे, या हो सकता है कि वे अपने खाली समय में किसी ओपन सोर्स प्रोजेक्ट के साथ छेड़छाड़ करने का आनंद लें।
ऐसे कई कारण हैं जिनकी वजह से कोई व्यक्ति अपने ओपन सोर्स कार्य के लिए भुगतान नहीं करना चाहेगा।
* **उनके पास पहले से ही एक पूर्णकालिक नौकरी हो सकती है जो उन्हें पसंद है,** जो उन्हें अपने खाली समय में ओपन सोर्स में योगदान करने में सक्षम बनाती है।
* **वे ओपन सोर्स को एक शौक** या रचनात्मक पलायन के रूप में सोचने का आनंद लेते हैं और अपनी परियोजनाओं पर काम करने के लिए वित्तीय रूप से बाध्य महसूस नहीं करना चाहते हैं।
* **उन्हें ओपन सोर्स में योगदान करने से अन्य लाभ मिलते हैं,** जैसे कि उनकी प्रतिष्ठा या पोर्टफोलियो बनाना, एक नया कौशल सीखना, या किसी समुदाय के करीब महसूस करना।
दूसरों के लिए, विशेष रूप से जब योगदान जारी है या महत्वपूर्ण समय की आवश्यकता है, तो ओपन सोर्स में योगदान करने के लिए भुगतान प्राप्त करना ही एकमात्र तरीका है जिससे वे भाग ले सकते हैं, या तो क्योंकि परियोजना को इसकी आवश्यकता है, या व्यक्तिगत कारणों से।
लोकप्रिय परियोजनाओं को बनाए रखना एक महत्वपूर्ण जिम्मेदारी हो सकती है, जिसमें प्रति माह कुछ घंटों के बजाय प्रति सप्ताह 10 या 20 घंटे लगते हैं।
भुगतान किया गया कार्य जीवन के विभिन्न क्षेत्रों के लोगों को सार्थक योगदान देने में भी सक्षम बनाता है। कुछ लोग अपनी वर्तमान वित्तीय स्थिति, ऋण, या परिवार या अन्य देखभाल संबंधी दायित्वों के आधार पर, ओपन सोर्स परियोजनाओं पर अवैतनिक समय बिताने का जोखिम नहीं उठा सकते हैं। इसका मतलब है कि दुनिया कभी भी उन प्रतिभाशाली लोगों के योगदान को नहीं देखती है जो स्वेच्छा से अपना समय नहीं दे सकते। इसके नैतिक निहितार्थ हैं, जैसा कि @ashedryden [ने वर्णन किया है](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), क्योंकि जो काम किया गया है वह है उन लोगों के पक्ष में पक्षपातपूर्ण जिनके पास पहले से ही जीवन में लाभ हैं, जो बाद में अपने स्वैच्छिक योगदान के आधार पर अतिरिक्त लाभ प्राप्त करते हैं, जबकि अन्य जो स्वयंसेवा करने में सक्षम नहीं होते हैं उन्हें बाद में अवसर नहीं मिलते हैं, जो खुले स्रोत में विविधता की वर्तमान कमी को मजबूत करता है समुदाय।
यदि आप वित्तीय सहायता की तलाश में हैं, तो विचार करने के लिए दो रास्ते हैं। आप एक योगदानकर्ता के रूप में अपने समय का वित्तपोषण कर सकते हैं, या आप परियोजना के लिए संगठनात्मक वित्तपोषण पा सकते हैं।
## अपने समय का वित्तपोषण करना
आज, कई लोगों को ओपन सोर्स पर अंशकालिक या पूर्णकालिक काम करने के लिए भुगतान मिलता है। अपने समय के लिए भुगतान पाने का सबसे आम तरीका अपने नियोक्ता से बात करना है।
यदि आपका नियोक्ता वास्तव में परियोजना का उपयोग करता है, तो ओपन सोर्स कार्य के लिए मामला बनाना आसान है, लेकिन अपनी पिच के साथ रचनात्मक बनें। हो सकता है कि आपका नियोक्ता प्रोजेक्ट का उपयोग नहीं करता हो, लेकिन वे पायथन का उपयोग करते हैं, और एक लोकप्रिय पायथन प्रोजेक्ट को बनाए रखने से नए पायथन डेवलपर्स को आकर्षित करने में मदद मिलती है। शायद यह आपके नियोक्ता को सामान्य रूप से अधिक डेवलपर-अनुकूल बनाता है।
यदि आपके पास कोई मौजूदा ओपन सोर्स प्रोजेक्ट नहीं है जिस पर आप काम करना चाहेंगे, बल्कि चाहेंगे कि आपका वर्तमान कार्य आउटपुट ओपन सोर्स हो, तो अपने नियोक्ता के लिए उनके कुछ आंतरिक सॉफ़्टवेयर को ओपन सोर्स करने का मामला बनाएं।
कई कंपनियां अपना ब्रांड बनाने और गुणवत्तापूर्ण प्रतिभाओं की भर्ती के लिए ओपन सोर्स प्रोग्राम विकसित कर रही हैं।
उदाहरण के लिए, @hueniverse ने पाया कि औचित्य सिद्ध करने के लिए वित्तीय कारण थे [ओपन सोर्स में वॉलमार्ट का निवेश](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). और @jamesgpearce ने पाया वह फेसबुक का ओपन सोर्स प्रोग्राम है [make a difference](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon)
भर्ती में:
> यह हमारी हैकर संस्कृति और हमारे संगठन को कैसे समझा जाता है, के साथ निकटता से जुड़ा हुआ है। हमने अपने कर्मचारियों से पूछा, "क्या आप फेसबुक के ओपन सोर्स सॉफ़्टवेयर प्रोग्राम के बारे में जानते थे?" दो-तिहाई ने कहा "हाँ"। एक-आधे ने कहा कि कार्यक्रम ने हमारे लिए काम करने के उनके निर्णय में सकारात्मक योगदान दिया। ये सीमांत संख्याएं नहीं हैं, और मुझे आशा है कि यह प्रवृत्ति जारी रहेगी।
यदि आपकी कंपनी इस मार्ग पर चलती है, तो समुदाय और कॉर्पोरेट गतिविधि के बीच की सीमाओं को स्पष्ट रखना महत्वपूर्ण है। अंततः, ओपन सोर्स दुनिया भर के लोगों के योगदान के माध्यम से खुद को कायम रखता है, और यह किसी एक कंपनी या स्थान से बड़ा है।
यदि आप अपने वर्तमान नियोक्ता को ओपन सोर्स कार्य को प्राथमिकता देने के लिए मना नहीं सकते हैं, तो एक नया नियोक्ता ढूंढने पर विचार करें जो ओपन सोर्स में कर्मचारी योगदान को प्रोत्साहित करता हो। ऐसी कंपनियों की तलाश करें जो ओपन सोर्स कार्य के प्रति अपना समर्पण स्पष्ट करती हों। उदाहरण के लिए:
* कुछ कंपनियाँ, जैसे [Netflix](https://netflix.github.io/), के पास ऐसी वेबसाइटें हैं जो ओपन सोर्स में उनकी भागीदारी को उजागर करती हैं।
ऐसी परियोजनाएँ जो किसी बड़ी कंपनी में उत्पन्न हुईं, जैसे [Go](https://github.com/golang) या [React](https://github.com/facebook/react), ओपन सोर्स पर काम करने के लिए लोगों को नियोजित करने की भी संभावना है।
अपनी व्यक्तिगत परिस्थितियों के आधार पर, आप अपने ओपन सोर्स कार्य के वित्तपोषण के लिए स्वतंत्र रूप से धन जुटाने का प्रयास कर सकते हैं। उदाहरण के लिए:
* @Homebrew (और [कई अन्य अनुरक्षक और संगठन](https://github.com/sponsors/community)) [GitHub Sponsors](https://github.com/sponsors) के माध्यम से उनके काम को वित्तपोषित करें
* @gaearon उसके काम को वित्त पोषित किया [Redux](https://github.com/reactjs/redux) पर, और [Patreon crowdfunding campaign](https://redux.js.org/) के जरिए
* @andrewgodwin स्कीमा माइग्रेशन पर वित्त पोषित कार्य [through a Kickstarter campaign](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
अंत में, कभी-कभी ओपन सोर्स प्रोजेक्ट उन मुद्दों पर इनाम देते हैं जिनमें आप मदद करने पर विचार कर सकते हैं।
* @ConnorChristie भुगतान पाने में सक्षम था [helping](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol अपनी JavaScript लाइब्रेरी पर काम करता है [gitcoin पर इनाम के माध्यम से](https://gitcoin.co/).
* @mamiM ने इसके बाद @MetaMask का जापानी अनुवाद किया [इस मुद्दे को बाउंटीज़ नेटवर्क पर वित्त पोषित किया गया था](https://explorer.bounties.network/bounty/134).
## अपने प्रोजेक्ट के लिए फंडिंग ढूँढना
व्यक्तिगत योगदानकर्ताओं के लिए व्यवस्था से परे, कभी-कभी परियोजनाएं चल रहे काम को निधि देने के लिए कंपनियों, व्यक्तियों या अन्य लोगों से धन जुटाती हैं।
संगठनात्मक फंडिंग वर्तमान योगदानकर्ताओं को भुगतान करने, परियोजना चलाने की लागत (जैसे होस्टिंग शुल्क) को कवर करने, या नई सुविधाओं या विचारों में निवेश करने में जा सकती है।
जैसे-जैसे ओपन सोर्स की लोकप्रियता बढ़ती है, परियोजनाओं के लिए फंडिंग ढूंढना अभी भी प्रयोगात्मक है, लेकिन कुछ सामान्य विकल्प उपलब्ध हैं।
### क्राउडफंडिंग अभियानों या प्रायोजन के माध्यम से अपने काम के लिए धन जुटाएं
यदि आपके पास पहले से ही एक मजबूत दर्शक वर्ग या प्रतिष्ठा है, या आपका प्रोजेक्ट बहुत लोकप्रिय है, तो प्रायोजन ढूँढना अच्छा काम करता है।
प्रायोजित परियोजनाओं के कुछ उदाहरणों में शामिल हैं:
* **[webpack](https://github.com/webpack)** कंपनियों और व्यक्तियों से धन जुटाता है [through OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** एक गैर-लाभकारी संगठन जो काम के लिए भुगतान करता है [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), and other Ruby infrastructure projects
### एक राजस्व धारा बनाएँ
आपके प्रोजेक्ट के आधार पर, आप व्यावसायिक सहायता, होस्ट किए गए विकल्पों या अतिरिक्त सुविधाओं के लिए शुल्क लेने में सक्षम हो सकते हैं। कुछ उदाहरणों में शामिल हैं:
* **[Sidekiq](https://github.com/mperham/sidekiq)** अतिरिक्त सहायता के लिए सशुल्क संस्करण प्रदान करता है
* **[Travis CI](https://github.com/travis-ci)** अपने उत्पाद के सशुल्क संस्करण प्रदान करता है
* **[Ghost](https://github.com/TryGhost/Ghost)** सशुल्क प्रबंधित सेवा वाला एक गैर-लाभकारी संगठन है
कुछ लोकप्रिय परियोजनाएँ, जैसे [npm](https://github.com/npm/cli) और [Docker](https://github.com/docker/docker), यहां तक कि अपने व्यवसाय के विकास को समर्थन देने के लिए उद्यम पूंजी भी जुटाते हैं।
### अनुदान निधि के लिए आवेदन करें
कुछ सॉफ़्टवेयर फ़ाउंडेशन और कंपनियाँ ओपन सोर्स कार्य के लिए अनुदान प्रदान करती हैं। कभी-कभी, परियोजना के लिए कानूनी इकाई स्थापित किए बिना व्यक्तियों को अनुदान का भुगतान किया जा सकता है।
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** को [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/) से अनुदान प्राप्त हुआ।
* **[OpenMRS](https://github.com/openmrs)** कार्य द्वारा वित्त पोषित किया गया था [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** को [Sloan Foundation](https://sloan.org/programs/digital-technology) से अनुदान प्राप्त हुआ।
* **[Python Software Foundation](https://www.python.org/psf/grants/)** पायथन से संबंधित कार्यों के लिए अनुदान प्रदान करता है।
अधिक विस्तृत विकल्पों और केस अध्ययन के लिए, @nayafia [एक गाइड लिखा](https://github.com/nayafia/lemonade-stand)
ओपन सोर्स कार्य के लिए भुगतान प्राप्त करना। विभिन्न प्रकार की फंडिंग के लिए अलग-अलग कौशल की आवश्यकता होती है, इसलिए यह पता लगाने के लिए अपनी ताकत पर विचार करें कि कौन सा विकल्प आपके लिए सबसे अच्छा काम करता है।
## वित्तीय सहायता के लिए मामला बनाना
चाहे आपका प्रोजेक्ट एक नया विचार हो, या वर्षों से चला आ रहा हो, आपको अपने लक्षित फंडर की पहचान करने और एक सम्मोहक मामला बनाने में महत्वपूर्ण विचार करने की उम्मीद करनी चाहिए।
चाहे आप अपने समय के लिए भुगतान करना चाह रहे हों, या किसी परियोजना के लिए धन जुटाना चाह रहे हों, आपको निम्नलिखित प्रश्नों का उत्तर देने में सक्षम होना चाहिए।
### प्रभाव
यह प्रोजेक्ट उपयोगी क्यों है? आपके उपयोगकर्ता, या संभावित उपयोगकर्ता, इसे इतना पसंद क्यों करते हैं? पांच साल में यह कहां होगा?
### संकर्षण
सबूत इकट्ठा करने की कोशिश करें कि आपका प्रोजेक्ट मायने रखता है, चाहे वह मेट्रिक्स, उपाख्यान या प्रशंसापत्र हो। क्या अभी कोई कंपनी या उल्लेखनीय लोग आपके प्रोजेक्ट का उपयोग कर रहे हैं? यदि नहीं, तो क्या किसी प्रमुख व्यक्ति ने इसका समर्थन किया है?
### फंड देने वाले के लिए मूल्य
फंडर्स, चाहे आपका नियोक्ता हो या अनुदान देने वाला फाउंडेशन, अक्सर अवसरों के साथ संपर्क किया जाता है। उन्हें किसी अन्य अवसर की अपेक्षा आपके प्रोजेक्ट का समर्थन क्यों करना चाहिए? वे व्यक्तिगत रूप से कैसे लाभान्वित होते हैं?
### धन का उपयोग
प्रस्तावित फंडिंग से आप वास्तव में क्या हासिल करेंगे? वेतन देने के बजाय परियोजना की उपलब्धियों या परिणामों पर ध्यान दें।
### आपको धनराशि कैसे प्राप्त होगी
क्या फंडर को संवितरण से संबंधित कोई आवश्यकता है? उदाहरण के लिए, आपको एक गैर-लाभकारी संस्था होने या एक गैर-लाभकारी वित्तीय प्रायोजक होने की आवश्यकता हो सकती है। या शायद धनराशि किसी संगठन के बजाय किसी व्यक्तिगत ठेकेदार को दी जानी चाहिए। ये आवश्यकताएं फंडर्स के बीच अलग-अलग होती हैं, इसलिए पहले से ही अपना शोध करना सुनिश्चित करें।
## प्रयोग करो और हार मत मानो
पैसा जुटाना आसान नहीं है, चाहे आप एक ओपन सोर्स प्रोजेक्ट हों, एक गैर-लाभकारी संस्था हों, या एक सॉफ्टवेयर स्टार्टअप हों, और ज्यादातर मामलों में आपको रचनात्मक होने की आवश्यकता होती है। यह पहचानना कि आप भुगतान कैसे प्राप्त करना चाहते हैं, अपना शोध करना, और अपने आप को अपने फंडर के स्थान पर रखना आपको फंडिंग के लिए एक ठोस मामला बनाने में मदद करेगा।
================================================
FILE: _articles/hi/how-to-contribute.md
================================================
---
lang: hi
title: ओपन सोर्स में कैसे योगदान करें
description: क्या आप ओपन सोर्स में योगदान देना चाहते हैं? पहली बार और अनुभवी लोगों के लिए ओपन सोर्स योगदान करने के लिए एक मार्गदर्शिका।
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## ओपन सोर्स में योगदान क्यों करें?
ओपन सोर्स में योगदान करना किसी भी ऐसे कौशल में सीखने, सिखाने और अनुभव बनाने का एक फायदेमंद तरीका हो सकता है जिसकी आप कल्पना कर सकते हैं।
लोग ओपन सोर्स में योगदान क्यों देते हैं? बहुत सारे कारण!
### जिस सॉफ़्टवेयर पर आप भरोसा करते हैं उसे सुधारें
बहुत से ओपन सोर्स योगदानकर्ता उस सॉफ़्टवेयर के उपयोगकर्ता बनकर शुरुआत करते हैं जिसमें वे योगदान करते हैं। जब आप अपने द्वारा उपयोग किए जाने वाले ओपन सोर्स सॉफ़्टवेयर में कोई बग पाते हैं, तो आप यह देखने के लिए स्रोत को देखना चाहेंगे कि क्या आप इसे स्वयं ठीक कर सकते हैं। यदि ऐसा मामला है, तो पैच बैक में योगदान करना यह सुनिश्चित करने का सबसे अच्छा तरीका है कि आपके मित्र (और जब आप अगली रिलीज़ के लिए अपडेट करते हैं तो आप स्वयं) इससे लाभ उठा सकेंगे।
### मौजूदा कौशल में सुधार करें
चाहे वह कोडिंग हो, यूजर इंटरफ़ेस डिज़ाइन हो, ग्राफ़िक डिज़ाइन हो, लेखन हो, या आयोजन हो, यदि आप अभ्यास की तलाश में हैं, तो ओपन सोर्स प्रोजेक्ट पर आपके लिए एक कार्य है।
### ऐसे लोगों से मिलें जो समान चीज़ों में रुचि रखते हैं
गर्मजोशी से स्वागत करने वाले समुदायों के साथ ओपन सोर्स परियोजनाएं लोगों को वर्षों तक वापस लाती हैं। बहुत से लोग खुले स्रोत में अपनी भागीदारी के माध्यम से आजीवन मित्रता बनाते हैं, चाहे वह सम्मेलनों में एक-दूसरे से मिलना हो या बरिटो के बारे में देर रात तक ऑनलाइन चैट करना हो।
### मार्गदर्शक खोजें और दूसरों को सिखाएं
किसी साझा प्रोजेक्ट पर दूसरों के साथ काम करने का मतलब है कि आपको यह बताना होगा कि आप काम कैसे करते हैं, साथ ही अन्य लोगों से मदद भी मांगनी होगी। सीखने और सिखाने के कार्य इसमें शामिल सभी लोगों के लिए एक संतुष्टिदायक गतिविधि हो सकते हैं।
### सार्वजनिक कलाकृतियों का निर्माण करें जो आपको प्रतिष्ठा (और करियर) बढ़ाने में मदद करें
परिभाषा के अनुसार, आपके सभी ओपन सोर्स कार्य सार्वजनिक हैं, जिसका अर्थ है कि आप जो भी कर सकते हैं उसे प्रदर्शित करने के लिए आपको कहीं भी ले जाने के लिए निःशुल्क उदाहरण मिलते हैं।
### लोगों के कौशल सीखें
ओपन सोर्स नेतृत्व और प्रबंधन कौशल का अभ्यास करने के अवसर प्रदान करता है, जैसे संघर्षों को हल करना, लोगों की टीमों को संगठित करना और काम को प्राथमिकता देना।
### परिवर्तन करने में सक्षम होना सशक्त है, यहां तक कि छोटे परिवर्तन भी
ओपन सोर्स में भाग लेने का आनंद लेने के लिए आपको आजीवन योगदानकर्ता बनने की आवश्यकता नहीं है। क्या आपने कभी किसी वेबसाइट पर कोई टाइपो त्रुटि देखी है और सोचा है कि कोई इसे ठीक कर देगा? किसी ओपन सोर्स प्रोजेक्ट पर, आप बस यही कर सकते हैं। ओपन सोर्स लोगों को उनके जीवन और वे दुनिया का अनुभव कैसे करते हैं, इस पर एजेंसी महसूस करने में मदद करता है, और यह अपने आप में संतुष्टिदायक है।
## योगदान देने का क्या मतलब है
यदि आप एक नए ओपन सोर्स योगदानकर्ता हैं, तो प्रक्रिया डराने वाली हो सकती है। आपको सही प्रोजेक्ट कैसे मिलता है? यदि आप नहीं जानते कि कोडिंग कैसे की जाती है तो क्या होगा? क्या हो यदि कुछ गलत हो जाए?
कोइ चिंता नहीं! किसी ओपन सोर्स प्रोजेक्ट में शामिल होने के सभी प्रकार के तरीके हैं, और कुछ युक्तियाँ आपको अपने अनुभव से अधिकतम लाभ उठाने में मदद करेंगी।
### आपको कोड योगदान करने की आवश्यकता नहीं है
ओपन सोर्स में योगदान देने के बारे में एक आम ग़लतफ़हमी यह है कि आपको कोड का योगदान करने की आवश्यकता है। वास्तव में, यह अक्सर किसी परियोजना के अन्य भाग होते हैं जिन्हें [सबसे अधिक उपेक्षित या अनदेखा](https://github.com/blog/2195-the-shape-of-open-source) किया जाता है। आप इस प्रकार के योगदान की पेशकश करके परियोजना पर बहुत बड़ा उपकार करेंगे!
भले ही आपको कोड लिखना पसंद हो, अन्य प्रकार के योगदान किसी प्रोजेक्ट में शामिल होने और समुदाय के अन्य सदस्यों से मिलने का एक शानदार तरीका है। उन संबंधों के निर्माण से आपको परियोजना के अन्य हिस्सों पर काम करने का अवसर मिलेगा।
### क्या आपको आयोजनों की योजना बनाना पसंद है?
* परियोजना के बारे में कार्यशालाएँ या बैठकें आयोजित करें, [जैसे @fzamperin ने NodeSchool के लिए किया](https://github.com/nodeschool/organizers/issues/406)
* परियोजना का सम्मेलन आयोजित करें (यदि उनके पास एक है)
* समुदाय के सदस्यों को सही सम्मेलन ढूंढने और बोलने के लिए प्रस्ताव प्रस्तुत करने में सहायता करें
### क्या आपको डिज़ाइन करना पसंद है?
* परियोजना की उपयोगिता में सुधार के लिए लेआउट का पुनर्गठन करें
* प्रोजेक्ट के नेविगेशन या मेनू को पुनर्गठित और परिष्कृत करने के लिए उपयोगकर्ता अनुसंधान करें, [जैसा कि Drupal सुझाव देता है](https://www.drupal.org/community-initiatives/drupal-core/usability)
* प्रोजेक्ट को एक सुसंगत विज़ुअल डिज़ाइन बनाने में मदद करने के लिए एक स्टाइल गाइड साथ रखें
* टी-शर्ट या नए लोगो के लिए कला बनाएं, [जैसे hapi.js के योगदानकर्ताओं ने किया](https://github.com/hapijs/contrib/issues/68)
### क्या आप लिखना पसंद करते हैं?
* प्रोजेक्ट के दस्तावेज़ीकरण को लिखें और सुधारें
* प्रोजेक्ट का उपयोग कैसे किया जाता है, यह दर्शाने वाले उदाहरणों का एक फ़ोल्डर बनाएं
* प्रोजेक्ट के लिए एक न्यूज़लेटर शुरू करें, या मेलिंग सूची से हाइलाइट्स क्यूरेट करें
* प्रोजेक्ट के लिए ट्यूटोरियल लिखें, [जैसे PyPA के योगदानकर्ताओं ने किया](https://packaging.python.org/)
* परियोजना के दस्तावेज़ीकरण के लिए एक अनुवाद लिखें
### क्या आपको आयोजन करना पसंद है?
* चीजों को व्यवस्थित रखने के लिए डुप्लिकेट मुद्दों से लिंक करें, और नए अंक लेबल का सुझाव दें
* खुले मुद्दों पर गौर करें और पुराने मुद्दों को बंद करने का सुझाव दें, [जैसे @nzakas ने ESLint के लिए किया](https://github.com/eslint/eslint/issues/6765)
* चर्चा को आगे बढ़ाने के लिए हाल ही में खुले मुद्दों पर स्पष्ट प्रश्न पूछें
### क्या आपको कोड करना पसंद है?
* निपटने के लिए एक खुला मुद्दा खोजें, [जैसे @dianjin ने कैटलॉग के लिए किया](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* पूछें कि क्या आप एक नई सुविधा लिखने में मदद कर सकते हैं
* स्वचालित प्रोजेक्ट सेटअप
* टूलींग और परीक्षण में सुधार करें
### क्या आपको लोगों की मदद करना पसंद है?
* प्रोजेक्ट के बारे में प्रश्नों के उत्तर दें, उदाहरण के लिए, स्टैक ओवरफ्लो ([इस पोस्टग्रेज उदाहरण की तरह](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) या रेडिट
* खुले मुद्दों पर लोगों के सवालों के जवाब दें
* चर्चा बोर्डों या वार्तालाप चैनलों को मॉडरेट करने में सहायता करें
### क्या आपको दूसरों की कोड में मदद करना पसंद है?
* अन्य लोगों के सबमिशन पर कोड की समीक्षा करें
* किसी प्रोजेक्ट का उपयोग कैसे किया जा सकता है, इसके लिए ट्यूटोरियल लिखें
* किसी अन्य योगदानकर्ता को सलाह देने की पेशकश, [जैसे @ereichert ने Rust पर @bronzdoc के लिए किया](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### आपको सिर्फ सॉफ्टवेयर प्रोजेक्ट पर काम नहीं करना है!
जबकि "ओपन सोर्स" अक्सर सॉफ़्टवेयर को संदर्भित करता है, आप किसी भी चीज़ पर सहयोग कर सकते हैं। ऐसी किताबें, रेसिपी, सूचियाँ और कक्षाएं हैं जिन्हें ओपन सोर्स प्रोजेक्ट के रूप में विकसित किया जाता है।
उदाहरण के लिए:
* @sindresorhus एक ["भयानक" सूचियों की सूची तैयार करता है](https://github.com/sindresorhus/awesome)
* @h5bp फ्रंट-एंड डेवलपर उम्मीदवारों के लिए [संभावित साक्षात्कार प्रश्नों की सूची] (https://github.com/h5bp/Front-end-Developer-Interview-Questions) रखता है
* @stuartlynn और @nicole-a-tesla ने [पफिन्स के बारे में मजेदार तथ्यों का संग्रह](https://github.com/stuartlynn/puffin_facts) बनाया।
भले ही आप एक सॉफ़्टवेयर डेवलपर हों, दस्तावेज़ीकरण प्रोजेक्ट पर काम करने से आपको ओपन सोर्स में शुरुआत करने में मदद मिल सकती है। उन परियोजनाओं पर काम करना अक्सर कम डराने वाला होता है जिनमें कोड शामिल नहीं होता है, और सहयोग की प्रक्रिया आपके आत्मविश्वास और अनुभव का निर्माण करेगी।
## अपने आप को एक नई परियोजना की ओर उन्मुख करना
टाइपो फिक्स से अधिक किसी भी चीज़ के लिए, ओपन सोर्स में योगदान करना किसी पार्टी में अजनबियों के समूह के पास जाने जैसा है। यदि आप लामाओं के बारे में बात करना शुरू करते हैं, जबकि वे सुनहरी मछली के बारे में गहन चर्चा में थे, तो वे शायद आपको थोड़ा अजीब तरीके से देखेंगे।
अपने स्वयं के सुझावों पर आँख मूँद कर कूदने से पहले, कमरे को पढ़ना सीखना शुरू करें। ऐसा करने से संभावना बढ़ जाती है कि आपके विचारों पर ध्यान दिया जाएगा और सुना जाएगा।
### एक ओपन सोर्स प्रोजेक्ट का एनाटॉमी
प्रत्येक खुला स्रोत समुदाय अलग है।
एक ओपन सोर्स प्रोजेक्ट पर वर्षों बिताने का मतलब है कि आपको एक ओपन सोर्स प्रोजेक्ट के बारे में पता चल गया है। एक अलग प्रोजेक्ट पर जाएँ, और आप पाएंगे कि शब्दावली, मानदंड और संचार शैलियाँ पूरी तरह से अलग हैं।
जैसा कि कहा गया है, कई ओपन सोर्स प्रोजेक्ट समान संगठनात्मक संरचना का पालन करते हैं। विभिन्न सामुदायिक भूमिकाओं और समग्र प्रक्रिया को समझने से आपको किसी भी नई परियोजना के प्रति शीघ्रता से उन्मुख होने में मदद मिलेगी।
एक विशिष्ट ओपन सोर्स प्रोजेक्ट में निम्नलिखित प्रकार के लोग होते हैं:
* **लेखक:** वह व्यक्ति/संगठन जिसने प्रोजेक्ट बनाया है
* **स्वामी:** वह व्यक्ति/व्यक्ति जिनके पास संगठन या भंडार पर प्रशासनिक स्वामित्व है (हमेशा मूल लेखक के समान नहीं)
* **रखरखावकर्ता:** योगदानकर्ता जो परियोजना के दृष्टिकोण को आगे बढ़ाने और संगठनात्मक पहलुओं को प्रबंधित करने के लिए जिम्मेदार हैं (वे परियोजना के लेखक या मालिक भी हो सकते हैं।)
* **योगदानकर्ता:** हर कोई जिसने परियोजना में कुछ न कुछ योगदान दिया है
* **समुदाय सदस्य:** वे लोग जो परियोजना का उपयोग करते हैं। वे बातचीत में सक्रिय हो सकते हैं या परियोजना की दिशा पर अपनी राय व्यक्त कर सकते हैं
बड़ी परियोजनाओं में उपसमितियां या कार्य समूह भी हो सकते हैं जो टूलींग, ट्राइएज, सामुदायिक मॉडरेशन और इवेंट आयोजन जैसे विभिन्न कार्यों पर केंद्रित हो सकते हैं। इस जानकारी को पाने के लिए किसी प्रोजेक्ट की वेबसाइट पर "टीम" पृष्ठ, या शासन दस्तावेज़ के भंडार में देखें।
एक प्रोजेक्ट में दस्तावेज़ीकरण भी होता है. ये फ़ाइलें आमतौर पर रिपॉजिटरी के शीर्ष स्तर पर सूचीबद्ध होती हैं।
* **लाइसेंस:** परिभाषा के अनुसार, प्रत्येक ओपन सोर्स प्रोजेक्ट के पास एक [ओपन सोर्स लाइसेंस](https://choosealicense.com) होना चाहिए। यदि प्रोजेक्ट के पास लाइसेंस नहीं है, तो यह खुला स्रोत नहीं है।
* **रीडमी:** रीडमी एक निर्देश पुस्तिका है जो परियोजना में नए समुदाय के सदस्यों का स्वागत करती है। यह बताता है कि परियोजना क्यों उपयोगी है और इसे कैसे शुरू किया जाए।
* **योगदान:** जबकि READMEs लोगों को परियोजना का उपयोग करने में मदद करते हैं, योगदान करने वाले दस्तावेज़ लोगों को परियोजना में योगदान देने में मदद करते हैं। यह बताता है कि किस प्रकार के योगदान की आवश्यकता है और प्रक्रिया कैसे काम करती है। हालाँकि हर परियोजना में योगदान फ़ाइल नहीं होती है, इसकी उपस्थिति संकेत देती है कि यह योगदान करने के लिए एक स्वागत योग्य परियोजना है।
* **आचार संहिता:** आचार संहिता प्रतिभागियों के व्यवहार से संबंधित बुनियादी नियम निर्धारित करती है और एक मैत्रीपूर्ण, स्वागत योग्य वातावरण बनाने में मदद करती है। हालाँकि हर परियोजना में एक Code_OF_CONDUCT फ़ाइल नहीं होती है, लेकिन इसकी उपस्थिति संकेत देती है कि यह योगदान देने के लिए एक स्वागत योग्य परियोजना है।
* **अन्य दस्तावेज़:** अतिरिक्त दस्तावेज़ हो सकते हैं, जैसे ट्यूटोरियल, वॉकथ्रू, या शासन नीतियां, विशेष रूप से बड़ी परियोजनाओं पर।
अंत में, ओपन सोर्स प्रोजेक्ट चर्चा को व्यवस्थित करने के लिए निम्नलिखित टूल का उपयोग करते हैं। अभिलेखों को पढ़ने से आपको एक अच्छी तस्वीर मिलेगी कि समुदाय कैसे सोचता है और कैसे काम करता है।
* **समस्या ट्रैकर:** जहां लोग परियोजना से संबंधित मुद्दों पर चर्चा करते हैं।
* **पुल रीकवेस्ट:** जहां लोग प्रगति पर चल रहे परिवर्तनों पर चर्चा और समीक्षा करते हैं।
* **चर्चा फ़ोरम या मेलिंग सूचियाँ:** कुछ परियोजनाएँ इन चैनलों का उपयोग वार्तालाप विषयों के लिए कर सकती हैं (उदाहरण के लिए, _"मैं कैसे करूँ..."_ या _"आप किस बारे में सोचते हैं..."_ बग के बजाय रिपोर्ट या सुविधा अनुरोध)। अन्य सभी वार्तालापों के लिए समस्या ट्रैकर का उपयोग करते हैं।
* **सिंक्रोनस चैट चैनल:** कुछ प्रोजेक्ट आकस्मिक बातचीत, सहयोग और त्वरित आदान-प्रदान के लिए चैट चैनल (जैसे स्लैक या आईआरसी) का उपयोग करते हैं।
## योगदान देने के लिए एक परियोजना ढूँढना
अब जब आपको पता चल गया है कि ओपन सोर्स प्रोजेक्ट कैसे काम करते हैं, तो योगदान देने के लिए एक प्रोजेक्ट ढूंढने का समय आ गया है!
यदि आपने पहले कभी भी ओपन सोर्स में योगदान नहीं दिया है, तो अमेरिकी राष्ट्रपति जॉन एफ कैनेडी से कुछ सलाह लें, जिन्होंने एक बार कहा था, _"यह मत पूछो कि आपका देश आपके लिए क्या कर सकता है - यह पूछें कि आप अपने देश के लिए क्या कर सकते हैं।"_
ओपन सोर्स में योगदान सभी स्तरों पर, सभी परियोजनाओं में होता है। आपको यह ज़्यादा सोचने की ज़रूरत नहीं है कि वास्तव में आपका पहला योगदान क्या होगा, या यह कैसा दिखेगा।
इसके बजाय, उन परियोजनाओं के बारे में सोचकर शुरुआत करें जिनका आप पहले से उपयोग कर रहे हैं, या जिनका उपयोग करना चाहते हैं। जिन परियोजनाओं में आप सक्रिय रूप से योगदान देंगे, उन्हीं परियोजनाओं में आप स्वयं को वापस आते हुए पाएंगे।
उन परियोजनाओं के भीतर, जब भी आप खुद को यह सोचते हुए पाते हैं कि कुछ बेहतर या अलग हो सकता है, तो अपनी प्रवृत्ति पर कार्य करें।
ओपन सोर्स कोई विशेष क्लब नहीं है; यह आप जैसे ही लोगों द्वारा बनाया गया है। "ओपन सोर्स" दुनिया की समस्याओं को ठीक करने योग्य मानने के लिए सिर्फ एक फैंसी शब्द है।
आप README को स्कैन कर सकते हैं और एक टूटा हुआ लिंक या कोई टाइपो पा सकते हैं। या आप एक नए उपयोगकर्ता हैं और आपने देखा कि कुछ टूटा हुआ है, या कोई समस्या है जो आपको लगता है कि वास्तव में दस्तावेज़ में होनी चाहिए। इसे नज़रअंदाज़ करने और आगे बढ़ने, या किसी और से इसे ठीक करने के लिए कहने के बजाय, देखें कि क्या आप इसमें योगदान देकर मदद कर सकते हैं। खुले स्रोत का यही मतलब है!
> [28% आकस्मिक योगदान](https://www.igor.pro.br/publica/papers/saner2016.pdf) ओपन सोर्स के लिए दस्तावेज हैं, जैसे टाइपो फिक्स, रिफॉर्मेटिंग, या अनुवाद लिखना।
यदि आप मौजूदा मुद्दों की तलाश कर रहे हैं जिन्हें आप ठीक कर सकते हैं, तो प्रत्येक ओपन सोर्स प्रोजेक्ट में एक `/contribute` पेज होता है जो शुरुआती-अनुकूल मुद्दों पर प्रकाश डालता है जिनके साथ आप शुरुआत कर सकते हैं। GitHub पर रिपॉजिटरी के मुख्य पृष्ठ पर जाएँ, और URL के अंत में `/contribute` जोड़ें (उदाहरण के लिए [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
नई परियोजनाओं को खोजने और उनमें योगदान देने में सहायता के लिए आप निम्नलिखित संसाधनों में से किसी एक का भी उपयोग कर सकते हैं:
* [GitHub समन्वेषण](https://github.com/explore/)
* [Open Source शुक्रवार](https://opensourcefriday.com)
* [पहली बार आने वाले](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [Contributor-ninja](https://contributor.ninja)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### योगदान देने से पहले एक चेकलिस्ट
जब आपको कोई ऐसा प्रोजेक्ट मिल जाए जिसमें आप योगदान करना चाहते हैं, तो यह सुनिश्चित करने के लिए त्वरित स्कैन करें कि प्रोजेक्ट योगदान स्वीकार करने के लिए उपयुक्त है। वरना आपकी मेहनत को कभी जवाब नहीं मिल पाएगा.
यह मूल्यांकन करने के लिए एक आसान चेकलिस्ट है कि कोई प्रोजेक्ट नए योगदानकर्ताओं के लिए अच्छा है या नहीं।
**ओपन सोर्स की परिभाषा को पूरा करता है**
**परियोजना सक्रिय रूप से योगदान स्वीकार करती है**
Main branch पर commit प्रतिबद्ध को देखें। GitHub पर, आप इस जानकारी को रिपॉजिटरी के होमपेज पर देख सकते हैं।
इसके बाद, परियोजना के मुद्दों को देखें।
अब प्रोजेक्ट के पुल रीकवेस्ट के लिए भी ऐसा ही करें।
**परियोजना स्वागतयोग्य है**
एक परियोजना जो मैत्रीपूर्ण और स्वागत योग्य है, यह संकेत देती है कि वे नए योगदानकर्ताओं के प्रति ग्रहणशील होंगे।
## योगदान कैसे जमा करें
आपको अपनी पसंद का एक प्रोजेक्ट मिल गया है और आप योगदान देने के लिए तैयार हैं। अंत में! यहां बताया गया है कि अपना योगदान सही तरीके से कैसे प्राप्त करें।
### प्रभावी ढंग से संचार करना
चाहे आप एक बार के योगदानकर्ता हों या किसी समुदाय में शामिल होने का प्रयास कर रहे हों, दूसरों के साथ काम करना सबसे महत्वपूर्ण कौशलों में से एक है जिसे आप ओपन सोर्स में विकसित करेंगे।
इससे पहले कि आप कोई मुद्दा खोलें या अनुरोध खींचें, या चैट में कोई प्रश्न पूछें, अपने विचारों को प्रभावी ढंग से सामने लाने में मदद के लिए इन बिंदुओं को ध्यान में रखें।
**संदर्भ दें।** दूसरों को तेजी से आगे बढ़ने में मदद करें। यदि आप किसी त्रुटि का सामना कर रहे हैं, तो बताएं कि आप क्या करने का प्रयास कर रहे हैं और इसे कैसे पुन: उत्पन्न करना है। यदि आप कोई नया विचार सुझा रहे हैं, तो स्पष्ट करें कि आप क्यों सोचते हैं कि यह परियोजना के लिए उपयोगी होगा (केवल आपके लिए नहीं!)।
> 😇 _"जब मैं यह करता हूं तो वह नहीं होता"_
>
> 😢 _"यह टूट गया है! कृपया इसे ठीक करें।"_
**कृपया अपना होमवर्क पहले से कर लें।** चीजों को न जानना ठीक है, लेकिन दिखाएं कि आपने प्रयास किया। मदद मांगने से पहले, किसी प्रोजेक्ट की रीडमी, दस्तावेज़ीकरण, मुद्दे (खुले या बंद), मेलिंग सूची की जांच करना और उत्तर के लिए इंटरनेट पर खोजना सुनिश्चित करें। जब आप प्रदर्शित करेंगे कि आप सीखने का प्रयास कर रहे हैं तो लोग इसकी सराहना करेंगे।
> 😇 _"मुझे नहीं पता कि ईस को कैसे लागू किया जाए। मैंने सहायता दस्तावेजों की जांच की और कोई उल्लेख नहीं मिला।"_
>
> 😢 _"मैं कैसे यह करूं?"_
**अनुरोधों को संक्षिप्त और सीधा रखें।** ईमेल भेजने की तरह, हर योगदान, चाहे कितना भी सरल या उपयोगी क्यों न हो, किसी और की समीक्षा की आवश्यकता होती है। कई परियोजनाओं में मदद के लिए उपलब्ध लोगों की तुलना में अधिक अनुरोध आ रहे हैं। संक्षिप्त रखें। आपको इस बात की संभावना बढ़ जाएगी कि कोई आपकी मदद कर पाएगा।
> 😇 _"मैं एक एपीआई ट्यूटोरियल लिखना चाहूंगा।"_
>
> 😢 _"मैं पिछले दिन राजमार्ग पर गाड़ी चला रहा था और गैस के लिए रुका, और तभी मेरे मन में यह अद्भुत विचार आया कि हमें क्या करना चाहिए, लेकिन इससे पहले कि मैं यह समझाऊं, मैं आपको दिखाता हूं..."_
**सभी संचार सार्वजनिक रखें।** हालांकि यह आकर्षक है, जब तक आपको संवेदनशील जानकारी (जैसे कोई सुरक्षा मुद्दा या गंभीर आचरण उल्लंघन) साझा करने की आवश्यकता न हो, निजी तौर पर अनुरक्षकों तक न पहुंचें। जब आप बातचीत को सार्वजनिक रखते हैं, तो अधिक लोग आपके आदान-प्रदान से सीख सकते हैं और लाभ उठा सकते हैं। चर्चाएँ, अपने आप में, योगदान हो सकती हैं।
> 😇 _(एक टिप्पणी के रूप में) "@-maintainer नमस्ते! हमें इस PR पर कैसे आगे बढ़ना चाहिए?"_
>
> 😢_(एक ईमेल के रूप में) "अरे, ईमेल पर आपको परेशान करने के लिए खेद है, लेकिन मैं सोच रहा था कि क्या आपको मेरे PR की समीक्षा करने का मौका मिला है"_
**प्रश्न पूछना ठीक है (लेकिन धैर्य रखें!)** हर कोई किसी न किसी समय परियोजना में नया था, और यहां तक कि अनुभवी योगदानकर्ताओं को भी जब वे किसी नई परियोजना को देखते हैं तो उन्हें तेजी लाने की जरूरत होती है। इसी तरह, लंबे समय तक अनुरक्षक भी हमेशा परियोजना के हर हिस्से से परिचित नहीं होते हैं। उन्हें वही धैर्य दिखाएं जो आप चाहते हैं कि वे आपके प्रति दिखाएं।
> 😇 _"इस त्रुटि पर ध्यान देने के लिए धन्यवाद। मैंने आपके सुझावों का पालन किया। यहां आउटपुट है।"_
>
> 😢 _"आप मेरी समस्या का समाधान क्यों नहीं कर सकते? क्या यह आपका प्रोजेक्ट नहीं है?"_
**सामुदायिक निर्णयों का सम्मान करें।** आपके विचार समुदाय की प्राथमिकताओं या दृष्टिकोण से भिन्न हो सकते हैं। वे प्रतिक्रिया दे सकते हैं या आपके विचार को आगे न बढ़ाने का निर्णय ले सकते हैं। जबकि आपको चर्चा करनी चाहिए और समझौते की तलाश करनी चाहिए, लेकिन अनुरक्षकों को आपके निर्णय के साथ आपकी इच्छा से अधिक समय तक रहना होगा। यदि आप उनकी दिशा से असहमत हैं, तो आप हमेशा अपने स्वयं के कांटे पर काम कर सकते हैं या अपना स्वयं का प्रोजेक्ट शुरू कर सकते हैं।
> 😇 _"मुझे निराशा है कि आप मेरे उपयोग के मामले का समर्थन नहीं कर सकते, लेकिन जैसा कि आपने समझाया है कि यह केवल उपयोगकर्ताओं के एक छोटे हिस्से को प्रभावित करता है, मैं समझता हूं क्यों। सुनने के लिए धन्यवाद।"_
>
> 😢 _"आप मेरे उपयोग के मामले का समर्थन क्यों नहीं करेंगे? यह अस्वीकार्य है!"_
**सबसे बढ़कर, इसे उत्तम दर्जे का रखें।** ओपन सोर्स दुनिया भर के सहयोगियों से बना है। भाषाओं, संस्कृतियों, भूगोलों और समय क्षेत्रों में संदर्भ खो जाता है। इसके अलावा, लिखित संचार से स्वर या मनोदशा को व्यक्त करना कठिन हो जाता है। इन वार्तालापों में अच्छे इरादे मानें। किसी विचार पर विनम्रतापूर्वक ज़ोर देना, अधिक संदर्भ मांगना, या अपनी स्थिति को और स्पष्ट करना ठीक है। बस इंटरनेट को उस समय से बेहतर जगह छोड़ने का प्रयास करें जब यह आपको मिला था।
### संदर्भ एकत्रित करना
कुछ भी करने से पहले, यह सुनिश्चित करने के लिए त्वरित जांच करें कि आपके विचार की चर्चा कहीं और नहीं की गई है। प्रोजेक्ट के README, मुद्दे (खुले और बंद), मेलिंग सूची और स्टैक ओवरफ़्लो को स्किम करें। आपको हर चीज़ को पढ़ने में घंटों खर्च करने की ज़रूरत नहीं है, लेकिन कुछ प्रमुख शब्दों की त्वरित खोज बहुत काम आती है।
यदि आपको अपना विचार कहीं और नहीं मिल रहा है, तो आप एक कदम उठाने के लिए तैयार हैं। यदि प्रोजेक्ट GitHub पर है, तो आप संभवतः कोई समस्या खोलकर या अनुरोध खींचकर संवाद करेंगे:
* **ईशूस** बातचीत या चर्चा शुरू करने जैसा है
* **पुल रीकवेस्ट** समाधान पर काम शुरू करने के लिए हैं
* **हल्के संचार के लिए,** जैसे कि स्पष्टीकरण या कैसे-कैसे प्रश्न करें, स्टैक ओवरफ़्लो, IRS, स्लैक, या अन्य चैट चैनलों पर पूछने का प्रयास करें, यदि प्रोजेक्ट में कोई है
किसी मुद्दे को खोलने या अनुरोध खींचने से पहले, यह देखने के लिए कि क्या आपको कुछ विशिष्ट शामिल करने की आवश्यकता है, प्रोजेक्ट के योगदान दस्तावेज़ (आमतौर पर CONTRIBUTING या README में एक फ़ाइल) की जाँच करें। उदाहरण के लिए, वे आपसे एक टेम्पलेट का पालन करने के लिए कह सकते हैं, या आपसे परीक्षण का उपयोग करने के लिए कह सकते हैं।
यदि आप कोई महत्वपूर्ण योगदान देना चाहते हैं, तो उस पर काम करने से पहले पूछने के लिए एक मुद्दा खोलें। प्रोजेक्ट को कुछ समय के लिए देखना उपयोगी है (GitHub पर, [आप "watch" पर क्लिक कर सकते हैं)](https://help.github.com/articles/watching-repositories/) सभी वार्तालापों की सूचना प्राप्त करने के लिए), और वह काम करने से पहले समुदाय के सदस्यों को जानें जिन्हें स्वीकार नहीं किया जा सकता है।
### एक मुद्दा खुल रहा है
आपको आमतौर पर निम्नलिखित स्थितियों में कोई मुद्दा खोलना चाहिए:
* उस त्रुटि की रिपोर्ट करें जिसे आप स्वयं हल नहीं कर सकते
* किसी उच्च-स्तरीय विषय या विचार पर चर्चा करें (उदाहरण के लिए, समुदाय, दृष्टिकोण या नीतियां)
* एक नई सुविधा या अन्य परियोजना विचार का प्रस्ताव रखें
मुद्दों पर संवाद करने के लिए युक्तियाँ:
* **यदि आप कोई खुला मुद्दा देखते हैं जिससे आप निपटना चाहते हैं,** लोगों को यह बताने के लिए कि आप इस मुद्दे पर हैं, उस मुद्दे पर टिप्पणी करें। इस तरह, लोगों द्वारा आपके काम की नकल करने की संभावना कम होगी।
* **यदि कोई मुद्दा कुछ समय पहले खोला गया था,** यह संभव है कि इसे कहीं और संबोधित किया जा रहा है, या पहले ही हल किया जा चुका है, इसलिए काम शुरू करने से पहले पुष्टि के लिए टिप्पणी करें।
* **यदि आपने कोई मुद्दा खोला है, लेकिन बाद में आपको स्वयं उत्तर मिल गया है,** लोगों को बताने के लिए मुद्दे पर टिप्पणी करें, फिर मुद्दे को बंद कर दें। यहां तक कि उस परिणाम का दस्तावेज़ीकरण भी परियोजना में एक योगदान है।
### पुल रीकवेस्ट खोलना
आपको आमतौर पर निम्नलिखित स्थितियों में पुल अनुरोध खोलना चाहिए:
* मामूली सुधार सबमिट करें (उदाहरण के लिए, एक टाइपो, एक टूटा हुआ लिंक या एक स्पष्ट त्रुटि)
* उस योगदान पर काम शुरू करें जो पहले से ही मांगा गया था, या जिस पर आप पहले ही किसी मुद्दे पर चर्चा कर चुके हैंn
पुल अनुरोध को समाप्त कार्य का प्रतिनिधित्व करने की आवश्यकता नहीं है। आमतौर पर पुल अनुरोध को जल्दी खोलना बेहतर होता है, ताकि अन्य लोग आपकी प्रगति को देख सकें या उस पर प्रतिक्रिया दे सकें। बस इसे "ड्राफ्ट" के रूप में खोलें या विषय पंक्ति में "डब्ल्यूआईपी" (कार्य प्रगति पर) के रूप में चिह्नित करें। आप बाद में कभी भी और कमिट जोड़ सकते हैं।
यदि प्रोजेक्ट GitHub पर है, तो पुल अनुरोध सबमिट करने का तरीका यहां दिया गया है:
* **[रेपासटरी को फोर्क करें](https://guides.github.com/activities/forking/)** और इसे स्थानीय रूप से क्लोन करें। अपने लोकल को रिमोट के रूप में जोड़कर मूल "अपस्ट्रीम" रिपॉजिटरी से कनेक्ट करें। "अपस्ट्रीम" से परिवर्तन अक्सर खींचें ताकि आप अद्यतित रहें ताकि जब आप अपना पुल अनुरोध सबमिट करें, तो मर्ज विवादों की संभावना कम हो जाएगी। (अधिक विस्तृत निर्देश देखें [यहाँ](https://help.github.com/articles/syncing-a-fork/).)
* **[एक ब्रेनच बनाएँ](https://guides.github.com/introduction/flow/)** आपके संपादनों के लिए.
* **अपने पीआर में किसी भी प्रासंगिक मुद्दे** या सहायक दस्तावेज़ का संदर्भ लें (उदाहरण के लिए, " #37 बंद होता है।")
* **यदि आपके परिवर्तनों में HTML/CSS में अंतर शामिल है तो पहले और बाद के स्क्रीनशॉट शामिल करें**। छवियों को अपने पुल अनुरोध के मुख्य भाग में खींचें और छोड़ें।
* **अपने परिवर्तनों का परीक्षण करें!** यदि कोई मौजूदा परीक्षण मौजूद है तो उसके विरुद्ध अपने परिवर्तन चलाएँ और आवश्यकता पड़ने पर नए बनाएँ। परीक्षण मौजूद हैं या नहीं, सुनिश्चित करें कि आपके परिवर्तन मौजूदा प्रोजेक्ट को बाधित नहीं करते हैं।
* **परियोजना की शैली में अपनी सर्वोत्तम क्षमता से योगदान दें**। इसका मतलब यह हो सकता है कि इंडेंट, सेमी-कोलन या टिप्पणियों का उपयोग आप अपने स्वयं के भंडार से अलग तरीके से करेंगे, लेकिन इससे अनुरक्षक के लिए विलय करना, दूसरों के लिए समझना और भविष्य में बनाए रखना आसान हो जाता है।
यदि यह आपका पहला पुल अनुरोध है, तो [मेक अ पुल रिक्वेस्ट](http://makeapullrequest.com/) देखें, जिसे @kentcdodds ने वॉकथ्रू वीडियो ट्यूटोरियल के रूप में बनाया है। आप @Roshanjossey द्वारा बनाए गए [प्रथम योगदान](https://github.com/Roshanjossey/first-contributions) रिपॉजिटरी में पुल अनुरोध करने का अभ्यास भी कर सकते हैं।
## आपके योगदान जमा करने के बाद क्या होता है
तुमने यह किया! ओपन सोर्स योगदानकर्ता बनने पर बधाई। हमें उम्मीद है कि यह कई में से पहला है।
आपके द्वारा योगदान जमा करने के बाद, निम्नलिखित में से एक होगा:
### 😭 आपको कोई प्रतिक्रिया नहीं मिलती।
उम्मीद है कि आपने [गतिविधि के संकेतों के लिए परियोजना की जाँच की](#योगदान-देने-से-पहले-एक-चेकलिस्ट) योगदान देने से पहले. हालाँकि, किसी सक्रिय प्रोजेक्ट पर भी, यह संभव है कि आपके योगदान को प्रतिक्रिया नहीं मिलेगी।
यदि आपको एक सप्ताह से अधिक समय में कोई प्रतिक्रिया नहीं मिली है, तो किसी से समीक्षा के लिए पूछते हुए, उसी थ्रेड में विनम्रतापूर्वक प्रतिक्रिया देना उचित है। यदि आप अपने योगदान की समीक्षा करने के लिए सही व्यक्ति का नाम जानते हैं, तो आप उस थ्रेड में उनका @-mention कर सकते हैं।
**उस व्यक्ति तक निजी तौर पर संपर्क न करें; याद रखें कि ओपन सोर्स परियोजनाओं के लिए सार्वजनिक संचार महत्वपूर्ण है।
यदि आप विनम्रतापूर्वक बात करते हैं और फिर भी कोई प्रतिक्रिया नहीं देता है, तो यह संभव है कि कोई भी कभी भी प्रतिक्रिया नहीं देगा। यह कोई बढ़िया एहसास नहीं है, लेकिन इससे आपको हतोत्साहित न होने दें। यह हर किसी के साथ हुआ है! आपको प्रतिक्रिया न मिलने के कई संभावित कारण हो सकते हैं, जिनमें व्यक्तिगत परिस्थितियाँ भी शामिल हैं जो आपके नियंत्रण से बाहर हो सकती हैं। योगदान देने के लिए कोई अन्य प्रोजेक्ट या तरीका खोजने का प्रयास करें। यदि कुछ भी हो, तो यह एक अच्छा कारण है कि समुदाय के अन्य सदस्यों के शामिल होने और प्रतिक्रिया देने से पहले योगदान देने में बहुत अधिक समय न लगाया जाए।
### 🚧 कोई आपके योगदान में परिवर्तन का अनुरोध करता है।
यह सामान्य बात है कि आपसे आपके योगदान में परिवर्तन करने के लिए कहा जाएगा, चाहे वह आपके विचार के दायरे पर प्रतिक्रिया हो, या आपके कोड में परिवर्तन हो।
जब कोई परिवर्तन का अनुरोध करता है, तो उत्तरदायी बनें। उन्होंने आपके योगदान की समीक्षा करने के लिए समय लिया है। पीआर खोलना और चले जाना बुरी आदत है। यदि आप नहीं जानते कि परिवर्तन कैसे करें, तो समस्या पर शोध करें और यदि आपको सहायता की आवश्यकता हो तो सहायता माँगें।
यदि आपके पास अब इस मुद्दे पर काम करने का समय नहीं है (उदाहरण के लिए, यदि बातचीत महीनों से चल रही है, और आपकी परिस्थितियाँ बदल गई हैं), तो अनुरक्षक को बताएं ताकि वे प्रतिक्रिया की उम्मीद न करें। कोई अन्य व्यक्ति कार्यभार संभालने में प्रसन्न हो सकता है।
### 👎 आपका योगदान स्वीकार नहीं किया जाता।
आपका योगदान अंततः स्वीकार किया भी जा सकता है और नहीं भी। उम्मीद है कि आपने पहले से ही इसमें बहुत अधिक काम नहीं किया होगा। यदि आप निश्चित नहीं हैं कि इसे क्यों स्वीकार नहीं किया गया, तो अनुरक्षक से फीडबैक और स्पष्टीकरण मांगना बिल्कुल उचित है। हालाँकि, अंततः, आपको इसका सम्मान करना होगा कि यह उनका निर्णय है। बहस न करें या शत्रुतापूर्ण न बनें। यदि आप असहमत हैं तो फोर्क और अपने संस्करण पर काम करने के लिए आपका हमेशा स्वागत है!
### 🎉 आपका योगदान स्वीकार किया जाता है।
हुर्रे! आपने सफलतापूर्वक ओपन सोर्स योगदान दे दिया है!
## तुमने यह किया!
चाहे आपने अभी अपना पहला ओपन सोर्स योगदान दिया हो, या आप योगदान करने के नए तरीकों की तलाश कर रहे हों, हमें उम्मीद है कि आप कार्रवाई करने के लिए प्रेरित होंगे। भले ही आपका योगदान स्वीकार नहीं किया गया हो, जब कोई अनुरक्षक आपकी मदद करने का प्रयास करे तो धन्यवाद कहना न भूलें। ओपन सोर्स आपके जैसे लोगों द्वारा बनाया गया है: एक समय में एक मुद्दा, पुल अनुरोध, टिप्पणी, या हाई-फाइव।
================================================
FILE: _articles/hi/index.html
================================================
---
layout: index
title: ओपन सोर्स गाइड
lang: hi
permalink: /hi/
---
================================================
FILE: _articles/hi/leadership-and-governance.md
================================================
---
lang: hi
title: नेतृत्व और शासन
description: निर्णय लेने के लिए औपचारिक नियमों से बढ़ते ओपन सोर्स प्रोजेक्ट्स को फायदा हो सकता है।
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## अपने बढ़ते प्रोजेक्ट के लिए प्रशासन को समझना
आपका प्रोजेक्ट बढ़ रहा है, लोग इसमें लगे हुए हैं और आप इस चीज़ को जारी रखने के लिए प्रतिबद्ध हैं। इस स्तर पर, आप सोच रहे होंगे कि नियमित परियोजना योगदानकर्ताओं को अपने वर्कफ़्लो में कैसे शामिल किया जाए, चाहे वह किसी को प्रतिबद्ध पहुंच प्रदान करना हो या सामुदायिक बहस को हल करना हो। यदि आपके कोई प्रश्न हैं, तो हमें उत्तर मिल गए हैं।
## ओपन सोर्स प्रोजेक्ट्स में उपयोग की जाने वाली औपचारिक भूमिकाओं के उदाहरण क्या हैं?
कई परियोजनाएँ योगदानकर्ता भूमिकाओं और मान्यता के लिए समान संरचना का पालन करती हैं।
हालाँकि, इन भूमिकाओं का वास्तव में क्या मतलब है, यह पूरी तरह आप पर निर्भर है। यहां कुछ प्रकार की भूमिकाएं दी गई हैं जिन्हें आप पहचान सकते हैं:
* **रखरखाव**
* **योगदान देने वाला**
* **कमिटर**
**कुछ परियोजनाओं के लिए, "रखरखावकर्ता"** किसी परियोजना में प्रतिबद्ध पहुंच वाले एकमात्र लोग होते हैं। अन्य परियोजनाओं में, वे केवल वे लोग हैं जो रीडमी में अनुरक्षक के रूप में सूचीबद्ध हैं।
एक अनुरक्षक आवश्यक रूप से ऐसा व्यक्ति नहीं है जो आपके प्रोजेक्ट के लिए कोड लिखता हो। यह कोई ऐसा व्यक्ति हो सकता है जिसने आपके प्रोजेक्ट को प्रचारित करने के लिए बहुत काम किया हो, या लिखित दस्तावेज़ीकरण किया हो जिसने प्रोजेक्ट को दूसरों के लिए अधिक सुलभ बना दिया हो। चाहे वे दिन-प्रतिदिन कुछ भी करें, एक अनुरक्षक संभवतः वह व्यक्ति होता है जो परियोजना की दिशा में ज़िम्मेदारी महसूस करता है और इसे सुधारने के लिए प्रतिबद्ध है।
**एक "योगदानकर्ता" कोई भी हो सकता है** जो किसी मुद्दे या पुल अनुरोध पर टिप्पणी करता है, जो लोग परियोजना में मूल्य जोड़ते हैं (चाहे वह मुद्दों का परीक्षण करना हो, कोड लिखना हो, या घटनाओं का आयोजन करना हो), या मर्ज किए गए पुल अनुरोध वाला कोई भी व्यक्ति (शायद योगदानकर्ता की सबसे संकीर्ण परिभाषा।)
**शब्द "कमिटर"** का उपयोग कमिट एक्सेस, जो एक विशिष्ट प्रकार की जिम्मेदारी है, को योगदान के अन्य रूपों से अलग करने के लिए किया जा सकता है।
हालाँकि आप अपनी परियोजना भूमिकाओं को अपनी इच्छानुसार किसी भी तरह परिभाषित कर सकते हैं, [व्यापक परिभाषाओं का उपयोग करने पर विचार करें](../how-to-contribute/#योगदान-देने-का-क्या-मतलब-है) योगदान के और अधिक रूपों को प्रोत्साहित करना। आप उन लोगों को औपचारिक रूप से पहचानने के लिए नेतृत्व की भूमिकाओं का उपयोग कर सकते हैं जिन्होंने आपके प्रोजेक्ट में उत्कृष्ट योगदान दिया है, भले ही उनके तकनीकी कौशल कुछ भी हों।
## मैं इन नेतृत्व भूमिकाओं को कैसे औपचारिक बनाऊं?
अपनी नेतृत्व भूमिकाओं को औपचारिक बनाने से लोगों को स्वामित्व महसूस करने में मदद मिलती है और समुदाय के अन्य सदस्यों को पता चलता है कि मदद के लिए किससे संपर्क करना चाहिए।
एक छोटी परियोजना के लिए, नेताओं को नामित करना आपके README या CONTRIBUTORS टेक्स्ट फ़ाइल में उनके नाम जोड़ने जितना आसान हो सकता है।
किसी बड़े प्रोजेक्ट के लिए, यदि आपके पास कोई वेबसाइट है, तो एक टीम पेज बनाएं या वहां अपने प्रोजेक्ट लीडरों की सूची बनाएं। उदाहरण के लिए, [Postgres](https://github.com/postgres/postgres/) के पास एक [comprehensive team page](https://www.postgresql.org/community/contributors/) प्रत्येक योगदानकर्ता के लिए संक्षिप्त प्रोफ़ाइल के साथ।
यदि आपके प्रोजेक्ट में बहुत सक्रिय योगदानकर्ता समुदाय है, तो आप अनुरक्षकों की एक "कोर टीम" बना सकते हैं, या ऐसे लोगों की उपसमितियां भी बना सकते हैं जो विभिन्न मुद्दे क्षेत्रों (उदाहरण के लिए, सुरक्षा, समस्या निवारण, या सामुदायिक आचरण) का स्वामित्व लेते हैं। लोगों को वे भूमिकाएँ सौंपने के बजाय स्वयं संगठित होने दें और उनके लिए स्वेच्छा से काम करने दें जिनके बारे में वे सबसे अधिक उत्साहित हैं।
नेतृत्व दल एक निर्दिष्ट चैनल बनाना चाह सकते हैं (जैसे आईआरसी पर) या परियोजना पर चर्चा करने के लिए नियमित रूप से मिलना चाहते हैं (जैसे गिटर या गूगल हैंगआउट पर)। आप उन बैठकों को सार्वजनिक भी कर सकते हैं ताकि अन्य लोग सुन सकें। [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), उदाहरण के लिए, [hosts office hours every week](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
एक बार जब आप नेतृत्व की भूमिकाएँ स्थापित कर लें, तो यह दस्तावेज करना न भूलें कि लोग उन्हें कैसे प्राप्त कर सकते हैं! कोई आपके प्रोजेक्ट में अनुरक्षक कैसे बन सकता है या उपसमिति में कैसे शामिल हो सकता है, इसके लिए एक स्पष्ट प्रक्रिया स्थापित करें और इसे अपने में लिखें GOVERNANCE.md.
उपकरण जैसे [Vossibility](https://github.com/icecrime/vossibility-stack) आपको सार्वजनिक रूप से ट्रैक करने में मदद मिल सकती है कि प्रोजेक्ट में कौन योगदान दे रहा है (या नहीं दे रहा है)। इस जानकारी का दस्तावेजीकरण करने से समुदाय की इस धारणा से बचा जा सकता है कि रखरखाव करने वाले एक समूह हैं जो निजी तौर पर अपने निर्णय लेते हैं।
अंत में, यदि आपका प्रोजेक्ट GitHub पर है, तो अपने प्रोजेक्ट को अपने व्यक्तिगत खाते से किसी संगठन में ले जाने और कम से कम एक बैकअप व्यवस्थापक जोड़ने पर विचार करें। [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) अनुमतियों और एकाधिक रिपॉजिटरी को प्रबंधित करना और अपने प्रोजेक्ट की विरासत को सुरक्षित रखना आसान बनाएं [shared ownership](../building-community/#अपने-प्रोजेक्ट-का-स्वामित्व-साझा-करें).
## मुझे किसी को प्रतिबद्ध पहुंच कब देनी चाहिए?
कुछ लोग सोचते हैं कि आपको योगदान देने वाले हर व्यक्ति को प्रतिबद्ध पहुंच देनी चाहिए। ऐसा करने से अधिक लोग आपके प्रोजेक्ट पर स्वामित्व महसूस करने के लिए प्रोत्साहित हो सकते हैं।
दूसरी ओर, विशेष रूप से बड़ी, अधिक जटिल परियोजनाओं के लिए, आप केवल उन लोगों को प्रतिबद्ध पहुंच देना चाह सकते हैं जिन्होंने अपनी प्रतिबद्धता प्रदर्शित की है। इसे करने का कोई एक सही तरीका नहीं है - वही करें जो आपको सबसे अधिक आरामदायक लगे!
यदि आपका प्रोजेक्ट GitHub पर है, तो आप इसका उपयोग कर सकते हैं [protected branches](https://help.github.com/articles/about-protected-branches/) यह प्रबंधित करना कि कौन किसी विशेष शाखा में जा सकता है, और किन परिस्थितियों में।
## ओपन सोर्स परियोजनाओं के लिए कुछ सामान्य शासन संरचनाएँ क्या हैं?
ओपन सोर्स परियोजनाओं से जुड़ी तीन सामान्य शासन संरचनाएँ हैं।
* **बीडीएफएल:** बीडीएफएल का अर्थ है "जीवन के लिए परोपकारी तानाशाह"। इस संरचना के तहत, सभी प्रमुख परियोजना निर्णयों पर एक व्यक्ति (आमतौर पर परियोजना का प्रारंभिक लेखक) का अंतिम अधिकार होता है। [Python](https://github.com/python) एक उत्कृष्ट उदाहरण है. छोटी परियोजनाएँ संभवतः डिफ़ॉल्ट रूप से बीडीएफएल हैं, क्योंकि केवल एक या दो अनुरक्षक होते हैं। किसी कंपनी में शुरू हुआ प्रोजेक्ट भी बीडीएफएल श्रेणी में आ सकता है।
* **मेरिटोक्रेसी:** **(नोट: शब्द "मेरिटोक्रेसी" कुछ समुदायों के लिए नकारात्मक अर्थ रखता है और इसका एक नकारात्मक प्रभाव है[complex social and political history](http://geekfeminism.wikia.com/wiki/Meritocracy).)** योग्यतातंत्र के तहत, सक्रिय परियोजना योगदानकर्ताओं (जो "योग्यता" प्रदर्शित करते हैं) को औपचारिक निर्णय लेने की भूमिका दी जाती है। निर्णय आम तौर पर शुद्ध मतदान सर्वसम्मति के आधार पर किए जाते हैं। योग्यतातंत्र की अवधारणा का सूत्रपात किसके द्वारा किया गया था? [Apache Foundation](https://www.apache.org/); [all Apache projects](https://www.apache.org/index.html#projects-list)
योग्यतातंत्र हैं. योगदान केवल अपना प्रतिनिधित्व करने वाले व्यक्तियों द्वारा ही किया जा सकता है, किसी कंपनी द्वारा नहीं।
* **उदार योगदान:** उदार योगदान मॉडल के तहत, जो लोग सबसे अधिक काम करते हैं उन्हें सबसे प्रभावशाली माना जाता है, लेकिन यह वर्तमान कार्य पर आधारित है न कि ऐतिहासिक योगदान पर। प्रमुख परियोजना निर्णय शुद्ध वोट के बजाय सर्वसम्मति प्राप्त करने की प्रक्रिया (प्रमुख शिकायतों पर चर्चा) के आधार पर किए जाते हैं, और यथासंभव अधिक से अधिक सामुदायिक दृष्टिकोणों को शामिल करने का प्रयास किया जाता है। उदार योगदान मॉडल का उपयोग करने वाली परियोजनाओं के लोकप्रिय उदाहरणों में शामिल हैं [Node.js](https://foundation.nodejs.org/) और [Rust](https://www.rust-lang.org/).
आपको किसका उपयोग करना चाहिए? यह आप पर निर्भर करता है! हर मॉडल के फायदे और फायदे हैं। और यद्यपि वे पहली बार में काफी भिन्न लग सकते हैं, तीनों मॉडलों में जितना वे दिखते हैं उससे कहीं अधिक समानता है। यदि आप इनमें से किसी एक मॉडल को अपनाने में रुचि रखते हैं, तो इन टेम्पलेट्स को देखें:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## क्या मुझे अपना प्रोजेक्ट लॉन्च करते समय शासन दस्तावेज़ों की आवश्यकता होगी?
आपके प्रोजेक्ट के प्रशासन को लिखने का कोई सही समय नहीं है, लेकिन एक बार जब आप अपने समुदाय की गतिशीलता को देख लेंगे तो इसे परिभाषित करना बहुत आसान हो जाएगा। ओपन सोर्स गवर्नेंस के बारे में सबसे अच्छी (और सबसे कठिन) बात यह है कि इसे समुदाय द्वारा आकार दिया जाता है!
हालाँकि, कुछ शुरुआती दस्तावेज़ अनिवार्य रूप से आपके प्रोजेक्ट के प्रशासन में योगदान देंगे, इसलिए आप जो कर सकते हैं उसे लिखना शुरू कर दें। उदाहरण के लिए, आप व्यवहार के लिए स्पष्ट अपेक्षाओं को परिभाषित कर सकते हैं, या आपके प्रोजेक्ट के लॉन्च पर भी आपकी योगदानकर्ता प्रक्रिया कैसे काम करती है।
यदि आप एक ओपन सोर्स प्रोजेक्ट लॉन्च करने वाली कंपनी का हिस्सा हैं, तो लॉन्च से पहले इस बारे में आंतरिक चर्चा करना उचित है कि आपकी कंपनी प्रोजेक्ट को आगे बढ़ाने के बारे में कैसे बनाए रखने और निर्णय लेने की उम्मीद करती है। हो सकता है कि आप सार्वजनिक रूप से यह स्पष्ट करना चाहें कि आपकी कंपनी इस परियोजना में कैसे शामिल होगी (या नहीं करेगी!)।
## यदि कॉर्पोरेट कर्मचारी अंशदान जमा करना शुरू कर दें तो क्या होगा?
सफल ओपन सोर्स परियोजनाओं का उपयोग कई लोगों और कंपनियों द्वारा किया जाता है, और कुछ कंपनियों के पास अंततः राजस्व धाराएं परियोजना से जुड़ी हो सकती हैं। उदाहरण के लिए, कोई कंपनी किसी वाणिज्यिक सेवा पेशकश में परियोजना के कोड को एक घटक के रूप में उपयोग कर सकती है।
जैसे-जैसे परियोजना अधिक व्यापक रूप से उपयोग की जाती है, इसमें विशेषज्ञता रखने वाले लोगों की मांग अधिक हो जाती है - आप उनमें से एक हो सकते हैं! - और कभी-कभी उन्हें प्रोजेक्ट में किए गए काम के लिए भुगतान मिलेगा।
व्यावसायिक गतिविधि को सामान्य और विकास ऊर्जा के एक अन्य स्रोत के रूप में मानना महत्वपूर्ण है। निःसंदेह, भुगतान किए गए डेवलपर्स को अवैतनिक डेवलपर्स की तुलना में विशेष व्यवहार नहीं मिलना चाहिए; प्रत्येक योगदान का मूल्यांकन उसकी तकनीकी खूबियों के आधार पर किया जाना चाहिए। हालाँकि, लोगों को व्यावसायिक गतिविधि में शामिल होने में सहज महसूस करना चाहिए, और किसी विशेष वृद्धि या सुविधा के पक्ष में बहस करते समय अपने उपयोग के मामलों को बताने में सहज महसूस करना चाहिए।
"वाणिज्यिक" "ओपन सोर्स" के साथ पूरी तरह से संगत है। "वाणिज्यिक" का सीधा सा मतलब है कि इसमें कहीं न कहीं पैसा शामिल है - कि सॉफ्टवेयर का उपयोग वाणिज्य में किया जाता है, जो कि एक परियोजना के अपनाने के रूप में तेजी से संभव है। (जब ओपन सोर्स सॉफ़्टवेयर का उपयोग गैर-ओपन-सोर्स उत्पाद के हिस्से के रूप में किया जाता है, तो समग्र उत्पाद अभी भी "मालिकाना" सॉफ़्टवेयर होता है, हालांकि, ओपन सोर्स की तरह, इसका उपयोग वाणिज्यिक या गैर-व्यावसायिक उद्देश्यों के लिए किया जा सकता है।)
किसी भी अन्य की तरह, व्यावसायिक रूप से प्रेरित डेवलपर्स अपने योगदान की गुणवत्ता और मात्रा के माध्यम से परियोजना में प्रभाव प्राप्त करते हैं। जाहिर है, एक डेवलपर जिसे उसके समय के लिए भुगतान किया जाता है, वह उस व्यक्ति से अधिक काम करने में सक्षम हो सकता है जिसे भुगतान नहीं किया जाता है, लेकिन यह ठीक है: भुगतान कई संभावित कारकों में से एक है जो किसी के काम को प्रभावित कर सकता है। अपनी परियोजना चर्चाओं को योगदानों पर केंद्रित रखें, न कि उन बाहरी कारकों पर जो लोगों को योगदान देने में सक्षम बनाते हैं।
## क्या मुझे अपने प्रोजेक्ट का समर्थन करने के लिए एक कानूनी इकाई की आवश्यकता है?
जब तक आप पैसे का प्रबंधन नहीं कर रहे हों, आपको अपने ओपन सोर्स प्रोजेक्ट का समर्थन करने के लिए किसी कानूनी इकाई की आवश्यकता नहीं है।
उदाहरण के लिए, यदि आप एक वाणिज्यिक व्यवसाय बनाना चाहते हैं, तो आप एक सी कॉर्प या एलएलसी स्थापित करना चाहेंगे (यदि आप अमेरिका में स्थित हैं)। यदि आप केवल अपने ओपन सोर्स प्रोजेक्ट से संबंधित अनुबंध कार्य कर रहे हैं, तो आप एकमात्र मालिक के रूप में धन स्वीकार कर सकते हैं, या एलएलसी स्थापित कर सकते हैं (यदि आप अमेरिका में स्थित हैं)।
यदि आप अपने ओपन सोर्स प्रोजेक्ट के लिए दान स्वीकार करना चाहते हैं, तो आप एक दान बटन सेट कर सकते हैं (उदाहरण के लिए पेपैल या स्ट्राइप का उपयोग करके), लेकिन पैसा तब तक कर-कटौती योग्य नहीं होगा जब तक कि आप एक योग्य गैर-लाभकारी संस्था (501c3, यदि आप अमेरिका में हैं)।
कई परियोजनाएँ एक गैर-लाभकारी संस्था स्थापित करने की परेशानी से गुज़रना नहीं चाहती हैं, इसलिए वे इसके बजाय एक गैर-लाभकारी राजकोषीय प्रायोजक ढूंढती हैं। एक राजकोषीय प्रायोजक आपकी ओर से दान स्वीकार करता है, आमतौर पर दान के एक प्रतिशत के बदले में। [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) ओर [Open Collective](https://opencollective.com/opensource) ऐसे संगठनों के उदाहरण हैं जो ओपन सोर्स परियोजनाओं के लिए वित्तीय प्रायोजक के रूप में काम करते हैं।
यदि आपका प्रोजेक्ट किसी निश्चित भाषा या पारिस्थितिकी तंत्र से निकटता से जुड़ा हुआ है, तो एक संबंधित सॉफ़्टवेयर फ़ाउंडेशन भी हो सकता है जिसके साथ आप काम कर सकते हैं। उदाहरण के लिए, [Python Software Foundation](https://www.python.org/psf/) मदद करता है [PyPI](https://pypi.org/), पायथन पैकेज मैनेजर का, और [Node.js Foundation](https://foundation.nodejs.org/) मदद करता है [Express.js](https://expressjs.com/) का, एक नोड-आधारित ढांचा।
================================================
FILE: _articles/hi/legal.md
================================================
---
lang: hi
title: ओपन सोर्स का कानूनी पक्ष
description: ओपन सोर्स के कानूनी पक्ष के बारे में आपने जो कुछ भी सोचा है, और कुछ चीजें जो आपने नहीं सोची हैं।
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## ओपन सोर्स के कानूनी निहितार्थ को समझना
अपने रचनात्मक कार्य को दुनिया के साथ साझा करना एक रोमांचक और पुरस्कृत अनुभव हो सकता है। इसका मतलब यह भी हो सकता है कि कई कानूनी चीजें जिनके बारे में आप नहीं जानते कि आपको चिंता करने की ज़रूरत है। शुक्र है, आपको शून्य से शुरुआत करने की ज़रूरत नहीं है। हमने आपकी कानूनी ज़रूरतें पूरी कर ली हैं। (इससे पहले कि आप गहराई से जानें, हमारा पढ़ना सुनिश्चित करें [disclaimer](/notices/).)
## लोग ओपन सोर्स के कानूनी पक्ष की इतनी परवाह क्यों करते हैं?
ख़ुशी है कि आपने पूछा! जब आप कोई रचनात्मक कार्य (जैसे लेखन, ग्राफ़िक्स, या कोड) करते हैं, तो वह कार्य डिफ़ॉल्ट रूप से विशेष कॉपीराइट के अंतर्गत होता है। यानी, कानून मानता है कि आपके काम के लेखक के रूप में, आपको यह कहने का अधिकार है कि दूसरे इसके साथ क्या कर सकते हैं।
सामान्य तौर पर, इसका मतलब यह है कि कोई भी अन्य व्यक्ति टेक-डाउन, शेक-डाउन या मुकदमेबाजी के जोखिम के बिना आपके काम का उपयोग, प्रतिलिपि, वितरण या संशोधन नहीं कर सकता है।
हालाँकि, ओपन सोर्स एक असामान्य परिस्थिति है, क्योंकि लेखक को उम्मीद है कि अन्य लोग काम का उपयोग, संशोधन और साझा करेंगे। लेकिन चूँकि कानूनी डिफ़ॉल्ट अभी भी अनन्य कॉपीराइट है, इसलिए आपको एक ऐसे लाइसेंस की आवश्यकता है जो इन अनुमतियों को स्पष्ट रूप से बताता हो।
यदि आप ओपन सोर्स लाइसेंस लागू नहीं करते हैं, तो आपके प्रोजेक्ट में योगदान देने वाला प्रत्येक व्यक्ति भी अपने काम का विशेष कॉपीराइट धारक बन जाता है। इसका मतलब है कि कोई भी उनके योगदान का उपयोग, प्रतिलिपि, वितरण या संशोधन नहीं कर सकता है - और उस "कोई भी" में आप शामिल नहीं हैं।
अंततः, आपके प्रोजेक्ट में लाइसेंस आवश्यकताओं वाली निर्भरताएँ हो सकती हैं जिनके बारे में आपको जानकारी नहीं थी। आपके प्रोजेक्ट के समुदाय, या आपके नियोक्ता की नीतियों के लिए, आपके प्रोजेक्ट को विशिष्ट ओपन सोर्स लाइसेंस का उपयोग करने की भी आवश्यकता हो सकती है। हम नीचे इन स्थितियों को कवर करेंगे।
## क्या सार्वजनिक GitHub परियोजनाएँ खुला स्रोत हैं?
जब आप GitHub पर [एक नया प्रोजेक्ट बनाते हैं](https://help.github.com/articles/creating-a-new-repository/), तो आपके पास रिपॉजिटरी को **private** या **public** बनाने का विकल्प होता है।

**अपने GitHub प्रोजेक्ट को सार्वजनिक बनाना आपके प्रोजेक्ट को लाइसेंस देने के समान नहीं है।** सार्वजनिक परियोजनाएँ इसके अंतर्गत आती हैं [GitHub's Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), जो दूसरों को आपके प्रोजेक्ट को देखने और फोर्क करने की अनुमति देता है, लेकिन अन्यथा आपका काम बिना किसी अनुमति के आता है।
यदि आप चाहते हैं कि अन्य लोग आपके प्रोजेक्ट का उपयोग, वितरण, संशोधन या योगदान करें, तो आपको एक ओपन सोर्स लाइसेंस शामिल करना होगा। उदाहरण के लिए, कोई व्यक्ति आपके GitHub प्रोजेक्ट के किसी भी हिस्से को अपने कोड में कानूनी रूप से उपयोग नहीं कर सकता, भले ही वह सार्वजनिक हो, जब तक कि आप स्पष्ट रूप से उन्हें ऐसा करने का अधिकार नहीं देते।
## बस मुझे टीएल;डीआर दें कि मुझे अपने प्रोजेक्ट की सुरक्षा के लिए क्या चाहिए।
आप भाग्यशाली हैं, क्योंकि आज, ओपन सोर्स लाइसेंस मानकीकृत और उपयोग में आसान हैं। आप किसी मौजूदा लाइसेंस को सीधे अपने प्रोजेक्ट में कॉपी-पेस्ट कर सकते हैं।
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), and [GPLv3](https://choosealicense.com/licenses/gpl-3.0/)
सबसे लोकप्रिय ओपन सोर्स लाइसेंस हैं, लेकिन चुनने के लिए अन्य विकल्प भी हैं। आप इन लाइसेंसों का पूरा पाठ और उनका उपयोग करने के तरीके के बारे में निर्देश यहां पा सकते हैं[choosealicense.com](https://choosealicense.com/).
जब आप GitHub पर एक नया प्रोजेक्ट बनाएंगे, तो आप होंगे [लाइसेंस जोड़ने के लिए कहा गया](https://help.github.com/articles/open-source-licensing/).
## मेरे प्रोजेक्ट के लिए कौन सा ओपन सोर्स लाइसेंस उपयुक्त है?
यदि आप कोरी स्लेट से शुरुआत कर रहे हैं, तो इसमें गलत होना कठिन है [MIT License](https://choosealicense.com/licenses/mit/). यह संक्षिप्त है, समझने में बहुत आसान है, और किसी को भी कुछ भी करने की अनुमति देता है जब तक कि वे आपके कॉपीराइट नोटिस सहित लाइसेंस की एक प्रति अपने पास रखते हैं। यदि आपको कभी आवश्यकता होगी तो आप प्रोजेक्ट को एक अलग लाइसेंस के तहत जारी करने में सक्षम होंगे।
अन्यथा, आपके प्रोजेक्ट के लिए सही ओपन सोर्स लाइसेंस चुनना आपके उद्देश्यों पर निर्भर करता है।
आपके प्रोजेक्ट की बहुत संभावना है (या होगी) **dependencies**. उदाहरण के लिए, यदि आप Node.js प्रोजेक्ट की ओपन सोर्सिंग कर रहे हैं, तो आप संभवतः नोड पैकेज मैनेजर (npm) से लाइब्रेरी का उपयोग करेंगे। आप जिन पुस्तकालयों पर निर्भर हैं उनमें से प्रत्येक के पास अपना स्वयं का ओपन सोर्स लाइसेंस होगा। यदि उनका प्रत्येक लाइसेंस "अनुमोदनात्मक" है (डाउनस्ट्रीम लाइसेंसिंग के लिए बिना किसी शर्त के जनता को उपयोग, संशोधन और साझा करने की अनुमति देता है), तो आप अपने इच्छित किसी भी लाइसेंस का उपयोग कर सकते हैं। सामान्य अनुमेय लाइसेंस में एमआईटी, अपाचे 2.0, आईएससी और बीएसडी शामिल हैं।
दूसरी ओर, यदि आपकी किसी निर्भरता का लाइसेंस "मजबूत कॉपीलेफ्ट" है (सार्वजनिक रूप से समान अनुमतियाँ देता है, समान लाइसेंस डाउनस्ट्रीम का उपयोग करने की शर्त के अधीन), तो आपके प्रोजेक्ट को उसी लाइसेंस का उपयोग करना होगा। सामान्य मजबूत कॉपीलेफ़्ट लाइसेंस में GPLv2, GPLv3, और AGPLv3 शामिल हैं।
आप शायद उन **communities** पर भी विचार करना चाहेंगे जिनका आप उपयोग करेंगे और आपके प्रोजेक्ट में योगदान देंगे:
* **क्या आप चाहते हैं कि आपकी परियोजना का उपयोग अन्य परियोजनाओं द्वारा निर्भरता के रूप में किया जाए?** संभवतः आपके प्रासंगिक समुदाय में सबसे लोकप्रिय लाइसेंस का उपयोग करना सबसे अच्छा है। उदाहरण के लिए, [MIT](https://choosealicense.com/licenses/mit/)
के लिए सबसे लोकप्रिय लाइसेंस है [npm libraries](https://libraries.io/search?platforms=NPM).
* **क्या आप चाहते हैं कि आपका प्रोजेक्ट बड़े व्यवसायों को पसंद आए?** एक बड़ा व्यवसाय संभवतः सभी योगदानकर्ताओं से एक एक्सप्रेस पेटेंट लाइसेंस चाहेगा। इस मामले में, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) has you (and them) covered.
* **क्या आप चाहते हैं कि आपका प्रोजेक्ट उन योगदानकर्ताओं को आकर्षित करे जो नहीं चाहते कि उनके योगदान का उपयोग बंद स्रोत सॉफ़्टवेयर में किया जाए?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) या (यदि वे भी बंद स्रोत सेवाओं में योगदान नहीं करना चाहते हैं) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/)
अच्छा चलेगा।
आपकी **कंपनी** को अपने ओपन सोर्स प्रोजेक्ट्स के लिए विशिष्ट लाइसेंसिंग आवश्यकताएं हो सकती हैं। उदाहरण के लिए, इसके लिए एक अनुमेय लाइसेंस की आवश्यकता हो सकती है ताकि कंपनी आपके प्रोजेक्ट का उपयोग कंपनी के बंद स्रोत उत्पाद में कर सके। या आपकी कंपनी को एक मजबूत कॉपीलेफ्ट लाइसेंस और एक अतिरिक्त योगदानकर्ता समझौते (नीचे देखें) की आवश्यकता हो सकती है ताकि केवल आपकी कंपनी, और कोई नहीं, बंद स्रोत सॉफ़्टवेयर में आपके प्रोजेक्ट का उपयोग कर सके। या आपकी कंपनी को मानकों, सामाजिक जिम्मेदारी, या पारदर्शिता से संबंधित कुछ ज़रूरतें हो सकती हैं, जिनमें से किसी के लिए एक विशेष लाइसेंसिंग रणनीति की आवश्यकता हो सकती है। आप अपने [कंपनी का कानूनी विभाग](#मेरी-कंपनी-की-कानूनी-टीम-को-क्या-जानना-आवश्यक-है) से बातें करें।
जब आप GitHub पर एक नया प्रोजेक्ट बनाते हैं, तो आपको लाइसेंस चुनने का विकल्प दिया जाता है। ऊपर उल्लिखित लाइसेंसों में से एक को शामिल करने से आपका GitHub प्रोजेक्ट खुला स्रोत बन जाएगा। यदि आप अन्य विकल्प देखना चाहते हैं, तो देखें [choosealicense.com](https://choosealicense.com) अपने प्रोजेक्ट के लिए सही लाइसेंस ढूँढ़ने के लिए, भले ही वह हो [isn't software](https://choosealicense.com/non-software/).
## यदि मैं अपने प्रोजेक्ट का लाइसेंस बदलना चाहूँ तो क्या होगा?
अधिकांश परियोजनाओं को कभी भी लाइसेंस बदलने की आवश्यकता नहीं होती है। लेकिन कभी-कभी हालात बदल जाते हैं.
उदाहरण के लिए, जैसे-जैसे आपका प्रोजेक्ट बढ़ता है, इसमें निर्भरताएँ या उपयोगकर्ता जुड़ते हैं, या आपकी कंपनी रणनीतियाँ बदलती है, जिनमें से किसी को भी अलग लाइसेंस की आवश्यकता हो सकती है या चाहिए। साथ ही, यदि आपने शुरू से ही अपने प्रोजेक्ट को लाइसेंस देने की उपेक्षा की है, तो लाइसेंस जोड़ना प्रभावी रूप से लाइसेंस बदलने के समान है। अपने प्रोजेक्ट का लाइसेंस जोड़ते या बदलते समय विचार करने योग्य तीन मूलभूत बातें हैं:
**यह जटिल है।** लाइसेंस अनुकूलता और अनुपालन का निर्धारण करना और कॉपीराइट किसके पास है, यह बहुत जल्दी जटिल और भ्रमित करने वाला हो सकता है। नई रिलीज़ और योगदान के लिए नए लेकिन संगत लाइसेंस पर स्विच करना सभी मौजूदा योगदानों को दोबारा लाइसेंस देने से अलग है। लाइसेंस बदलने की इच्छा के पहले संकेत पर अपनी कानूनी टीम को शामिल करें। भले ही आपके पास लाइसेंस परिवर्तन के लिए अपने प्रोजेक्ट के कॉपीराइट धारकों से अनुमति है या आप प्राप्त कर सकते हैं, फिर भी अपने प्रोजेक्ट के अन्य उपयोगकर्ताओं और योगदानकर्ताओं पर परिवर्तन के प्रभाव पर विचार करें। अपने प्रोजेक्ट के लिए लाइसेंस परिवर्तन को एक "गवर्नेंस इवेंट" के रूप में सोचें, जो आपके प्रोजेक्ट के हितधारकों के साथ स्पष्ट संचार और परामर्श के साथ आसानी से चलेगा। शुरुआत से ही अपने प्रोजेक्ट के लिए उपयुक्त लाइसेंस चुनने और उसका उपयोग करने का और भी अधिक कारण!
**आपके प्रोजेक्ट का मौजूदा लाइसेंस।** यदि आपके प्रोजेक्ट का मौजूदा लाइसेंस उस लाइसेंस के अनुकूल है जिसे आप बदलना चाहते हैं, तो आप नए लाइसेंस का उपयोग शुरू कर सकते हैं। ऐसा इसलिए है क्योंकि यदि लाइसेंस ए लाइसेंस बी के साथ संगत है, तो आप बी की शर्तों का अनुपालन करते समय ए की शर्तों का अनुपालन करेंगे (लेकिन जरूरी नहीं कि इसका विपरीत भी हो)। इसलिए यदि आप वर्तमान में एक अनुमेय लाइसेंस (उदाहरण के लिए, एमआईटी) का उपयोग कर रहे हैं, तो आप अधिक शर्तों वाले लाइसेंस में बदल सकते हैं, जब तक कि आप एमआईटी लाइसेंस और किसी भी संबंधित कॉपीराइट नोटिस की एक प्रति अपने पास रखते हैं (यानी, इसका अनुपालन करना जारी रखते हैं। एमआईटी लाइसेंस की न्यूनतम शर्तें)। लेकिन यदि आपका वर्तमान लाइसेंस अनुमेय नहीं है (उदाहरण के लिए, कॉपीलेफ्ट, या आपके पास लाइसेंस नहीं है) और आप एकमात्र कॉपीराइट धारक नहीं हैं, तो आप अपने प्रोजेक्ट के लाइसेंस को एमआईटी में नहीं बदल सकते। मूलतः, अनुमेय लाइसेंस के साथ परियोजना के कॉपीराइट धारकों ने लाइसेंस बदलने की अग्रिम अनुमति दे दी है।
**आपके प्रोजेक्ट के मौजूदा कॉपीराइट धारक।** यदि आप अपने प्रोजेक्ट में एकमात्र योगदानकर्ता हैं तो या तो आप या आपकी कंपनी प्रोजेक्ट के एकमात्र कॉपीराइट धारक हैं। आप या आपकी कंपनी जो भी लाइसेंस जोड़ना या बदलना चाहती है, आप उसे जोड़ या बदल सकते हैं। अन्यथा ऐसे अन्य कॉपीराइट धारक भी हो सकते हैं जिनसे लाइसेंस बदलने के लिए आपको सहमति की आवश्यकता होगी। कौन हैं वे? जिन लोगों की आपके प्रोजेक्ट में प्रतिबद्धता है, वे शुरुआत करने के लिए एक अच्छी जगह हैं। लेकिन कुछ मामलों में कॉपीराइट उन लोगों के नियोक्ताओं के पास होगा। कुछ मामलों में लोगों ने केवल न्यूनतम योगदान दिया होगा, लेकिन ऐसा कोई सख्त नियम नहीं है कि कोड की कुछ पंक्तियों के तहत योगदान कॉपीराइट के अधीन नहीं है। क्या करें? निर्भर करता है। अपेक्षाकृत छोटी और युवा परियोजना के लिए, सभी मौजूदा योगदानकर्ताओं को किसी मुद्दे या पुल अनुरोध में लाइसेंस परिवर्तन के लिए सहमत करना संभव हो सकता है। बड़ी और लंबे समय तक चलने वाली परियोजनाओं के लिए, आपको कई योगदानकर्ताओं और यहां तक कि उनके उत्तराधिकारियों की तलाश करनी पड़ सकती है। मोज़िला को फ़ायरफ़ॉक्स, थंडरबर्ड और संबंधित सॉफ़्टवेयर को पुनः लाइसेंस देने में वर्षों (2001-2006) लग गए।
वैकल्पिक रूप से, आप अपने मौजूदा ओपन सोर्स लाइसेंस द्वारा अनुमत शर्तों से परे, कुछ शर्तों के तहत कुछ लाइसेंस परिवर्तनों के लिए योगदानकर्ताओं को पहले से सहमत कर सकते हैं (एक अतिरिक्त योगदानकर्ता समझौते के माध्यम से - नीचे देखें)। इससे लाइसेंस बदलने की जटिलता कुछ हद तक बदल जाती है। आपको पहले से ही अपने वकीलों से अधिक सहायता की आवश्यकता होगी, और लाइसेंस परिवर्तन निष्पादित करते समय आप अभी भी अपने प्रोजेक्ट के हितधारकों के साथ स्पष्ट रूप से संवाद करना चाहेंगे।
## क्या मेरे प्रोजेक्ट को अतिरिक्त योगदानकर्ता समझौते की आवश्यकता है?
शायद नहीं। अधिकांश ओपन सोर्स परियोजनाओं के लिए, एक ओपन सोर्स लाइसेंस अंतर्निहित रूप से इनबाउंड (योगदानकर्ताओं से) और आउटबाउंड (अन्य योगदानकर्ताओं और उपयोगकर्ताओं के लिए) लाइसेंस दोनों के रूप में कार्य करता है।यदि आपका प्रोजेक्ट GitHub पर है, तो GitHub सेवा की शर्तें "इनबाउंड = आउटबाउंड" बनाती हैं [explicit default](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
एक अतिरिक्त योगदानकर्ता समझौता - जिसे अक्सर Contributor License Agreement (CLA) कहा जाता है - परियोजना अनुरक्षकों के लिए प्रशासनिक कार्य बना सकता है। एक समझौता कितना काम जोड़ता है यह परियोजना और कार्यान्वयन पर निर्भर करता है। एक साधारण समझौते के लिए आवश्यक हो सकता है कि योगदानकर्ता एक क्लिक के साथ पुष्टि करें कि उनके पास प्रोजेक्ट ओपन सोर्स लाइसेंस के तहत योगदान करने के लिए आवश्यक अधिकार हैं। अधिक जटिल समझौते के लिए कानूनी समीक्षा और योगदानकर्ताओं के नियोक्ताओं से हस्ताक्षर की आवश्यकता हो सकती है।
साथ ही, "कागजी कार्रवाई" जोड़कर, जो कुछ लोगों का मानना है कि अनावश्यक, समझने में कठिन या अनुचित है (जब समझौते के प्राप्तकर्ता को परियोजना के ओपन सोर्स लाइसेंस के माध्यम से योगदानकर्ताओं या जनता की तुलना में अधिक अधिकार मिलते हैं), एक अतिरिक्त योगदानकर्ता समझौते को अमित्र माना जा सकता है परियोजना के समुदाय के लिए।
कुछ स्थितियाँ जहाँ आप अपने प्रोजेक्ट के लिए अतिरिक्त योगदानकर्ता समझौते पर विचार करना चाह सकते हैं उनमें शामिल हैं:
* आपके वकील चाहते हैं कि सभी योगदानकर्ता स्पष्ट रूप से (_साइन_, ऑनलाइन या ऑफलाइन) योगदान शर्तों को स्वीकार करें, शायद इसलिए क्योंकि उन्हें लगता है कि ओपन सोर्स लाइसेंस ही पर्याप्त नहीं है (भले ही यह है!)। यदि यह एकमात्र चिंता का विषय है, तो एक योगदानकर्ता समझौता जो परियोजना के ओपन सोर्स लाइसेंस की पुष्टि करता है, पर्याप्त होना चाहिए। [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) हल्के अतिरिक्त योगदानकर्ता समझौते का एक अच्छा उदाहरण है।
* आप या आपके वकील चाहते हैं कि डेवलपर्स यह प्रतिनिधित्व करें कि उनकी प्रत्येक प्रतिबद्धता अधिकृत है. [Developer Certificate of Origin](https://developercertificate.org/) आवश्यकता यह है कि कितनी परियोजनाएँ इसे प्राप्त करती हैं। उदाहरण के लिए, Node.js समुदाय [uses](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) DCO [instead](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) उनके पूर्व CLI का। आपके भंडार पर डीसीओ के प्रवर्तन को स्वचालित करने का एक सरल विकल्प है [DCO Probot](https://github.com/probot/dco).
*आपका प्रोजेक्ट एक ओपन सोर्स लाइसेंस का उपयोग करता है जिसमें एक्सप्रेस पेटेंट अनुदान (जैसे एमआईटी) शामिल नहीं है, और आपको सभी योगदानकर्ताओं से पेटेंट अनुदान की आवश्यकता है, जिनमें से कुछ बड़े पेटेंट पोर्टफोलियो वाली कंपनियों के लिए काम कर सकते हैं जिनका उपयोग आपको लक्षित करने के लिए किया जा सकता है या परियोजना के अन्य योगदानकर्ता और उपयोगकर्ता। The [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) आमतौर पर इस्तेमाल किया जाने वाला अतिरिक्त योगदानकर्ता समझौता है जिसमें अपाचे लाइसेंस 2.0 में पाए गए पेटेंट अनुदान को प्रतिबिंबित किया गया है।
* आपका प्रोजेक्ट कॉपीलेफ्ट लाइसेंस के अंतर्गत है, लेकिन आपको प्रोजेक्ट का मालिकाना संस्करण भी वितरित करने की आवश्यकता है। आपको प्रत्येक योगदानकर्ता से आपको कॉपीराइट सौंपने या आपको (लेकिन जनता को नहीं) अनुमेय लाइसेंस देने की आवश्यकता होगी। [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) इस प्रकार के समझौते का एक उदाहरण है.
* आपको लगता है कि आपके प्रोजेक्ट को अपने जीवनकाल में लाइसेंस बदलने की आवश्यकता हो सकती है और आप चाहते हैं कि योगदानकर्ता ऐसे परिवर्तनों के लिए पहले से सहमत हों।
यदि आपको अपने प्रोजेक्ट के साथ एक अतिरिक्त योगदानकर्ता समझौते का उपयोग करने की आवश्यकता है, तो एक एकीकरण का उपयोग करने पर विचार करें [CLA assistant](https://github.com/cla-assistant/cla-assistant) योगदानकर्ता व्याकुलता को कम करने के लिए।
## मेरी कंपनी की कानूनी टीम को क्या जानना आवश्यक है?
यदि आप एक कंपनी कर्मचारी के रूप में एक ओपन सोर्स प्रोजेक्ट जारी कर रहे हैं, तो सबसे पहले, आपकी कानूनी टीम को पता होना चाहिए कि आप एक प्रोजेक्ट को ओपन सोर्स कर रहे हैं।
बेहतर या बदतर के लिए, उन्हें बताने पर विचार करें, भले ही यह एक व्यक्तिगत परियोजना हो। संभवत: आपके पास अपनी कंपनी के साथ एक "कर्मचारी आईपी समझौता" है जो उन्हें आपकी परियोजनाओं पर कुछ नियंत्रण देता है, खासकर यदि वे कंपनी के व्यवसाय से संबंधित हैं या आप परियोजना को विकसित करने के लिए किसी कंपनी के संसाधनों का उपयोग करते हैं। आपकी कंपनी को आपको आसानी से अनुमति देनी चाहिए, और शायद पहले से ही एक कर्मचारी-अनुकूल आईपी समझौते या कंपनी नीति के माध्यम से अनुमति दे दी है। यदि नहीं, तो आप बातचीत कर सकते हैं (उदाहरण के लिए, समझाएं कि आपका प्रोजेक्ट आपके लिए कंपनी के पेशेवर शिक्षण और विकास उद्देश्यों को पूरा करता है), या जब तक आपको एक बेहतर कंपनी नहीं मिल जाती, तब तक अपने प्रोजेक्ट पर काम करने से बचें।
**यदि आप अपनी कंपनी के लिए किसी प्रोजेक्ट की ओपन सोर्सिंग कर रहे हैं,** तो उन्हें अवश्य बताएं। आपकी कानूनी टीम के पास संभवतः पहले से ही नीतियां हैं कि कंपनी की व्यावसायिक आवश्यकताओं और विशेषज्ञता के आधार पर किस ओपन सोर्स लाइसेंस (और शायद अतिरिक्त योगदानकर्ता समझौते) का उपयोग किया जाए ताकि यह सुनिश्चित हो सके कि आपका प्रोजेक्ट उसकी निर्भरता के लाइसेंस का अनुपालन करता है। यदि नहीं, तो आप और वे भाग्यशाली हैं! आपकी कानूनी टीम को इस चीज़ का पता लगाने के लिए आपके साथ काम करने के लिए उत्सुक होना चाहिए। सोचने लायक कुछ बातें:
* **तृतीय पक्ष सामग्री:** क्या आपके प्रोजेक्ट में दूसरों द्वारा बनाई गई निर्भरताएँ हैं या अन्यथा दूसरों के कोड को शामिल या उपयोग करते हैं? यदि ये ओपन सोर्स हैं, तो आपको सामग्रियों के ओपन सोर्स लाइसेंस का अनुपालन करना होगा। इसकी शुरुआत एक ऐसे लाइसेंस को चुनने से होती है जो तीसरे पक्ष के ओपन सोर्स लाइसेंस के साथ काम करता है (ऊपर देखें)। यदि आपका प्रोजेक्ट तृतीय पक्ष ओपन सोर्स सामग्री को संशोधित या वितरित करता है, तो आपकी कानूनी टीम यह भी जानना चाहेगी कि आप तृतीय पक्ष ओपन सोर्स लाइसेंस की अन्य शर्तों को पूरा कर रहे हैं जैसे कि कॉपीराइट नोटिस बनाए रखना। यदि आपका प्रोजेक्ट दूसरों के कोड का उपयोग करता है जिसके पास ओपन सोर्स लाइसेंस नहीं है, तो आपको संभवतः तीसरे पक्ष के अनुरक्षकों से पूछना होगा [एक ओपन सोर्स लाइसेंस जोड़ें](https://choosealicense.com/no-license/#for-users), और यदि आपको कोई नहीं मिल सकता है, तो अपने प्रोजेक्ट में उनके कोड का उपयोग करना बंद कर दें।
* **व्यापार रहस्य:** विचार करें कि क्या परियोजना में ऐसा कुछ है जिसे कंपनी आम जनता के लिए उपलब्ध नहीं कराना चाहती है। यदि ऐसा है, तो जिस सामग्री को आप निजी रखना चाहते हैं, उसे निकालने के बाद आप अपने प्रोजेक्ट के बाकी हिस्से को ओपन सोर्स कर सकते हैं।
* **पेटेंट:** क्या आपकी कंपनी किसी ऐसे पेटेंट के लिए आवेदन कर रही है जिसके ओपन सोर्सिंग से आपका प्रोजेक्ट [सार्वजनिक प्रकटीकरण](https://en.wikipedia.org/wiki/Public_disclosure) बनेगा? अफसोस की बात है, आपको प्रतीक्षा करने के लिए कहा जा सकता है (या हो सकता है कि कंपनी आवेदन की समझदारी पर पुनर्विचार करेगी)। यदि आप बड़े पेटेंट पोर्टफोलियो वाली कंपनियों के कर्मचारियों से अपने प्रोजेक्ट में योगदान की उम्मीद कर रहे हैं, तो आपकी कानूनी टीम चाहती है कि आप योगदानकर्ताओं (जैसे अपाचे 2.0 या जीपीएलवी 3) से एक्सप्रेस पेटेंट अनुदान के साथ लाइसेंस का उपयोग करें, या एक अतिरिक्त योगदानकर्ता अनुबंध ( ऊपर देखें)।
* **ट्रेडमार्क:** दोबारा जांचें कि आपके प्रोजेक्ट का नाम [किसी भी मौजूदा ट्रेडमार्क के साथ टकराव नहीं करता है](../starting-a-project/#नाम-टकराव-से-बचना)। यदि आप प्रोजेक्ट में अपनी कंपनी के ट्रेडमार्क का उपयोग करते हैं, तो जांच लें कि इससे कोई टकराव न हो। [FOSSmarks](http://fossmarks.org/) मुक्त और मुक्त स्रोत परियोजनाओं के संदर्भ में ट्रेडमार्क को समझने के लिए एक व्यावहारिक मार्गदर्शिका है।
* **गोपनीयता:** क्या आपका प्रोजेक्ट उपयोगकर्ताओं पर डेटा एकत्र करता है? कंपनी सर्वर के लिए "फ़ोन होम"? आपकी कानूनी टीम कंपनी की नीतियों और बाहरी नियमों का अनुपालन करने में आपकी सहायता कर सकती है।
यदि आप अपनी कंपनी का पहला ओपन सोर्स प्रोजेक्ट जारी कर रहे हैं, तो उपरोक्त पूरा करने के लिए पर्याप्त से अधिक है (लेकिन चिंता न करें, अधिकांश परियोजनाओं को कोई बड़ी चिंता नहीं उठानी चाहिए)।
लंबी अवधि में, आपकी कानूनी टीम कंपनी को ओपन सोर्स में अपनी भागीदारी से अधिक लाभ प्राप्त करने और सुरक्षित रहने में मदद करने के लिए और अधिक प्रयास कर सकती है:
* **कर्मचारी योगदान नीतियां:** एक कॉर्पोरेट नीति विकसित करने पर विचार करें जो निर्दिष्ट करती है कि आपके कर्मचारी ओपन सोर्स परियोजनाओं में कैसे योगदान करते हैं। एक स्पष्ट नीति आपके कर्मचारियों के बीच भ्रम को कम करेगी और उन्हें कंपनी के सर्वोत्तम हित में ओपन सोर्स परियोजनाओं में योगदान करने में मदद करेगी, चाहे वह उनकी नौकरी के हिस्से के रूप में हो या उनके खाली समय में। एक अच्छा उदाहरण रैकस्पेस की [मॉडल आईपी और ओपन सोर्स योगदान नीति](https://ospo.co/blog/crafting-your-open-source-contribution-policy/) है।
* **क्या जारी करें:** [(लगभग) सब कुछ?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) यदि आपकी कानूनी टीम समझती है और है यदि आपने अपनी कंपनी की ओपन सोर्स रणनीति में निवेश किया है, तो वे आपके प्रयासों में बाधा डालने के बजाय मदद करने में सर्वोत्तम रूप से सक्षम होंगे।
* **अनुपालन:** भले ही आपकी कंपनी कोई ओपन सोर्स प्रोजेक्ट जारी नहीं करती है, यह दूसरों के ओपन सोर्स सॉफ़्टवेयर का उपयोग करती है। [जागरूकता और प्रक्रिया](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) सिरदर्द, उत्पाद में देरी और मुकदमों को रोक सकती है .
* **पेटेंट:** आपकी कंपनी प्रमुख ओपन सोर्स परियोजनाओं के सदस्यों के उपयोग की सुरक्षा के लिए एक साझा रक्षात्मक पेटेंट पूल [ओपन इन्वेंशन नेटवर्क](https://www.openinventionnetwork.com/) में शामिल होना चाह सकती है, या अन्वेषण कर सकती है अन्य [वैकल्पिक पेटेंट लाइसेंसिंग](https://www.eff.org/document/hacking-patent-system-2016).
* **शासन:** विशेष रूप से यदि और जब किसी प्रोजेक्ट को स्थानांतरित करना उचित हो [कंपनी के बाहर कानूनी इकाई](../leadership-and-governance/#क्या-मुझे-अपने-प्रोजेक्ट-का-समर्थन-करने-के-लिए-एक-कानूनी-इकाई-की-आवश्यकता-है).
================================================
FILE: _articles/hi/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: hi
title: ओपन सोर्स अनुरक्षकों के लिए संतुलन बनाए रखना
description: एक अनुचर के रूप में स्वयं की देखभाल और बर्नआउट से बचने के लिए युक्तियाँ।
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
जैसे-जैसे एक ओपन सोर्स प्रोजेक्ट की लोकप्रियता बढ़ती है, आपको लंबे समय तक तरोताजा और उत्पादक बने रहने के लिए संतुलन बनाए रखने में मदद करने के लिए स्पष्ट सीमाएँ निर्धारित करना महत्वपूर्ण हो जाता है।
संतुलन खोजने के लिए अनुरक्षकों के अनुभवों और उनकी रणनीतियों के बारे में जानकारी प्राप्त करने के लिए, हमने मेंटेनर समुदाय के 40 सदस्यों के साथ एक कार्यशाला चलाई, जिससे हमें अनुमति मिली खुले स्रोत में बर्नआउट के साथ उनके प्रत्यक्ष अनुभवों और उन प्रथाओं से सीखना जिन्होंने उन्हें अपने काम में संतुलन बनाए रखने में मदद की है। यहीं पर व्यक्तिगत पारिस्थितिकी की अवधारणा काम आती है।
तो, व्यक्तिगत पारिस्थितिकी क्या है? जैसा रॉकवुड लीडरशिप इंस्टीट्यूट द्वारा वर्णित, इसमें "संतुलन बनाए रखना, गति बनाए रखना और शामिल है जीवन भर हमारी ऊर्जा को बनाए रखने की दक्षता।" इसने हमारी बातचीत को तैयार किया, जिससे अनुरक्षकों को समय के साथ विकसित होने वाले एक बड़े पारिस्थितिकी तंत्र के हिस्से के रूप में अपने कार्यों और योगदान को पहचानने में मदद मिली। बर्नआउट, क्रोनिक कार्यस्थल तनाव से उत्पन्न एक सिंड्रोम जैसा कि [डब्ल्यूएचओ द्वारा परिभाषित](https://icd.who.int/browse/2025-01/foundation/en#129180281), अनुरक्षकों के बीच असामान्य नहीं है। इससे अक्सर प्रेरणा की हानि, ध्यान केंद्रित करने में असमर्थता और उन योगदानकर्ताओं और समुदाय के लिए सहानुभूति की कमी हो जाती है जिनके साथ आप काम करते हैं।
व्यक्तिगत पारिस्थितिकी की अवधारणा को अपनाकर, अनुरक्षक सक्रिय रूप से बर्नआउट से बच सकते हैं, आत्म-देखभाल को प्राथमिकता दे सकते हैं और अपना सर्वश्रेष्ठ कार्य करने के लिए संतुलन की भावना बनाए रख सकते हैं।
## एक अनुरक्षक के रूप में स्वयं की देखभाल और बर्नआउट से बचने के लिए युक्तियाँ:
### ओपन सोर्स में काम करने के लिए अपनी प्रेरणाओं को पहचानें
इस बात पर विचार करने के लिए समय निकालें कि ओपन सोर्स रखरखाव के कौन से हिस्से आपको ऊर्जावान बनाते हैं। अपनी प्रेरणाओं को समझने से आपको काम को इस तरह से प्राथमिकता देने में मदद मिल सकती है जिससे आप व्यस्त रहेंगे और नई चुनौतियों के लिए तैयार रहेंगे। चाहे वह उपयोगकर्ताओं से सकारात्मक प्रतिक्रिया हो, समुदाय के साथ सहयोग और मेलजोल की खुशी हो, या कोड में गोता लगाने की संतुष्टि हो, अपनी प्रेरणाओं को पहचानने से आपका ध्यान केंद्रित करने में मदद मिल सकती है।
### इस बात पर विचार करें कि किन कारणों से आप असंतुलित हो जाते हैं और तनावग्रस्त हो जाते हैं
यह समझना महत्वपूर्ण है कि किन कारणों से हम थक जाते हैं। यहां कुछ सामान्य विषय हैं जो हमने ओपन सोर्स अनुरक्षकों के बीच देखे हैं:
* **सकारात्मक प्रतिक्रिया का अभाव:** उपयोगकर्ताओं के पास शिकायत होने पर संपर्क करने की बहुत अधिक संभावना होती है। यदि सब कुछ बढ़िया चलता है, तो वे चुप रहना पसंद करते हैं। सकारात्मक प्रतिक्रिया के बिना मुद्दों की बढ़ती सूची को देखना हतोत्साहित करने वाला हो सकता है, जिसमें दिखाया गया हो कि आपके योगदान से कैसे फर्क पड़ रहा है।
* **'नहीं' नहीं कहना:** किसी ओपन सोर्स प्रोजेक्ट पर अपनी अपेक्षा से अधिक ज़िम्मेदारियाँ लेना आसान हो सकता है। चाहे यह उपयोगकर्ताओं, योगदानकर्ताओं, या अन्य अनुरक्षकों से हो - हम हमेशा उनकी अपेक्षाओं पर खरे नहीं उतर सकते।
* **अकेले काम करना:** एक अनुरक्षक बनना अविश्वसनीय रूप से अकेला हो सकता है। भले ही आप अनुरक्षकों के एक समूह के साथ काम करते हैं, पिछले कुछ वर्षों में वितरित टीमों को व्यक्तिगत रूप से बुलाना कठिन रहा है।
* **पर्याप्त समय या संसाधन नहीं:** यह स्वयंसेवक अनुरक्षकों के लिए विशेष रूप से सच है, जिन्हें किसी परियोजना पर काम करने के लिए अपने खाली समय का त्याग करना पड़ता है।
* **परस्पर विरोधी मांगें:** खुला स्रोत विभिन्न प्रेरणाओं वाले समूहों से भरा है, जिन्हें नेविगेट करना मुश्किल हो सकता है। यदि आपको ओपन सोर्स करने के लिए भुगतान किया जाता है, तो आपके नियोक्ता के हित कभी-कभी समुदाय के विपरीत हो सकते हैं।
### बर्नआउट के लक्षणों से सावधान रहें
क्या आप 10 सप्ताह तक अपनी गति बनाए रख सकते हैं? दस महीने? 10 वर्ष?
उपकरण जैसे [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) [@shaunagm](https://github.com/shaunagm) से और मोज़िला का इससे आपको अपनी वर्तमान गति पर विचार करने और यह देखने में मदद मिल सकती है कि क्या आप कोई समायोजन कर सकते हैं। कुछ अनुरक्षक नींद की गुणवत्ता और हृदय गति परिवर्तनशीलता (दोनों तनाव से जुड़े हुए हैं) जैसे मेट्रिक्स को ट्रैक करने के लिए पहनने योग्य तकनीक का भी उपयोग करते हैं।
### आपको अपना और अपने समुदाय का भरण-पोषण जारी रखने के लिए क्या चाहिए होगा?
यह प्रत्येक अनुरक्षक के लिए अलग दिखेगा, और आपके जीवन के चरण और अन्य बाहरी कारकों के आधार पर बदल जाएगा। लेकिन यहां कुछ विषय हैं जो हमने सुने हैं:
* **समुदाय पर निर्भर रहें:** प्रतिनिधिमंडल और योगदानकर्ताओं को ढूंढने से काम का बोझ कम हो सकता है। किसी प्रोजेक्ट के लिए संपर्क के कई बिंदु होने से आपको बिना किसी चिंता के ब्रेक लेने में मदद मिल सकती है। [मेंटेनर कम्युनिटी](http://maintainers.github.com/) जैसे समूहों में अन्य अनुरक्षकों और व्यापक समुदाय से जुड़ें। साथियों के समर्थन और सीखने के लिए यह एक बेहतरीन संसाधन हो सकता है।
आप उपयोगकर्ता समुदाय के साथ जुड़ने के तरीकों की भी तलाश कर सकते हैं, ताकि आप नियमित रूप से फीडबैक सुन सकें और अपने ओपन सोर्स कार्य के प्रभाव को समझ सकें।
* **फंडिंग का अन्वेषण करें:** चाहे आप कुछ पिज़्ज़ा मनी की तलाश में हों, या पूर्णकालिक ओपन सोर्स पर जाने की कोशिश कर रहे हों, मदद के लिए कई संसाधन मौजूद हैं! पहले कदम के रूप में, दूसरों को आपके ओपन सोर्स कार्य को प्रायोजित करने की अनुमति देने के लिए [GitHub प्रायोजक](https://github.com/sponsors) को चालू करने पर विचार करें। यदि आप पूर्णकालिक बनने के बारे में सोच रहे हैं, तो [GitHub Accelerator](http://accelerator.github.com/) के अगले दौर के लिए आवेदन करें।
* **टूल्स का उपयोग करें:** सांसारिक कार्यों को स्वचालित करने के लिए [GitHub Copilot](https://github.com/features/copilot/) और [GitHub Actions](https://github.com/features/actions) जैसे टूल खोजें कार्य करें और अधिक सार्थक योगदान के लिए अपना समय खाली करें।
* **आराम करें और रिचार्ज करें:** ओपन सोर्स के बाहर अपने शौक और रुचियों के लिए समय निकालें। आराम करने और तरोताजा होने के लिए सप्ताहांत की छुट्टी लें-और अपना काम शुरू करें [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) आपकी उपलब्धता दर्शाने के लिए! एक अच्छी रात की नींद आपके प्रयासों को लंबे समय तक जारी रखने की आपकी क्षमता में बड़ा अंतर ला सकती है।
यदि आपको अपने प्रोजेक्ट के कुछ पहलू विशेष रूप से आनंददायक लगते हैं, तो अपने काम को इस प्रकार व्यवस्थित करने का प्रयास करें ताकि आप इसे पूरे दिन अनुभव कर सकें।
* **सीमाएँ निर्धारित करें:** आप हर अनुरोध के लिए हाँ नहीं कह सकते। यह कहने जितना सरल हो सकता है, "मैं अभी उस तक नहीं पहुंच सकता और भविष्य में मेरी कोई योजना नहीं है," या README में यह सूचीबद्ध करना कि आप क्या करने में रुचि रखते हैं और क्या नहीं करने में। उदाहरण के लिए, आप कह सकते हैं: "मैं केवल उन पीआर का विलय करता हूं जिनमें स्पष्ट रूप से उन कारणों को सूचीबद्ध किया गया है कि उन्हें क्यों बनाया गया है," या, "मैं केवल वैकल्पिक गुरुवार को शाम 6 से 7 बजे तक मुद्दों की समीक्षा करता हूं।" यह दूसरों के लिए अपेक्षाएं निर्धारित करता है, और आपको कुछ देता है अपने समय पर योगदानकर्ताओं या उपयोगकर्ताओं की मांगों को कम करने में मदद करने के लिए अन्य समय पर इंगित करना।
विषाक्त व्यवहार और नकारात्मक बातचीत को बंद करने में दृढ़ रहना सीखें। उन चीज़ों को ऊर्जा न देना ठीक है जिनकी आपको परवाह नहीं है।
याद रखें, व्यक्तिगत पारिस्थितिकी एक सतत अभ्यास है जो आपकी ओपन सोर्स यात्रा में प्रगति के साथ विकसित होगी। आत्म-देखभाल को प्राथमिकता देकर और संतुलन की भावना बनाए रखकर, आप प्रभावी ढंग से और स्थायी रूप से ओपन सोर्स समुदाय में योगदान कर सकते हैं, जिससे आपकी भलाई और लंबे समय तक आपकी परियोजनाओं की सफलता दोनों सुनिश्चित हो सकती है।
## अतिरिक्त संसाधन
* [मेंटेनर समुदाय](http://maintainers.github.com/)
* [ओपन सोर्स का सामाजिक अनुबंध](https://snarky.ca/the-social-contract-of-open-source/), ब्रेट कैनन
* [अनकर्लड](https://daniel.haxx.se/uncurled/), डेनियल स्टेनबर्ग
* [जहरीले लोगों से कैसे निपटें](https://www.youtube.com/watch?v=7lIpP3GEyXs), जीना हाउजगे
* [सस्टेनओएसएस](https://sustainoss.org/)
* [नेतृत्व की रॉकवुड कला](https://rockwoodleadership.org/art-of-leadership/)
* [नहीं कहना](https://mikemcquaid.com/saying-no/), माइक मैकक्यूएड
* [गवर्निंग ओपन](https://governingopen.com/)
* कार्यशाला के एजेंडे को रीमिक्स किया गया था [घर से मोज़िला की मूवमेंट बिल्डिंग](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) शृंखला
## योगदानकर्ताओं
इस गाइड के लिए अपने अनुभव और सुझाव हमारे साथ साझा करने वाले सभी अनुरक्षकों को बहुत धन्यवाद!
यह मार्गदर्शिका [@abbycabs](https://github.com/abbycabs) द्वारा इनके योगदान के साथ लिखी गई थी:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/hi/metrics.md
================================================
---
lang: hi
title: ओपन सोर्स मेट्रिक्स
description: अपने ओपन सोर्स प्रोजेक्ट की सफलता को मापने और ट्रैक करके उसे फलने-फूलने में मदद करने के लिए सोच-समझकर निर्णय लें।
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## किसी भी चीज़ को क्यों मापें?
डेटा, जब बुद्धिमानी से उपयोग किया जाता है, तो आपको ओपन सोर्स अनुरक्षक के रूप में बेहतर निर्णय लेने में मदद मिल सकती है।
अधिक जानकारी के साथ, आप यह कर सकते हैं:
* समझें कि उपयोगकर्ता किसी नई सुविधा पर कैसे प्रतिक्रिया देते हैं
* पता लगाएं कि नए उपयोगकर्ता कहां से आते हैं
* बाहरी उपयोग के मामले या कार्यक्षमता को पहचानें और निर्णय लें कि इसका समर्थन करना है या नहीं
* अपने प्रोजेक्ट की लोकप्रियता का आकलन करें
* समझें कि आपके प्रोजेक्ट का उपयोग कैसे किया जाता है
* प्रायोजन और अनुदान के माध्यम से धन जुटाएं
उदाहरण के लिए, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) ने पाया कि Google Analytics उन्हें काम को प्राथमिकता देने में मदद करता है:
> होमब्रू निःशुल्क प्रदान किया जाता है और इसे पूरी तरह से स्वयंसेवकों द्वारा अपने खाली समय में चलाया जाता है। परिणामस्वरूप, हमारे पास भविष्य की सुविधाओं को सर्वोत्तम तरीके से डिज़ाइन करने और वर्तमान कार्य को प्राथमिकता देने के तरीके पर निर्णय लेने के लिए होमब्रू उपयोगकर्ताओं का विस्तृत उपयोगकर्ता अध्ययन करने के लिए संसाधन नहीं हैं। अनाम समग्र उपयोगकर्ता विश्लेषण हमें लोग होमब्रू का उपयोग कैसे, कहां और कब करते हैं, इसके आधार पर सुधारों और सुविधाओं को प्राथमिकता देने की अनुमति देते हैं।
लोकप्रियता ही सब कुछ नहीं है. हर कोई अलग-अलग कारणों से खुले स्रोत में आ जाता है। यदि एक ओपन सोर्स अनुरक्षक के रूप में आपका लक्ष्य अपना काम दिखाना है, अपने कोड के बारे में पारदर्शी होना है, या सिर्फ मनोरंजन करना है, तो मेट्रिक्स आपके लिए महत्वपूर्ण नहीं हो सकते हैं।
यदि आप अपने प्रोजेक्ट को गहराई से समझने में रुचि रखते हैं, तो अपने प्रोजेक्ट की गतिविधि का विश्लेषण करने के तरीकों के लिए आगे पढ़ें।
## खोज
इससे पहले कि कोई भी आपके प्रोजेक्ट का उपयोग कर सके या उसमें योगदान कर सके, उन्हें यह जानना होगा कि यह मौजूद है। अपने आप से पूछें: _क्या लोगों को यह प्रोजेक्ट मिल रहा है?_

यदि आपका प्रोजेक्ट GitHub पर होस्ट किया गया है, [आप देख सकते हैं](https://help.github.com/articles/about-repository-graphs/#traffic) आपके प्रोजेक्ट पर कितने लोग आते हैं और वे कहाँ से आते हैं। अपने प्रोजेक्ट के पेज से, "इनसाइट्स" पर क्लिक करें, फिर "ट्रैफ़िक" पर क्लिक करें। इस पृष्ठ पर, आप देख सकते हैं:
* **कुल पृष्ठ दृश्य:** आपको बताता है कि आपका प्रोजेक्ट कितनी बार देखा गया
* **कुल अद्वितीय विज़िटर:** आपको बताता है कि कितने लोगों ने आपका प्रोजेक्ट देखा
* **रेफ़रिंग साइटें:** आपको बताती हैं कि विज़िटर कहाँ से आए। यह मीट्रिक आपको यह पता लगाने में मदद कर सकता है कि आपको अपने दर्शकों तक कहां पहुंचना है और क्या आपके प्रचार प्रयास काम कर रहे हैं।
* **लोकप्रिय सामग्री:** आपको बताती है कि विज़िटर आपके प्रोजेक्ट पर कहां जाते हैं, पृष्ठ दृश्य और अद्वितीय विज़िटर के आधार पर।
[गिटहब सितारे](https://help.github.com/articles/about-stars/) लोकप्रियता का आधारभूत माप प्रदान करने में भी मदद मिल सकती है। हालाँकि GitHub सितारे आवश्यक रूप से डाउनलोड और उपयोग से संबंधित नहीं हैं, वे आपको बता सकते हैं कि कितने लोग आपके काम पर ध्यान दे रहे हैं।
आप भी चाहते होंगे [tविशिष्ट स्थानों में रैक खोज योग्यता](https://opensource.com/business/16/6/pirate-metrics): उदाहरण के लिए, Google पेजरैंक, आपके प्रोजेक्ट की वेबसाइट से रेफरल ट्रैफ़िक, या अन्य ओपन सोर्स प्रोजेक्ट या वेबसाइट से रेफरल।
## उपयोग
लोग आपके प्रोजेक्ट को इस जंगली और पागलपन वाली चीज़ पर ढूंढ रहे हैं जिसे हम इंटरनेट कहते हैं। आदर्श रूप से, जब वे आपका प्रोजेक्ट देखेंगे, तो वे कुछ करने के लिए मजबूर महसूस करेंगे। दूसरा प्रश्न जो आप पूछना चाहेंगे वह है: _क्या लोग इस परियोजना का उपयोग कर रहे हैं?_
यदि आप अपने प्रोजेक्ट को वितरित करने के लिए npm या RubyGems.org जैसे पैकेज मैनेजर का उपयोग करते हैं, तो आप अपने प्रोजेक्ट के डाउनलोड को ट्रैक करने में सक्षम हो सकते हैं।
प्रत्येक पैकेज प्रबंधक "डाउनलोड" की थोड़ी अलग परिभाषा का उपयोग कर सकता है, और डाउनलोड आवश्यक रूप से इंस्टॉल या उपयोग से संबंधित नहीं है, लेकिन यह तुलना के लिए कुछ आधार रेखा प्रदान करता है। कई लोकप्रिय पैकेज प्रबंधकों में उपयोग के आंकड़ों को ट्रैक करने के लिए [Libraries.io](https://libraries.io/) का उपयोग करने का प्रयास करें।
यदि आपका प्रोजेक्ट GitHub पर है, तो "ट्रैफ़िक" पृष्ठ पर फिर से नेविगेट करें। आप यह देखने के लिए [क्लोन ग्राफ](https://github.com/blog/1873-clone-graphs) का उपयोग कर सकते हैं कि आपके प्रोजेक्ट को किसी दिए गए दिन में कितनी बार क्लोन किया गया है, कुल क्लोन और अद्वितीय क्लोनर्स द्वारा विभाजित किया गया है।

यदि आपके प्रोजेक्ट को खोजने वाले लोगों की संख्या की तुलना में उपयोग कम है, तो विचार करने के लिए दो मुद्दे हैं। दोनों में से एक:
* आपका प्रोजेक्ट आपके दर्शकों को सफलतापूर्वक परिवर्तित नहीं कर रहा है, या
* आप गलत दर्शकों को आकर्षित कर रहे हैं
उदाहरण के लिए, यदि आपका प्रोजेक्ट हैकर न्यूज़ के पहले पन्ने पर आता है, तो आपको संभवतः खोज (ट्रैफ़िक) में वृद्धि दिखाई देगी, लेकिन रूपांतरण दर कम होगी, क्योंकि आप हैकर न्यूज़ पर सभी तक पहुंच रहे हैं। हालाँकि, यदि आपका रूबी प्रोजेक्ट रूबी सम्मेलन में प्रदर्शित किया गया है, तो आपको लक्षित दर्शकों से उच्च रूपांतरण दर देखने की अधिक संभावना है।
यह पता लगाने का प्रयास करें कि आपके दर्शक कहां से आ रहे हैं और अपने प्रोजेक्ट पेज पर दूसरों से फीडबैक मांगें ताकि यह पता चल सके कि आप इन दोनों में से किस समस्या का सामना कर रहे हैं।
एक बार जब आप जान जाते हैं कि लोग आपके प्रोजेक्ट का उपयोग कर रहे हैं, तो आप यह पता लगाने की कोशिश करना चाहेंगे कि वे इसके साथ क्या कर रहे हैं। क्या वे आपके कोड को फोर्क करके और सुविधाएँ जोड़कर इस पर निर्माण कर रहे हैं? क्या वे इसका उपयोग विज्ञान या व्यवसाय के लिए कर रहे हैं?
## अवधारण
लोगों को आपका प्रोजेक्ट मिल रहा है और वे इसका उपयोग कर रहे हैं। अगला प्रश्न जो आप स्वयं से पूछना चाहेंगे वह है: _क्या लोग इस परियोजना में योगदान दे रहे हैं?_
योगदानकर्ताओं के बारे में सोचना शुरू करना कभी भी जल्दी नहीं है। अन्य लोगों के हस्तक्षेप के बिना, आप अपने आप को एक अस्वस्थ स्थिति में डालने का जोखिम उठाते हैं जहां आपका प्रोजेक्ट लोकप्रिय है (कई लोग इसका उपयोग करते हैं) लेकिन समर्थित नहीं है (मांग को पूरा करने के लिए रखरखाव के लिए पर्याप्त समय नहीं है)।
प्रतिधारण के लिए [नए योगदानकर्ताओं की आमद](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), की भी आवश्यकता होती है, चूँकि पहले सक्रिय योगदानकर्ता अंततः अन्य चीज़ों की ओर बढ़ेंगे।
सामुदायिक मेट्रिक्स के उदाहरण जिन्हें आप नियमित रूप से ट्रैक करना चाहते हैं उनमें शामिल हैं:
* **कुल योगदानकर्ता संख्या और प्रति योगदानकर्ता प्रतिबद्धताओं की संख्या:** आपको बताता है कि आपके पास कितने योगदानकर्ता हैं, और कौन कम या ज्यादा सक्रिय है। GitHub पर, आप इसे "अंतर्दृष्टि" -> "योगदानकर्ता" के अंतर्गत देख सकते हैं। अभी, यह ग्राफ़ केवल उन योगदानकर्ताओं की गणना करता है जिन्होंने रिपॉजिटरी की डिफ़ॉल्ट शाखा के लिए प्रतिबद्ध किया है।

* **पहली बार, आकस्मिक और बार-बार योगदान देने वाले:** आपको यह ट्रैक करने में मदद करता है कि क्या आपको नए योगदानकर्ता मिल रहे हैं, और क्या वे वापस आते हैं। (आकस्मिक योगदानकर्ता कम संख्या में कमिट वाले योगदानकर्ता होते हैं। चाहे वह एक कमिट हो, पांच से कम कमिट हो, या कुछ और यह आप पर निर्भर है।) नए योगदानकर्ताओं के बिना, आपके प्रोजेक्ट का समुदाय स्थिर हो सकता है।
* **खुले मुद्दों और खुले पुल अनुरोधों की संख्या:** यदि ये संख्या बहुत अधिक हो जाती है, तो आपको समस्या परीक्षण और कोड समीक्षा में मदद की आवश्यकता हो सकती है।
* **_खुले हुए_ मुद्दों और _खुले_पुल अनुरोधों की संख्या:** खुले हुए मुद्दों का मतलब है कि किसी को आपके प्रोजेक्ट की इतनी परवाह है कि वह किसी मुद्दे को खोल सके। यदि वह संख्या समय के साथ बढ़ती है, तो यह दर्शाता है कि लोग आपके प्रोजेक्ट में रुचि रखते हैं।
* **योगदान के प्रकार:** उदाहरण के लिए, कमिट करना, टाइपो या बग को ठीक करना, या किसी मुद्दे पर टिप्पणी करना।
## अनुरक्षक गतिविधि
अंत में, आप यह सुनिश्चित करके लूप को बंद करना चाहेंगे कि आपके प्रोजेक्ट के अनुरक्षक प्राप्त योगदान की मात्रा को संभालने में सक्षम हैं। आखिरी सवाल जो आप खुद से पूछना चाहेंगे वह है: _क्या मैं (या हम) अपने समुदाय को जवाब दे रहे हैं?_
अनुत्तरदायी अनुरक्षक खुले स्रोत परियोजनाओं के लिए एक बाधा बन जाते हैं। यदि कोई योगदान जमा करता है लेकिन रखरखावकर्ता से कभी जवाब नहीं मिलता है, तो वे निराश महसूस कर सकते हैं और छोड़ सकते हैं।
[मोज़िला से अनुसंधान](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) सुझाव देता है कि बार-बार योगदान को प्रोत्साहित करने में अनुरक्षक प्रतिक्रिया एक महत्वपूर्ण कारक है।
विचार करना [यह ट्रैक करना कि आपको (या किसी अन्य अनुरक्षक को) योगदान का जवाब देने में कितना समय लगता है](https://github.blog/2023-07-19-metrics-for-issues-pull-requests-and-discussions/), चाहे कोई समस्या हो या पुल अनुरोध। प्रतिक्रिया देने के लिए कार्रवाई की आवश्यकता नहीं है. यह कहने जितना सरल हो सकता है: _"आपके सबमिशन के लिए धन्यवाद! मैं अगले सप्ताह के भीतर इसकी समीक्षा करूंगा।"_
आप योगदान प्रक्रिया के चरणों के बीच लगने वाले समय को भी माप सकते हैं, जैसे:
* किसी अंक के खुले रहने का औसत समय
* क्या मुद्दे पीआर द्वारा बंद कर दिए जाते हैं
* क्या बासी मुद्दे बंद हो जाते हैं
* पुल अनुरोध को मर्ज करने का औसत समय
## लोगों के बारे में जानने के लिए 📊 का प्रयोग करें
मेट्रिक्स को समझने से आपको एक सक्रिय, बढ़ता हुआ ओपन सोर्स प्रोजेक्ट बनाने में मदद मिलेगी। भले ही आप डैशबोर्ड पर प्रत्येक मीट्रिक को ट्रैक नहीं करते हैं, फिर भी अपना ध्यान उस प्रकार के व्यवहार पर केंद्रित करने के लिए उपरोक्त ढांचे का उपयोग करें जो आपके प्रोजेक्ट को आगे बढ़ाने में मदद करेगा।
[CHAOSS](https://chaoss.community/) एक स्वागतयोग्य, खुला स्रोत समुदाय है जो सामुदायिक स्वास्थ्य के लिए एनालिटिक्स, मेट्रिक्स और सॉफ्टवेयर पर केंद्रित है।
================================================
FILE: _articles/hi/security-best-practices-for-your-project.md
================================================
---
lang: hi
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/hi/starting-a-project.md
================================================
---
lang: hi
title: एक ओपन सोर्स प्रोजेक्ट शुरू करना
description: ओपन सोर्स की दुनिया के बारे में और जानें और अपना खुद का प्रोजेक्ट लॉन्च करने के लिए तैयार हो जाएं।
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## खुले स्रोत का "क्या" और "क्यों"।
तो क्या आप ओपन सोर्स के साथ शुरुआत करने के बारे में सोच रहे हैं? बधाई हो! दुनिया आपके योगदान की सराहना करती है. आइए बात करें कि ओपन सोर्स क्या है और लोग ऐसा क्यों करते हैं।
### "ओपन सोर्स" का क्या मतलब है?
जब कोई प्रोजेक्ट ओपन सोर्स होता है, तो इसका मतलब है कि **कोई भी किसी भी उद्देश्य के लिए आपके प्रोजेक्ट का उपयोग, अध्ययन, संशोधन और वितरण करने के लिए स्वतंत्र है।** ये अनुमतियाँ [एक ओपन सोर्स लाइसेंस](https://opensource.org/licenses) के माध्यम से लागू की जाती हैं।
खुला स्रोत शक्तिशाली है क्योंकि यह अपनाने और सहयोग की बाधाओं को कम करता है, जिससे लोगों को परियोजनाओं को तेजी से फैलाने और सुधारने की अनुमति मिलती है। इसके अलावा, क्योंकि यह उपयोगकर्ताओं को बंद स्रोत के सापेक्ष, अपने स्वयं के कंप्यूटिंग को नियंत्रित करने की क्षमता देता है। उदाहरण के लिए, ओपन सोर्स सॉफ़्टवेयर का उपयोग करने वाले व्यवसाय के पास किसी बंद स्रोत विक्रेता के उत्पाद निर्णयों पर विशेष रूप से निर्भर रहने के बजाय सॉफ़्टवेयर में कस्टम सुधार करने के लिए किसी को नियुक्त करने का विकल्प होता है।
_मुफ़्त सॉफ़्टवेयर_ परियोजनाओं के उसी सेट को संदर्भित करता है जो _ओपन सोर्स_ है। कभी-कभी आप [इन शर्तों](https://en.wikipedia.org/wiki/Free_and_open-source_software) को "फ्री और ओपन सोर्स सॉफ्टवेयर" (FOSS) या "फ्री, लिब्रे और ओपन सोर्स सॉफ्टवेयर" के रूप में भी देखेंगे। (दाँत साफ करने का धागा)। _मुक्त_ और _मुक्ति_ का तात्पर्य स्वतंत्रता से है, [कीमत से नहीं](#क्या-ओपन-सोर्स-का-मतलब-निःशुल्क-है)।
### लोग अपना काम ओपन सोर्स क्यों करते हैं?
[इसके कई कारण हैं](https://ben.balter.com/2015/11/23/why-open-source/) कोई व्यक्ति या संगठन किसी प्रोजेक्ट को ओपन सोर्स क्यों करना चाहेगा। कुछ उदाहरणों में शामिल हैं:
* **सहयोग:** ओपन सोर्स प्रोजेक्ट दुनिया में किसी से भी बदलाव स्वीकार कर सकते हैं। [व्यायाम](https://github.com/exercism/), उदाहरण के लिए, 350 से अधिक योगदानकर्ताओं वाला एक प्रोग्रामिंग अभ्यास मंच है।
* **अडॉप्टेशन और रीमिक्सिंग:** ओपन सोर्स प्रोजेक्ट्स का उपयोग कोई भी लगभग किसी भी उद्देश्य के लिए कर सकता है। लोग इसका उपयोग अन्य चीजें बनाने में भी कर सकते हैं। [WordPress](https://github.com/WordPress), उदाहरण के लिए, किसी मौजूदा प्रोजेक्ट के फोर्क के रूप में शुरू किया गया, [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md)।
* **पारदर्शिता:** त्रुटियों या विसंगतियों के लिए कोई भी ओपन सोर्स प्रोजेक्ट का निरीक्षण कर सकता है। पारदर्शिता [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) या [United States](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/) जैसी सरकारों, बैंकिंग या स्वास्थ्य देखभाल जैसे विनियमित उद्योगों और [Let's Encrypt](https://github.com/letsencrypt), जैसे सुरक्षा सॉफ़्टवेयर के लिए मायने रखती है।
ओपन सोर्स सिर्फ सॉफ्टवेयर के लिए ही नहीं है। आप डेटा सेट से लेकर किताबों तक सब कुछ ओपन सोर्स कर सकते हैं। आप और क्या स्रोत खोल सकते हैं, इस बारे में विचारों के लिए [गिटहब एक्सप्लोर](https://github.com/explore) देखें।
### क्या ओपन सोर्स का मतलब "निःशुल्क" है?
ओपन सोर्स का सबसे बड़ा आकर्षण यह है कि इसमें पैसा खर्च नहीं होता है। हालाँकि, "निःशुल्क", खुले स्रोत के समग्र मूल्य का एक उपोत्पाद है।
क्योंकि [एक ओपन सोर्स लाइसेंस के लिए आवश्यक है](https://opensource.org/osd-annotated) कि कोई भी आपके प्रोजेक्ट को लगभग किसी भी उद्देश्य के लिए उपयोग, संशोधित और साझा कर सकता है, प्रोजेक्ट स्वयं निःशुल्क होते हैं। यदि प्रोजेक्ट के उपयोग में पैसे खर्च होते हैं, तो कोई भी कानूनी तौर पर इसकी प्रतिलिपि बना सकता है और इसके बजाय मुफ़्त संस्करण का उपयोग कर सकता है।
परिणामस्वरूप, अधिकांश ओपन सोर्स प्रोजेक्ट मुफ़्त हैं, लेकिन "निःशुल्क" ओपन सोर्स परिभाषा का हिस्सा नहीं है। ओपन सोर्स की आधिकारिक परिभाषा का अनुपालन करते हुए, दोहरे लाइसेंसिंग या सीमित सुविधाओं के माध्यम से अप्रत्यक्ष रूप से ओपन सोर्स परियोजनाओं के लिए शुल्क लेने के कई तरीके हैं।
## क्या मुझे अपना स्वयं का ओपन सोर्स प्रोजेक्ट लॉन्च करना चाहिए?
संक्षिप्त उत्तर हां है, क्योंकि परिणाम चाहे जो भी हो, अपना खुद का प्रोजेक्ट लॉन्च करना यह सीखने का एक शानदार तरीका है कि ओपन सोर्स कैसे काम करता है।
यदि आपने पहले कभी कोई प्रोजेक्ट ओपन सोर्स नहीं किया है, तो आप इस बात से घबरा सकते हैं कि लोग क्या कहेंगे, या कोई नोटिस करेगा या नहीं। यदि यह आपके जैसा लगता है, तो आप अकेले नहीं हैं!
ओपन सोर्स कार्य किसी भी अन्य रचनात्मक गतिविधि की तरह है, चाहे वह लेखन हो या पेंटिंग। अपने काम को दुनिया के साथ साझा करना डरावना लग सकता है, लेकिन बेहतर होने का एकमात्र तरीका अभ्यास करना है - भले ही आपके पास दर्शक न हों।
यदि आप अभी तक आश्वस्त नहीं हैं, तो एक क्षण रुककर सोचें कि आपके लक्ष्य क्या हो सकते हैं।
### अपने लक्ष्य निर्धारित करना
लक्ष्य आपको यह पता लगाने में मदद कर सकते हैं कि किस पर काम करना है, किस चीज़ को ना कहना है और आपको कहाँ दूसरों से मदद की ज़रूरत है। अपने आप से यह पूछकर शुरुआत करें, _मैं इस प्रोजेक्ट का ओपन सोर्सिंग क्यों कर रहा हूँ?_
इस प्रश्न का कोई भी सही उत्तर नहीं है। आपके पास एक ही प्रोजेक्ट के लिए कई लक्ष्य हो सकते हैं, या अलग-अलग लक्ष्यों वाली अलग-अलग परियोजनाएँ हो सकती हैं।
यदि आपका एकमात्र लक्ष्य अपना काम दिखाना है, तो हो सकता है कि आप योगदान भी न चाहें, और अपने README में ऐसा कहें भी नहीं। दूसरी ओर, यदि आप योगदानकर्ता चाहते हैं, तो आप स्पष्ट दस्तावेज़ीकरण और नए लोगों का स्वागत महसूस कराने में समय लगाएंगे।
जैसे-जैसे आपका प्रोजेक्ट बढ़ता है, आपके समुदाय को आपसे कोड के अलावा और भी बहुत कुछ की आवश्यकता हो सकती है। मुद्दों पर प्रतिक्रिया देना, कोड की समीक्षा करना और अपने प्रोजेक्ट का प्रचार-प्रसार करना एक ओपन सोर्स प्रोजेक्ट में सभी महत्वपूर्ण कार्य हैं।
जबकि आप गैर-कोडिंग कार्यों पर कितना समय बिताएंगे, यह आपके प्रोजेक्ट के आकार और दायरे पर निर्भर करेगा, आपको उन्हें स्वयं संबोधित करने या आपकी सहायता के लिए किसी को ढूंढने के लिए एक अनुरक्षक के रूप में तैयार रहना चाहिए।
**यदि आप किसी प्रोजेक्ट की ओपन सोर्सिंग करने वाली कंपनी का हिस्सा हैं,**सुनिश्चित करें कि आपके प्रोजेक्ट के पास आंतरिक संसाधन हैं जो उसे आगे बढ़ाने के लिए आवश्यक हैं। आप यह पहचानना चाहेंगे कि लॉन्च के बाद प्रोजेक्ट को बनाए रखने के लिए कौन ज़िम्मेदार है, और आप उन कार्यों को अपने समुदाय के साथ कैसे साझा करेंगे।
यदि आपको परियोजना के प्रचार, संचालन और रखरखाव के लिए समर्पित बजट या स्टाफिंग की आवश्यकता है, तो बातचीत जल्दी शुरू करें।
### अन्य परियोजनाओं में योगदान देना
यदि आपका लक्ष्य यह सीखना है कि दूसरों के साथ कैसे सहयोग करें या यह समझें कि ओपन सोर्स कैसे काम करता है, तो किसी मौजूदा प्रोजेक्ट में योगदान देने पर विचार करें। उस प्रोजेक्ट से शुरुआत करें जिसे आप पहले से ही उपयोग करते हैं और पसंद करते हैं। किसी प्रोजेक्ट में योगदान देना टाइप की त्रुटियों को ठीक करने या दस्तावेज़ीकरण को अपडेट करने जितना आसान हो सकता है।
यदि आप निश्चित नहीं हैं कि योगदानकर्ता के रूप में शुरुआत कैसे करें, तो हमारी जाँच करें [ओपन सोर्स गाइड में योगदान कैसे करें](../how-to-contribute/).
## अपना स्वयं का ओपन सोर्स प्रोजेक्ट लॉन्च करना
अपने काम का स्रोत खोलने का कोई सही समय नहीं है। आप किसी विचार का स्रोत खोल सकते हैं, कोई कार्य प्रगति पर है, या वर्षों तक बंद स्रोत रहने के बाद।
आम तौर पर कहें तो, आपको अपने प्रोजेक्ट को तब ओपन सोर्स करना चाहिए जब आप दूसरों को अपने काम को देखने और उस पर फीडबैक देने में सहज महसूस करें।
इससे कोई फर्क नहीं पड़ता कि आप अपने प्रोजेक्ट को किस चरण में खोलने का निर्णय लेते हैं, प्रत्येक प्रोजेक्ट में निम्नलिखित दस्तावेज़ शामिल होने चाहिए:
* [Open source license](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Contributing guidelines](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code of conduct](../code-of-conduct/)
एक अनुरक्षक के रूप में, ये घटक आपको अपेक्षाओं को संप्रेषित करने, योगदान प्रबंधित करने और सभी के कानूनी अधिकारों (आपके अपने अधिकारों सहित) की रक्षा करने में मदद करेंगे। वे आपके सकारात्मक अनुभव प्राप्त करने की संभावनाओं को उल्लेखनीय रूप से बढ़ा देते हैं।
यदि आपका प्रोजेक्ट GitHub पर है, तो इन फ़ाइलों को अनुशंसित फ़ाइल नामों के साथ अपनी रूट निर्देशिका में डालने से GitHub को उन्हें पहचानने और स्वचालित रूप से आपके पाठकों के सामने लाने में मदद मिलेगी।
### लाइसेंस चुनना
एक ओपन सोर्स लाइसेंस यह गारंटी देता है कि अन्य लोग बिना किसी प्रभाव के आपके प्रोजेक्ट का उपयोग, प्रतिलिपि, संशोधन और योगदान कर सकते हैं। यह आपको जटिल कानूनी स्थितियों से भी बचाता है। **ओपन सोर्स प्रोजेक्ट लॉन्च करते समय आपको एक लाइसेंस शामिल करना होगा।**
क़ानूनी काम कोई मज़ेदार नहीं है. अच्छी खबर यह है कि आप मौजूदा लाइसेंस को कॉपी करके अपने रिपॉजिटरी में पेस्ट कर सकते हैं। आपकी मेहनत की रक्षा करने में केवल एक मिनट लगेगा।
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), और [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) सबसे लोकप्रिय ओपन सोर्स लाइसेंस हैं, लेकिन [अन्य विकल्प भी हैं](https://choosealicense.com).
जब आप GitHub पर एक नया प्रोजेक्ट बनाते हैं, तो आपको लाइसेंस चुनने का विकल्प दिया जाता है। ओपन सोर्स लाइसेंस शामिल करने से आपका GitHub प्रोजेक्ट ओपन सोर्स बन जाएगा।

यदि आपके पास ओपन सोर्स प्रोजेक्ट के प्रबंधन के कानूनी पहलुओं के बारे में अन्य प्रश्न या चिंताएं हैं, [हमने आपका ध्यान रखा है](../legal/).
### एक रीडमी लिखना
READMEs आपके प्रोजेक्ट का उपयोग कैसे करें यह समझाने के अलावा और भी बहुत कुछ करते हैं। वे यह भी बताते हैं कि आपका प्रोजेक्ट क्यों मायने रखता है, और आपके उपयोगकर्ता इसके साथ क्या कर सकते हैं।
अपने README में निम्नलिखित प्रश्नों के उत्तर देने का प्रयास करें:
* यह प्रोजेक्ट क्या करता है?
* यह प्रोजेक्ट उपयोगी क्यों है?
* मैं कैसे शुरू करूँ?
* यदि मुझे आवश्यकता हो तो मुझे और सहायता कहां से मिल सकती है?
आप अपने README का उपयोग अन्य प्रश्नों के उत्तर देने के लिए कर सकते हैं, जैसे कि आप योगदान कैसे संभालते हैं, परियोजना के लक्ष्य क्या हैं, और लाइसेंस और एट्रिब्यूशन के बारे में जानकारी। यदि आप योगदान स्वीकार नहीं करना चाहते हैं, या आपका प्रोजेक्ट अभी तक उत्पादन के लिए तैयार नहीं है, तो इस जानकारी को लिख लें।
कभी-कभी, लोग README लिखने से बचते हैं क्योंकि उन्हें लगता है कि परियोजना अधूरी है, या वे योगदान नहीं चाहते हैं। इसे लिखने के ये सभी बहुत अच्छे कारण हैं।
अधिक प्रेरणा के लिए, @dguo's का ["एक README बनाएं" मार्गदर्शिका](https://www.makeareadme.com/) उपयोग करने का प्रयास करें या @PurpleBooth's [README टेम्पलेट](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) संपूर्ण README लिखने के लिए।
जब आप रूट डायरेक्टरी में एक README फ़ाइल शामिल करते हैं, तो GitHub स्वचालित रूप से इसे रिपॉजिटरी होमपेज पर प्रदर्शित करेगा।
### अपने योगदान संबंधी दिशानिर्देश लिखना
एक योगदान फ़ाइल आपके दर्शकों को बताती है कि आपके प्रोजेक्ट में कैसे भाग लेना है। उदाहरण के लिए, आप निम्न पर जानकारी शामिल कर सकते हैं:
* बग रिपोर्ट कैसे दर्ज करें ([इश्यू और पुल रिक्वेस्ट टेम्प्लेट्स का उपयोग](https://github.com/blog/2111-issue-and-pull-request-templates)) करने का प्रयास करें।
* नई सुविधा का सुझाव कैसे दें
* अपना वातावरण कैसे स्थापित करें और परीक्षण कैसे चलाएं
तकनीकी विवरण के अलावा, योगदान फ़ाइल योगदान के लिए आपकी अपेक्षाओं को संप्रेषित करने का एक अवसर है, जैसे:
* आप जिस प्रकार के योगदान की तलाश कर रहे हैं
* परियोजना के लिए आपका रोडमैप या विज़न
* योगदानकर्ताओं को आपसे कैसे संपर्क करना चाहिए (या नहीं करना चाहिए)।
गर्मजोशीपूर्ण, मैत्रीपूर्ण लहजे का उपयोग करना और योगदान के लिए विशिष्ट सुझाव देना (जैसे दस्तावेज़ लिखना, या वेबसाइट बनाना) नवागंतुकों को भाग लेने के लिए स्वागत और उत्साहित महसूस कराने में काफी मदद कर सकता है।
उदाहरण के लिए, [सक्रिय व्यवस्थापक](https://github.com/activeadmin/activeadmin/) प्रारंभ होता है [इसकी योगदान मार्गदर्शिका](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) के साथ:
> सबसे पहले, सक्रिय व्यवस्थापक में योगदान देने पर विचार करने के लिए धन्यवाद। यह आप जैसे लोग ही हैं जो एक्टिव एडमिन को इतना बढ़िया टूल बनाते हैं।
आपके प्रोजेक्ट के शुरुआती चरणों में, आपकी CONTRIBUTING फ़ाइल सरल हो सकती है। योगदान देने के लिए आपको हमेशा यह समझाना चाहिए कि बग या फ़ाइल समस्याओं की रिपोर्ट कैसे करें, और कोई तकनीकी आवश्यकताएं (जैसे परीक्षण) कैसे करें।
समय के साथ, आप अपनी योगदान फ़ाइल में अन्य अक्सर पूछे जाने वाले प्रश्न जोड़ सकते हैं। इस जानकारी को लिखने का मतलब है कि कम लोग आपसे वही प्रश्न बार-बार पूछेंगे।
अपनी CONTRIBUTING फ़ाइल लिखने में अधिक सहायता के लिए, देखें @nayafia's [contributing गाइड टेम्पलेट](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) या @mozilla's ["CONTRIBUTING.md कैसे बनाएं।"](https://mozillascience.github.io/working-open-workshop/contributing/).
अपनी CONTRIBUTING फ़ाइल को अपने README से लिंक करें, ताकि अधिक लोग इसे देख सकें। यदि आप [CONTRIBUTING फ़ाइल को अपने प्रोजेक्ट के भंडार में रखते हैं](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), जब कोई योगदानकर्ता कोई समस्या उत्पन्न करता है या पुल अनुरोध खोलता है तो GitHub स्वचालित रूप से आपकी फ़ाइल से लिंक हो जाएगा।

### आचार संहिता की स्थापना
अंत में, एक आचार संहिता आपके प्रोजेक्ट के प्रतिभागियों के लिए व्यवहार के लिए बुनियादी नियम निर्धारित करने में मदद करती है। यह विशेष रूप से मूल्यवान है यदि आप किसी समुदाय या कंपनी के लिए एक ओपन सोर्स प्रोजेक्ट लॉन्च कर रहे हैं। आचार संहिता आपको स्वस्थ, रचनात्मक सामुदायिक व्यवहार की सुविधा प्रदान करने का अधिकार देती है, जो एक अनुरक्षक के रूप में आपके तनाव को कम करेगा।
अधिक जानकारी के लिए, हमारी जाँच करें [आचार संहिता मार्गदर्शिका](../code-of-conduct/).
यह बताने के अलावा कि आप प्रतिभागियों से कैसे व्यवहार करने की अपेक्षा करते हैं, आचार संहिता यह भी बताती है कि ये अपेक्षाएं किस पर लागू होती हैं, कब लागू होती हैं और उल्लंघन होने पर क्या करना चाहिए।
ओपन सोर्स लाइसेंस की तरह, आचार संहिता के लिए भी उभरते मानक हैं, इसलिए आपको अपना खुद का लिखने की ज़रूरत नहीं है। [योगदानकर्ता वाचा](https://contributor-covenant.org/) एक ड्रॉप-इन आचार संहिता है जिसका उपयोग [40,000 से अधिक ओपन सोर्स प्रोजेक्ट्स](https://www.contributor-covenant.org/adopters) द्वारा किया जाता है। कुबेरनेट्स, रेल्स और स्विफ्ट सहित। इससे कोई फर्क नहीं पड़ता कि आप किस पाठ का उपयोग करते हैं, आपको आवश्यकता पड़ने पर अपनी आचार संहिता लागू करने के लिए तैयार रहना चाहिए।
टेक्स्ट को सीधे अपने रिपॉजिटरी में एक Code_OF_CONDUCT फ़ाइल में पेस्ट करें। फ़ाइल को अपने प्रोजेक्ट की रूट डायरेक्टरी में रखें ताकि इसे ढूंढना आसान हो, और इसे अपने README से लिंक करें।
## अपने प्रोजेक्ट का नामकरण और ब्रांडिंग करना
ब्रांडिंग एक आकर्षक लोगो या आकर्षक प्रोजेक्ट नाम से कहीं अधिक है। यह इस बारे में है कि आप अपने प्रोजेक्ट के बारे में कैसे बात करते हैं, और आप अपना संदेश किस तक पहुंचाते हैं।
### सही नाम चुनना
ऐसा नाम चुनें जो याद रखने में आसान हो और, आदर्श रूप से, प्रोजेक्ट क्या करता है, इसका कुछ अंदाज़ा देता हो। उदाहरण के लिए:
* [Sentry](https://github.com/getsentry/sentry) क्रैश रिपोर्टिंग के लिए ऐप्स पर नज़र रखता है
* [Thin](https://github.com/macournoyer/thin) एक तेज़ और सरल रूबी वेब सर्वर है
यदि आप किसी मौजूदा प्रोजेक्ट पर निर्माण कर रहे हैं, तो उपसर्ग के रूप में उनके नाम का उपयोग करने से यह स्पष्ट करने में मदद मिल सकती है कि आपका प्रोजेक्ट क्या करता है (उदाहरण के लिए, [node-fetch](https://github.com/bitinn/node-fetch) window.fetch` को Node.js पर लाता है)।
स्पष्टता को सर्वोपरि मानें। चुटकुले मजेदार हैं, लेकिन याद रखें कि कुछ चुटकुले अन्य संस्कृतियों या आपसे अलग अनुभव वाले लोगों पर लागू नहीं हो सकते हैं। आपके कुछ संभावित उपयोगकर्ता कंपनी के कर्मचारी हो सकते हैं: जब उन्हें कार्यस्थल पर आपके प्रोजेक्ट के बारे में बताना हो तो आप उन्हें असहज नहीं करना चाहेंगे!
### नाम टकराव से बचना
[समान नाम वाले ओपन सोर्स प्रोजेक्ट की जांच करें](http://ivantomic.com/projects/ospnc/), खासकर यदि आप एक ही भाषा या पारिस्थितिकी तंत्र साझा करते हैं। यदि आपका नाम किसी लोकप्रिय मौजूदा प्रोजेक्ट से मेल खाता है, तो आप अपने दर्शकों को भ्रमित कर सकते हैं।
यदि आप अपने प्रोजेक्ट का प्रतिनिधित्व करने के लिए एक वेबसाइट, ट्विटर हैंडल या अन्य संपत्तियां चाहते हैं, तो सुनिश्चित करें कि आपको अपने इच्छित नाम मिल सकें। आदर्श रूप से, मन की शांति के लिए [अभी उन नामों को आरक्षित करें](https://instantdomainsearch.com/), भले ही आप अभी उनका उपयोग करने का इरादा नहीं रखते हों।
सुनिश्चित करें कि आपके प्रोजेक्ट का नाम किसी भी ट्रेडमार्क का उल्लंघन नहीं करता है। कोई कंपनी बाद में आपसे अपना प्रोजेक्ट वापस लेने के लिए कह सकती है, या आपके खिलाफ कानूनी कार्रवाई भी कर सकती है। यह जोखिम के लायक ही नहीं है।
आप ट्रेडमार्क विवादों के लिए [WIPO ग्लोबल ब्रांड डेटाबेस](http://www.wipo.int/branddb/en/) की जांच कर सकते हैं। यदि आप किसी कंपनी में हैं, तो यह उन चीजों में से एक है जिसमें आपकी [कानूनी टीम आपकी मदद कर सकती है।](../legal/)
अंत में, अपने प्रोजेक्ट के नाम के लिए त्वरित Google खोज करें। क्या लोग आपका प्रोजेक्ट आसानी से ढूंढ पाएंगे? क्या खोज परिणामों में कुछ और दिखाई देता है जो आप नहीं चाहेंगे कि वे देखें?
### आप कैसे लिखते हैं (और कोड) आपके ब्रांड को भी प्रभावित करता है!
अपने प्रोजेक्ट के पूरे जीवनकाल में, आप बहुत सारा लेखन करेंगे: रीडमी, ट्यूटोरियल, सामुदायिक दस्तावेज़, मुद्दों पर प्रतिक्रिया देना, शायद न्यूज़लेटर और मेलिंग सूचियाँ भी।
चाहे वह आधिकारिक दस्तावेज हो या कोई आकस्मिक ईमेल, आपकी लेखन शैली आपके प्रोजेक्ट के ब्रांड का हिस्सा है। इस बात पर विचार करें कि आप अपने दर्शकों के सामने कैसे आ सकते हैं और क्या आप यही लहजा बताना चाहते हैं।
गर्मजोशीपूर्ण, समावेशी भाषा (जैसे कि "उन्हें", यहां तक कि जब एक व्यक्ति का जिक्र हो) का उपयोग करना आपके प्रोजेक्ट को नए योगदानकर्ताओं का स्वागत करने में काफी मदद कर सकता है। सरल भाषा पर कायम रहें, क्योंकि हो सकता है कि आपके कई पाठक मूल अंग्रेजी बोलने वाले न हों।
शब्दों को लिखने के तरीके के अलावा, आपकी कोडिंग शैली भी आपके प्रोजेक्ट के ब्रांड का हिस्सा बन सकती है। [Angular](https://angular.io/guide/styleguide) और [jQuery](https://contribute.jquery.org/style-guide/js/) कठोर कोडिंग शैलियों और दिशानिर्देशों वाली परियोजनाओं के दो उदाहरण हैं।
जब आप अभी शुरुआत कर रहे हों तो अपने प्रोजेक्ट के लिए स्टाइल गाइड लिखना आवश्यक नहीं है, और आप पाएंगे कि आप वैसे भी अपने प्रोजेक्ट में विभिन्न कोडिंग शैलियों को शामिल करने का आनंद लेते हैं। लेकिन आपको यह अनुमान लगाना चाहिए कि आपकी लेखन और कोडिंग शैली विभिन्न प्रकार के लोगों को कैसे आकर्षित या हतोत्साहित कर सकती है। आपके प्रोजेक्ट के शुरुआती चरण आपके लिए वह मिसाल कायम करने का अवसर हैं जो आप देखना चाहते हैं।
## आपकी प्री-लॉन्च चेकलिस्ट
क्या आप अपना प्रोजेक्ट ओपन सोर्स करने के लिए तैयार हैं? मदद के लिए यहां एक चेकलिस्ट दी गई है। सभी बक्सों की जाँच करें? आप जाने के लिए तैयार हैं! ["प्रकाशित करें" पर क्लिक करें](https://help.github.com/articles/making-a-private-repository-public/) और अपनी पीठ थपथपाएं।
**दस्तावेज़ीकरण**
**Code**
**लोग**
यदि आप एक व्यक्ति हैं:
यदि आप एक कंपनी या संगठन हैं:
## तुमने यह किया!
आपके पहले प्रोजेक्ट की ओपन सोर्सिंग के लिए बधाई। परिणाम चाहे जो भी हो, सार्वजनिक रूप से काम करना समुदाय के लिए एक उपहार है। प्रत्येक प्रतिबद्धता, टिप्पणी और अनुरोध के साथ, आप अपने लिए और दूसरों के लिए सीखने और बढ़ने के अवसर पैदा कर रहे हैं।
================================================
FILE: _articles/how-to-contribute.md
================================================
---
lang: en
title: How to Contribute to Open Source
description: Want to contribute to open source? A guide to making open source contributions, for first-timers and veterans.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Why contribute to open source?
Contributing to open source can be a rewarding way to learn, teach, and build experience in just about any skill you can imagine.
Why do people contribute to open source? Plenty of reasons!
### Improve software you rely on
Lots of open source contributors start by being users of software they contribute to. When you find a bug in open source software you use, you may want to look at the source to see if you can patch it yourself. If that's the case, then contributing the patch back is the best way to ensure that your friends (and yourself when you update to the next release) will be able to benefit from it.
### Improve existing skills
Whether it's coding, user interface design, graphic design, writing, or organizing, if you're looking for practice, there's a task for you on an open source project.
### Meet people who are interested in similar things
Open source projects with warm, welcoming communities keep people coming back for years. Many people form lifelong friendships through their participation in open source, whether it's running into each other at conferences or late-night online chats about burritos.
### Find mentors and teach others
Working with others on a shared project means you'll have to explain how you do things, as well as ask other people for help. The acts of learning and teaching can be a fulfilling activity for everyone involved.
### Build public artifacts that help you grow a reputation (and a career)
By definition, all of your open source work is public, which means you get free examples to take anywhere as a demonstration of what you can do.
### Learn people skills
Open source offers opportunities to practice leadership and management skills, such as resolving conflicts, organizing teams of people, and prioritizing work.
### It's empowering to make changes, even small ones
You don't have to become a lifelong contributor to enjoy participating in open source. Have you ever seen a typo on a website, and wished someone would fix it? On an open source project, you can do just that. Open source helps people feel agency over their lives and how they experience the world, and that in itself is gratifying.
## What it means to contribute
If you're a new open source contributor, the process can be intimidating. How do you find the right project? What if you don't know how to code? What if something goes wrong?
Not to worry! There are all sorts of ways to get involved with an open source project, and a few tips will help you get the most out of your experience.
### You don't have to contribute code
A common misconception about contributing to open source is that you need to contribute code. In fact, it's often the other parts of a project that are [most neglected or overlooked](https://github.com/blog/2195-the-shape-of-open-source). You'll do the project a _huge_ favor by offering to pitch in with these types of contributions!
Even if you like to write code, other types of contributions are a great way to get involved with a project and meet other community members. Building those relationships will give you opportunities to work on other parts of the project.
### Do you like planning events?
* Organize workshops or meetups about the project, [like @fzamperin did for NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Organize the project's conference (if they have one)
* Help community members find the right conferences and submit proposals for speaking
### Do you like to design?
* Restructure layouts to improve the project's usability
* Conduct user research to reorganize and refine the project's navigation or menus, [like Drupal suggests](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Put together a style guide to help the project have a consistent visual design
* Create art for t-shirts or a new logo, [like hapi.js's contributors did](https://github.com/hapijs/contrib/issues/68)
### Do you like to write?
* Write and improve the project's documentation, [like @CBID2 did for OpenSauced's documentation](https://github.com/open-sauced/docs/pull/151)
* Curate a folder of examples showing how the project is used
* Start a newsletter for the project, or curate highlights from the mailing list, [like @opensauced did for their product](https://news.opensauced.pizza/about/)
* Write tutorials for the project, [like PyPA's contributors did](https://packaging.python.org/)
* Write a translation for the project's documentation, [like @frontendwizard did for the instructions for freeCodeCamp's CSS Flexbox challenge](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077)
### Do you like organizing?
* Link to duplicate issues, and suggest new issue labels, to keep things organized
* Go through open issues and suggest closing old ones, [like @nzakas did for ESLint](https://github.com/eslint/eslint/issues/6765)
* Ask clarifying questions on recently opened issues to move the discussion forward
### Do you like to code?
* Find an open issue to tackle, [like @dianjin did for Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Ask if you can help write a new feature
* Automate project setup
* Improve tooling and testing
### Do you like helping people?
* Answer questions about the project on e.g., Stack Overflow ([like this Postgres example](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) or Reddit
* Answer questions for people on open issues
* Help moderate the discussion boards or conversation channels
### Do you like helping others code?
* Review code on other people's submissions
* Write tutorials for how a project can be used
* Offer to mentor another contributor, [like @ereichert did for @bronzdoc on Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### You don't just have to work on software projects!
While "open source" often refers to software, you can collaborate on just about anything. There are books, recipes, lists, and classes that get developed as open source projects.
For example:
* @sindresorhus curates a [list of "awesome" lists](https://github.com/sindresorhus/awesome)
* @h5bp maintains a [list of potential interview questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions) for front-end developer candidates
* @stuartlynn and @nicole-a-tesla made a [collection of fun facts about puffins](https://github.com/stuartlynn/puffin_facts)
Even if you're a software developer, working on a documentation project can help you get started in open source. It's often less intimidating to work on projects that don't involve code, and the process of collaboration will build your confidence and experience.
## Orienting yourself to a new project
For anything more than a typo fix, contributing to open source is like walking up to a group of strangers at a party. If you start talking about llamas, while they were deep in a discussion about goldfish, they'll probably look at you a little strangely.
Before jumping in blindly with your own suggestions, start by learning how to read the room. Doing so increases the chances that your ideas will be noticed and heard.
### Anatomy of an open source project
Every open source community is different.
Spending years on one open source project means you've gotten to know one open source project. Move to a different project, and you might find the vocabulary, norms, and communication styles are completely different.
That said, many open source projects follow a similar organizational structure. Understanding the different community roles and overall process will help you get quickly oriented to any new project.
A typical open source project has the following types of people:
* **Author:** The person/s or organization that created the project
* **Owner:** The person/s who has administrative ownership over the organization or repository (not always the same as the original author)
* **Maintainers:** Contributors who are responsible for driving the vision and managing the organizational aspects of the project (They may also be authors or owners of the project.)
* **Contributors:** Everyone who has contributed something back to the project
* **Community Members:** People who use the project. They might be active in conversations or express their opinion on the project's direction
Bigger projects may also have subcommittees or working groups focused on different tasks, such as tooling, triage, community moderation, and event organizing. Look on a project's website for a "team" page, or in the repository for governance documentation, to find this information.
A project also has documentation. These files are usually listed in the top level of a repository.
* **LICENSE:** By definition, every open source project must have an [open source license](https://choosealicense.com). If the project does not have a license, it is not open source.
* **README:** The README is the instruction manual that welcomes new community members to the project. It explains why the project is useful and how to get started.
* **CONTRIBUTING:** Whereas READMEs help people _use_ the project, contributing docs help people _contribute_ to the project. It explains what types of contributions are needed and how the process works. While not every project has a CONTRIBUTING file, its presence signals that this is a welcoming project to contribute to. A good example of an effective Contributing Guide would be the one from [Codecademy's Docs repository](https://www.codecademy.com/resources/docs/contribution-guide).
* **CODE_OF_CONDUCT:** The code of conduct sets ground rules for participants' behavior associated and helps to facilitate a friendly, welcoming environment. While not every project has a CODE_OF_CONDUCT file, its presence signals that this is a welcoming project to contribute to.
* **Other documentation:** There might be additional documentation, such as tutorials, walkthroughs, or governance policies, especially on bigger projects like [Astro Docs](https://docs.astro.build/en/contribute/#contributing-to-docs).
Finally, open source projects use the following tools to organize discussion. Reading through the archives will give you a good picture of how the community thinks and works.
* **Issue tracker:** Where people discuss issues related to the project.
* **Pull/Merge requests:** Where people discuss and review changes that are in progress, whether it's to improve a contributor's line of code, grammar usage, use of images, etc. Some projects, such as [MDN Web Docs](https://github.com/mdn/content/blob/main/.github/workflows/markdown-lint.yml), use certain GitHub Action flows to automate and quicken their code reviews.
* **Discussion forums or mailing lists:** Some projects may use these channels for conversational topics (for example, _"How do I..."_ or _"What do you think about..."_ instead of bug reports or feature requests). Others use the issue tracker for all conversations. A good example of this would be [CHAOSS' weekly Newsletter](https://chaoss.community/news/)
* **Synchronous chat channel:** Some projects use chat channels (such as Slack or IRC) for casual conversation, collaboration, and quick exchanges. A good example of this would be [EddieHub's Discord community](http://discord.eddiehub.org/).
## Finding a project to contribute to
Now that you've figured out how open source projects work, it's time to find a project to contribute to!
If you've never contributed to open source before, take some advice from U.S. President John F. Kennedy, who once said, _"Ask not what your country can do for you - ask what you can do for your country."_
Contributing to open source happens at all levels, across projects. You don't need to overthink what exactly your first contribution will be, or how it will look.
Instead, start by thinking about the projects you already use, or want to use. The projects you'll actively contribute to are the ones you find yourself coming back to.
Within those projects, whenever you catch yourself thinking that something could be better or different, act on your instinct.
Open source isn't an exclusive club; it's made by people just like you. "Open source" is just a fancy term for treating the world's problems as fixable.
You might scan a README and find a broken link or a typo. Or you're a new user and you noticed something is broken, or an issue that you think should really be in the documentation. Instead of ignoring it and moving on, or asking someone else to fix it, see whether you can help out by pitching in. That's what open source is all about!
> According to a study conducted by Igor Steinmacher and other Computer Science researchers, [28% of casual contributions](https://www.igor.pro.br/publica/papers/saner2016.pdf) to open source are documentation, such as typo fixes, reformatting, or writing a translation.
If you're looking for existing issues you can fix, every open source project has a `/contribute` page that highlights beginner-friendly issues you can start out with. Navigate to the main page of the repository on GitHub, and add `/contribute` at the end of the URL (for example [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
You can also use one of the following resources to help you discover and contribute to new projects:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
* [GitLab Explore](https://gitlab.com/explore/projects/starred)
### A checklist before you contribute
When you've found a project you'd like to contribute to, do a quick scan to make sure that the project is suitable for accepting contributions. Otherwise, your hard work may never get a response.
Here's a handy checklist to evaluate whether a project is good for new contributors.
**Meets the definition of open source**
**Project actively accepts contributions**
Look at the commit activity on the main branch. On GitHub, you can see this information in the Insights tab of a repository's homepage, such as [Virtual-Coffee](https://github.com/Virtual-Coffee/virtualcoffee.io/pulse)
Next, look at the project's issues.
Now do the same for the project's pull requests.
**Project is welcoming**
A project that is friendly and welcoming signals that they will be receptive to new contributors.
## How to submit a contribution
You've found a project you like, and you're ready to make a contribution. Finally! Here's how to get your contribution in the right way.
### Communicating effectively
Whether you're a one-time contributor or trying to join a community, working with others is one of the most important skills you'll develop in open source.
Before you open an issue or pull request, or ask a question in chat, keep these points in mind to help your ideas come across effectively.
**Give context.** Help others get quickly up to speed. If you're running into an error, explain what you're trying to do and how to reproduce it. If you're suggesting a new idea, explain why you think it'd be useful to the project (not just to you!).
> 😇 _"X doesn't happen when I do Y"_
>
> 😢 _"X is broken! Please fix it."_
**Do your homework beforehand.** It's OK not to know things, but show that you tried. Before asking for help, be sure to check a project's README, documentation, issues (open or closed), mailing list, and search the internet for an answer. People will appreciate it when you demonstrate that you're trying to learn.
> 😇 _"I'm not sure how to implement X. I checked the help docs and didn't find any mentions."_
>
> 😢 _"How do I X?"_
**Keep requests short and direct.** Much like sending an email, every contribution, no matter how simple or helpful, requires someone else's review. Many projects have more incoming requests than people available to help. Be concise. You will increase the chance that someone will be able to help you.
> 😇 _"I'd like to write an API tutorial."_
>
> 😢 _"I was driving down the highway the other day and stopped for gas, and then I had this amazing idea for something we should be doing, but before I explain that, let me show you..."_
**Keep all communication public.** Although it's tempting, don't reach out to maintainers privately unless you need to share sensitive information (such as a security issue or serious conduct violation). When you keep the conversation public, more people can learn and benefit from your exchange. Discussions can be, in themselves, contributions.
> 😇 _(as a comment) "@-maintainer Hi there! How should we proceed on this PR?"_
>
> 😢 _(as an email) "Hey there, sorry to bother you over email, but I was wondering if you've had a chance to review my PR"_
**It's okay to ask questions (but be patient!).** Everybody was new to the project at some point, and even experienced contributors need to get up to speed when they look at a new project. By the same token, even longtime maintainers are not always familiar with every part of the project. Show them the same patience that you'd want them to show to you.
> 😇 _"Thanks for looking into this error. I followed your suggestions. Here's the output."_
>
> 😢 _"Why can't you fix my problem? Isn't this your project?"_
**Respect community decisions.** Your ideas may differ from the community's priorities or vision. They may offer feedback or decide not to pursue your idea. While you should discuss and look for compromise, maintainers have to live with your decision longer than you will. If you disagree with their direction, you can always work on your own fork or start your own project.
> 😇 _"I'm disappointed you can't support my use case, but as you've explained it only affects a minor portion of users, I understand why. Thanks for listening."_
>
> 😢 _"Why won't you support my use case? This is unacceptable!"_
**Above all, keep it classy.** Open source is made up of collaborators from all over the world. Context gets lost across languages, cultures, geographies, and time zones. In addition, written communication makes it harder to convey a tone or mood. Assume good intentions in these conversations. It's fine to politely push back on an idea, ask for more context, or further clarify your position. Just try to leave the internet a better place than when you found it.
### Gathering context
Before doing anything, do a quick check to make sure your idea hasn't been discussed elsewhere. Skim the project's README, issues (open and closed), mailing list, and Stack Overflow. You don't have to spend hours going through everything, but a quick search for a few key terms goes a long way.
If you can't find your idea elsewhere, you're ready to make a move. If the project is on GitHub, you'll likely communicate by doing the following:
* **Raising an Issue:** These are like starting a conversation or discussion
* **Pull requests** are for starting work on a solution.
* **Communication Channels:** If the project has a designated Discord, IRC, or Slack channel, consider starting a conversation or asking for clarification about your contribution.
Before you open an issue or pull request, check the project's contributing docs (usually a file called CONTRIBUTING, or in the README), to see whether you need to include anything specific. For example, they may ask that you follow a template, or require that you use tests.
If you want to make a substantial contribution, open an issue to ask before working on it. It's helpful to watch the project for a while (on GitHub, [you can click "Watch"](https://help.github.com/articles/watching-repositories/) to be notified of all conversations), and get to know community members, before doing work that might not get accepted.
### Opening an issue
You should usually open an issue in the following situations:
* Report an error you can't solve yourself
* Discuss a high-level topic or idea (for example, community, vision or policies)
* Propose a new feature or other project idea
Tips for communicating on issues:
* **If you see an open issue that you want to tackle,** comment on the issue to let people know you're on it. That way, people are less likely to duplicate your work.
* **If an issue was opened a while ago,** it's possible that it's being addressed somewhere else, or has already been resolved, so comment to ask for confirmation before starting work.
* **If you opened an issue, but figured out the answer later on your own,** comment on the issue to let people know, then close the issue. Even documenting that outcome is a contribution to the project.
### Opening a pull request
You should usually open a pull request in the following situations:
* Submit small fixes such as a typo, a broken link or an obvious error.
* Start work on a contribution that was already asked for, or that you've already discussed, in an issue.
A pull request doesn't have to represent finished work. It's usually better to open a pull request early on, so others can watch or give feedback on your progress. Just open it as a "draft" or mark as a "WIP" (Work in Progress) in the subject line or "Notes to Reviewers" sections if provided (or you can just create your own. Like this: `**## Notes to Reviewer**`). You can always add more commits later.
If the project is on GitHub, here's how to submit a pull request:
* **[Fork the repository](https://guides.github.com/activities/forking/)** and clone it locally. Connect your local to the original "upstream" repository by adding it as a remote. Pull in changes from "upstream" often so that you stay up to date so that when you submit your pull request, merge conflicts will be less likely. (See more detailed instructions [here](https://help.github.com/articles/syncing-a-fork/).)
* **[Create a branch](https://guides.github.com/introduction/flow/)** for your edits.
* **Reference any relevant issues** or supporting documentation in your PR (for example, "Closes #37.")
* **Include screenshots of the before and after** if your changes include differences in HTML/CSS. Drag and drop the images into the body of your pull request.
* **Test your changes!** Run your changes against any existing tests if they exist and create new ones when needed. It's important to make sure your changes don't break the existing project.
* **Contribute in the style of the project** to the best of your abilities. This may mean using indents, semi-colons or comments differently than you would in your own repository, but makes it easier for the maintainer to merge, others to understand and maintain in the future.
If this is your first pull request, check out [Make a Pull Request](http://makeapullrequest.com/), which @kentcdodds created as a walkthrough video tutorial. You can also practice making a pull request in the [First Contributions](https://github.com/Roshanjossey/first-contributions) repository, created by @Roshanjossey.
## What happens after you submit your contribution
Before we start celebrating, one of the following will happen after you submit your contribution:
### 😭 You don't get a response
Hopefully you [checked the project for signs of activity](#a-checklist-before-you-contribute) before making a contribution. Even on an active project, however, it's possible that your contribution won't get a response.
If you haven't gotten a response in over a week, it's fair to politely respond in that same thread, asking someone for a review. If you know the name of the right person to review your contribution, you can @-mention them in that thread.
**Don't reach out to that person privately**; remember that public communication is vital to open source projects.
If you give a polite reminder and still do not receive a response, it's possible that nobody will ever respond. It's not a great feeling, but don't let that discourage you! 😄 There are many possible reasons why you didn't get a response, including personal circumstances that may be out of your control. Try to find another project or way to contribute. If anything, this is a good reason not to invest too much time in making a contribution before other community members are engaged and responsive.
### 🚧 Someone requests changes to your contribution
It's common that you'll be asked to make changes to your contribution, whether that's feedback on the scope of your idea, or changes to your code.
When someone requests changes, be responsive. They've taken the time to review your contribution. Opening a PR and walking away is bad form. If you don't know how to make changes, research the problem, then ask for help if you need it. A good example of this would be [the feedback that another contributor has given to @a-m-lamb on their pull request to Codecademy's Docs](https://github.com/Codecademy/docs/pull/3239#pullrequestreview-1628036286).
If you don't have time to work on the issue anymore due to reasons such as the conversation has been going on for months, and your circumstances have changed or you're unable to find a solution, let the maintainer know so that they can open the issue for someone else, like [@RitaDee did for an issue at OpenSauced's app repository](https://github.com/open-sauced/app/issues/1656#issuecomment-1729353346).
### 👎 Your contribution doesn't get accepted
Your contribution may or may not be accepted in the end. Hopefully you didn't put too much work into it already. If you're not sure why it wasn't accepted, it's perfectly reasonable to ask the maintainer for feedback and clarification. Ultimately, however, you'll need to respect that this is their decision. Don't argue or get hostile. You're always welcome to fork and work on your own version if you disagree!
### 🎉 Your contribution gets accepted
Hooray! You've successfully made an open source contribution!
## You did it! 🎉
Whether you just made your first open source contribution, or you're looking for new ways to contribute, we hope you're inspired to take action. Even if your contribution wasn't accepted, don't forget to say thanks when a maintainer put effort into helping you. Open source is made by people like you: one issue, pull request, comment, or high-five at a time.
================================================
FILE: _articles/hu/best-practices.md
================================================
---
lang: hu
title: Bevált gyakorlatok karbantartók részére
description: Nyílt forráskódú karbantartóként tedd az életed könnyebbé a folyamatok dokumentálásától kezdve a közösség erejének a kiaknázásáig.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Mit jelent karbantartónak lenni?
Ha olyan nyílt forráskódú projektet tartasz fenn, amelyet sok ember használ, akkor valószínűleg észrevetted, hogy kevesebbet kódolsz, és többet válaszolsz a problémákra.
A projekt korai szakaszában új ötletekkel kísérletezel és alapvető döntéseket hozol az alapján, hogy mit szeretnél. Ahogy a projekted népszerűsége növekszik, azon veszed észre magad, hogy egyre többet dolgozol együtt a felhasználókkal és a közreműködőkkel.
Egy projektet fenntartani többet jelent, mint csak kódolni. Ezek a feladatok gyakran váratlanok, de ugyanolyan fontosak egy fejlődő projektben. Összegyűjtöttünk néhány módszert az életünk megkönnyítésére, a folyamatok dokumentálásától kezdve a közösség erejének a kiaknázásáig.
## A folyamatok dokumentálása
A dolgok leírása az egyik legfontosabb dolog, amelyet karbantartóként megtehetsz.
A dokumentáció nem csak a saját gondolkodásod letisztulását segíti, hanem azt is, hogy más is megértse a szándékodat anélkül, hogy kérdezni kellene.
A dolgok leírása könnyebbé teszi azt, hogy nemet tudj mondani olyan dolgokra, amelyek nem illeszkednek a projekt hatókörébe. Ezenkívül megkönnyíti az embereknek a belépését és segítését. Sohasem tudhatod, hogy ki olvassa vagy használja a projektet.
Még ha nem is fejted ki a teljes mondanivalód, akkor is jobb legalább felsoroláspontokban röviden összeszedni azt, mintha nem írnál semmit sem.
Ne felejtsd el naprakészen tartani a dokumentációt. Ha nem vagy képes ezt mindig megtenni, töröld az elavult dokumentációt, vagy jelezd azt, hogy elavult, így a közreműködők tudják, hogy szívesen várod a frissítéseket ezekre.
### Írd le a projekt vízióját
Kezd azzal, hogy leírod a projekt célját. Írd le a README-ben, vagy hozz létre egy különálló VISION fájlt. Ha van bármi más ami segít, mint például egy projekt roadmap, akkor tedd elérhetővé azt is.
A tiszta, jól dokumentált elképzelés segít fókuszálni és elkerülni azt, hogy más hozzájárulók felesleges vagy oda nem illő dolgokkal járuljanak hozzá.
Például @lord észrevette, hogy a projekt vízió segített neki abban, hogy eldöntse, hogy melyik kéréssel töltse az idejét. Új karbantartóként sajnálta, hogy nem ragaszkodott a projektjének hatóköréhez, amikor megkapta az első, funkcióra irányuló kérést a [Slate-hez](https://github.com/lord/slate).
### Kommunikáld az elvárásaid
A szabályok leírása idegesítő lehet. Időnként úgy érzed, mintha más emberek viselkedését szabályoznád, vagy mintha kiölnél minden szórakoztató dolgot a projektből.
Ugyanakkor megfelelően leírva és jól végrehajtva, a jó szabályok támogatják a karbantartókat. Megakadályozzák, hogy olyan dolgokba menj bele, amelyekbe nem akarsz.
A legtöbb ember, aki a projekttel találkozik, semmit sem tud rólad vagy a körülményeidről. Feltételezhetik, hogy fizetést kapsz a munkádért, különösen, ha rendszeresen használják, és függnek a projekttől Lehet, hogy egy ideig sok időt töltesz a projekttel, de az is lehet, hogy most egy új munkával, vagy épp a családdal foglalkozol.
Mindez teljesen rendben van! Csak legyél biztos abban, hogy mások is tudnak erről.
Ha a projekt fenntartása részmunkaidős vagy tisztán önkéntes, akkor legyél őszinte abban, hogy mennyi időd van rá. Ez nem egyezik meg azzal, hogy szerinted mennyi időt igényelne a projekt, vagy azzal, hogy mennyi időt várnak el mások tőled.
Néhány szabály, amelyeket érdemes leírni:
* Hogyan vizsgálod meg és fogadod el a hozzájárulást (_Meg vannak követelve a tesztek? Van az issue-khoz sablon?_)
* A hozzájárulások típusai, amelyeket elfogadsz (_Csak egy bizonyos részéhez fogadsz el hozzájárulást a kódnak?_)
* Mikor helyénvaló ismét figyelmeztetni (_például: "7 napon belül várhatsz választ a karbantartótól. Ha ez alatt még sincs visszajelzés, nyugodtan pingeld meg a szálat."_)
* Mennyi időt fogsz a projektre fordítani (_például: "Csak kb. 5 órát foglalkozunk a hetente ezzel a projekttel."_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), és a [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) mellett számos példa van a karbantartók és közreműködők alapszabályairól rendelkező projektekre.
### Legyen a kommunikáció nyilvános
Ne felejtsd el dokumentálni az interakciókat is. Ahol csak lehet, tartsd nyilvánosan a projekttel kapcsolatos kommunikációt. Ha valaki megpróbál privát kapcsolaton keresztül kommunikálni egy funkciókérést vagy támogatási igényt akkor, udvariasan irányítsd egy nyilvános kommunikációs csatornára, például egy levelezőlistára vagy a hibakövető rendszerre.
Ha személyesen találkozol más karbantartókkal, vagy ha zártkörű döntés születik, akkor is nyilvánosan dokumentáld ezeket a beszélgetéseket, még akkor is, ha csak jegyzeteket írsz.
Így bárki, aki csatlakozik a közösséghez, ugyanazt az információt éri el, mint az, aki már évek óta tagja a közösségnek.
## Meg kell tanulni nemet mondani
Leírtad a dolgokat. Ideális esetben mindenki elolvassa a dokumentációt, de a valóságban ez nem mindig van így, ezért figyelmeztetned kell majd másokat arra, hogy ez a tudás létezik.
Ha mindent leírsz, az segít megszüntetni azokat a helyzeteket, amikor szükség van a szabályok érvényesítésére.
Nemet mondani nem kellemes, de a _"Hozzájárulásod nem felel meg a projekt kritériumoknak"_ kevésbé személyeskedő, mint a _"Nem tetszik ez a hozzájárulásod"_.
Sok helyzetben kell majd nemet mondanod, amelyekkel karbantartóként találkozol: olyan funkciókérések, amelyek nem felelnek meg az alkalmazási körnek, valaki félrevisz egy beszélgetést, amellyel felesleges munkát generál másoknak.
### Legyen barátságos a beszélgetés
A legfontosabb helyek, ahol gyakorolni fogod a nemet mondást, azok az issue-k és a beolvasztási kérelmek. Projekt karbantartóként elkerülhetetlen lesz az a helyzet, amikor olyan javaslatokat kapsz, amelyeket nem akarsz elfogadni.
Lehet, hogy a hozzájárulás megváltoztatja a projekt célját, vagy nem felel meg a jövőképének. Talán az ötlet jó, de a megvalósítás rossz.
Az indoktól függetlenül lehetséges tapintatosan kezelni azokat a hozzájárulásokat, amelyek nem felelnek meg a projekt normáinak.
Ha olyan hozzájárulást kapsz, amelyet nem akarsz elfogadni, akkor az első reakciód lehet hogy az, hogy figyelmen kívül hagyod, vagy úgy teszel, mintha nem látnád. Ha így teszel, akkor a másik személy érzéseit megsértheted, vagy akár más, lehetséges hozzájárulók kedvét is elveszed a részvételtől.
Ne hagyj nyitva nem kívánt hozzájárulást, csak azért, mert bűntudatot éreznél attól, hogy lezárod. Az idő múlásával a megválaszolatlan kérdések és a nem kívánt beolvasztási kérelmek sokkal stresszesebbé és elrettentőbbé teszik a projekttel való munkát.
Sokkal jobb, ha azonnal lezárod a hozzájárulást, ha nem akarod elfogadni. Ha a projekted már eleve nagy feladatlistával rendelkezik, akkor itt van @steveklabnik javaslata arra, hogy [hogyan priorizáld hatékonyan az issue-kat](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Ugyanakkor a hozzájárulások rendszeres figyelmen kívül hagyása negatív jelet küldhet a közösségnek. A projekthez való hozzájárulás elrettentő is lehet, különösen, ha valaki először próbálja. Még ha nem is fogadod el az általa benyújtott hozzájárulást, becsüld meg azt a személyt aki benyújtotta, és mondj köszönetet az érdeklődése iránt, ez nagy dicséret!
Ha nem akarsz elfogadni egy hozzájárulást:
* **Köszönd meg neki** a hozzájárulást
* **Magyarázd el, miért nem illik bele a projekt kritériumokba,** vagy ha lehetséges, javasolj egyértelmű dolgokat a javításra. Legyél határozott, de kedves.
* **Linkeld be a releváns dokumentációkat,** ha vannak. Ha arra leszel figyelmes, hogy rendszeresen kapsz olyan kéréseket, amelyeket nem akarsz elfogadni, akkor add hozzá a dokumentációhoz, ezzel elkerülheted, hogy mindig magadat ismételd.
* **Zárd le a kérést**
Nem kell több a válaszba mint 1-2 mondat. Például a [celery](https://github.com/celery/celery/) felhasználója jelentett egy Windows-hoz kapcsolódó hibát, erre @berkerpeksag [így válaszolt](https://github.com/celery/celery/issues/3383):

Ha megijeszt a nemet mondás, ne aggódj, nem vagy egyedül, lásd @jessfraz [írását erről](https://blog.jessfraz.com/post/the-art-of-closing/):
> Számos, különböző nyílt forráskódú projektekből beszéltem karbantartókkal – Mesos, Kubernetes, Chromium –, és abban mindannyian egyetértettek, hogy a legkeményebb rész a "Nem"-et mondás egy olyan javításra, amelyet nem akarsz.
Ne érezd bűntudatot azért, mert nem fogadsz el egy hozzájárulást. Az első szabálya a nyílt forráskódnak @shykes [szerint](https://twitter.com/solomonstre/status/715277134978113536): _"A nem az átmeneti, az igen az örökös."_ Bár jó érzés a másik ember lelkesedését látni, a hozzájárulás elutasítása nem jelenti a mögötte álló személy elutasítását.
Végül, ha a hozzájárulás nem elég jó, akkor nem vagy köteles elfogadni azt. Légy kedves és közreműködő, ha az emberek hozzájárulnak a projekthez, de csak azokat a változásokat fogadd el, amelyektől valóban azt hiszed, hogy a projekt jobbá válik. Minél gyakrabban gyakorolod a nemet mondást, annál könnyebbé válik.
### Legyél pro-aktív
A nemkívánatos hozzájárulások mennyiségének csökkentése érdekében mindenekelőtt mutasd be a hozzájárulási útmutatóban a projekt hozzájárulások benyújtásának és elfogadásának folyamatát.
Ha túl sok gyenge színvonalú hozzájárulást kapsz, kérd meg a közreműködőket, hogy végezzenek el előtte egy kis munkát, például:
* Töltsék ki a hibához, vagy beolvasztási kérelemhez rendelt űrlapot, vagy ellenőrző listát
* Nyissanak egy issue-t, mielőtt beolvasztási kérelmet adnak fel
Ha nem követik a szabályokat, akkor azonnal zárd le a jelzést és hivatkozd meg a dokumentációt.
Noha ez a megközelítés kezdetben kellemetlennek tűnik, a pro-aktív fellépés mindkét fél számára jó. Csökkenti annak az esélyét, hogy valaki sok elpazarolt órát fordítson egy beolvasztási kérelemre, amelyet nem fogsz elfogadni. Emellett a Te munkaterhelésed is könnyebben kezelhetővé válik.
Időnként, amikor nemet mondsz, a potenciális közreműködőt felháboríthatja a döntés vagy kritizálhatja azt. Ha a viselkedése ellenségessé válik, akkor [tegyél lépéseket a helyzet enyhítésére](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) vagy akár el is távolíthatod a közösségből a személyt, ha meg sem próbál konstruktívan együttműködni.
### Erősítsd a mentorálást
Lehet, hogy valaki a közösségedben rendszeresen nyújt be olyan hozzájárulásokat, amelyek nem felelnek meg a projekt normáinak. Mindkét fél számára frusztráló lehet az ismételt visszautasítás.
Ha azt látod, hogy valaki lelkesedik a projekted iránt, de egy kis segítségre van szüksége, légy türelmes. Mindig magyarázd el világosan, hogy miért nem felelnek meg a hozzájárulások a projekt elvárásainak. Próbálj ajánlani egy könnyebb vagy kevésbé bonyolult feladatot, például egy feladatot a _"good first issue"_ jelöléssel, hogy a megtegye az első lépéseket. Ha van időd, akkor fontold meg a mentorálásukat az első hozzájárulásuk alkalmával, vagy keress meg valaki mást a közösségében, aki hajlandó mentorálni őket.
## Használd ki a közösség erejét
Nem kell mindent egymagad csinálni. A projekt közösség okkal létezik! Ha még nincs aktív közreműködő közösség, de már sokan vannak benne, akkor is próbáld munkára fogni őket.
### Oszd el a munkaterhelést
Ha szeretnél másokat bevonni, akkor kérdezz körbe.
Az új közreműködők megszerzésének egyik módja az, hogy kifejezetten [olyan issue-kat nevezel meg, amelyek elég egyszerűek a kezdők számára](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). A GitHub segíti ezen issue-k kiemelésén és láthatóvá tételét.
Amikor azt látod, hogy az új résztvevők rendszeresen hozzájárulnak a projekthez, akkor ismerd el a munkájukat azzal, hogy nagyobb felelősséget adsz számukra. Dokumentáld le, hogy hogyan válhat valaki a projekt irányító tagjává, ha azt szeretné.
Ösztönözz másokat arra, hogy [részt vegyenek a projekt irányításában](../building-community/#a-projekt-tulajdonjogának-megosztása) ezzel jelentősen csökkented a saját terhelésed, mint ahogy @lmccart észrevette ezt a saját projektjénél, [p5.js](https://github.com/processing/p5.js).
Ha a projektet magára kell hagynod rövid vagy akár hosszabb időre, akkor nincs semmi szégyelleni való abban, ha megkérsz mást, hogy vegye át a helyed.
Ha mások is lelkesek a projekt irányát illetően, akkor add meg nekik a hozzáférést, vagy formálisan is add át az irányítást. Ha valaki forkolta a projektet, és máshol aktívan fenntartja azt, fontold meg az eredeti projekt csatlakozását ehhez. Nagyszerű, ha sok ember akarja azt, hogy a projekt tovább éljen!
@progrium [úgy találta](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) hogy a projekt vízió dokumentálása a [Dokku](https://github.com/dokku/dokku) esetén, segített abban, hogy a célok tovább éljenek még akkor is, amikor ő már nem vesz részt a projektben:
> Egy wiki oldalon leírtam, hogy mit és miért akartam. Valami oknál fogva meglepetésnek számított nekem, hogy a karbantartók elkezdték vinni a projektet ebbe az irányba! Hogy pontosan úgy történt ez, ahogy én csináltam volna? Nem mindig. De mégis közelebb hozta a projektet ahhoz, amit leírtam.
### Hagyd, hogy mások építsék ki a számukra szükséges megoldásokat
Ha egy potenciális közreműködő eltérő véleményen van arról, hogy mit kellene a projektben megvalósítani, akkor érdemes udvariasan ösztönözni őt, hogy saját forkon dolgozzon.
A projekt forkolása (elágaztatása) nem jelent rossz dolgot. A projekt lemásolása és módosítása a legjobb része a nyílt forráskódnak. A közösség tagjainak ösztönzése arra, hogy saját forkon dolgozzanak alkalmas arra, hogy saját kreativitásukat kiélhessék anélkül, hogy ez ütközne a projekted eredeti víziójával.
Ugyanez a megoldás jó akkor is, ha valaki komolyan akarna egy megoldást a projektben valamire, de erre neked már nincs kapacitásod. API-k és testre szabható hook-ok biztosítása lehetővé teszi mások számára, hogy anélkül elégítsék ki a szükségleteiket, hogy a projektet módosítani kellene közvetlenül. @orta [szerint](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) a CocoaPods plugin megjelenése vezetett "néhány nagyon érdekes ötlethez":
> Szinte elkerülhetetlen, hogy ha egy projekt nagyméretűvé válik, a karbantartóknak sokkal konzervatívabbá kell válniuk az új kódok bevezetése terén. Az rendben van, ha tudod mondani a "nem" szót, de sok embernek van valódi, jogos igénye. Emiatt a megoldást végül platformmá alakítod át.
## Használj robotokat
Ahogy vannak olyan feladatok, amelyekben mások segítenek, úgy vannak olyan feladatok is, amelyeket nem embereknek kell csinálnia. A robotok a barátaid. Használd őket, hogy megkönnyítsd az életét karbantartóknak.
### Szükség van tesztekre és egyéb ellenőrzésekre a kód minőségének javítása érdekében
A projekt automatizálásának egyik legfontosabb módja a tesztek hozzáadása.
A tesztek segítenek a közreműködőknek, hogy biztosak legyenek abban, hogy semmit sem rontanak el. Ezenkívül megkönnyítik az észrevételek gyors áttekintését és elfogadását. Minél jobban és gyorsabban reagálsz, annál elkötelezettebbé válhat a közösség.
Állíts be automatikus teszteket, amelyek az összes bejövő hozzájárulásra futnak, és győződj meg arról, hogy a teszteket a közreműködők könnyen, a saját gépeiken is futtathatják. Mielőtt beküldenék a hozzájárulásokat, követeld meg, hogy az összes kódminőségi követelményt teljesítse, minden teszten átmenjen. Itt egy segítség a minimális minőségi követelmények megkövetelésére: [Kötelező ellenőrzések](https://help.github.com/articles/about-required-status-checks/), a GitHub segít abban, hogy ellenőrzés nélkül a hozzájárulás ne kerüljön beolvasztásra.
Ha teszteket adsz hozzá, akkor bizonyosodj meg arról, hogy elmagyaráztad azt a CONTRIBUTING.md fájlban, hogy hogyan működnek.
### Használj eszközöket az alapvető karbantartási feladatok automatizálásához
A jó hír egy népszerű projekt fenntartásához az, hogy más karbantartók valószínűleg hasonló problémákkal már szembesültek és megoldást találtak rá.
[Számos eszköz elérhető](https://github.com/showcases/tools-for-open-source) amelyek a karbantartók munkájának különböző részeit automatizálják. Néhány példa:
* [semantic-release](https://github.com/semantic-release/semantic-release) automatizálja a release-elést
* [mention-bot](https://github.com/facebook/mention-bot) a beolvasztási kérelemben megemlíti automatikusan a lehetséges embereket, akik a kódot majd átnézik (kód review)
* [Danger](https://github.com/danger/danger) segít automatizálni a kód review-t
* [no-response](https://github.com/probot/no-response) lezárja azokat az issue-kat, amelyekben az issue szerzője nem válaszolt a további információkérésre
* [dependabot](https://github.com/dependabot) minden nap ellenőrzi a függőségeket, ha talál frissebb verziót, akkor automatikusan beolvasztási kérelmet készít az új verzió számmal
A hiba jelzésekhez és más általános hozzájárulásokhoz a GitHub biztosít egy [hiba jelzés és beolvasztási kérelem formanyomtatványt](https://github.com/blog/2111-issue-and-pull-request-templates), amellyel egyszerűsíteni és egységesíteni tudod ezek beadását. @TalAter készített egy [Választásos Kalandjátékot](https://www.talater.com/open-source-templates/#/) hogy segítse ezen formanyomtatványok elkészítését.
Az email értesítések kezeléséhez be tudod állítani az [email szűrőket](https://github.com/blog/2203-email-updates-about-your-own-activity) amellyel a prioritás megadható.
Ha még jobban akarod csinálni, akkor a stílus útmutatók és linterek segítenek abban, hogy a hozzájárulások könnyebben áttekinthetőbbek és beolvaszthatók legyenek.
Ellenben, ha a szabályok túl komplikáltak, akkor akadályozzák a hozzájárulást a projekthez. Figyelj arra, hogy annyi szabályt adj hozzá, amely feltétlenül szükséges ahhoz, hogy mindenkinek könnyebb legyen az élete.
Ha nem vagy biztos abban milyen eszközt kellene használnod, akkor nézz meg más, ismert projekteket, különösen a te ökoszisztémádhoz tartozók közül. Például megnézheted, hogy hogyan néz ki egy hozzájárulási folyamat más Node modulok esetén? Hasonló eszközök és megközelítések alkalmazása segít abban, hogy a folyamatod a hozzájárulók számára már ismert legyen.
## Teljesen rendben van, ha szünetet tartasz
Eddig a nyílt forráskódú munka örömet okozott neked, de lehet hogy most már túlterhel téged, ami miatt kerülöd, és emiatt bűntudatod van.
Lehet, hogy túlterheltnek érzed magad, vagy szorongást okoz, amikor a projektjeidre gondolsz, és mindeközben a hibajelzések és a beolvasztási kérelmek felhalmozódnak.
A kiégés létező és széles körben ismert probléma a nyílt forráskódú munkákban, különösen a karbantartók körében. Karbantartóként a megelégedettséged megkérdőjelezhetetlen követelmény a nyílt forráskódú projekted fennmaradásához.
Magától értetődik, hogy szükség van pihenésre! Nem szabad elodázni a pihenést addig, amíg kiégsz. Például @brettcannon, a Python fejlesztője úgy döntött, hogy [egy hónapos vakációt vesz ki](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) 14 éve folyamatosan tartó, önkéntes OSS munka után.
Mint minden más munka esetén a rendszeres pihenők tartása felfrissít, boldogabbá teszt és fokozza a munkád iránti vágyadat.
Gyakran úgy érzed nehéz pihenőt tartani, mert mindenki téged akar. Vannak akik bűntudatot éreznek, ha pihenni mennek.
Próbáld kialakítani azt, hogy a legjobb legyen a felhasználóknak és a közösségnek, amikor távol vagy a projekttől. Ha nem találod meg a támogatást ehhez, akkor is tarts szünetet. Határozottan és biztosan kommunikáld azt, amikor nem vagy elérhető, nehogy az emberek összekeverjék azzal, hogy nem szándékosan válaszolsz nekik, vagy nem vagy reszponzív.
A szünetek nemcsak a vakációk idejére vonatkoznak. Ha nem akarsz hétvégén, vagy munkaidőben nyílt forráskódú munkát végezni, kommunikáld ezt mások felé, így tudni fogják, hogy ne zavarjanak ezen idő alatt téged.
## Legfontosabb, hogy vigyázz magadra!
A népszerű projekt fenntartása más készségeket igényel később, mint a projekt elején. Karbantartóként vezetői és személyes készségeket gyakorolsz majd olyan szinten, amelyet kevés ember tapasztal meg. Noha ezt nem mindig könnyű kezelni, az egyértelmű határok meghatározása, és csak olyan dolgok elvégzése ami számodra is elfogadható, segítenek abban, hogy boldog, kipihent és produktív maradj.
================================================
FILE: _articles/hu/building-community.md
================================================
---
lang: hu
title: Építs befogadó közösséget
description: Közösség építése, amely bátorítja az embereket a használatra, a részvételre és a projekt hírnevének terjesztésére.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Sikeres projekt összeállítása
Elindítottad a projektet, próbálod ismertté tenni, és az emberek érdeklődnek iránta. Fantasztikus! De hogy fogod őket megtartani?
A befogadó közösség egy befektetés a projekt jövőjébe és megítélésébe. Ha a projekt éppen most kezdi el fogadni az első hozzájárulásokat, akkor kezd azzal, hogy az első közreműködők pozitív tapasztalatokat kapjanak, és könnyítsd meg nekik, hogy rendszeresen visszatérjenek.
### Érezzék az emberek, hogy szívesen látod őket
Gondolj a projekt közösségére például úgy, ahogyan @MikeMcQuaid amit ő [résztvevői tölcsérnek](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/) nevezett el:

A közösség felépítése során fontold meg, hogy a tölcsér tetejéről valaki (potenciális felhasználó) hogyan tud eljutni a tölcsér aljára (aktív karbantartó). Cél, hogy minden résztvevő tapasztalatát a projektről javítsd ezeken a szakaszokon. Amikor az emberek könnyen érnek el eredményt, az ösztönözni fogja őket, hogy még többet tegyenek.
Kezd a dokumentációkkal:
* **Tedd egyszerűvé, hogy valaki könnyen használhassa a projektedet!** [Egy barátságos README](../starting-a-project/#readme-írása) és tiszta kód példák mindenkit hozzásegítenek ahhoz, hogy könnyen el tudjanak indulni.
* **Tisztán és érthetően magyarázd el, hogy hogyan lehet hozzájárulni**, használd a [CONTRIBUTING fájlodat](../starting-a-project/#részvételi-irányelvek-leírása) és a hibajelzéseket tartsd naprakészen.
* **Good first issues**: Az új hozzájárulókat segíti az, ha egyértelműen [jelezve van címkével az issue, amely kezdőknek ajánlott](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). A GitHub kiemeli ezeket az issue-kat, és ezzel segíti a hasznos hozzájárulásokat úgy, hogy a hozzájáruló szintjének megfelelő hibát ajánl megoldásra.
[A GitHub 2017. évi nyílt forráskódú felmérése](http://opensourcesurvey.org/2017/) azt mutatta ki, hogy a félkész és zavaros dokumentáció a legnagyobb probléma a felhasználók számára. A jó dokumentáció beszippantja az embereket a projektbe: egyszer csak valaki nyit egy hibajelzést, vagy beküld egy beolvasztási kérelmet. Használd ki ezeket a lehetőségeket, hogy az emberek tovább mozogjanak lefelé a _résztvevői tölcséren_.
* **Ha valaki újként jelenik meg a projektben, akkor köszönd meg neki az érdeklődését!** Egyetlen egy negatív tapasztalat is elég ahhoz, hogy valaki ne jöjjön vissza többé a projekthez.
* **Legyél reszponzív!** Ha hónapokig nem válaszol a problémájára valakinek, nagy esély van rá, hogy elfelejti a projektedet.
* **Légy nyitott gondolkodású az új hozzájárulások elfogadásakor!** Sok hozzájáruló hibák jelzésével vagy apró javításokkal kezdi. [Számos módja van a hozzájárulásoknak](../how-to-contribute/#mit-jelent-a-hozzájárulás) a projekthez. Hagy segítsenek az emberek úgy, ahogy ők szeretnének.
* **Ha van olyan hozzájárulás, amivel nem értesz egyet,** akkor köszönd meg az ötletet, és [magyarázd el miért](../best-practices/#meg-kell-tanulni-nemet-mondani) nem felel meg a projekt víziónak, és csatold a hivatkozásokat a dokumentációra.
A nyílt forráskódú közreműködők többsége "alkalmi közreműködő": olyan emberek, akik csak alkalmanként járulnak hozzá a projekthez. Előfordulhat, hogy egy alkalmi közreműködőnek nincs ideje teljes mértékben felkészülni a projektre, ezért az a feladatod, hogy megkönnyítsd számukra a hozzájárulást ilyen esetekben is.
Más közreműködők ösztönzése számodra is hasznos befektetés. Ha támogatod a projekt legnagyobb rajongóit abban, hogy azon dolgozzanak amin szeretnének, akkor kevesebb lesz a nyomás rajtad, hogy mindent te csinálj.
### Dokumentálj mindent
Amikor új projektet indítasz, először természetesnek tűnhet, hogy a munkádat nem publikálod. De a nyílt forráskódú projektek akkor sikeresek, ha a folyamatait is nyilvánosan dokumentálod.
Amikor leírod a dolgokat, több ember vehet részt a projekt minden lépésében. Segíthet akár olyan dolgokban is, amelyekre még nem is gondoltad, hogy szükséged van.
A dolgok leírása nem csupán a műszaki dokumentációt jelent. Bármikor, amikor azt érzed, hogy le kell írni valamit, vagy egy magánbeszélgetést folytattál a projektről, gondolkozz el arról, hogy nyilvánosságra tudod-e hozni azt.
Legyen átlátható a projekt ütemterve, a várt hozzájárulások típusai, vagy azok áttekintésének módja és akár az is, hogy miért hoztál meg bizonyos döntéseket.
Ha több felhasználó jelzi ugyanazt a problémát, akkor dokumentáld a válaszokat a README részben.
Találkozók alkalmával fontold meg a megjegyzések, vagy döntések közzétételét az adott kérdésben. Az ilyen szintű átláthatóság miatt kapott visszajelzések lehet meg fognak majd lepni.
Mindennek a dokumentálása az te általad végzett munkára is vonatkozik. Ha a projekt lényeges frissítésén dolgozol, akkor add fel beolvasztási kérelemként és jelöld meg folyamatban lévő munkaként (WIP). Ily módon más emberek, már korán bekapcsolódhatnak a folyamatba és így maguknak érzik azt.
### Legyél reszponzív
Amint [ismertté próbálod tenni a projektet](../finding-users), az emberek visszajelzéseket fognak küldeni neked. Lesznek kérdéseik a működéséről, vagy épp segítségre lehet szükségük az induláshoz.
Próbálj azonnal reagálni, ha valaki hibajegyet vagy beolvasztási kérelmet nyújt be, vagy kérdést tesz fel a projekttel kapcsolatban. Ha gyorsan reagálsz, az emberek úgy érzik, hogy részesei a párbeszédnek, és lelkesebben fognak részt venni.
Még ha a kérelmet nem is tudod azonnal átvizsgálni, a korai befogadás segít növelni az elkötelezettséget. Így válaszolt @tdreyno a [Middleman](https://github.com/middleman/middleman/pull/1466) egyik beolvasztási kérelmére:

[Egy Mozilla tanulmány szerint](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) azoknak a válaszadóknak, akik 48 órán belül megkapták a kód review eredményét, sokkal magasabb volt a visszatérési aránya a projekthez, és a hozzájárulásuk ahhoz.
A projekttel kapcsolatos beszélgetések az internet más részein is zajlanak, például a StackOverflow, a Twitter vagy a Reddit oldalain. Ezen helyek egy részén értesítéseket állíthatsz be, így figyelmeztetést kapsz, ha valaki megemlíti a projektedet.
### Biztosíts egy helyet a közösségednek
Két oka is van, hogy miért kell a közösségnek egy állandó helyet biztosítani, ahol összejöhetnek.
Az első ok ők maguk. Segíts az embereknek megismerni egymást. A közös érdeklődésű emberek szeretnének egy helyet, ahol lehet beszélgetni. És amikor a kommunikáció nyilvános és hozzáférhető, bárki elolvashatja a múltbeli archívumokat, hogy felvegye a ritmust, és hogy részt vegyen a párbeszédben.
A másik ok te vagy. Ha nem biztosítasz egy nyilvános helyet az embereknek, ahol a projektjéről lehet beszélni, akkor valószínűleg közvetlenül téged keresnek meg. A kezdetben ez könnyűnek tűnhet, hiszen a magánüzenetekre csípőből válaszolunk. De az idő múlásával, különösen, ha a projekt népszerűvé válik, kimerülten fogod magad érezni. Állj ellen annak a kísértésnek, hogy privát módon kommunikálj az emberekkel a projekttel kapcsolatosan. Ehelyett irányítsd őket egy kijelölt, és nyilvános csatornára.
A nyilvános kommunikáció egyszerű, ha arra kéred az embereket, hogy nyissanak egy hibajegyet, ahelyett, hogy közvetlenül e-mailen küldnének azt, vagy megjegyzést fűznének a blogodhoz. Beállíthatsz egy levelezőlistát, vagy létrehozhatsz egy Twitter fiókot, Slack vagy akár egy IRC csatornát arra, hogy az emberek beszéljenek a projektedről. De akár próbálkozhatsz mindegyikkel!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) minden második héten biztosít időt arra, hogy segítse a közösség tagjait:
> Kopsnak minden második héten van elkülönített ideje arra, hogy segítséget és útmutatást nyújtson a közösség számára. A Kops fenntartói megállapodtak abban, hogy külön időt fordítanak az újonnan érkezőkkel való együttműködésre, a PR-ekkel kapcsolatos segítségnyújtásra és az új funkciók megvitatására.
A nyilvános kommunikáció alól kivételt képeznek: a 1) biztonsági kérdések és a 2) magatartási kódex megsértése. Az embereknek mindig képesnek kell lenniük arra, hogy ezeket a kérdéseket privát módon jelentsék be. Ha nem akarod használni a személyes e-mail címed, akkor állíts be egy külön e-mail címet erre a célra.
## Növeld a közösséget
A közösség rendkívül erős dolog. Ez a hatalom áldás vagy átok lehet, attól függően, hogy hogyan kezeled. Ahogy a projekt közössége növekszik, vannak olyan módok, amelyek segítenek abban, hogy ez az erő az építés, és ne pusztítás erejévé váljon.
### Ne tűrd el a helytelen viselkedést
Bármely népszerű projekt elkerülhetetlenül vonzza azokat az embereket, akik ahelyett, hogy segítséget nyújtanának a közösségnek inkább ártanak neki. Lehet, hogy felesleges vitákat indítanak, felkavaró kritikákat fogalmaznak meg alapvető funkciókról, vagy másokat piszkálnak.
Tegyél meg mindent, hogy zéró toleranciát tanúsíts az ilyen típusú emberekkel szemben. Ha figyelmen kívül hagyod ezt, akkor a negatív emberek kellemetlenné teszik a közösség többi tagjának részvételét a projektben, akik akár emiatt még távozhatnak is.
A projekt alapvető céljairól folytatott rendszeres vita zavarhat másokat, köztük téged is, és elvonja a figyelmet a fontos feladatokról. A projektbe érkező új emberek láthatják ezeket a beszélgetéseket, és emiatt lehet nem akarnak részt venni majd benne.
Ha negatív viselkedést látsz a projektben, azt hozd nyilvánosságra. Magyarázd el kedvesen, de határozott hangon, hogy miért nem fogadható el ez a viselkedés. Ha a probléma továbbra is fennáll, akkor lehet, hogy [fel kell kérned az érintettet a távozásra](../code-of-conduct/#a-magatartási-kódex-érvényesítése). A [Magatartási kódexed](../code-of-conduct/) konstruktív útmutatást jelenthet az ilyen jellegű beszélgetésekhez.
### Maradj kapcsolatban
A jó dokumentáció akkor válik fontosabbá, ha közösséged növekszik. Az alkalmi közreműködők, akik esetleg egyébként nem ismerik a projektet, azért olvassák el a dokumentációt, hogy gyorsan megértsék azt a környezetet, amire szükségük van.
A CONTRIBUTING fájljában kifejezetten mond el az új közreműködőknek az elindulás módját. Érdemes lehet erre a célra egy külön fejezetet létrehozni. Például a [Django](https://github.com/django/django) projektnek van egy speciális nyitóoldallal, amelyen az új közreműködőket fogadják.

A hibalistában azon hibákat címkézd meg, amelyek különböző hozzájárulás típusokat igényelnek, például: [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, vagy _"documentation"_. [Ezek a címkék](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) segítik az újonnan érkezőket abban, hogy gyorsan átnézzék a listát és el tudják kezdeni a munkát.
Végül, de nem utolsó sorban a dokumentáció alapján érezzék az emberek, hogy szívesen látod őket bármely folyamatában a projektnek.
Általában nem fogsz közvetlenül minden emberrel kommunikálni, aki megfordul a projekten. Lehet, hogy lesznek olyan hozzájárulások, amelyeket azért nem kapsz meg, mert valaki elrettent a projekttől, vagy nem tudta, hogy hol kezdje. Akár néhány kedves szó is elég lehet ahhoz, hogy megakadályozd, hogy valaki csalódottan hagyja el a projektet.
Itt egy példa, hogy hogyan kezdj a [Rubinius](https://github.com/rubinius/rubinius/) projektben, [a CONTRIBUTING útmutatójuk](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Mindenekelőtt azzal szeretnénk kezdeni, hogy köszönjük azt, hogy használod a Rubinius-t. Ez a projekt szeretetteljes munkát jelent, és nagyra értékeljük az összes felhasználót, aki hibákat észlel, javít a teljesítményben és segítséget nyújt a dokumentációban. Minden hozzájárulás hasznos, ezért köszönjük a részvételed. Kérjük néhány iránymutatást tarts be, hogy sikeresen meg tudjuk oldani a problémádat.
### A projekt tulajdonjogának megosztása
Az emberek örömmel járulnak hozzá a projektekhez, ha maguknak érzik azt. Ez nem azt jelenti, hogy át kell szabni a projekt víziódat, vagy el kell fogadni a nem kívánt hozzájárulásokat. De minél többet adsz ebből másoknak, annál jobban magukénak fogják érezni.
Nézd meg, hogyan találhatod meg a módját, hogy a lehető legnagyobb mértékben megoszd a tulajdont a közösséggel. Íme néhány ötlet:
* **Állj ellen az egyszerű (nem kritikus) hibák javításának.** Ehelyett használd ezeket a hibákat arra, hogy új segítőket toborozz toborzására, vagy mentorálj valakit, aki szeretne hozzájárulni. Bár furcsának tűnhet, de ez a befektetés idővel megtérül. Például a @michaeljoseph megkérte az egyik közreműködőt, hogy nyújtson be beolvasztási kérelmet egy alábbi, [Cookiecutter] (https://github.com/audreyr/cookiecutter) hibával kapcsolatosan, ahelyett, hogy saját maga javította volna ki.

* **Állíts össze egy CONTRIBUTORS vagy AUTHORS fájlt a projektben,** amely listáz mindenkit aki hozzájárul a projekthez. Például ahogy a [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md) csinálja.
* Ha széles közösséged van, **akkor küldj ki hírlevelet vagy vezess blogot** amelyen megköszönöd a hozzájárulásokat. A Rust-nak a [Heti Rust](https://this-week-in-rust.org/) és a Hoodie-nak a [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) két jó példa erre.
* **Minden közreműködő kapjon commit jogot.** @felixge szerint az emberek [sokkal aprólékosabban kidolgozzák a hozzájárulásukat](https://felixge.de/2013/03/11/the-pull-request-hack.html), és még több karbantartót lehet bevonni, akik esetleg korábban passzívak voltak.
* Ha a projekted a GitHub-on van, **akkor mozgasd a projektet át a személyes fiókod alól a [Szervezeti Fiók](https://help.github.com/articles/creating-a-new-organization-account/)** alá és adj hozzá legalább egy admint még biztonság esetére. Az Szervezeti Fiók alkalmasabb külső résztvevők bevonására.
A valóságban [a legtöbb projektnek](https://peerj.com/preprints/1233/) csak egy, két karbantartója van. Minél nagyobb a projekted, és a közösséged, annál könnyebb segítséget találni.
Bár nem mindig válaszolnak a felhívásodra, de egy jelzés kiküldése növeli az esélyét, hogy valaki reagál majd rá. És minél előbb megteszed ezt, annál hamarabb segíthetnek az emberek.
## Konfliktusok megoldása
A projekt korai szakaszában a fontos döntések meghozatala egyszerű. Ha akarsz csinálni valamit, akkor csak megcsinálod.
Ahogy a projekt népszerűbbé válik, egyre több embert érdekelnek majd az általad meghozott döntések. Még ha nem is rendelkezel nagy közreműködő közösséggel, de a projektnek már sok felhasználója van, akkor találni fogsz olyan embereket, akik a döntéseket mérlegelni fogják, vagy a saját kifogásaikat megfogalmazzák.
Nagyrészt barátságos és tiszteletteljes közösség esetén és nyíltan dokumentált folyamat esetén találni fogsz megoldást. De néha olyan helyzetbe kerülhetsz, amit kicsit nehezebb lesz megoldani.
### Viselkedéseddel mutass példát
Ha a közösség egy nehéz kérdéssel kerül szembe, akkor emelkedetté válhat a hangulat. Az emberek dühösek vagy csalódottak lehetnek, és ezt egymáson vagy épp rajtad vezethetik le.
Mint karbantartó az a feladatod, hogy ezt a szituációt ne engedd eszkalálódni. Még ha határozott véleményed is van az adott témában, próbáld felvenni a moderátor és az egyeztető szerepet inkább ahelyett, hogy fejest ugranál a csatározásba, és a nézetedet erőltetnéd. Ha valaki barátságtalan, vagy kisajátítja a beszélgetést, akkor [azonnal cselekedj](../building-community/#ne-tűrd-el-a-helytelen-viselkedést), hogy a beszélgetés udvarias és produktív maradjon.
Mások útmutatást kérnek tőled, mutass jó példát. Bátran kifejezheted a csalódottságod, szomorúságod vagy aggodalmadat, de ezt mindig nyugodtan tedd.
A nyugalom megtartása nem könnyű, de ennek demonstrálása a projekt vezetés által javítja a közösséget. Az internet meg fogja köszönni.
### A README-t alkotmányként kezeld
A README fájlod [több mint utasítások összessége](../starting-a-project/#readme-írása). Ez egy olyan hely, ahol beszélhetsz a céljaidról, a termék jövőképéről és az ütemtervről. Ha az emberek túlzottan arra koncentrálnak, hogy megvitatják egy adott funkció értékességét, akkor előfordulhat, hogy át kell értékelned a README-t és még pontosabban kell definiálnod a projekt vízióját. A README szem előtt tartása személytelenebbé teszi a beszélgetést, így az konstruktív maradhat.
### Az útra figyelj, ne a végcélra
Egyes projektek szavazási folyamatot használnak a nagyobb döntések meghozatalához. Bár a szavazás első pillantásra ésszerű, a szavazás inkább a "válasz" elérésére helyezi a hangsúlyt, ahelyett, hogy meghallgatná és kezelné a véleményeket.
A szavazás politikai jellegűvé válhat, amikor a közösség tagjai nyomást gyakorolnak egymásra, hogy egymást előnyben részesítsék, vagy bizonyos módon szavazzanak. Nem mindenki szavaz, függetlenül attól, hogy a [néma többségről](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users), vagy a jelenlegi felhasználókról van szó, akik épp nem tudták, hogy szavazás zajlik.
Időnként a szavazással történik a szükséges döntéshozás. Mindazonáltal, amennyire képes vagy, hangsúlyozd a ["konszenzus keresését"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) a létrehozott konszenzus helyett.
Konszenzuskeresési folyamat keretében a közösség tagjai megbeszélik a legfontosabb problémákat, amíg úgy nem érzik, hogy mindenkit meg nem hallgattak. Amikor csak apró észrevételek maradnak már csak, akkor a közösség tovább haladhat. A "konszenzuskeresés" elismeri azt, hogy a közösség nem biztos, hogy képes megtalálni a tökéletes választ. Ehelyett egymás meghallgatását, és a beszélgetést részesíti előnyben.
Ha karbantartóként nem használod a konszenzuskeresési folyamatot, akkor is fontos, hogy az emberek tudják, hogy figyelsz rájuk. Érezzék, hogy meghallgatod őket, és elkötelezed magad a problémáik megoldása mellett, ez a tartós módja annak, hogy elkerüld a komolyabb, kiterjedt problémákat. A szavak után lépj a tettek mezejére.
Ne siess a döntéssel annak érdekében, hogy megold. Mielőtt állást foglalnál egy kérdésben, győződj meg arról, hogy mindenki úgy érzi-e, hogy meghallgatták és hogy minden információ ezzel kapcsolatban nyilvánosságra került.
### A cselekvés legyen a fókuszban
A beszélgetés fontos, de különbség van a produktív és a nem produktív beszélgetések között.
Támogassa a párbeszédet mindaddig, amíg az a megoldást szolgálja. Ha a párbeszéd egyértelműen tárgytalanná, személyeskedővé válik, vagy félrecsúszik, esetleg az emberek lényegtelen, apró részletekkel kezdenek el foglalkozni, akkor ideje leállítani a megbeszélést.
Ezen beszélgetések továbbengedése nem csak a jelenlegi probléma kezelésére, hanem a közösség egészségére is káros lehet. Azt üzeni, hogy az ilyen típusú beszélgetések megengedettek vagy akár bátoríthatók, ennek következménye, hogy ez visszatarthatja az embereket a jövőbeli kérdések felvetésétől vagy megoldásától.
Ha már mások minden észrevételét meghallgattad, akkor kérdezd meg magadtól: _"Hogyan visz ez minket közelebb a megoldáshoz?"_
Ha a beszélgetés kezd letisztulni, akkor kérdezd meg a csoportot: _"Mi legyen a következő lépés?"_, ezzel továbbra is fókuszálva tartod a beszélgetést.
Ha egy beszélgetés nyilvánvalóan nem vezet sehova, vagy nincs egyértelmű intézkedés amit végre kell hajtani, vagy az már meg is megtörtént, akkor zárd le a problémát, és indokold meg, miért zártad le.
### Válassz okosan csatát
Fontos a környezet. Gondold át, hogy kik vesznek részt a vitában, és hogyan képviselik a közösség többi részét.
A közösség minden tagja ideges, vagy éppen elragadtatott a kérdéssel kapcsolatban? Vagy egy magányos bajkeverő műve az egész? Ne felejts el figyelni a közösség csendes tagjait, nem csak a hangoskodókat halld meg.
Ha a téma nem a közösség szélesebb körű igényeit képviseli, akkor el kell fogadni az aggódó hangokat. Ha ez egy rendszeresen visszatérő probléma, egyértelmű megoldás nélkül, akkor mutass rá a témával kapcsolatos korábbi megbeszélésekre, és zárd be a szálat.
### Keress döntéshozókat a közösségben
Jó hozzáállással, és egyértelmű kommunikációval a legnehezebb helyzetek is megoldhatók. De még egy eredményes beszélgetés után is eltérhet a vélemény arról, hogy hogyan kell folytatni. Ezekre az esetekre keress egy embert vagy embercsoportot, akik döntéshozóként szolgálnak.
A döntéshozó lehet a projekt karbantartója, vagy akár egy kis embercsoport, akik szavazás alapján hoznak döntést. Ideális az ha, a döntéshozókat és a kapcsolódó folyamatot egy GOVERNANCE fájlban részletezed.
A döntéshozódnak az utolsó lehetőségnek kell lennie. A megosztó kérdések a közösség növekedésének és tanulásának a lehetőségét jelentik. Ragadd meg ezeket a lehetőségeket, és használd az együttműködési folyamatot a megoldáshoz, amikor csak lehetséges.
## A nyílt forráskód ❤️ a közösséget
Az egészséges, virágzó közösségek heti több ezer órát fordítanak a nyílt forráskódra. Számos résztvevő másokra hivatkozik, hogy miért dolgozik – vagy éppen miért nem dolgozik –, a nyílt forráskódon. Ha megtanulod kreatívan használni a közösség erejét, akkor hozzásegítesz valakit majd ahhoz, hogy felejthetetlen élményeket szerezzen a nyílt forráskódban.
================================================
FILE: _articles/hu/code-of-conduct.md
================================================
---
lang: hu
title: Magatartási kódex
description: Az egészséges és konstruktív közösség építéséhez a magatartási kódex elfogadásával és érvényesítésével lehet hozzájárulni.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Miért kell magatartási kódex?
A magatartási kódex egy olyan dokumentum, amelyben a viselkedéssel kapcsolatos elvárásokat fogalmazzák meg a projekt tagjai számára. A magatartási kódex elfogadásával és betartásával segítheted a közösség egészséges szociális légkörének kialakítását és megtartását.
A magatartási kódex nem csak a résztvevőket, téged is meg tud védeni. Karbantartóként találkozhatsz olyan lehangoló résztvevőkkel, akik a negatív hozzáállásukkal elkedvetlenítenek és elszívják az energiáidat.
A magatartási kódex lehetőséget ad arra, hogy az egészséges és konstruktív közösségi viselkedést megtarthasd. A pro-aktív viselkedésed segíthet abban, hogy te vagy a közösség tagjai elfásuljanak a projekteden, és fel tudsz lépni azok ellen, akik a kódex szabályait megsértik.
## A magatartási kódex létrehozása
Próbáld létrehozni a magatartási kódexet olyan korán amennyire csak lehet, ideális esetben a projekt indulásakor.
Az elvárásaid mellett a magatartási kódex az alábbiakat írja még le:
* Mire érvényes a magatartási kódex? _(csak a hibakövető rendszerre és beolvasztási kérelmekre, vagy más közösségi eseményekre, mint például rendezvények?)_
* Kikre vonatkozik a magatartási kódex? _(karbantartókra és közösségi tagokra, de vajon vonatkozik-e a szponzorokra?)_
* Mi történik, ha valaki vét a szabályok ellen?
* Hogyan kell jelenteni, ha szabálysértést tapasztal valaki?
Lehetőség szerint használj már létező, publikus dokumentumot. A [Contributor Covenant](https://contributor-covenant.org/) egy azonnal használható magatartási kódex, amelyet már több mint 40,000 nyílt forráskódú projekt használ, mint például a Kubernetes, Rails, és a Swift.
A [Django Code of Conduct](https://www.djangoproject.com/conduct/) és a [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) szintén nagyon jó minták.
Helyezd el a CODE_OF_CONDUCT állomány a projekt gyökérkönyvtárában, és hivatkozd meg őket a CONTRIBUTING és README állományokból, hogy mindenkinek látható legyen.
## Dönts arról, hogy fogod betartatni a szabályzatot
Magyarázd el részletesen, hogy a magatartási kódexnek hogyan szerzel érvényt, **mielőtt** még szabályszegés történne. Ez több szempontból előnyös:
* Megmutatja, hogy komolyan gondolod, hogy szükség esetén cselekszel.
* A közösség nyugodtabbnak fogja érezni magát, mert a panaszok ténylegesen felülvizsgálatra kerülnek.
* Meggyőzi a közösséget arról, hogy a felülvizsgálati folyamat tisztességes és átlátható, ha esetleg valakit felelősségre kell vonni a szabálysértés miatt.
Praktikus biztosítani egy privát csatornát (pl. e-mail cím), amin a magatartási kódex megsértését jelenteni tudják. Add meg azt is, hogy ki vagy kik kapják a jelentést. Ez lehet egy vagy több karbantartó, esetleg egy külön testület.
Ne feledd, előfordulhat, hogy épp olyan személyre vonatkozóan érkezik kifogás aki szintén kapja a jelentést. Ebben az esetben adj lehetőséget arra, hogy más személy részére jelentsék a szabálysértést. Például, @ctb és @mr-c [kifejtik ezt a projektjükben](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> A zaklató, erőszakos vagy egyéb elfogadhatatlan viselkedést emailben lehet jelenteni **khmer-project@idyll.org** címre, amelyet csak C. Titus Brown és Michael R. Crusoe kap meg. Ha bármelyikük érintett a szabálysértésben, akkor **Judi Brown Clarke, Ph.D.** Sokszínűségért Felelős Igazgató legyen a címzett.*
További inspirációért nézd meg a Django magatartás kódexét [enforcement manual](https://www.djangoproject.com/conduct/enforcement-manual/) (nem biztos hogy, ennyire részletes kódexre van szükséged, ez a projekt méretétől függ).
## A magatartási kódex érvényesítése
Annak ellenére, hogy mindent megtettél, néha előfordul, hogy valaki vét a szabályok ellen. Ekkor számos módja van a negatív vagy káros viselkedés kezelésének.
### Gyűjts információt a helyzetről
A közösség minden tagjának hangja ugyanolyan fontos, mint a tiéd. Ha olyan jelentést kapsz, hogy valaki megsértette a magatartási kódexet, akkor vedd komolyan és vizsgáld meg az ügyet, még akkor is, ha nem feltételezel ilyet az adott személyről. Ezzel jelzed a közösségnek, hogy értékeled a szempontjaikat és bízol az ítélőképességükben.
A szóban forgó illető lehet ismétlődő elkövető, aki rendszeresen kényelmetlen helyzetbe hoz másokat, vagy csak egyszer mondott vagy tett valamit. Mindkettő indok lehet a cselekvésre a témától függően.
Mielőtt válaszolnál, adj magadnak időt, hogy megértsd, mi történt. Olvasd el a személy múltbeli észrevételeit és beszélgetéseit, hogy jobban megértsd, ki ő és miért cselekedett ilyen módon. Próbáld meg más emberek véleményét kikérni az adott emberről és viselkedéséről.
### Tedd meg a megfelelő lépéseket
A szükséges információk összegyűjtése és feldolgozása után el kell döntened, hogy mit teszel. Miközben megteszed a szükséges lépéseket, ne feledd, hogy a moderátor célja az, hogy biztonságos, tiszteletteljes és együttműködő környezetet teremtsen. Ne csak arra gondolj, hogy hogyan kell kezelni a szóban forgó helyzetet, hanem arra is, hogy a válasz hogyan befolyásolja a közösség további viselkedését és elvárásait.
Amikor valaki bejelenti a magatartási kódex megsértését, akkor annak kezelése a te feladatod és nem az övé. Néha a bejelentő olyan információkat tár fel, amelyek nagy kockázatot jelenthetnek karrierjük, hírnevük vagy fizikai biztonságuk szempontjából. Ha arra kényszeríted őket, hogy szálljanak szembe a szabálysértővel, azzal kompromittálod őket. A közvetlen kommunikációt neked kell lefolytatnod ebben az ügyben, kivéve, ha a bejelentő mást kér.
Számos lehetőséged van arra, hogy eljárj a szabálysértőkkel szemben:
* **Publikusan figyelmeztesd a kérdéses személyt** és magyarázd el, hogy a viselkedése negatívan hatott másokra, lehetőleg azon a csatornán, ahol történt. A nyilvános kommunikáció, ahol lehetséges, azt közvetíti a közösség többi tagja felé, hogy komolyan veszed a magatartási kódexet. Légy kedves, de szilárd a kommunikációban.
* **Privát módon lépj kapcsolatba a kérdéses személlyel** és magyarázd el, hogy a viselkedése negatívan hatott másokra. Szenzitív információk esetén privát csatornákat használj. Ha valakivel privát levelezést folytatsz, akkor jó ötlet CC mezőben értesíteni a bejelentőt, így értesül róla, hogy megtetted a szükséges lépéseket. Mindenképpen kérd a bejelentő hozzájárulását mielőtt a CC mezőbe teszed.
Néha a fentiek nem érnek célt. A kérdéses személy agresszív vagy ellenséges lesz és nem változtatja meg a viselkedését. Ebben a helyzetben meg kell fontolnod keményebb intézkedéseket is, mint például:
* **A kérdéses személyt felfüggeszted** a projekten, átmenetileg megtiltva neki, hogy a projektben bármilyen módon részt vegyen.
* **A kérdéses személyt véglegesen kizárod** a projektből.
A felfüggesztés és kizárás súlyos büntetés, és azt mutatja, hogy valaki összeegyeztethetetlen a projekttel és szabályaival. Csak akkor alkalmazd ezeket, ha biztos vagy benne, hogy nem lehet megoldani a problémát.
## A felelősséged karbantartóként
A magatartási kódex nem tetszőlegesen betartatott törvény. Te vagy a kódex végrehajtója és a te felelősséged, hogy az abban megállapított szabályok be legyenek tartva.
Karbantartóként te állapítod meg a közösségére vonatkozó iránymutatásokat, és ezeket neked kell betartatni a magatartási kódexben meghatározott szabályok szerint. Ez azt jelenti, hogy a magatartási kódex bármilyen megsértését komolyan kell venned. A bejelentők felé kötelességgel tartozol a panaszok alapos és tisztességes felülvizsgálatával. Ha úgy ítéled meg, hogy az általuk jelentett magatartás nem sérti a kódexet, azt kommunikáld egyértelműen feléjük és magyarázd meg, miért nem teszel lépéseket. Ezután már rájuk van bízva, hogy a mit tesznek: eltűrik a magatartást, amelyet bejelentettek, vagy abbahagyják a közösségben való részvételt.
Az olyan viselkedésről szóló jelentés, amely _technikailag_ nem sérti a magatartási kódexet, még mindig jelezheti azt, hogy probléma van a közösségben. Ilyenkor meg kell vizsgálnod ezt, mint lehetséges problémát és szükség esetén cselekedned is kell. Lehet, hogy felül kell vizsgálnod a magatartási kódexet, hogy tisztázódjon, mi az elfogadható viselkedés. Esetleg beszélned kell a viselkedési problémában érintett személyekkel, hogy bár nem sértették meg a szabályokat, nagyon közel álltak hozzá, és ezzel másokat kellemetlen helyzetbe hoztak.
Végeredményben, karbantartóként te vagy az, aki lefekteti és betartatja az elfogadható viselkedés szabályait. Megvan a lehetőséged, hogy alakítsd a projekt közösségi értékeit és a résztvevők elvárják, hogy ezeket az értékeket tisztességesen és következetesen képviseld.
## Erősítsd azt a viselkedést amit látni akarsz a világban 🌎
Ha egy projekt ellenségesnek vagy nem befogadónak tűnik – akkor is, ha csak egyetlen ember az oka, akinek a viselkedését mások tolerálják –, azt kockáztatod, hogy rengeteg közreműködőt elveszítesz. Ezek között olyanokat is, akikkel akár soha többé nem találkozhatsz. Nem mindig könnyű a magatartási kódex elfogadása vagy érvényesítése, de a barátságos környezet elősegítése segít a közösség növekedésében.
================================================
FILE: _articles/hu/finding-users.md
================================================
---
lang: hu
title: A projekt felhasználók megtalálása
description: Segítsd a projekted fejlődését azzal, hogy elégedett felhasználókat találsz.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Az ige terjesztése
Nincs olyan szabály, ami kimondja, hogy egy nyílt forráskódú projektet ismertté kell tenni az induláskor. Számos valós ok lehet arra, hogy olyan nyílt forráskódú munkát végezz, amelynek semmi köze a népszerűséghez. Ahelyett, hogy abban reménykednél, hogy mások majd megtalálják és felhasználják a nyílt forráskódú projektedet, kezdd el megismertetni a világot a kemény munkád eredményével!
## Fogalmazd meg az üzenetet
Mielőtt elindítanád a projekted népszerűsítési munkáját, meg kell tudnod fogalmazni, hogy az mit csinál, és miért fontos.
Mitől más, mint a többi, vagy miért különleges a projekt? Miért hoztad létre? Ha megválaszolod ezeket a kérdéseket, segít kommunikálni a projekt lényegét.
Ne feledd, hogy az emberek először _felhasználóként_ vesznek részt, majd idővel _résztvevőkké_ válnak, mert a projekt megold számukra egy problémát. Amikor a projekt üzenetéről és értékéről gondolkodsz, próbáld objektíven, a _felhasználók és résztvevők_ szemszögéből nézni ezeket.
Például, @robb példa programkódokat használt a projektje népszerűsítésére, [Cartography](https://github.com/robb/Cartography), hogy bizonyítsa mennyire hasznos:

Kicsit mélyebb üzenetért, nézd meg a Mozilla ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) felhasználói személyiség fejlesztéséről szóló útmutatóját.
## Segítsd az embereket abban, hogy megtalálják és kövessék a projektedet
Segíts az embereknek megjegyezni a projektedet azáltal, hogy egyetlen pontra, helyre irányítod őket.
**Legyen egyértelmű, hogy hol népszerűsíted a munkád.** Ez lehet Twitter vagy IRC csatorna, vagy GitHub URL, amely könnyen elérhető mindenkinek. Ezek a helyek a projekt növekvő közösségének is helyet biztosítanak.
Ha még nem szeretnél projekthez köthető kommunikációs csatornákat kiépíteni, akkor a saját Twitter vagy GitHub helyeiden is meg tudod azt tenni. A Twitter vagy GitHub azonosító alapján a felhasználók tudni fogják hogyan érjenek el téged és a projektet. Ha eseményen vagy szakmai találkozókon adsz elő, akkor bizonyosodj meg róla, hogy ezeket a elérhetőségeket feltüntetted az előadásodban.
**Fontold meg webhely létrehozását a projektedhez.** A weboldal barátságosabbá teszi a projektet és könnyebbé teszi a keresést, főleg ha ez áttekinthető dokumentációval és útmutatókkal párosul. Egy weboldal azt sugallja, hogy a projekt aktív, így az emberek bátrabban fogják használni. Mutass példákat arra, hogy a felhasználók hogyan tudják használni a munkádat.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), a Django társalapítója mondta egyszer a weboldalról, hogy _"messze a legjobb dolog volt, amit csinálhattunk a Django indulásakor"_.
Ha a projekted a GitHub-on van, akkor használhatod a [GitHub Pages](https://pages.github.com/) funkciót arra, hogy a weboldalt könnyedén létrehozd. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), és [Middleman](https://middlemanapp.com/) [és még számos példa](https://github.com/showcases/github-pages-examples) a nagyszerű, áttekinthető weboldalakra.

Most, hogy van a projektednek üzenete és van egy könnyű módja annak, hogy az emberek megtalálják a projektedet, vágjunk bele, és beszéljünk az emberekkel.
## Ott kell lenni, ahol a hallgatóság van (online)
Az online tájékoztatás nagyszerű módja annak, hogy gyorsan megoszthasd és terjeszd az információt. Az online csatornák használatával lehetőséged van nagyon széles közönség elérésére.
Használd ki a meglévő online közösségeket és platformokat, hogy elérd a saját közönségedet. Ha a nyílt forráskódú projekted szoftver projekt, akkor közönségedet megtalálhatod a [StackOverflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), vagy [Quora](https://www.quora.com/) oldalakon. Találd meg azokat a csatornákat, ahol olyan emberek vannak, akik a legtöbbet profitálhatnak a munkádból, vagy a leginkább kíváncsiak lehetnek rá.
Nézzük, hogyan lehet megtalálni a lényeges helyeket, ahol megoszthatod a projekted:
* **Ismerd meg a kapcsolódó nyílt forráskódú projekteket és közösségeket.** Néha nem kell közvetlenül hirdetni a projekted. Ha a projekt tökéletes a Python-t használó adathalmaz kutatók számára, ismerkedj meg a Python adatkutató közösséggel. Amint az emberek megismernek, természetes lehetőség adódik a beszélgetésre és arra, hogy megoszd velük a munkád eredményét.
* **Találd meg azokat az embereket, akiknek a problémájára megoldást kínál a projekted.** Nézd át a kapcsolódó fórumokat, hogy megtaláld azokat az embereket, akik a projekted közönségét alkothatják. Válaszold meg a kérdéseiket és ha lehetséges, tapintatosan ajánld fel a projektedet megoldásként.
* **Kérj visszajelzést.** Mutasd be magadat és a munkádat egy olyan közösségnek, amelyik érdekesnek találhatja azt. Legyél konkrét abban, hogy szerinted kinek hasznos a projekted. Próbáld így befejezni a mondatod: _"Úgy gondolom, hogy a projektem tényleg nagyon hasznos X csoportnak, akik az Y problémát akarják megoldani_". Hallgasd meg és válaszolj mások észrevételére, ne csak bemutató előadás legyen a projektedről.
Általánosságban: fókuszálj mások megsegítésére mielőtt bármit is kérsz. Mivel bárki képes online egy projektet bemutatni, ezért sok lesz a zaj. Ahhoz, hogy kitűnj a tömegből, az embereknek meg kell érteniük, hogy ki is vagy és nem csak azt, hogy mit akarsz.
Ha senki sem figyel fel vagy válaszol az első kísérletedre, ne add fel! A legtöbb projekt iteratív folyamat, amely hónapokig vagy akár évekig tart. Ha elsőre nem kapsz visszajelzést, akkor próbálj más taktikát vagy keress olyan lehetőséget, hogy mások munkájához hozzájárulj valami hasznossal. A projekt hírének megalapozása és elindítása időt és kitartást igényel.
## Ott kell lenni, ahol a hallgatóság van (off-line)

A projektek népszerűsítésének gyakori módja, ha egy off-line eseményen mutatod be őket. Ez nagyszerű módja annak, hogy elérjed az elkötelezett közönséget, és mélyebb emberi kapcsolatokat építs ki különösen, ha érdekelt vagy a fejlesztők elérésében.
Ha teljesen [új vagy az előadásban](https://speaking.io/), keress egy helyi szakmai találkozót (meetup) amely kapcsolódik a projekted témájához vagy programnyelvéhez.
Ha még soha nem beszéltél egy eseményen, teljesen normális, hogy feszültnek érzed magad. Ne feledd, hogy a közönség azért van ott, mert valóban szeretne hallani a munkádról.
A beszéd írásakor összpontosíts arra, amit szerinted a közönség érdekesnek talál és mutasd meg az értéket a munkádban. Barátságos, elfogadható nyelvezetet használj. Mosolyogj, lélegezz és érezd jól magad!
Amikor késznek érzed magad, gondolkozz el, hogy hol, milyen konferenciákon tudnád bemutatni a projektedet. A konferenciák segítenek abban, hogy több embert elérj, gyakran a világ minden részéről.
Keress olyan konferenciát, amely erősen kapcsolódik a te fejlesztési nyelvedhez, ökoszisztémádhoz. Mielőtt az előadásoddal jelentkezel, nézz utána a konferenciának, és szabd kicsit hozzá az előadásodat, ezzel növelve az esélyét, hogy elfogadják az anyagodat. Gyakran a többi előadó alapján is fel tudod mérni, hogy milyen az adott konferencia közönsége.
## Alapozd meg a hírnevet
A fent vázolt stratégiák mellett a legjobb módja annak, hogy részvételre buzdítsd az embereket a projektedre az, hogy te is részt veszel az ő projektjeikben.
Új résztvevők segítése, információ megosztása és átgondolt részvétel mások projektjeiben segít, hogy pozitív kép alakuljon ki rólad. Aktív nyílt forráskódú közösségi tagként az emberek felfigyelnek rád és könnyebben befogadják a projektedet. A más projektekkel kialakított kapcsolat akár hivatalos partnerséghez is vezethet.
Soha sincs túl késő vagy túl korán a hírnév építéséhez. Még ha el is indítottad a saját projektedet, folyamatosan keresd a lehetőséget arra, hogy másoknak segíts.
Nem létezik olyan módszer, amivel hirtelen közönséget és hírnevet tudsz szerezni. A bizalom és tisztelet megszerzéséhez idő kell, és a hírnév építése sohasem érhet véget.
## Tarts ki!
Lehet, hogy sokáig fog tartani, mire az emberek felfigyelnek a projektedre, de ezzel nincs semmi probléma! Számos olyan projektnek, amely ma a leghíresebbek között van, évekig tartott, mire elérte a jelenlegi ismertségét és aktivitását. A lényeg a kapcsolatépítésen legyen, ne abban reménykedj, hogy egyszer magától fog növekedni a hírneve. Légy türelmes, és működj együtt azokkal, akik értékelik a munkádat.
================================================
FILE: _articles/hu/getting-paid.md
================================================
---
lang: hu
title: Fizetés a nyílt forráskódú munkaért
description: Tartsd fenn a nyílt forráskódú projektedet azáltal, hogy pénzügyi támogatókat szerzel.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Miért keresünk pénzügyi támogatást?
A legtöbb nyílt forráskódú munka önkéntes. Például, ha valaki találkozik egy hibával egy projektben amelyet használ, akkor gyors javítást nyújt be, vagy szabadidejében a nyílt forráskódú projektet javítgatja.
Számos oka lehet annak, hogy valaki nem akar fizetést a nyílt forráskódú munkájáért.
* **Lehet, hogy már főállásban dolgozik, amit szeret,** és ami lehetővé teszi, hogy szabadidejében nyílt forráskódon is dolgozhasson.
* **Hobbiként tekint a nyílt forráskódú fejlesztésre** vagy a kreatív szabadság kiteljesedéseként és nem akarja magát korlátozni.
* **Más előnye származik a nyílt forráskódú munkájából,** például a hírnév vagy portfólió építés, tanulás, vagy a közösségi munka öröme.
Mások számára, különösen, ha a hozzájárulásuk folyamatosak vagy jelentős időre van szükségük, a nyílt forráskódban való munkájuk megfizetése az egyetlen módja annak, hogy részt vehessenek benne, akár a projekt igényei, akár személyes okok miatt.
A népszerű projektek fenntartása jelentős felelősséggel járhat, havi néhány óra helyett akár heti 10 vagy 20 órát is igénybe vehet.
A fizetett munka az élet különböző területein élő emberek számára is lehetővé teszi, hogy érdemi hozzájárulást nyújtsanak a projekthez. Egyesek nem engedhetik meg maguknak, hogy fizetetlen időt töltsenek a nyílt forráskódú projekteken a jelenlegi pénzügyi helyzetük, adósságuk, családi vagy egyéb gondoskodási kötelezettségeik miatt. Ez azt jelenti, soha nem jutnak el a világba azoknak a tehetséges embereknek a hozzájárulásai, akik nem engedhetik meg maguknak, hogy ingyen dolgozzanak. Ennek etikai következményei vannak, ahogy @ashedryden [írta](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), azoknak akiknek nincs szüksége pénzügyi támogatásra könnyebben végezhetnek nyílt forráskódú munkát, így azzal további előnyöket szerezhetnek, míg aki nem tud pénzügyi okokból ilyen munkát végezni, ezt az előnyt értelemszerűen nem is szerezheti meg, ezzel tovább erősítve a sokszínűség hiányát a nyílt forráskódú közösségben.
Ha pénzügyi támogatást keresel, akkor két irány lehet. Résztvevőként finanszírozhatod a saját idődet vagy találsz egy szervezetet, aki támogatja a projektet.
## Saját időnk finanszírozása
Ma sok embernek fizetnek részmunkaidőben vagy teljes munkaidőben nyílt forráskódú munkáért. A leggyakoribb módja annak, hogy fizessenek az idődért az, hogy megbeszéled a saját munkáltatóddal.
Egyszerűbb elérni ezt, ha az adott nyílt forráskódú projektet a munkaadód is használja. Lehet, hogy a munkaadód nem használja a projektet, de használja a Python-t, és egy népszerű Python projekt fenntartása segíti, hogy új Python fejlesztőket találjon a munkaadód. Ezzel a munkaadód még fejlesztő-barátabbnak tűnik.
Ha még nincs nyílt forráskódú projekted, amin dolgoznál, de szeretnéd, ha munkád eredménye nyílt forrású lenne, győzd meg a munkaadódat, hogy valamelyik belső projekt forráskódját tegye nyílttá.
Számos cég fejleszt nyílt forráskódú programokat azért, hogy az imázsukat javítsák és a tehetséges fejlesztőket megszerezzék.
@hueniverse, például úgy találta, hogy a pénzügyi okok miatt kezdett a [Walmart a nyílt forráskódba fektetni](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). És @jamesgpearce szerint a Facebook nyílt forráskódú programja [változtatott a munkaerő toborzáson](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon):
> Ez szorosan illeszkedik a fejlesztői kultúránkhoz és a szervezetünk megítéléséhez. Megkérdeztük a kollégáinkat, "Tudtad-e, hogy a Facebooknak vannak nyílt forráskódú projektjei?". Kétharmad válaszolt igennel. A megkérdezettek fele mondta azt, hogy ez jelentősen hozzájárult a döntésükhöz, hogy nálunk dolgozzanak! Ezek nem elhanyagolható számok, és remélem, hogy ez a trend folytatódik.
Ha a vállalatod ezt az utat választja, fontos, hogy a közösségi és a vállalati tevékenység jól elhatárolódjon. Végső soron a nyílt forráskód fenntartja saját magát a világ minden tájáról érkező emberek hozzájárulásaival, és ez jóval nagyobb, mint bármelyik vállalat vagy hely.
Ha nem tudod meggyőzni a jelenlegi munkáltatót a nyílt forráskódú munka fontosságáról, fontold meg, hogy keresel egy új munkaadót, aki ösztönzi a munkavállalók hozzájárulását a nyílt forráskódhoz. Keress olyan cégeket, amelyek kifejezetten a nyílt forráskódú munkát támogatják. Például:
* Néhány cégnek, mint a [Netflix](https://netflix.github.io/), külön weboldala van, amin a nyílt forráskódú munkát támogatják
A nagy cégektől származó projektek, mint a [Go](https://github.com/golang) vagy a [React](https://github.com/facebook/react), szintén nagy valószínűséggel foglalkoztatnak embereket, hogy nyílt forráskódon dolgozzanak.
A személyes körülményeidtől függően megpróbálhatsz önállóan pénzt gyűjteni a nyílt forráskódú munkád finanszírozásához. Például:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon a [Redux](https://github.com/reactjs/redux) projektet egy [Patreon crowdfunding kampányon](https://redux.js.org/) keresztül finanszírozta (önkéntes támogatás)
* @andrewgodwin a Django schema migrációkat [egy Kickstarter kampányon keresztül](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django) finanszírozta.
Végül, néha a nyílt forráskódú projektek díjakat tűznek ki a hibák megoldására, amelyekkel kapcsolatban akár érdemes lehet segítséget nyújtani.
* @ConnorChristie fizetséget kapott azért, mert [segített](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol -nak a JavaScript könyvtár fejlesztésében, mindezt a [gitcoin rendszeren keresztül](https://gitcoin.co/).
* @mamiM elvégezte a japán nyelvi fordítást @MetaMask részére, melyet [a Bounties Network-ön keresztül finanszíroztak](https://explorer.bounties.network/bounty/134).
## Találd meg a projekt finanszírozását
Az egyéni közreműködőkkel történő megállapodásokon túl, a projektek néha pénzt szereznek vállalatoktól, magánszemélyektől vagy másoktól a folyamatban lévő munka finanszírozásához.
A szervezeti finanszírozás elkölthető a résztvevők támogatására, a projekt működtetésére (például a tárhely díjakra, hosztingra), illetve új funkciók vagy ötletek megvalósítására.
Miközben a nyílt forráskód népszerűsége növekszik, a projektek finanszírozásának megtalálása még mindig kísérleti jellegű, de azért van pár elterjedt lehetőség.
### Szerezz pénzt a munkádhoz közösségi finanszírozási kampányok vagy szponzorálás révén
Könnyű szponzorokat találni, ha már erős közönséged vagy jó hírneved van, vagy ha nagyon népszerű a projekted.
Néhány példa:
* **[webpack](https://github.com/webpack)** magánszemélyektől és cégektől is támogatáshoz jut [az OpenCollective-en keresztül](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** egy non-profit szervezet, amely támogatja a [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), és egyéb Ruby infrastruktúra projekteket
### Hozz létre bevételi forrást
A projektedtől függően kérhetsz támogatást szupportért, új funkcióért, vagy szolgáltatásért. Néhány példa:
* **[Sidekiq](https://github.com/mperham/sidekiq)** kínál fizetős verziót támogatásért cserébe
* **[Travis CI](https://github.com/travis-ci)** kínál fizetős verziót privát használatra
* **[Ghost](https://github.com/TryGhost/Ghost)** alapvetően non-profit, de a felügyelt szolgáltatásért fizetni kell
Néhány híres projekt, mint az [npm](https://github.com/npm/cli) és a [Docker](https://github.com/docker/docker), még kockázati tőkét is bevontak a növekedés finanszírozásához.
### Jelentkezz pályázatokra
Egyes szoftveralapítványok és cégek támogatást nyújtanak a nyílt forráskódú munkákhoz. Előfordul, hogy a támogatásokat magánszemélyek is megkaphatják anélkül, hogy jogi személyt hoznának létre a projekthez.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** támogatást kapott a [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)-tól
* **[OpenMRS](https://github.com/openmrs)** támogatásban részesült a [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees) által
* **[Libraries.io](https://github.com/librariesio)** támogatást kapott a [Sloan Foundation](https://sloan.org/programs/digital-technology)-től
* A **[Python Software Foundation](https://www.python.org/psf/grants/)** támogatást kínál a Python-hoz kapcsolódó projekteknek
Ha érdekelnek a lehetőségek vagy esettanulmányok részletesebben, @nayafia [írt egy útmutatót](https://github.com/nayafia/lemonade-stand), hogy hogyan juthatunk pénzhez a nyílt forráskódú munkával.
A különböző finanszírozási lehetőségek különböző képességeket igényelnek, a választásnál vedd figyelembe az erősségeidet.
## Pénzügyi támogatás kiépítése
Függetlenül attól, hogy a projekted új ötlet-e, vagy már évek óta létezik, készülj arra, hogy jelentős figyelmet kell fordítanod a lehetséges támogatók megtalálására és meggyőzésére.
Akár a saját időd finanszírozására, akár a projekted részére gyűjtesz támogatást, meg kell tudnod válaszolni a következő kérdéseket.
### Hatás
Miért olyan hasznos ez a projekt? Miért szeretik a felhasználók vagy a potenciális felhasználók a projektet? Hol fog tartani öt év múlva a projekt?
### Elfogadottság
Próbálj meg tényeket gyűjteni arra vonatkozóan, hogy a projekt lényeges, legyenek számok, anekdoták vagy ajánlások. Vannak-e olyan cégek vagy ismert emberek, akik most is használják a projektet? Ha nincs ilyen, akkor van-e olyan prominens személy, aki pozitívan nyilatkozott róla?
### Érték a támogató részére
A finanszírozók, akár a munkáltatód, akár egy alapítvány, gyakran a lehetőségek irányából közelítik meg a támogatás kérdését. Miért kellene támogatniuk a projektedet a kihívások ellenére? Hogyan részesülnek a hozadékából, milyen előnyöket jelent számukra a támogatás?
### A támogatás felhasználása
Pontosan mit fogsz elérni a javasolt finanszírozással? Az emberek fizetése helyett inkább a projekt mérföldköveire vagy eredményeire összpontosíts.
### Hogyan kapod meg a támogatást
A támogatónak vannak kikötései a kifizetéssel kapcsolatosan? Például lehet, hogy non-profit vállalkozásnak kell lenned vagy rendelkezned kell egy non-profit támogatóval. Lehetséges, hogy csak magánszemélyt támogatnak, szervezeteket vagy cégeket nem. Az igények támogatónként eltérhetnek, ezért érdemes ezeket előre felderíteni.
## Kísérletezz és ne add fel
Pénzügyi támogatást kapni nem könnyű dolog, legyen szó nyílt forráskódról, non-profit szervezetről, vagy szoftver startupról, legtöbb esetben kreatívnak kell lenned. El kell döntened, hogyan szeretnéd a támogatást megkapni, kutatnod kell, és a támogató helyébe kell képzelned magad, hogy meggyőzhesd a támogatásról.
>
================================================
FILE: _articles/hu/how-to-contribute.md
================================================
---
lang: hu
title: Hogyan lehet hozzájárulni a nyílt forráskódhoz
description: Szeretnél hozzájárulni a nyílt forráskódhoz? Ez egy útmutató a nyílt forráskódú fejlesztésekben történő részvételhez kezdők és haladók számára.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Miért vegyél részt a Nyílt Forráskódú fejlesztésben?
A nyílt forráskódhoz való hozzájárulás a tanulás, a tanítás és a tapasztalatok megszerzésének a legjobb útja bármiben, amit csak el tudsz képzelni.
Miért járulnak hozzá az emberek a nyílt forráskódhoz? Rengeteg oka van!
### Készségfejlesztés
Kódolás, felhasználói felület tervezése, grafikai tervezés, írás vagy akár szervezés – ha gyakorlatot keresel, akkor találsz feladatot nyílt forráskódú projekten.
### Találkozz hasonló érdeklődésű emberekkel
A nyílt forráskódú projektek befogadó, barátságos közösségek, ahová évek múlva is visszatérnek az emberek. Sokan egy egész életen át tartó barátságot kötnek a nyílt forráskódú részvételük révén, függetlenül attól, hogy konferenciákon vagy késő esti online beszélgetéseken ismerkednek-e meg.
### Keress mentorokat és taníts másokat
Közös projekten dolgozni másokkal azt jelenti, hogy el kell magyaráznod, hogy hogyan működnek a dolgok, vagy más embereket kell megkérned, hogy segítsenek. A tanításban és tanulásban minden résztvevő ki tud teljesedni.
### Növeld a hírnevedet és támogasd a karriered azzal, hogy közzéteszed a munkád
Alapértelmezés szerint minden nyílt forráskódú munka publikus, amit azt jelenti, hogy bárhol megjelenhetsz a munkáiddal bemutatva azt, hogy mire vagy képes.
### Emberi készségek fejlesztése
A nyílt forráskód számos kihívást tartogat a vezetői és szervezői készségek gyakorlásában, úgy mint konfliktus megoldás, csapatszervezés és a feladatok priorizálása.
### Lehetőséged van változtatni, még ha kicsit is
Ahhoz, hogy sikerélményed legyen egy nyílt forráskódú projektben, nem kell egy életen át részt venned a munkában. Láttál már valaha egy elgépelést egy weboldalon, és kívántad már azt, hogy valaki bárcsak kijavítaná? Egy nyílt forráskódú projektben éppen ezt tudod megtenni. A nyílt forráskód segít abban, hogy az emberek a saját életüket irányítsák és azt, hogy hogyan alakítsák a világot a maguk örömére.
## Mit jelent a hozzájárulás?
Ha új vagy a nyílt forráskódban, akkor a folyamat először félelmetes lehet. Hogyan találd meg a jó projektet? Mi van, ha nem jól kódolsz? Mi történik, ha valami nem működik?
Ne aggódj! Rengeteg módja van annak, hogy részt vegyél a nyílt forráskódú fejlesztésekben, és számos tipp segít abban, hogy a legtöbbet hozd ki magadból.
### Nem kell kóddal hozzájárulnod
Gyakori tévhit a nyílt forráskódhoz való hozzájárulásról, hogy programozni kell hozzá. Valójában gyakran a projekt többi része az, amely [elhanyagolt, vagy mellőzött](https://github.com/blog/2195-the-shape-of-open-source). Óriási segítség a projektnek, ha ilyen jellegű munkával járulsz hozzá!
Még ha szeretsz is programozni, akkor is nagyszerű módja a projektben való részvételnek vagy hogy találkozz közösségi tagokkal az, hogy más jellegű hozzájárulásod van a projekthez. Ezeknek a kapcsolatoknak a kiépítése lehetőséget teremt arra, hogy a projekt egyéb részein dolgozz.
### Szeretsz rendezvényt szervezni?
* Szervezz gyakorlati előadásokat vagy találkozókat a projektről, [ahogy @fzamperin csinálja a NodeSchool-nál](https://github.com/nodeschool/organizers/issues/406)
* Szervezd meg a projekttel kapcsolatos konferenciát (ha van ilyen)
* Segíts a közösség tagjainak megtalálni a megfelelő rendezvényeket és írj javaslatokat az előadások témáira
### Szereted a grafikai tervezést?
* Alakítsd át a megjelenést, hogy a projekt jobban áttekinthető legyen
* Végezz felhasználói igényfelmérést, hogy javítsd vagy finomítsd a projekt oldal navigációját vagy menürendszerét, [például ahogy a Drupal javasolja](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Állíts össze egy stílus útmutatót ezzel segítve az egységes vizuális megjelenést
* Készíts póló terveket vagy új logót, [ahogy a hapi.js fejlesztői tették](https://github.com/hapijs/contrib/issues/68)
### Szeretsz írni?
* Írd és javítsd a projekt dokumentációját
* Tarts karban egy példa könyvtárat a projekt használatáról
* Indíts hírlevelet a projektről, vagy a levelező listáról készít összefoglalót
* Írj útmutatókat a projektről, [ahogy PyPA fejlesztői tették](https://packaging.python.org/)
* Fordíts le a projekt dokumentációját
### Szeretsz szervezni?
* Kapcsold össze a duplikált hibajegyeket és javasolj más címkéket, hogy jobban szervezett legyen a projekt
* Nézd át a nyitott hibajegyeket és javasold a régiek lezárását, [ahogy @nzakas csinálta az ESLint esetén](https://github.com/eslint/eslint/issues/6765)
* Tegyél fel tisztázandó kérdéseket a közelmúltban megnyitott felvetésekről, problémákról a vita előmozdítása érdekében
### Szeretsz kódolni?
* Keress nyitott problémákat, amelyeket megoldhatsz, [mint ahogy @dianjin csinálta a Leaflet esetén](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Kérdezd meg, hogy tudsz-e segíteni valamely új funkció kifejlesztésében
* Automatizáld a projektet
* Fejleszd az eszközöket és a teszteket
### Szeretsz segíteni embereken?
* Válaszolj a projekttel kapcsolatos kérdésekre, például a StackOverflow-n, ([mint ez a Postgres példa](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) vagy a Reddit-en
* Válaszold meg a kérdéseket a nyitott problémákról
* Segíts moderálni a beszélgetést a fórumokon vagy egyéb csatornákon
### Szeretsz másoknak segíteni a kódolásban?
* Nézd át más emberek kódját, amellyel a projekthez járulnak hozzá
* Írj útmutatót arról, hogyan kell a projektben dolgozni
* Ajánld fel a segítségedet a kódolásban résztvevőnek, légy mentor [mint ahogy @ereichert csinálta @bronzdoc esetén a Rust projektben](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Nem csak szoftver projekten tudsz dolgozni!
Bár a "nyílt forráskód" gyakran szoftverre utal, bármi másban is részt tudsz venni. Vannak könyvek, receptek, válogatott listák és útmutatók, amelyeket nyílt forráskódú projektként fejlesztenek.
Például:
* @sindresorhus karbantart egy [listát a nagyszerű dolgokat listázó oldalakról](https://github.com/sindresorhus/awesome)
* @h5bp kezeli [a listát a lehetséges munkainterjú kérdésekről](https://github.com/h5bp/Front-end-Developer-Interview-Questions) a front-end fejlesztő jelölteknek
* @stuartlynn és @nicole-a-tesla készített egy [gyűjteményt az északi madarak érdekességeiről](https://github.com/stuartlynn/puffin_facts)
Még ha szoftverfejlesztő is vagy, egy dokumentációs projekt könnyebbé teszi az elindulást a nyílt forráskód világában. Kevésbé ijesztő, ha olyan projektben veszel részt először, ami nem tartalmaz kódot és a másokkal való együttműködés folyamán alakul ki az önbizalmad és nő a tapasztalatod.
## Kezdetek egy új projektben
Bármi más dolog, mint mondjuk egy elírás javítása olyan, mintha idegenekkel állnál le beszélgetni. Ha elkezdesz a lámákról beszélni, miközben ők elmélyedt párbeszédet folytatnak az aranyhalakról, akkor lehet kicsit furán fognak rád nézni.
Mielőtt vakon javasolnál valamit, próbálj elmélyedni a témában, hogy megértsd azt. Ha így teszel, nagyobb eséllyel figyelnek oda a véleményedre és javaslataidra.
### Egy nyílt forráskódú projekt anatómiája
Minden nyílt forráskódú közösség más.
Éveket eltölteni ugyanazzal a nyílt forráskódú projekttel azt jelenti, hogy ismersz egy nyílt forráskódú projektet. Egy másik projekt esetén teljesen más fogalmakkal, viselkedési normákkal és kommunikációs módszerekkel találkozhatsz.
Ugyanakkor számos nyílt forráskódú projekt hasonló módon működik. Az eltérő közösségi szerepek vagy folyamatok megértése segít abban, hogy gyorsan alkalmazkodni tudj bármely új projekthez.
Egy tipikus nyílt forráskódú projekt esetén az alábbi szerepek vannak:
* **Szerző:** Személy(ek), esetleg szervezet, aki létrehozta a projektet
* **Tulajdonos:** Személy(ek), akinek adminisztrációs joga van a szervezet vagy a nyílt forrás felett (nem mindig egyezik a Szerzővel a személye)
* **Karbantartók:** Olyan résztvevők, akiknek felelőssége a projekt irányítása, az elképzelések formába öntése. (Ők lehetnek akár a Szerzői vagy a Tulajdonosai is a projektnek.)
* **Közreműködők:** Bárki, aki hozzájárul valamivel a projekthez.
* **Közösség tagjai:** Emberek, akik használják a projektet. Aktívak lehetnek a vitákban, vagy jelezhetik észrevételeiket a projekttel kapcsolatban.
A nagyobb projekteknek lehetnek olyan albizottságai vagy munkacsoportjai is, amelyek különböző feladatokra összpontosítanak, mint például eszközök, prioritás, közösségi moderálás és rendezvényszervezés. Ezt az információt megtalálod a projekt honlapján a "csapat" oldalon, vagy a működési szabályok dokumentációi között.
A projektnek dokumentációja is van. Ezek a fájlok általában a forráskód legfelső szintjén vannak felsorolva.
* **LICENSE:** Alapértelmezés szerint minden nyílt forráskódú projektnek kell rendelkeznie egy [nyílt forráskód licenccel](https://choosealicense.com). Ha a projektnek nincs ilyen licence, akkor az nem nyílt forráskód.
* **README:** A README egy használati útmutató a közösség új tagjainak. Elmagyarázza, hogy miért hasznos a projekt és hogy hogyan lehet használni.
* **CONTRIBUTING:** Míg a README segíti az embereket a _használatban_, addig a CONTRIBUTING a projektben való _részvétel_ módját dokumentálja. Elmagyarázza, hogy mivel járulhatsz hozzá a projekthez és hogyan működnek a folyamatok. Bár nem minden projektnek van ilyen dokumentációja, a jelenléte azt mutatja, hogy számítanak a részvételedre és a hozzájárulásodra.
* **CODE_OF_CONDUCT:** Magatartási kódex, amely meghatározza a résztvevők magatartásának alapszabályait és elősegíti a barátságos környezet kialakítását. Bár nem minden projektnek van ilyen dokumentációja, a jelenléte azt mutatja, hogy barátságos projekt, amely számít a részvételedre.
* **Egyéb dokumentációk:** Lehetnek további dokumentációk, különösen nagyobb projektek esetén, mint például oktató anyagok, fejlesztési útmutatók, irányítási szabályok.
A nyílt forráskódú projektek az alábbi eszközöket használják az egyeztetések szervezéséhez. A korábbi anyagok elolvasása jó képet ad arról, hogyan gondolkodik és működik a közösség.
* **Issue tracker:** A résztvevők ennek segítségével beszélik meg a projekttel kapcsolatos problémákat.
* **Pull requests:** A résztvevők ezek segítségével vitatják meg és tekintik át a folyamatban lévő változtatásokat.
* **Internetes fórumok vagy levelező listák:** Néhány projekt használhatja ezen csatornákat is a különböző témák átbeszélésére (például, _"Hogyan tudom...?"_ vagy _"Mit gondolsz arról, hogy...?"_ című témát indít a _hiba jelentés,_ vagy _új funkció létrehozása_ helyett). Mások minden beszélgetést az _Issue tracker_-en keresztül kezelnek.
* **Csevegő csatorna:** Néhány projekt azonnali üzenetküldő (IM) csevegő csatornákat használ (mint amilyen a Slack vagy az IRC) általános beszélgetésre, együttműködésre és gyors üzenet váltásra.
## Találd meg a projektedet!
Most, hogy már tudod, hogy hogyan működnek a nyílt forráskódú projektek, itt az idő megtalálni azt, amelyben részt veszel!
Ha még sohasem vettél részt nyílt forráskódú fejlesztésben korábban, akkor fogadd meg John F. Kennedy volt amerikai elnök egyik tanácsát: _"Ne azt kérdezd, hogy az ország mit tud tenni érted – kérdezd azt, hogy te mit tehetsz az országért."_
Hozzájárulás egy nyílt forráskódú projekthez bárhogy lehetséges, bármelyik projektben. Nem kell túlgondolni azt, hogy pontosan mi lesz az első hozzájárulásod, vagy azt, hogy az hogyan fog kinézni.
Gondolkozz olyan projektben, amelyet már használsz, vagy használni akarsz. Azokat a projekteket, amelyekben aktívan részt veszel, szívesebben használni fogod a jövőben is.
Ezekben a projektekben, amikor azon kapod magad, hogy gondolkozol egy jobb vagy más megoldásban, cselekedj ösztönösen!
A nyílt forráskód nem egy zártkörű klub; ugyanolyan emberek dolgoznak rajta, mint te. A "Nyílt Forráskód" csak egy divatos kifejezés arra, hogy a világ problémáit megoldhatóként is lehet kezelni.
Talán épp a README-t olvasod és találsz egy rossz hivatkozást, vagy egy elírást. De az is lehet, hogy új felhasználó vagy és észreveszel valami hibát, vagy egy problémát, amit dokumentálni kellene. Ahelyett, hogy nem törődsz vele és továbblépsz vagy megkérsz valakit, hogy javítsa, inkább ajánld fel a segítséged. Ez az amiről a nyílt forráskód szól!
> [a nyílt forráskódú alkalmi hozzájárulások 28%-a](https://www.igor.pro.br/publica/papers/saner2016.pdf) a dokumentációt érinti, mint például egy elírás javítása, formázás, vagy fordítás.
Ha szeretnél egy hibát javítani, akkor minden nyílt forráskódú projekt esetén találsz egy `/contribute` oldalt, amely segít abban, hogy kezdőként kijavítsd az első hibát. A projekt GitHub kezdőoldal URL-jét egészítsd ki a `/contribute` résszel a végén, (például [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
Az alábbiakban találsz néhány oldalt, amelyek segítenek abban, hogy felfedezd és megtaláld az új projektedet:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Egy ellenőrző lista, mielőtt részt vennél a projektben
Ha találtál egy projektet, amelyhez hozzájárulnál, végezz előtte egy gyors ellenőrzést. Bizonyosodj meg arról, hogy alkalmas-e a külső hozzájárulások fogadására. Máskülönben előfordulhat, hogy a kemény munkádnak nem lesz eredménye.
Itt egy lista, aminek segítségével kiértékelheted, hogy a projekt alkalmas-e egy új résztvevőnek.
**Megfelel a nyílt forráskód definíciójának**
**A projekt aktívan fogadja a hozzájárulásokat**
Nézd meg a közösség aktivitását a _master_ ágon. A GitHub-on ezeket az információkat a projekt főoldalán eléred.
Nézd meg a projekt hibakezelőjét.
Most csináljuk meg ugyanezt a projekt kódbeolvasztási kéréseire (_pull request_).
**Barátságos projekt**
Egy barátságos és befogadó projekt azt jelzi, hogy az új résztvevőket szívesen várják.
## Hogyan kell hozzájárulni?
Végül megtaláltad a projekted és készen állsz a részvételre! Nézzük, hogyan tudsz valóban jól hozzájárulni!
### Hatékony kommunikáció
Akár csak egyszeri résztvevő vagy, vagy csatlakoznál a közösséghez, a másokkal való együttműködés az egyik legfontosabb képesség, amit a nyílt forráskódú munkád során fejleszteni tudsz.
Mielőtt hibát jelzel, beolvasztást kérelmezel vagy esetleg kérdéseket teszel fel a csevegésben, tartsd szem előtt ezeket a pontokat a hatékonyabb munka érdekében.
**Add meg a téma leírását!** Ezzel segítesz másoknak, hogy gyorsan felvegyék a téma fonalát. Ha belefutsz egy hibába, akkor magyarázd el részletesen hogyan idézted azt elő, és hogy hogyan lehet reprodukálni. Ha új ötlettel állsz elő, magyarázd el, hogy miért gondolod úgy, hogy az hasznos lesz a projektnek (és nem csak neked)?
> 😇 _"X nem történik, ha azt csinálom, hogy Y"_
>
> 😢 _"X hibás! Kérlek, javítsátok!"_
**Először végezd el a házi feladatot!** Teljesen rendben van ha nem értesz dolgokhoz, de mutasd meg azt, hogy megpróbáltad! Mielőtt segítséget kérsz, győződj meg róla, hogy átnézted a projekt README-jét, dokumentációját, nyitott és lezárt hibajelzéseit, a levelező listát és keress rá a problémára az interneten. Az emberek értékelni fogják, ha látják, hogy próbálsz tanulni.
> 😇 _"Nem vagyok benne biztos, hogy hogyan oldjam meg az X dolgot. Átnéztem az útmutatókat, de nem találtam erről említést."_
>
> 😢 _"Hogyan csináljam meg az X dolgot?"_
**Légy tömör és egyértelmű!** Hasonlóan az email küldéséhez, minden hozzájárulás esetén szükséges az – függetlenül attól, hogy mennyire egyszerű vagy mennyit segít –, hogy más is átnézze. Számos projektnek több beérkező módosítási igénye van, mint ahányan dolgoznak rajta. Ezért az észrevételeid legyenek tömörek és egyértelműek, így nagyobb eséllyel kapsz segítséget.
> 😇 _"Szeretnék írni egy API útmutatót."_
>
> 😢 _"Épp vezettem az autópálya lehajtón egy nap és megálltam tankolni, és ekkor egy hatalmas ötlet jutott az eszembe, amit meg kellene csinálnunk, de mielőtt elmagyaráznám, hadd meséljek a ..."_
**Legyen nyilvános a kommunikációd!** Bár csábító, de a karbantartókat ne privát csatornákon keresd; kivéve, ha érzékeny információt (biztonsági incidens, komoly viselkedési szabályok megsértése) kell megosztanod. Ha a kommunikáció publikus, akkor több ember tud tanulni belőle, mindenkinek hasznára válik. A publikus megbeszélések már önmagukban is hozzájárulások a projekthez.
> 😇 _(megjegyzésként:) "@-karbantartó Szia! Mi legyen ennek a Pull Request-nek a sorsa?"_
>
> 😢 _(emailként:) "Szia! Sajnálom, hogy a levelemmel zavarlak, de kíváncsi lennék rá, hogy van-e esély a Pull Requestem beolvasztására?"_
**Rendben van, hogy kérdezel, de legyél türelmes!** Mindenki volt kezdő az adott projekten, még a gyakorlott résztvevőknek is fel kell venni a tempót egy új projekt esetén. Ugyanígy, még a régebbi karbantartók sem mindig ismerik a projekt minden részét. Légy velük olyan türelmes, mint amilyet te is elvárnál tőlük.
> 😇 _"Köszönöm, hogy megnézted ezt a hibát. Követtem az utasításaidat, itt a végeredménye:"_
>
> 😢 _"Miért nem javítod a jelzett problémámat? Ez nem a te projekted?"_
**Tartsd tiszteletben a közösség döntéseit!** Az ötleteid eltérhetnek a közösség céljaitól vagy jövőképétől. Ötleteidre kaphatsz visszajelzést, vagy akár el is utasíthatják azt. Míg lényeges, hogy egyeztess és keresd a kompromisszumot, tartsd észben, hogy a karbantartóknak a hosszabb távon kell a te döntéseddel együtt élni, mint neked. Ha nem értesz egyet az iránnyal, bármikor létrehozhatod a saját elágazásodat (_fork_) a kódból, vagy akár kezdhetsz egy új projektet.
> 😇 _"Bár szomorú vagyok, hogy nem támogatjátok az ötletemet, de ahogy elmagyaráztátok, megértettem azt, hogy ez az eset csak kevés embert érint. Köszönöm, hogy meghallgattatok!"_
>
> 😢 _"Miért nem támogatjátok az ötletem? Ez elfogadhatatlan!"_
**Mindenekelőtt: ne légy ízléstelen!** A nyílt forráskódon együttműködők a világ számos részéről származnak. A kontextus gyakran elveszik a nyelvi-, kulturális-, földrajzi- és időzóna különbségek miatt. Ráadásul az írott kommunikáció megnehezíti a hangulat vagy a hozzászólás érzelmi részének közvetítését. Tételezz fel jó szándékot a beszélgetésekben. Teljesen elfogadható, ha udvariasan visszautasítasz egy ötletet, vagy megkérsz valakit, hogy adjon további információt a problémáiról. Próbáld az Internetet tisztábban ott hagyni, mint ahogy találtad.
### Összefoglalás
Mielőtt bármibe belekezdenél, győződjön meg róla, hogy az ötletedet nem vitatták-e már meg máshol. Nézd meg a projekt README-jét, a nyitott és lezárt hibajegyeket és kérdéseket, a levelezőlistát és a StackOverflow-t. Nem kell órákat töltened azzal, hogy átnézz mindent, de egy gyors keresés néhány kulcsszóra nem tart semeddig.
Ha nem találod meg a felvetést sehol, akkor mehetsz tovább. Ha a projekt a GitHub-on van, akkor nyithatsz egy hibajegyet vagy létrehozhatsz egy beolvasztási kérést a módosított kód alapján:
* **Issues** (hiba, észrevétel) olyanok mint egy párbeszéd, vagy egy megbeszélés
* **Pull requests** (beolvasztási kérelem) szolgál a munka megkezdésére
* **Egyszerű kommunikációra,** például tisztázó- vagy a "Hogyan..." kérdésekre használd a StackOverflow-t, IRC-t, Slack-et vagy egyéb rendelkezésre álló csevegő csatornát, ha van ilyen a projektben
Mielőtt hibajegyet, észrevételt vennél fel, vagy egy beolvasztási kérelmet benyújtanál, ellenőrizd a projektben való részvételről szóló dokumentációt (ezt gyakran a CONTRIBUTING vagy a README tartalmazza), mert lehetséges, hogy mellékelned kell valamilyen specifikus információt is. Például, a projekt kérheti azt, hogy egy űrlapot tölts ki, vagy megkövetelheti a teszteket.
Ha jelentősebb munkával akarsz részt venni, akkor nyiss egy probléma felvetést tartalmazó jegyet, ahol a kérdéseket meg lehet vitatni, mielőtt még nekikezdenél. Hasznos, ha egy darabig csak nyomon követed a projektet és a közösséget (a GitHub-on, [klikkents a "Watch" linkre](https://help.github.com/articles/watching-repositories/) hogy értesítést kapj az összes beszélgetésről), hogy megismerd a tagjait, mielőtt olyan munkát végeznél benne, amit nem fogadnak el.
### Hibajegy nyitása
Általában a következő helyzetekben kell hibajegyet (_Issue_) nyitni:
* Hiba jelentése, amelyet nem tudsz megoldani egymagad
* Magas szintű probléma vagy téma, esetleg ötlet megbeszélése (például: közösség, vízió vagy szabályok)
* Új funkció javasolása, vagy más projekt célok, ötletek
Tippek a jó párbeszédhez:
* **Ha nyitsz egy hibajegyet, amit meg szeretnél oldani,** kommenteld azt, így más is tudja, hogy foglalkozol vele. Így mások nem dolgoznak ugyanezen feleslegesen.
* **Ha a hibajegy már régóta nyitott,** akkor lehetséges, hogy már máshol foglalkoznak vele, vagy már meg van oldva, így célszerű egy kommentben megkérdezni az állapotát, mielőtt elkezdesz rajta dolgozni.
* **Ha nyitottál egy hibajegyet és később magadtól rájöttél a megoldásra,** akkor kommentezz, hogy más is megismerje azt, majd zárd le a hibajegyet. Az eredmény dokumentálása is nagyon fontos a projektnek.
### Beolvasztási kérelem megnyitása
Általában a következő esetekben szükséges beolvasztási kérelmet nyitni:
* Triviális javítások küldése (például egy gépelési hiba, hibás link vagy nyilvánvaló hiba)
* Olyan feladaton történő munka elkezdése, amelyet már a közösség kitárgyalt, átbeszélt és tisztáztad a kérdéseket
A beolvasztási kérelem nem feltétlen jelent befejezett munkát. Gyakran jobb korán megnyitni ezt, így mások megfigyelhetik és visszajelzéseket adhatnak róla. Csak jelöld meg "WIP" (Work in Progress) jelzéssel a tárgy soron. Ezek után bármikor, szabadon adhatsz hozzá új kódot (commit és push).
Ha a projekt a GitHub-on van, akkor a következőképpen kell beolvasztási kérelmet benyújtani:
* **[Ágaztasd (fork) el a kód tározót](https://guides.github.com/activities/forking/)** és klónozd le magadhoz lokálisan. A lokális másolatodat kapcsold az eredeti tárolóhoz (original "upstream") egy _remote_ hozzáadásával. Frissítsd minél gyakrabban a változásokat az "upstream"-ről, hogy naprakész maradj. Így beolvasztás esetén kisebb eséllyel lesz ütközés a kódok összefésülésekor. (Részletes instrukciókat [itt találsz](https://help.github.com/articles/syncing-a-fork/).)
* **[Hozz létre egy új ágat (branch)](https://guides.github.com/introduction/flow/)** a módosításaidhoz.
* **Hivatkozz meg bármilyen releváns hibajegyet** vagy a dokumentációt a beolvasztási kérelmedben (például, "Closes #37.")
* **Adj hozzá a kérelmedhez "előtte" és "utána" képernyőképeket** ha HTML/CSS változás történt. Húzd be a képeket a beolvasztási kérelembe.
* **Teszteld a változtatásokat!** Mindig futtasd le a meglévő teszteket a kódodon, vagy írj újakat ha szükséges. Függetlenül a tesztektől bizonyosodj meg arról, hogy a módosításod nem rontja-e el a projektet.
* **A módosításaidnál alkalmazkodj a projekt kódolási stílusához** a legjobb tudásod szerint. Ez jelentheti azt, hogy más sorbehúzást kell használni a szövegben, lehet hogy a projekt használ pontosvesszőt, de te nem szoktál, vagy másként írják a kód kommenteket, mint ahogy te szoktad. Ha ezt betartod, a karbantartóknak könnyebb a kódot összefésülni (merge), másoknak pedig karbantartani és megérteni azt.
Ha ez lesz az első beolvasztási kérelmed (Pull Request), akkor nézd ezt meg előtte: [Make a Pull Request](http://makeapullrequest.com/), amelyben @kentcdodds egy részletes videó anyagot készített. A beolvasztási kérelmek benyújtását a @Roshanjossey által készített [First Contributions](https://github.com/Roshanjossey/first-contributions) GitHub projekten is gyakorolhatod.
## Mi történik miután beküldted a kész beolvasztási kérelmedet?
Megcsináltad! Gratulálunk, a nyílt forráskód résztvevője lettél. Reméljük ezt az első lépést majd még számos követi.
Miután beküldted a végleges hozzájárulásod a projekthez, a következők történhetnek:
### 😭 Nem kapsz választ
Remélhetőleg [ellenőrizted a projekt aktivitását](#egy-ellenőrző-lista-mielőtt-részt-vennél-a-projektben) mielőtt csatlakoztál hozzá. Még egy aktív projekt esetén is előfordulhat, hogy nem kap választ azonnal a résztvevő.
Ha nem kapsz válasz egy hét alatt sem, akkor udvariasan, ugyanazon a szálon kérj meg valakit, hogy nézze át a munkádat, ez így elfogadható. Ha tudod, ki lenne ez a személy akkor meg is említheted őt a @-mention forma használatával.
**Soha** ne követlenül, privát csatornán lépj kapcsolatba ezzel a személlyel; emlékezz, a publikus kommunikáció az egyik fontos alapja a nyílt forráskódnak.
Ha az udvarias kérésedre sem reagált senki, akkor lehet, hogy soha nem is fog. Ez lehangoló lehet, de ne add fel, mindenkivel megtörténhet! Számos oka lehet annak, hogy nem kaptál választ, mint például olyan személyes problémák, körülmények, melyekre nincsen ráhatásod. Próbálj meg másik projektet találni, vagy más módon hozzájárulni a projekthez. Ez egy jó példa arra, hogy miért ne tegyél bele túl sok munkát, mielőtt a közösség többi tagja nem reagál az ötletedre.
### 🚧 Valaki módosítást kér a munkádon
Gyakran előfordul, hogy valaki módosítást kér a munkádon, amely lehet egy tisztázó kérdés, vagy egy kód módosítási igény.
Amikor valaki ilyet kér, reagálj rá, hiszen vette a fáradtságot és időt áldozott rá, hogy a munkádat áttekintse. Nagyon rossz gyakorlat az, ha beolvasztási kérelmedet leadtad és utána nem foglalkozol már vele. Ha nem tudod, hogy a kérést hogyan teljesíthetnéd, akkor kutass, olvass és ha szükséges kérdezz vagy kérj segítséget.
Ha már nincs többé időd, hogy a problémán dolgozz (például időközben több hónap eltelt és megváltoztak a körülményeid), akkor jelezd a karbantartók felé, hogy tudják ezt. Lehet, hogy valaki más örömmel átvenné a feladatot.
### 👎 Nem fogadták el a munkád
A munkádat végül vagy elfogadják, vagy nem. Remélhetőleg még nem tettél bele túl sok munkát. Ha nem vagy benne biztos, hogy miért utasították el a hozzájárulásodat, nyugodtan kérdezz és tisztázd az okokat. De végül mindig tartsd tiszteletben a döntést! Ne vitatkozz feleslegesen és ne légy ellenséges! Bármikor megteheted, hogy elágaztatod a projektet (fork) és a saját verziódon dolgozol, ha nem értesz egyet.
### 🎉 Elfogadták a munkád
Hurrá! Sikeresen hozzájárultál a nyílt forráskódhoz!
## Megcsináltad!
Legyen szó az első nyílt forráskódú munkádról, vagy arról hogy új módját keresed a hozzájárulásnak, reméljük adtunk egy kis inspirációt a cselekvéshez. Még ha nem is fogadták el a hozzájárulásodat, ne feledj el köszönetet mondani a karbantartóknak, hogy energiát szántak rád és a munkádra. A nyílt forráskódot épp olyan emberek alakítják mint te: egy hibajelzés, egy beolvasztási kérés (Pull Request), néhány komment, vagy csak egy egyszerű köszönet.
================================================
FILE: _articles/hu/index.html
================================================
---
layout: index
title: Nyílt forráskód útmutató
lang: hu
permalink: /hu/
---
================================================
FILE: _articles/hu/leadership-and-governance.md
================================================
---
lang: hu
title: Vezetés és irányítás
description: A nyílt forráskódú projektek részére előnyt jelent a döntéshozatal formális szabályozása.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## A növekvő projekt irányításának megértése
A projekt egyre növekszik, az emberek elkötelezettek, és te is elkötelezted magad, hogy ezt a dolgot csinálod. Ebben a szakaszban felmerül a kérdés, hogy hogyan kell a rendszeres résztvevőket beépíteni a munkafolyamatba, függetlenül attól, hogy valaki kódot ad hozzá, vagy épp megoldja a közösségi vitákat. Ezeket a kérdéseket válaszoljuk most meg.
## Milyen példák vannak a nyílt forráskódú projektekben használt formális szerepekre?
Sok projekt hasonló struktúrát követ a résztvevői szerepek és a szerep azonosítása szempontjából.
Hogy ezek a szerepek valójában mit jelentenek, teljesen rajtad múlik. Íme néhány szerepkör:
* **Karbantartó (Maintainer)**
* **Résztvevő (Contributor)**
* **Commiter (Committer)**
**Néhány projektnél a "karbantartók"** azok az emberek akiknek kód módosítási joguk van. Más projektekben, egyszerűen csak hétköznapi résztvevők, akik a README állományban fel vannak sorolva.
A karbantartó nem feltétlen szükséges, hogy olyan ember legyen aki kódot ír a projektben. Lehet olyan, aki nagyon sok munkát fektet a projekt ismertté tételébe, vagy rengeteg dokumentációt ír, hogy könnyebben érthető legyen a projekt mások számára. Függetlenül attól, hogy mit csinál nap mint nap, a karbantartó valószínűleg olyan ember, aki felelősséget érez a projektért, és elkötelezett amellett, hogy jobbá tegye azt.
**"Résztvevő" akárki lehet** aki kommentez egy hibát vagy egy beolvasztási kérelmet, vagy más értéket ad a projekthez (megold egy hibát, kódot ír, vagy eseményeket szervez), vagy bárki, akinek a módosítását beolvasztották a projektbe (talán ez a legszűkebb definíció).
**A "committer" fogalma** segít abban, hogy megkülönböztethessük a kódhoz való hozzáférést, mint speciális felelősséget attól, amelyet más résztvevői típusok képviselnek.
Bármilyen szerepkört definiálhatsz a projektedben, de [fontold meg a tágabb definíciók használatát](../how-to-contribute/#mit-jelent-a-hozzájárulás) hogy a közreműködés más formáit is ösztönözd. Használhatsz vezetői szerepeket, hogy hivatalosan elismerd azokat a személyeket, akik kiemelkedő mennyiségű munkát fektettek a projektbe, függetlenül a technikai készségeiktől.
## Hogyan formalizálhatom ezeket a vezetői szerepeket?
A vezetői szerepek formalizálása segít abban, hogy az emberek magukénak érezzék a projektet, és jelzi a többi közösségi tag számára, hogy kitől várhat segítséget.
Kisebb projekt esetén a vezetők kijelölése annyiból áll, hogy a README vagy a CONTRIBUTORS szövegfájlba beírod a nevüket.
Nagyobb projekt esetén, ha van weboldala, hozz létre egy csapatoldalt, ahol bemutathatod a vezetőket. Például, [Postgres](https://github.com/postgres/postgres/) projektnek van egy[átfogó csapatoldala](https://www.postgresql.org/community/contributors/) rövid bemutatkozással minden résztvevő esetén.
Ha a projektben nagyon aktív a közreműködő közösség, akkor a "karbantartók" szűkebb köre vagy akár albizottságok alakulhatnak ki, akik a különböző problémakörök (például biztonsági, problémamegoldó vagy közösségi magatartás) kezelését vállalják. Hagyd, hogy az emberek önszerveződjenek és önkéntesek jelentkezzenek azokért a szerepekért, amelyeket a legjobban szeretnének.
A vezetői csapatok egy kijelölt csatornát hozhatnak létre (például IRC) vagy találkozhatnak rendszeresen egyéb projekt megbeszéléseken (mint a Gitter vagy Google Hangout). Akár nyilvánosak is lehetnek ezek, így a többi résztvevő is láthatja. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), például, [minden héten időt biztosít erre](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Miután létrehoztad a vezetői szerepeket, ne felejtsd el dokumentálni, hogyan érhetik el őket az emberek! Határozz meg egy világos folyamatot arra vonatkozóan, hogy valaki hogyan válhat karbantartóvá, vagy csatlakozhat egy albizottsághoz a projektben, és írd le a GOVERNANCE.md-ben.
Az olyan eszközök, mint a [Vossibility](https://github.com/icecrime/vossibility-stack) segíthetnek nyilvánosan nyomon követni, hogy ki, mennyivel járul hozzá a projekthez. Az ilyen információk dokumentálása és publikálása megakadályozza azt, hogy a közösség úgy tekintsen a karbantartókra, mint egy szűk, zárt csoportra, akik önkényesen döntenek.
És végül, ha a projekted a GitHub-on van, gondolkozz el azon, hogy a projektedet a személyes fiókodból egy szervezeti fiókba (_Organization account_) migrálod, legalább még egy helyettes adminisztrátor felvételével. A [GitHub szervezeti fiók](https://help.github.com/articles/creating-a-new-organization-account/) segít abban, hogy könnyebben kezeld a jogosultságokat, a kód tárolókat, és több [társtulajdonost](../building-community/#a-projekt-tulajdonjogának-megosztása) beállítva segít megőrizni a projekt örökségét.
## Mikor kell valakinek _commit_ jogot adnom?
Néhányan azt gondolják, hogy mindenkinek, aki hozzájárul a projekthez. Ha ezt teszed, akkor növeled az emberek felelősség érzetét a projekted iránt.
Másrészről, különösen komplex és nagy projektek esetén, csak azoknak az embereknek célszerű ilyen jogot adni, akik bizonyították elkötelezettségüket a projekt felé. Nincs aranyszabály, hogy melyik a jobb, neked kell eldöntened, hogy számodra mi a megfelelő.
Ha a projekt a GitHub-on van, használhatsz [védett kód ágakat (branch)](https://help.github.com/articles/about-protected-branches/), melyekkel szabályozni tudod, hogy kik és milyen feltételekkel olvaszthatnak be kódot egy kód ágra.
## Melyek a nyílt forráskódú projektek közös irányítási struktúrái?
A nyílt forráskódú projektekhez általában három közös irányítási struktúra tartozik.
* **BDFL:** BDFL rövidítés a "Benevolent Dictator for Life" rövidítése (Jóindulatú diktátor). Ebben a struktúrában minden fontosabb döntésnél a végső szó egy emberé, általában a projekt létrehozójáé, vagy tulajdonosáé. A [Python](https://github.com/python) egy klasszikus példa. A kisebb projektek alapértelmezetten BDFL struktúrán alapulnak, mert csak egy-két karbantartó van. Azok a projektek is ebbe a kategóriába esnek, amelyeket egy cég felügyel.
* **Meritokrácia:** **(Megjegyzendő, hogy a "meritokrácia" fogalma negatív felhangú néhány közösség vagy kultúra számára, amelynek [összetett társadalmi és politikai története van](http://geekfeminism.wikia.com/wiki/Meritocracy).)** A meritokráciában az aktív karbantartók, akikről köztudott a szakértelmük, formálisan is jogot kapnak a döntések meghozatalára. Általában a döntés ekkor is konszenzuson alapul, egyszerű többséggel. A meritokrácia úttörője az [Apache Foundation](https://www.apache.org/); [minden Apache projekt](https://www.apache.org/index.html#projects-list) meritokrácia. Csak egyének járulhatnak hozzá a kódhoz, cégek vagy cég nevében eljáró egyének nem.
* **Liberális hozzájárulás:** A liberális hozzájárulás modellje szerint a legtöbb munkát végző embereket elismerik a legbefolyásosabbnak, de ez a jelenlegi munkán és nem a történelmi hozzájárulásokon alapul. A főbb projekt döntéseket a konszenzus-keresési folyamat jellemzi (a főbb ellentétek feloldása), nem pedig pusztán a szavazás, és arra törekszenek, hogy minél több közösségi igényt figyelembe vegyenek eközben. Ilyen projekt a [Node.js](https://foundation.nodejs.org/) és a [Rust](https://www.rust-lang.org/).
Hogy melyiket kell használnod? Tőled függ! Mindegyik modellnek vannak előnyei és hátrányai. És bár elsőre teljesen másnak tűnhetnek, mindhárom modellben több közös vonás van. Ha érdekel valamelyiknek a használata, nézd meg ezeket a sablonokat:
* [BDFL modell sablon](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritokrácia modell sablon](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js liberális hozzájárulás mintája](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Szükségem van-e irányítási dokumentumokra, amikor elindítom a projektemet?
Nincs szabály arra, hogy mikor kell a projekt irányítási dokumentumát elkészíteni. Sokkal könnyebb megalkotni, miután láttad a közösség dinamikájának működését. A nyílt forráskódú irányítás legszebb (és egyben legnehezebb) része az, hogy a közösség formálja azt!
Néhány korai dokumentáció azonban elkerülhetetlenül hozzásegít a projekt stabil irányításához, ezért érdemes az alapokat leírnod. Például meghatározhatod a viselkedésre vonatkozó egyértelmű elvárásokat vagy a részvételi folyamat működését, akár a projekt indulásakor is.
Mielőtt olyan nyílt forráskódú projektet indítasz, amelyet a céged kezdeményez, mindenképpen érdemes megvitatni és tisztázni a céges elvárásokat a karbantartással és döntéshozatallal kapcsolatosan, hogy a projekt gördülékenyen haladjon. Célszerű nyilvánosan elmagyarázni, hogy a vállalat hogyan (vagy épp nem) fog részt venni a projektben.
## Mi történik, ha vállalati alkalmazottaktól érkezik hozzájárulás?
A sikeres nyílt forráskódú projekteket sok ember és cég használja, és egyes vállalatok a projekthez köthető bevételi forrással is rendelkezhetnek. Például egy vállalat kereskedelmi szolgáltatásának részeként felhasználhatja egy ilyen projekt kódját.
Ahogy a projekt egyre szélesebb körben kerül felhasználásra, a hozzáértő emberekre egyre nagyobb lesz az igény - lehet, hogy te leszel az egyik! - és néha fizetnek majd a projektben végzett munkájukért.
Fontos, hogy az üzleti tevékenységet normálisnak tekintsük, és csak egy fejlesztést ösztönző lehetőségként kezeljük. Természetesen a fizetett fejlesztőknek nem szabad különleges bánásmódot kapniuk azokkal szemben, akinek ezért nem fizetnek; minden hozzájárulást technikai szempontból kell értékelni. Az üzletileg támogatott embereknek nem szabad kényelmetlenül érezni magukat, még akkor sem, ha a saját használati esetüket képviselik egy adott továbbfejlesztés vagy új funkció megvitatása során.
Az "Üzlet" teljesen kompatibilis a "Nyílt Forráskóddal". Az "Üzlet" csak azt jelenti, hogy valahol megjelenik a pénz - az üzleti élet használja a kódot, ami a projekt ismertségével és elfogadottságával egyre valószínűbbé válik. (Bár amikor a nyílt forráskódú szoftvert nem-nyílt forrású termék részeként használják, az egész termék továbbra is "saját tulajdonú" szoftver marad, a nyílt forráskódú szoftverhez hasonlóan, kereskedelmi- vagy nem kereskedelmi célokra is használható.)
Mint bárki más, az üzletileg motivált fejlesztők is a minőségi és mennyiségi hozzájáruláson keresztül érvényesülhetnek a projektben. Nyilvánvaló, hogy egy olyan fejlesztő, aki fizetést kap, többet tud tenni, mint az, aki nem kap érte fizetséget, de ezzel nincs probléma: a fizetés csak egy, a sok lehetséges tényező közül, amely befolyásolhatja, hogy valaki mennyire vesz részt a projektben. A projekt megbeszélések fókuszában a résztvevők álljanak, ne pedig azok a külső tényezők, amelyek azt befolyásolják, hogy valaki milyen közegben járult hozzá a projekthez.
## Szükségem van egy jogi személyre a projektem támogatásához?
Hacsak nem kezelsz pénzt, nincs szükséged jogi személyre, hogy támogasd a nyílt forráskódú projektedet.
Ha például vállalkozást akarsz alapozni a projektedre, akkor ennek megfelelő céget kell alapítanod. Ha csak a projektedhez kapcsolódó szerződéses munkát végzel és ezért pénzt kapsz, akkor akár egyéni vállalkozóként, akár Kft-ként működsz, a helyi adó- és jogszabályoknak megfelelő módon kell eljárnod.
Ha adományokat szeretnél kapni a nyílt forráskódú projektedért, elhelyezhetsz egy adomány gombot a weboldalon (PayPal, Stripe, stb. segítségével), de a bevétel kezelésénél ekkor is a helyi adó- és jogszabályoknak megfelelő módon kell eljárnod.
Számos projekt nem vállalja a non-profit szervezet létrehozásával járó bonyodalmakat, ezért olyan támogatókat keresnek akik már non-profit jogi személyek. Ezek a szervezetek a te nevedben fogadhatnak el adományokat, általában némi részesedésért cserébe. A [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) és [Open Collective](https://opencollective.com/opensource) jó példák az ilyen non-profit támogató szervezetre.
Ha a projekted egy adott programnyelvhez, vagy ökoszisztémához tartozik, akkor ezen területeken kell keresned a non-profit támogatókat. Például, a [Python Software Foundation](https://www.python.org/psf/) támogatja a [PyPI](https://pypi.org/), nevű Python csomagkezelőt, és a [Node.js Foundation](https://foundation.nodejs.org/) támogatja az [Express.js](https://expressjs.com/) nevű Node.js alapú webes keretrendszert.
================================================
FILE: _articles/hu/legal.md
================================================
---
lang: hu
title: A nyílt forráskód jogi oldala
description: Minden, amit valaha is gondoltál a nyílt forráskód jogi oldaláról, és néhány dolog, amit nem.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## A nyílt forráskód jogi következményeinek megértése
A kreatív munka megosztása a világgal izgalmas élmény és egyben kifizetődő is lehet. Ez azt is jelentheti, hogy rengeteg jogi dolgot kell figyelembe venned, amiről még nem is tudsz. Szerencsére nem kell nulláról kezdened, hiszen minden megvan a jogi részek lefedéséhez. (Mielőtt részletesen belemennénk, olvasd el a [kizárási nyilatkozatot](/notices/).)
## Miért kellene foglalkoznom a nyílt forráskód jogi oldalával?
Örülök, hogy megkérdezted! Ha kreatív munkát végzel (például írás, grafika vagy kód), az alkotás alapértelmezés szerint kizárólagos szerzői jogi védelem alatt áll. Azaz a törvény feltételezi, hogy szerzőként beleszólhatsz, hogy mások mit tehetnek vele.
Általában ez azt jelenti, hogy senki más nem használhatja, nem másolhatja, terjesztheti vagy módosíthatja az alkotásodat jogi következmények kockáztatása nélkül.
A nyílt forráskód azonban nem a megszokott helyzet, mert a szerző itt azt várja, hogy mások használják, módosítsák és megosszák a munkáját. De mivel a jogi alapértelmezés még mindig a kizárólagos szerzői jog, ezért szükséged van egy licencre, amely kifejezetten kimondja ezeket az engedélyeket.
Ha nem alkalmazol nyílt forráskódú licencet, akkor mindenki, aki hozzájárul a projekthez, a saját munkájának kizárólagos szerzői jogi tulajdonosa lesz. Ez azt jelenti, hogy senki nem tudja használni, másolni, terjeszteni vagy módosítani a hozzájárulást - és a "senki" alatt magadat is értsd.
És végül, a projektnek lehetnek függőségei, olyan licenckövetelményekkel, amelyekről nincs tudomásod. A projekt közössége, vagy a munkáltató irányelvei szintén előírhatják, hogy a projektre konkrét, nyílt forráskódú licenceket kell használnod. Ezeket az eseteket az alábbiakban ismertetjük.
## Nyílt forráskódúak a nyilvános GitHub projektek?
Amikor [létrehozol egy új projektet](https://help.github.com/articles/creating-a-new-repository/) a GitHub-on, lehetőséged van megadni, hogy a projekt **private** (privát) vagy **public** (publikus) legyen.

**A GitHub projekt nyilvánossága nem azonos a projekt licencével!** A publikus projekt fogalma itt van definiálva: [GitHub's Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), ami engedélyezi ezek megtekintését, vagy e célból ennek elágaztatását (fork), de más egyebet nem.
Ha azt szeretnéd, hogy mások használhassák, terjesszék, módosítsák vagy hozzájáruljanak a projekthez, meg kell nevezned egy nyílt forráskódú licencet. Például attól, hogy a projekt nyilvános, még senki sem jogosult bármely részének törvényes használatára, kivéve, ha kifejezetten feljogosítod erre a megfelelő licenccel.
## Tömören, hogy mit kell tenned a projekted védelme érdekében
Szerencsés helyzetben vagy, mert manapság a nyílt forráskódú licencek szabványosítottak és könnyen kezelhetők. Ezeket a licenceket bemásolhatod közvetlenül a projektedbe.
Az [MIT](https://choosealicense.com/licenses/mit/), az [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), és a [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) a legismertebb nyílt forráskódú licencek, de vannak más lehetőségek is amikből választhatsz. Ezen licencek teljes szövegét és használatuk módját megtalálod a [choosealicense.com](https://choosealicense.com/) oldalon.
Ha új projektet hozol létre a GitHub-on, meg kell adnod, hogy [milyen licencű a projekt](https://help.github.com/articles/open-source-licensing/).
## Melyik nyílt forráskódú licenc felel meg a projektemnek?
Ha üres lappal indulsz, akkor talán a legjobb a [MIT licenc](https://choosealicense.com/licenses/mit/). Rövid, nagyon könnyen érthető, és megengedő, amíg megtartják a licenc másolatát, beleértve a szerzői jogi nyilatkozatot is. Ha valaha szükséged lesz rá, más licenc alatt is kiadhatod később a projektedet.
Más esetben viszont, a megfelelő nyílt forráskódú licenc kiválasztása a projekthez a célkitűzéseidtől függ.
A projektednek vélhetően lesznek **függőségei**. Például, ha nyílt forráskódú Node.js alapú projekted van, akkor használni fogsz az npm-ről (Node.js Package Manager) származó függőségeket. Minden egyes függőségnek külön, nyílt forráskódú licence van. Ha mindegyik licenc "megengedő" (engedélyezi a publikum számára a használatot, módosítást és megosztást egyéb tovább licencelési feltételek nélkül), akkor bármilyen licencet használhatsz a projektedhez. Általánosan megengedő licencek a MIT, az Apache 2.0, az ISC és a BSD.
Másrészről, hogy ha bármelyik függőséged licence "erős copyleft" (szintén megadja ugyanazokat a jogokat, de csak az azonos licencelés továbbvitelének feltételével), akkor a projektednek is ezt a licencet kell használnia. Ilyen "erős copyleft" licencek például a GPLv2, GPLv3, és AGPLv3.
Azt is érdemes figyelembe venni, hogy reményeid szerint mely **közösségek** fogják használni illetve hozzájárulni a projekthez:
* **Szeretnéd, hogy projekted más projektek függősége legyen?** Valószínűleg a legjobb, ha az adott közösségben legkedveltebb licencet használod. Például, az [MIT](https://choosealicense.com/licenses/mit/) a legnépszerűbb az [npm csomagok](https://libraries.io/search?platforms=NPM) esetén.
* **Szeretnéd, hogy a projektedet a vállalatok használják?** Egy nagyvállalat valószínűleg kifejezett szabadalmi engedélyt kér minden résztvevőtől. Ekkor az [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) lefedi mindkét fél érdekeit.
* **Szeretnéd, ha projekted vonzó legyen azon közreműködők számára, akik nem akarják, hogy zárt forráskódú szoftverekben használják fel a hozzájárulásaikat?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) vagy (ha nem kívánnak hozzájárulni még a zárt forráskódú szolgáltatásokhoz sem) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) teljességgel megfelelő.
A **cégednek** lehetnek speciális licenc kikötései a nyílt forráskódú projektjei esetén. Például megengedő licencet vár el, hogy a saját zárt forráskódú termékeiben használhassa őket. Vagy előírhatja egy erős copyleft licenc használatát és egy további hozzájárulási megállapodást (lásd alább), hogy csak a cég és senki más ne használhassa a projektet zárt forráskódú szoftverekben. Esetleg lehetnek bizonyos igényei a szabványokkal, a társadalmi felelősséggel vagy az átláthatósággal kapcsolatban, amelyek mindegyike különleges licencelési stratégiát igényelhet. Beszélj a [céged jogi osztályával](#mit-kell-tudnia-a-cégem-jogi-osztályának).
Amikor új projektet hozol létre a GitHub-on, lehetőséged van egy licenc kiválasztására. A fent említett licencek egyikét választva a GitHub projekted nyílt forráskódúvá válik. Ha más lehetőséget keresel, nézd át a [choosealicense.com](https://choosealicense.com) oldalt, hogy megtaláld a magadnak megfelelőt, még akkor is ha a projekted [nem szoftver projekt](https://choosealicense.com/non-software/).
## Mi van, ha meg akarom változtatni a projekt licencét?
A legtöbb projektnek nem szükséges licencet módosítania, de vannak körülmények, amikor mégis szükséges.
Például, ahogy a projekt növekszik, új függőségekre vagy felhasználókra tesz szert, vagy céged megváltoztatja a stratégiáját. Ezek közül bármelyik esetén szükség lehet a licence megváltoztatására. Továbbá, ha elhanyagoltad a projekt licencelését a kezdetektől fogva, a licenc hozzáadása gyakorlatilag megegyezik a licenc megváltoztatásával. A projekt licencének hozzáadásakor vagy megváltoztatásakor három alapvető dolgot kell figyelembe venni:
**Bonyolult.** A licenckompatibilitás és a megfelelőség meghatározása, valamint a szerzői joggal rendelkező személyek kezelése, nagyon gyorsan bonyolult és zavaros helyzetet teremthet. Az új kiadások és hozzájárulások esetén új, de kompatibilis licencre való áttérés eltér az összes meglévő hozzájárulás újralicencelésétől. Ha felmerül a licencváltás gondolata vagy igénye, azonnal vond be a jogi csapatot. Még ha rendelkezel is a licencszerződés megváltoztatásához a projekt szerzői jogtulajdonosainak engedélyével, vedd figyelembe, hogy a változás milyen hatással lesz a projekt többi felhasználójára és résztvevőjére! Gondolj egy licencváltozásra úgy, mint a projekt "irányítási eseményére", amely valószínűleg zökkenőmentesen zajlik egyértelmű kommunikációval és a projekt érdekeltjeivel folytatott konzultációval. Ez egy fontos ok arra, hogy a projekt kezdetétől megfelelő licencet válassz és használj!
**Jelenlegi licenc.** Ha a jelenlegi licenc kompatibilis azzal, amire váltani szeretnél, akkor nyugodtan kezdd el használni az újat. Ennek az oka az, hogy ha az "A" licenc kompatibilis a "B" licenccel, akkor megfelelsz az "A" feltételeinek, miközben megfelelsz a "B" feltételeinek is (ez visszafelé nem feltétlenül igaz). Tehát, ha jelenleg megengedő licencet használsz (pl. MIT), akkor további feltételeket szabva válthatsz licencet, amennyiben megtartod a MIT licenc másolatát, és a kapcsolódó szerzői jogi megjegyzéseket (tehát továbbra is megfelelsz a MIT licenc minimális feltételeinek). Ha azonban a jelenlegi licenced nem megengedő (például "copyleft", vagy nincs licence), és nem te vagy az egyetlen szerzői jogi tulajdonos, akkor nem tudsz áttérni a MIT licencre. Alapvetően egy megengedő licenccel, a projekt szerzői előzetesen engedélyt adtak a licenc későbbi megváltoztatására.
**A projekt meglévő szerzői jogainak tulajdonosai.** Ha egyedüli résztvevője vagy a projektnek, akkor te vagy céged a projekt szerzői jogának egyedüli birtokosa. Hozzáadhatsz új licencet vagy áttérhetsz bármilyen licencre, amire csak szeretnél. Más esetben előfordulhat, hogy a licenc megváltoztatásához más szerzői jog tulajdonosokkal is meg kell hogy egyezned. Kik ők? Célszerű azokkal kezdeni, akik commit-oltak a projektben. Néhány esetben azonban a szerzői jogokkal a hozzájáruló emberek munkáltatói rendelkeznek. Bizonyos esetekben az emberek csak minimálisan, néhány sor kóddal járulnak hozzá a projekthez, de nincs olyan szigorú és egyértelmű szabály arra vonatkozóan, hogy ilyen esetekben el lehet-e tekinteni a szerzői jogtól. Mit lehet ekkor tenni? Attól függ. Egy viszonylag kicsi és fiatal projekt esetében lehet, hogy minden meglévő résztvevő beleegyezik a licencváltozásba egy hibajegyen vagy beolvasztási kérelmen keresztül. Egy nagy és hosszú életű projekt esetében azonban sok közreműködőt és még akár az örökösöket is meg kell keresni. A Mozilla-nak évekig tartott (2001-2006) a Firefox, a Thunderbird és a kapcsolódó szoftverek újralicencelése.
Alternatív megoldásként, a résztvevők előzetesen (egy kiegészítő hozzájárulási megállapodás alapján - lásd alább), bizonyos feltételek mellett, a meglévő nyílt forráskódú licenc változtatását is engedélyezhetik. Ez kicsit javítja a licencváltás összetettségét. Viszont előtte szükséged lesz némi segítségre az ügyvédek részéről, és továbbra is egyértelműen kommunikálnod kell a projekt érdekeltjeivel a licencváltás végrehajtásának folyamatát.
## Szükségem van-e kiegészítő hozzájárulási megállapodásra?
Valószínűleg nem. A nyílt forráskódú projektek túlnyomó többsége esetében a nyílt forráskódú licenc implicit módon tartalmazza egyaránt a bejövő (a résztvevőkről) és a kimenő (más hozzájárulók és felhasználók) licencet. Ha a projekt a GitHub-on van, akkor a GitHub Általános Szerződési Feltételei szerint a "bejövő = kimenő" elv [kifejezetten alapértelmezett](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Egy kiegészítő hozzájárulási megállapodás, amelyet gyakran közreműködői licenc megállapodásnak (CLA) neveznek, adminisztratív munkát generálhat a projektgazdák számára. A projekt és a kivitelezés függvénye, hogy ez mennyi munkát jelent. Egy egyszerű megállapodás megkövetelheti, hogy a közreműködők egy kattintással megerősítsék, hogy megvan a szükséges joguk a nyílt forráskódú projekt licencének megfelelő részvételhez. Egy bonyolultabb megállapodás jogi felülvizsgálatot, és a résztvevők munkáltatójától kapott hozzájárulást is igényelhet.
Amikor ez olyan "papírmunkát" okoz, amit egyesek szükségtelennek, nehezen érthetőnek esetleg tisztességtelennek (ha a megállapodás kedvezményezettje több jogot kap, mint amit a projekt nyílt forráskódú licence alapján a közreműködők vagy a nyilvánosság kapnak) gondolnak, egy kiegészítő hozzájárulási megállapodás barátságtalan lépésnek tűnhet a közösség számára.
Egyes helyzetekben, szükséges lehet további, a projekthez kapcsolódó közreműködői megállapodást kötni:
* A jogászok azt szeretnék, ha minden résztvevő kifejezetten elfogadná (_aláírná_, online vagy offline) a közreműködői feltételeket, talán azért, mert úgy érzik, hogy a nyílt forráskódú licenc nem elég (annak ellenére, hogy ez nem így van!). Ha csak ez az egyetlen gond, akkor elegendőnek kell lennie a nyílt forráskódú licencnek, és egy azt megerősítő közreműködői megállapodásnak. A [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) egy jó példa egy érthető, könnyen használható CLA-nak.
* Te vagy a jogászok azt szeretnék, hogy a fejlesztők minden commit-ja jogilag megállja a helyét. Ezt a projektek a [Developer Certificate of Origin](https://developercertificate.org/) segítségével érik el. Például, a Node.js közösség a saját CLA-juk helyett [inkább](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) a DCO-t [használja](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md). A DCO automatikus kikényszerítése egy Git repository-n legegyszerűbben a [DCO Probot-tal](https://github.com/probot/dco) érhető el.
* A projekt egy olyan nyílt forráskódú licencet használ, amely nem tartalmaz kifejezetten szabadalom használati engedélyt (például MIT), így szükséges egy szabadalom használati engedély nyilatkozat minden résztvevőtől, akik közül néhányan nagy szabadalom portfólióval rendelkező cégeknek dolgoznak, amelyek a szabadalmaikat felhasználva támadhatnak téged vagy a projekt többi résztvevőjét és felhasználóit. Az [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) egy elterjedten használt kiegészítő közreműködői megállapodás, ami az Apache License 2.0 licencben szereplő szabadalom használati jogosultságot tartalmazza.
* A projekted "copyleft" licencelésű, de a projektből egy szabadalmaztatott, saját verziót is terjeszteni szeretnél. Minden résztvevőnek át kell ruháznia rád a szerzői jogait, hogy megengedje neked (de nem a nyilvánosságnak) a szabad felhasználást. A [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) egy ilyen típusú megállapodás.
* Úgy gondolod, hogy a projekt élete során szükség lehet a licenc módosítására, és azt szeretnéd, hogy a közreműködők előre elfogadják az ilyen jellegű változtatásokat.
Ha kiegészítő hozzájárulási megállapodást kell használnod, fontold meg egy olyan integrált szolgáltatás használatát, mint például a [CLA assistant](https://github.com/cla-assistant/cla-assistant), ezzel minimalizálhatod a résztvevők terhelését.
## Mit kell tudnia a cégem jogi osztályának?
Ha egy cég alkalmazottjaként indítasz nyílt forráskódú projektet, ezt először tudatnod kell a cég jogi csoportjával.
Fontold ezt meg még akkor is, ha személyes projektről van szó. Valószínűleg van egy "munkavállalói szellemi tulajdon megállapodás" a cég és te közted, amely némi ellenőrzést biztosít nekik a projektjeid felett különösen, ha azok kapcsolódnak a vállalat üzleti tevékenységéhez, vagy vállalati erőforrásokat használsz a projekt fejlesztéséhez. A céged könnyedén megadhatja az engedélyt, és talán már van is alkalmazott-barát munkáltatói megállapodás, vagy vállalati irányelv. Ha nem, akkor tárgyalhatsz róla (például magyarázd el, hogy a projekt a vállalat szakmai tanulási és fejlesztési céljait szolgálja), vagy ha ez sikertelen, akkor ne dolgozz a projekten, amíg nem találsz jobb vállalatot.
**Ha a cégednek csinálsz nyílt forráskódú projektet,** akkor mindenképpen tudjanak róla. A jogi csapat valószínűleg már rendelkezik a cég üzleti igényinek megfelelő irányelvekkel a nyílt forráskódú licencek (és esetleg további közreműködői megállapodások) használatával kapcsolatosan. Valószínűleg ahhoz is megvan a szakértelmük, hogy a projekt licencelése megfeleljen a függőségek licenceinek. Ha nem, akkor szerencsés a helyzet! A jogi csapatnak együtt kell dolgoznia veled, hogy megoldjátok ezt. Néhány dolog, amire gondolni kell:
* **Harmadik fél anyagai:** Használ a projekted mások által létrehozott függőségeket, vagy tartalmaz illetve használ más által írt kódot? Ha ezek nyílt forráskódúak, akkor meg kell felelned azok nyílt forráskódú licencének. Első lépésként választanod kell egy licencet, ami kompatibilis a harmadik féltől származó anyagok licencével. Ha a projekt módosítja, vagy terjeszti a harmadik fél nyílt forráskódú anyagát, akkor a jogi csapat azt is szeretné tudni, hogy megfelelsz-e a harmadik fél nyílt forráskódú licenc feltételeinek, mint például a szerzői jogi megjegyzések megőrzése. Ha a projekt mások kódját használja, amely nem rendelkezik nyílt forráskódú licenccel, akkor valószínűleg fel kell kérned a harmadik felet, hogy [adjon hozzá egy nyílt forráskódú licencet](https://choosealicense.com/no-license/#for-users), ha nem kapsz ilyet, akkor abba kell hagyni ezen kód használatát.
* **Üzleti titkok:** Vizsgáld meg, hogy van-e valami a projektben, amit a vállalat nem akar a nyilvánosság számára elérhetővé tenni. Ha igen, akkor nyisd meg a projekt többi részét, de csak miután kiszedted a privát anyagot belőle.
* **Szabadalmak:** A céged szabadalmi kérelmet adott be, amivel kapcsolatosan a projekt forráskódjának megnyitása [nyilvánosságra hozásnak](https://en.wikipedia.org/wiki/Public_disclosure) minősül? Ez esetben sajnos felkérhetnek, arra hogy várj még (esetleg a cég újragondolhatja a szabadalmi kérelmet). Ha nagy szabadalmi portfólióval rendelkező cégek alkalmazottjaitól is számítasz hozzájárulásokra, a jogi csoport kötelezhet arra, hogy olyan licencet válassz, ami kifejezett szabadalom használati engedélyt követel meg a hozzájárulóktól (például az Apache 2.0 vagy a GPLv3), vagy egy kiegészítő hozzájárulási megállapodást vár el (lásd fent).
* **Védjegyek:** Nézz utána alaposan, hogy a projekted neve nem ütközik [valamely védjeggyel](../starting-a-project/#kerüld-el-a-névütközést). Ha saját céged védjegyeit használod a projektben, ellenőrizd, hogy nem okoz-e ütközéseket, problémákat. A [FOSSmarks](http://fossmarks.org/) egy gyakorlati útmutató a védjegyek megértéséhez szabad és nyílt forráskódú projektek esetén.
* **Magánélet:** Gyűjt a projekt adatokat a felhasználókról? Kommunikál vállalati szerverekkel? A jogi csoport segít neked a vállalati irányelvek és a külső szabályok betartásában.
Ha a céged első nyílt forráskódú projektjének publikálásán dolgozol, a fentiek elégségesek ahhoz, hogy sikerüljön (de ne aggódj, a legtöbb projektben nem merül fel komoly probléma).
Hosszabb távon a jogi csapat többet tehet azért, hogy segítsen a vállalatnak profitálni a nyílt forráskódból és közben biztonságban tudhassa magát:
* **Munkavállalói hozzájárulás szabályozása:** Fontold meg olyan vállalati irányelv kidolgozását, amely meghatározza, hogy a munkavállalók hogyan járulnak hozzá a nyílt forráskódú projektekhez. Az egyértelmű szabályozás csökkenti a zavart az alkalmazottak körében, és segít abban, hogy a vállalat érdekeinek megfelelően járuljanak hozzá a nyílt forráskódú projektekhez, akár munkájuk részeként, akár szabadidejükben. Jó példa erre a Rackspace féle [Model IP and Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **Mit kell kiadni:** [(Majdnem) mindent?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Ha a jogi csapat megérti és hajlandó munkát befektetni a vállalat nyílt forráskódú stratégiájába, akkor az inkább segíteni fog, mint akadályozni.
* **Megfelelés:** Még ha a céged nem is fejleszt nyílt forráskódot, biztosan használja azt. A [tudatosság és folytonosság](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) megakadályozhatja a fejfájást, a késedelmeket és a pereket.
* **szabadalmak:** A céged lehet szívesen csatlakozna az [Open Invention Network-höz](https://www.openinventionnetwork.com/), ami egy védekező szabadalmi társulás, védelmet nyújt tagok számára a nagyobb, nyílt forráskódú projektek használatában, vagy megvizsgálja az [alternatív szabadalmi engedélyezés lehetőségét](https://www.eff.org/document/hacking-patent-system-2016).
* **Irányítás:** Van-e értelme, és ha igen, akkor mikor érdemes a projektet egy [cégen kívüli jogi személynek átadni](../leadership-and-governance/#szükségem-van-egy-jogi-személyre-a-projektem-támogatásához).
================================================
FILE: _articles/hu/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: hu
untranslated: true
title: Maintaining Balance for Open Source Maintainers
description: Tips for self-care and avoiding burnout as a maintainer.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.
To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the Maintainer Community, allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.
So, what is personal ecology? As described by the Rockwood Leadership Institute, it involves "maintaining balance, pacing, and efficiency to sustain our energy over a lifetime." This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as [defined by the WHO](https://icd.who.int/browse/2025-01/foundation/en#129180281), is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.
By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.
## Tips for Self-Care and Avoiding Burnout as a Maintainer:
### Identify your motivations for working in open source
Take time to reflect on what parts of open source maintenance energizes you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it's the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.
### Reflect on what causes you to get out of balance and stressed out
It's important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:
* **Lack of positive feedback:** Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.
* **Not saying 'no':** It can be easy to take on more responsibilities than you should on an open source project. Whether it's from users, contributors, or other maintainers – we can't always live up to their expectations.
* **Working alone:** Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.
* **Not enough time or resources:** This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
* **Conflicting demands:** Open source is full of groups with different motivations, which can be difficult to navigate. If you're paid to do open source, your employer's interests can sometimes be at odds with the community.
### Watch out for signs of burnout
Can you keep up your pace for 10 weeks? 10 months? 10 years?
There are tools like the [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) from [@shaunagm](https://github.com/shaunagm) that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).
### What would you need to continue sustaining yourself and your community?
This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:
* **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.
You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
* **Explore funding:** Whether you're looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you're thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
* **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
* **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night's sleep can make a big difference in your ability to sustain your efforts long-term.
If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
* **Set boundaries:** You can't say yes to every request. This can be as simple as saying, "I can't get to that right now and I do not have plans to in the future," or listing out what you're interested in doing and not doing in the README. For instance, you could say: "I only merge PRs which have clearly listed reasons why they were made," or, "I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.
Learn to be firm in shutting down toxic behavior and negative interactions. It's okay to not give energy to things you don't care about.
Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.
## Additional Resources
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Contributors
Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/hu/metrics.md
================================================
---
lang: hu
title: Nyílt forráskód mérőszámai
description: A nyílt forráskódú projekt sikerének titka a mérés és nyomon követés.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Miért mérünk bármit is?
Ha bölcsen használjuk a rendelkezésre álló adatokat, nyílt forráskódú projekt karbantartójaként jobb döntéseket tudunk hozni.
Több információ birtokában:
* Megértheted, hogy a felhasználók hogyan reagálnak egy új funkcióra
* Rájöhetsz arra, hogy a felhasználóid honnan érkeznek
* El tudod dönteni, hogy egy adott használati esetet, vagy új funkcionalitást támogatsz-e
* Számszerűsítheted a projekt népszerűségét
* Megértheted, hogy a felhasználók hogyan használják a munkádat
* Támogatással és szponzorálással pénzhez juthatsz
Például, a [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) úgy találta, hogy a Google Analytics segíti őket a feladatok priorizálásában:
> A Homebrew ingyenes, és teljességgel önkéntes munka, amit a fejlesztők a szabadidejükben végeznek. Ennek eredményeként nem rendelkezünk erőforrásokkal ahhoz, hogy részletes felhasználói tanulmányokat végezhessünk a Homebrew felhasználókról, ami alapján el tudjuk dönteni hogy, miként lehet a legjobban megtervezni a jövőbeli funkciókat és priorizálni az aktuális feladatokat. Ugyanakkor az anonim összesített felhasználói elemzés lehetővé teszi számunkra, hogy priorizáljuk a javításokat és az új funkciók fejlesztését aszerint, hogy hol, és mikor használják az emberek a Homebrew-t.
A népszerűség nem minden. Mindenki különböző okokból kezd a nyílt forráskódba. Ha neked, mint nyílt forráskód karbantartójának az a célod, hogy megmutasd a világnak a munkád, átláthatóvá akarod tenni a kódod vagy csak élvezetből csinálod, akkor a mérőszámok nem biztos, hogy fontosak számodra.
Ha viszont mélyebb szinten akarod megismerni a projektedet, olvass tovább, hogy megtudd, milyen módon elemezheted a projekted aktivitását.
## Felfedezés
Mielőtt bárki elkezdené használni a projektedet, vagy részt venne benne, tudniuk kell, hogy az létezik, és hogy hol találják. Kérdezd meg magadtól: _Az emberek megtalálják ezt a projektet?_

Ha a munkád a GitHub-on van, [akkor láthatod](https://help.github.com/articles/about-repository-graphs/#traffic) hogy hány ember járt az oldaladon, és hogy honnan érkeztek. A projekt oldaláról, válaszd ki az "Insights", majd a "Traffic" funkciót. Ezen az oldalon a következőket láthatod:
* **Views:** Megadja, hogy hányszor nézték meg a projekt oldalát.
* **Unique visitors:** Megadja, hogy hány ember látogatta meg a projekt oldalát.
* **Referring sites:** Megadja, hogy honnan érkeztek az oldalra az emberek. Ez a metrika segíthet kitalálni, hogy hol érheted el a közönséget és hogyan működnek a promóciós erőfeszítéseid.
* **Popular content:** Megadja, hogy a projekted mely részére kíváncsiak a látogatók, lebontva oldalakra és látogatókra.
[GitHub stars](https://help.github.com/articles/about-stars/) szintén segíthet a népszerűség mérésében. Bár a _GitHub stars_ nem szükségszerűen van kapcsolatban azzal, hogy hányan töltötték le vagy használták a projektet, mégis alkalmas arra, hogy mérje azt, hogy mennyi ember érdeklődését keltette fel a munkád.
Érdemes lehet [egyéb helyeken is nyomon követni az elérhetőséget](https://opensource.com/business/16/6/pirate-metrics): például, Google PageRank, hivatkozások a projekt oldaladról vagy hivatkozások más nyílt forráskódú oldalról, vagy weboldalról.
## Használat
Az emberek megtalálják a projektet ezen a vad és őrült dolgon, amit internetnek hívunk. Ideális esetben, amikor meglátják a projektet, késztetést érezhetnek rá, hogy tegyenek valamit. A második kérdés, amit fel kell tenned magadnak: _Az emberek használják ezt a projektet?_
Ha a projekt terjesztéséhez csomagkezelőt (például npm vagy RubyGems.org) használsz, nyomon követheted a projekt letöltéseit.
Mindegyik csomagkezelő kissé eltérő definíciót használhat a "letöltésre", és a letöltések nem feltétlenül korrelálnak a telepítésekkel vagy a használattal, de az összehasonlításhoz valamilyen alapot biztosítanak. Próbáld ki a [Libraries.io](https://libraries.io/) használatát, mellyel számos ismert csomagkezelő statisztikáit követheted.
Ha a GitHub-on van a projekted, akkor a "Traffic" oldalon a [clone graph](https://github.com/blog/1873-clone-graphs) diagram használatával láthatod, egy adott napon hányszor klónozták a projektedet, lebontva összes klónozásra és egyedi látogatókra.

Ha a felhasználók száma alacsonyabb, mint a projektet felfedező emberek száma, két kérdést kell átgondolnod:
* A projekted nem győzi meg sikeresen a célközönséget, vagy
* Rossz közönséget céloztál meg
Például, ha a projekt a Hacker News főoldalára kerül, valószínűleg látni fogsz egy kiugrást a látogatói forgalomban, de alacsonyabb lesz a valódi felhasználók aránya, mert mindenkit elérsz a Hacker News-on. Ha Ruby projekted van, ami bemutatásra kerül egy Ruby konferencián, akkor valószínűleg nagyobb arányban lesznek felhasználók a célközönségből.
Próbáld meg kitalálni, hogy honnan jönnek a látogatók és kérj visszajelzéseket a projekt oldalon, hogy megtudd, hogy a fenti két eset közül melyik jelent problémát.
Ha már tudod, hogy az emberek használják a projektet, érdemes utánajárni, hogy mit csinálnak vele. Elágaztatják (fork-olják) a projektet és új funkciókat adnak hozzá? Vagy esetleg tudományos vagy üzleti célokra használják?
## Fenntarthatóság
Az emberek megtalálták a projektedet és használják már. A következő kérdést kell megválaszolnod magadnak: _Az emberek hozzájárulnak-e a projekthez?_
Soha sem túl korai elkezdeni gondolkodni a közreműködőkről. Ha nincsenek más emberek, akik részt vennének a projektben, akkor olyan egészségtelen helyzet alakulhat ki, hogy ugyan a projekt _közismert_ (sokan használják), de kevesen támogatják (a szükségeshez képest kevés a karbantartói erőforrás).
A fenntarthatósághoz az is szükséges, hogy [folyamatosan új résztvevők érkezzenek a projektbe](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), mert előfordulhat, hogy a jelenlegi résztvevők más projektek felé fordulnak.
Példák a közösségi metrikákra, amelyeket érdemes rendszeresen nyomon követni:
* **Résztvevők száma és a résztvevőkre jutó kódmódosítások száma:** Megadja, hogy hány résztvevő van a projekteden, ki az, aki többet- és ki az, aki kevesebbet járul hozzá. A GitHub-on, az "Insights" -> "Contributors" alatt találod ezt meg. Jelenleg itt csak azt látod, aki az alapértelmezett fejlesztési ágon járult hozzá (commit-olt) a projekthez.

* **Új, alkalmi és rendszeres hozzájárulók:** Segítségével nyomon követheted, hogy jönnek-e új hozzájárulók és hogy visszatérnek-e. (Az alkalmi hozzájárulók azok, akiknek csak kevés commit-ja van. Ez jelenthet 1 vagy kevesebb, mint 5 módosítást is, rajtad múlik, hogy mi a "kevés".) Új közreműködők, hozzájárulók nélkül a projekt közössége stagnálhat.
* **A nyitott hibajegyek és beolvasztási kérelmek száma:** Ha ezek a számok túl magasak, akkor segítségre van szükséged a hibajegyek ellenőrzéséhez és osztályozásához illetve a beolvasztandó kódok áttekintéséhez.
* **A létrehozott hibajegyek és beolvasztási kérelmek száma:** Ez azt jelenti, hogy az embereket érdekli annyira a projekted, hogy létrehozzanak egy hibajegyet. Ha ez a szám idővel növekszik, az arra utal, hogy az emberek érdeklődnek a projekted iránt.
* **Közreműködők típusai:** Például: kód módosítás, elírás javítás, hibajavítás, vagy kommentelés egy hibajegyhez, módosításhoz.
## Karbantartói aktivitás
És végül, meg kell bizonyosodnod arról, hogy a karbantartók képesek kezelni a beérkező hozzájárulások mennyiségét. Így utolsó kérdésként érdemes feltenned magadnak: _Képes vagyok reagálni a közösség munkájára, jelzéseire?_
Az inaktív karbantartók a nyílt forráskódú projektek szűk keresztmetszetévé válnak. Ha valaki hozzájárulást nyújt be, de a karbantartó soha nem reagál, az illető elkedvetlenedhet és elhagyhatja a projektet.
[Egy kutatás a Mozillától](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) azt mutatta ki, hogy a karbantartók reakcióideje és készsége kritikus tényező a folyamatos hozzájárulások eléréséhez.
Fontold meg annak nyomon követését, hogy mennyi időt vesz igénybe, amíg válaszolsz (te vagy másik karbantartó) a hozzájárulásokra, függetlenül attól, hogy az hibajegy vagy beolvasztási kérelem-e. A válasz nem jelenti azt, hogy cselekedni is kell. Például lehet ennyi: _"Köszönöm a hozzájárulásod! Jövő héten tudom átnézni."_
Meg tudod azt is mérni, hogy a hozzájárulási folyamat különböző fázisai között mennyi idő telik el, például:
* Átlagosan mennyi ideig van nyitva egy hibajegy
* Vajon mennyi hibajegy van lezárva beolvasztási kérelemmel
* Vajon mennyi régi, már nem aktuális hibajegyet kellett lezárni
* Egy beolvasztási kérelem elfogadásának és beolvasztásának átlagos ideje
## Használj 📊 hogy többet tudj meg a közösségről
A metrikák megértése segít egy aktív, fejlődő nyílt forráskódú projekt létrehozásában. Még ha nem is követed nyomon az összes metrikát, használd a fenti módszereket, hogy lásd a viselkedési mintákat, amelyek segítik a projektedet.
================================================
FILE: _articles/hu/security-best-practices-for-your-project.md
================================================
---
lang: hu
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/hu/starting-a-project.md
================================================
---
lang: hu
title: Nyílt forráskódú projekt indítása
description: Tudj meg többet a nyílt forráskód világáról, és állj készen a saját projekted elindítására.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## A nyílt forráskód "mit" és "hogyan"-ja
Szóval arra gondoltál, hogy elkezded a nyílt forráskódú projekted. Gratulálunk! A világ nagyra fogja értékeli a részvételed. Beszéljünk kicsi arról, hogy mi is az a nyílt forráskód, és miért csinálják az emberek.
### Mit jelent a nyílt forráskód?
Amikor egy projekt nyílt forráskódú, az azt jelenti, hogy **bárki szabadon használhatja, tanulmányozhatja, módosíthatja és terjesztheti bármilyen céllal.** Ezt a lehetőséget [az nyílt forráskódú licenc biztosítja](https://opensource.org/licenses).
A nyílt forráskód azért hatásos, mert elhárítja az akadályt az együttműködés és a felhasználás elől, lehetővé teszi az emberek számára a gyors fejlesztést és terjesztést. És még azért is, mert a felhasználók számára lehetővé teszi, hogy kontrolljuk legyen a saját szoftvereik felett, ellenben a zárt forráskóddal. Például egy vállalkozás, amely nyílt forráskódot használ, képes lehet arra, hogy felbérel egy olyan fejelsztőt, aki elvégzi számára a szükséges fejlesztéseket, ahelyett, hogy kizárólag a zárt forrásúkódú szoftvert fejlesztő cég termékdöntéseire támaszkodna.
_Free software_ kifejezés ugyanazokra a projektekre vonatkozik, mint amire az _open source_. Néhol láthatod [ezen kifejezések](https://en.wikipedia.org/wiki/Free_and_open-source_software) kombinációját is, mint például "free and open source software" (FOSS) vagy "free, libre, and open source software" (FLOSS). A _Free_ és _libre_ a _szabadságra_ utal, [nem az árra](#a-nyílt-forráskódú-projekt-ingyenességet-jelent).
### Miért vesznek részt az emberek a nyílt forráskódú projektekben?
[Számos oka van](https://ben.balter.com/2015/11/23/why-open-source/) hogy valaki, vagy akár egy cég a nyílt forráskódban részt vesz. Csak néhány példa:
* **Együttműködés:** A nyílt forráskódú projektek bárkitől elfogadnak módosítást a világ bármely részéről. [Exercism](https://github.com/exercism/), például egy programozási gyakorlást segítő projekt több, mint 350 fejlesztő részvételével.
* **Elterjedés és újrafelhasználás:** A nyílt forráskódú projekteket bárki használhatja szinte bármilyen célra. Az emberek akár más dolgok létrehozására is felhasználhatják. A [WordPress](https://github.com/WordPress) például úgy kezdte, hogy egy létező, [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md) nevű projektet elágaztattak.
* **Átláthatóság:** A nyílt forráskódú projektet bárki megvizsgálhatja, vagy hibákat kereshet benne. Az átláthatóság a kormányoknak is fontos, mint ahogy [Bulgária](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) teszi ezt, vagy ahogy az [Amerikai Egyesült Államok](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/) szabályozza a bank, és egészségügy iparát, de fontos a biztonsági szoftverek esetén is, mint a [Let's Encrypt](https://github.com/letsencrypt).
A nyílt forráskódú projekt nem csak szoftver lehet. Lehet ez adat, vagy könyv is akár, de bármi más is. Nézd meg a [GitHub Explore](https://github.com/explore) helyen, hogy mi minden lehet nyílt forráskódú projekt.
### A nyílt forráskódú projekt ingyenességet jelent?
A legtöbb nyílt forráskódú projekt nem kerül pénzbe. Az ingyenesség általában a nyílt forráskód következménye.
Mivel [a nyílt forráskódú licenc előírja](https://opensource.org/osd-annotated) azt, hogy mindenki használhatja, módosíthatja és megoszthatja a projektet bármilyen célra, ezért maga a _projekt_ ingyenes. Ha a projekt úgy döntene, hogy pénzt kér tőled, akkor bárki legálisan másolatot készíthet róla és használhatja az ingyenes verziót helyette.
Bár a nyílt forráskódú projekt önmagában ingyenes, a nyílt forráskód nem definiálja magát az ingyenességet. Van lehetőség arra, hogy pénzt kérj egy nyílt forráskódú projektért, a kettős licencelés, vagy a korlátozott funkciókon keresztül, ez még nem ütközik a nyílt forráskód definíciójával.
## Elindíthatom a saját nyílt forráskódú projektemet?
A rövid válasz igen, mert a saját projekten keresztül megismered a nyílt forráskódú projektek működését.
Ha sohasem vettél részt még nyílt forráskódú projektben, akkor bátortalan lehetsz majd, ha majd az emberek reakcíója miatt, vagy ha felhívják a figyelmedet pár dologra. De emiatt ne aggódj, mert ez természetes, mással is így van!
A nyílt forráskód egy kreatív viselkedést igénylő dolog, mint az írás vagy a festés. Lehet, először félelmetesnek tűnik, hogy megosztod a munkádat a világgal, de ez a legjobb módja annak, hogy fejlődj, hiszen nem leszel jobb, ha nem kapsz kritikákat.
Ha még mindig nem lettél meggyőzve, akkor gondolkozz el azon, hogy mi is az igazi célod!
### Célok kijelölése
A célok segíthetnek abban, hogy kitaláld, min kell dolgoznod, mit kell mondanod, és hol van szükséged mások segítségére. Kérdezd meg magadtól, hogy _miért nyitom meg ezt a projektet?_
Nincs tökéletes válasz erre a kérdésre. Többféle célod lehet akár egy projekt esetén is, más projekteknél viszont más célok fognak vezérelni.
Ha csak az a célod, hogy a munkádat megmutasd, akkor nem akarsz résztvevőket és ezt a README-ben le is írhatod. Másrészről, ha akarsz résztvevőket a projekteden, akkor időt kell szánnod az alapos dokumentációra, hogy az újonnan érkezők könnyen csatlakozhassanak.
Ahogy a projekt növekszik, a közösségednek többre lehet szüksége, mint pusztán csak a kód. A nyílt forráskódú projektek fontos feladata a kérdések megválaszolása, a kódok áttekintése, és a projekt hírnevének terjesztése.
A nem kódolási feladatokra fordított idő függ a projekt nagyságától és terjedelmétől, mint karbantartónak, neked is fel kell készülnöd arra, hogy találj valakit, aki segíthet ebben.
**Ha egy olyan cég tagja van, aki nyílt forráskódú projekttel rendelkezik,** bizonyosodj meg arról, hogy vannak megfelelő belső erőforrások a projekthez. Azonosítsd azokat az embereket, akik a karbantartói feladatot fognak végezni rajta, és oszd meg a közösséggel ezeket a feladatokat.
Ha szükséges fix költségvetés, vagy alkalmazotti kör a fejlesztéshez, vagy fenntartáshoz, akkor kezd el ezeket a egyeztetéseket minél korábban.
### Hozzájárulás más projektekhez
Ha a cél az, hogy megtanuld, hogyan működj együtt másokkal, vagy megértsd, hogyan működik a nyílt forráskód, fontold meg egy meglévő projekthez való hozzájárulást. Kezd azzal a projektel, amelyet már használsz, és szeretsz. A projekthez való hozzájárulást kezd olyan egyszerű dolgokkal, mint a helyesírási hibák javítása, vagy a dokumentáció frissítése.
Ha nem vagy biztos abban, hogy hogyan kezdj neki, mint résztvevő, akkor nézd meg ezt: [How to Contribute to Open Source guide](../how-to-contribute/).
## Saját nyílt forráskódú projekt indítása
Nincs tökéletes időpont a forráskód megnyitására. Megnyithatsz egy ötletet, egy folyamatban lévő munkát, vagy akár egy olyan kódot is, ami évekig zárt volt.
Általánosságban elmondható, hogy akkor kell a projekt forrását megnyitni, ha úgy érzed, hogy ha mások látják, és visszajelzést adnak a munkádról, az neked jó.
Függetlenül attól, hogy melyik szakaszban döntöd el a projekt forrásának megnyitását, minden projektnek tartalmaznia kell a következő dokumentációt:
* [Nyílt forráskódú licenc](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Résztvevőknek útmutató](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Magatartási kódex](../code-of-conduct/)
Karbantartóként ezek az összetevők segítenek az elvárásaid közlésében, a résztvevők kezelésében és mindenki jogának a védelmében (beleértve a sajátodat is). Jelentősen növelik az esélyt arra, hogy pozitív tapasztalatokat szerezz.
Ha a projekted a GitHub-on van, akkor ezek a fájlok a gyökérkönyvtárba kerüljenek az ajánlott fájlnevekkel, így a GitHub felismeri és automatikusan értesíti az olvasókat.
### Licence választás
A nyílt forráskódú licenc garantálja, hogy mások használhassák, másolhassák, módosíthassák és hozzájárulhassanak a projekthez szabadon. Emellett megvéd a kiszámíthatatlan jogi helyzetektől. **A licencet a nyílt forráskódú projekt indításával együtt kell megadni.**
A jogi munka nem öröm. A jó hír azonban az, hogy a licencet egyszerűen elhelyezheted a projektedben, csak be kell másolni. Csak néhány percet igényel az, hogy megvédd a munkádat.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), és a [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) a leghíresebb licencek, de [van számos másik is](https://choosealicense.com) amelyből választhatsz.
Amikor új projektet hozol létre a GitHub-on, lehetőséget kapsz licenc választásra. Nyílt forráskódú licenccel a projekted nyílt forráskódú lesz.

Ha egyéb kérdésed, vagy kételyed van a nyílt forráskódú projektek jogi részével kapcsolatban, akkor [bővebb információt itt találsz](../legal/).
### README írása
README több annál, mint hogy leírod azt, hogy hogyan kell a projektet használni. Elmagyarázza azt is, hogy miért lényeges a projekted, és hogy hogyan tud abban más is részt venni.
A README-ben próbáld meg az alábbiakra megadni a választ:
* Mit csinál a projekt?
* Miért hasznos a projekt?
* Hogyan lehet elkezdeni vele dolgozni?
* Hol találok további segítséget, ha szükségem van rá?
A README meg tudja még válaszolni azt, hogy hogyan fogadsz el közreműködést, mi a projekt célja, és információkat ad a licencről és további részletekről. Ha nem fogadsz el közreműködést a projektben, vagy a projekted nincs még abban az állapotban, hogy éles működésben használható legyen, akkor szintén írd le ezeket az információkat a README-ben.
Néha az emberek épp azért nem írnak README-t, mert úgy hiszik, hogy még nincs befejezve projektjük, vagy úgy gondolják hogy nem akarnak részvételt benne. Pedig éppen ezek nagyon jó okok arra, hogy a README-t megírjuk.
Továbbiakért nézd meg @dguo ["README" útmutató készítése](https://www.makeareadme.com/) vagy @PurpleBooth [README űrlap](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) című munkáját, így jó README-t írhatsz.
Amikor a README állományt a főkönyvtárba teszed, a GitHub automatikusan megjeleníti azt a kódtározó főoldalán.
### Részvételi irányelvek leírása
A CONTRIBUTING állomány közli az emberekkel, hogy hogyan lehet részt venni a projektben. Például ezeket az információkat lehet megadni:
* Hogyan jelents egy hibát (próbáld használni a [hiba és beolvasztási kérés űrlapokat](https://github.com/blog/2111-issue-and-pull-request-templates))
* Hogyan javasolj új funkciót
* Hogyan állítsd be a környezetedet, és futtasd a teszteket
A műszaki adatokon kívül, a CONTRIBUTING fájl lehetőséget nyújt arra, hogy közölje a résztvevőkkel, a részvételre vonatkozó elvárásaid, például:
* Milyen típusú résztvevőket vársz
* A roadmap-je és víziója a projektednek
* A résztvevők hogyan (vagy hogyan nem) léphetnek veled kapcsolatba
Kedves, barátságos hang használata, és konkrét javaslatok nyújtása a hozzájárulásokhoz (például dokumentáció készítése vagy weboldal készítése) nagyban hozzájárulhat ahhoz, hogy az újonnan érkezők azt érezzék, hogy szívesen látják őket, és örüljenek a részvételnek.
Például az [Active Admin](https://github.com/activeadmin/activeadmin/) a [saját részvételi szabályzatát](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) ezzel kezdi:
> Legelőször is, köszönöm hogy részt kívánsz venni az Active Admin projektben. Az olyan emberek mint te, tehetik az Active Admin ilyen nagyszerű eszközzé.
A CONTRIBUTING állomány a projekt korai fázisában egyszerű. Mindig el kell megmagyaráznod benne, hogy hogyan lehet hibát vagy egyéb problémát jelezni, a szükséges technikai igényeket, például a teszteket is le kell írni benne ahhoz, hogy valaki a projekten tudjon dolgozni.
Idővel további gyakori kérdéseket adhatsz hozzá a CONTRIBUTING fájlhoz. Ezen információk írása azt jelenti, hogy kevesebb ember fogja újra és újra ugyanazt a kérdést feltenni.
További segítségért a CONTRIBUTING írásához, nézd meg @nayafia [részvételi útmutató űrlapját](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) vagy a @mozilla's ["Hogyan építs CONTRIBUTING.md-t?"](https://mozillascience.github.io/working-open-workshop/contributing/).
A CONTRIBUTING állományra hivatkozhatsz a README állományból, így az emberek azonnal látják azt. Ha [elhelyezed a CONTRIBUTING állományt a projekt alatt](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), akkor a GitHub automatikusan linkelni fogja azt, ha valaki hibát jelent, vagy beolvasztási kérést hoz létre.

### Magatartási kódex létrehozása
A magatartási kódex segít az alapjait lefektetni a viselkedési szabályoknak a projekt résztvevők számára. Különösen értékes, ha egy nyílt forráskódú projektet indítasz egy közösség, vagy a cég számára. A magatartási kódex erősíti az egészséges, konstruktív, közösségi viselkedést, ami csökkenteni fogja a stresszt a karbantartók számára is.
További információkért nézd meg: [Magatartási kódex útmutató](../code-of-conduct/).
Amellett, hogy a magatartási kódex leírja, hogy hogyan kell viselkedni, azt is megadja, hogy kikre vonatkozik, mikor vonatkozik rájuk, és mi történik akkor, hogyha azt megsértik.
Mint a nyílt forráskódú licenc esetén, itt is számos standard van a viselkedési szabály kódexre, így nem kell sajátot írnod. A [Résztvevői Megállapodás](https://contributor-covenant.org/) egy azonnal használható magatartási kódex, amelyet több mint [40,000 nyílt forráskódú projekt](https://www.contributor-covenant.org/adopters) használ, mint például a Kubernetes, Rails, vagy a Swift. Lényegtelen, hogy mit használsz ezekből, de az fontos, hogy kikényszerítsd ennek betartását.
A kód mellé helyezd el CODE_OF_CONDUCT állományt. A főkönyvtárba tedd a README mellé, és hivatkozd meg a README állományból.
## A projekt elnevezése és brand építés
A brand építés több mint egy vagány logó, vagy egy megkapó projekt név. Arról szól, hogy hogyan kommunikálod a projektet, és kiket akarsz elérni vele.
### A megfelelő név kiválasztása
Válassz egy nevet, amelyet könnyen megjegyezhetsz, és ideális esetben sugall valamit arról, hogy mit is csinál a projekt. Például:
* [Sentry](https://github.com/getsentry/sentry) Őrszem – monitorozza az alkalmazás hibákat
* [Thin](https://github.com/macournoyer/thin) Vékony – gyors, és egyszerű Ruby webszerver
Ha már létező projektre alapozol, a nevét előtagként használva segít tisztázni, hogy mit csinál a projekt (például [node-fetch](https://github.com/bitinn/node-fetch) a `window.fetch` funkciót valósítja meg a Node.js alatt).
Gondolj mindenekelőtt az egyértelműségre. A szójáték szórakoztató, de ne feledd, hogy néhány vicc érthetetlen más kultúrák, vagy emberek számára. Lehet, hogy a potenciális felhasználók egy része vállalati alkalmazott: nem akarod, hogy kényelmetlenül érezzék magukat, ha munkájuk során elő kell adniuk a projektedet!
### Kerüld el a névütközést
[Ellenőrizd a hasonló nevű, nyílt forráskódú projekteket](http://ivantomic.com/projects/ospnc/), különösen akkor, ha ugyanaz a fejlesztői nyelv vagy ökoszisztéma érintett. Ha a neve átfed egy népszerű, meglévő projektével, akkor az zavart okozhat.
Ha weboldalt akarsz, vagy Twitter bejegyzéseket, vagy egyéb dolgot, amely a projektedet reprezentálja, akkor is legyél biztos a projekt nevében. Jó esetben [előre le kell foglalnod a domain nevet](https://instantdomainsearch.com/) a nyugalmad érdekében, még akkor is, ha most nem akarod használni.
Győződj meg róla, hogy a projekt neve nem sért védjegyeket. Egy vállalat kérheti később, hogy állítsd le a projekted, vagy akár jogi lépéseket is tehet ellened. Ez nem éri meg a kockázatot.
Ezen az oldalon [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) tudod ellenőrizni a bejegyzett kereskedelmi neveket. Ha cégnél dolgozol, akkor ezt a [cég jogi osztálya is el tudja végezni](../legal/).
És végül, végezz egy gyors Google keresést a projekt nevével. Az emberek könnyen megtalálják majd a projektet? Van olyan dolog, ami a keresési eredményekben jelenik meg, és amit nem szeretnél ott látni?
### Ahogyan írsz (akár kódot is) az hatással van a brand-re!
A projekt élettartama alatt rengeteg írást készítesz: README-k, oktatóanyagok, közösségi dokumentumok, kérdésekre adott válaszok, talán még hírleveleket és levelezőlistákat is.
Akár hivatalos dokumentáció, akár alkalmi e-mail, az írási stílusa része a projekt brand-nek. Fontold meg, hogy az a hangnem, amit szeretnél közvetíteni, befogadható-e a közösségnek akiknek szánod.
A kedves, befogadó nyelv használatával jó úton jársz a projekt résztvevőinek megszerzésében és megtartásában. Használj egyszerű nyelvezetet, mivel sok olvasó nem feltétlenül angol (vagy a projekt nyelvnek megfelelő) anyanyelvű.
A viselkedési stílusodon túl, a kód stílusa is része lehet a projekt márkájának. [Angular](https://angular.io/guide/styleguide) és a [jQuery](https://contribute.jquery.org/style-guide/js/) két példa a szigorú kódolási stílusokkal, és iránymutatásokkal rendelkező projektekre.
Nem kell stílus útmutatót írni a projekthez, amikor éppen elkezdted, vagy ha esetleg különböző kódolási stílusokat használsz a projektben. De tisztában kell lenni azzal, hogy az írási és kódolási stílus hogyan vonzhatja, vagy riaszthatja el a különböző típusú embereket. A projekt legkorábbi szakasza lehetőséget ad arra, hogy meghatározd a kívánt mintát, amit elvársz a későbbiekben a résztvevőktől.
## Indulás előtti ellenőrző lista
Készen állsz a nyílt forráskódú projektre? Itt egy ellenőrzőlista, amely ebben segít. Leellenőrizted az összes pontot? Akkor készen állsz! [Válaszd a "publish" linket](https://help.github.com/articles/making-a-private-repository-public/) és indulhat a publikálás!
**Dokumentáció**
**Code**
**Emberek**
Ha magánszemély vagy, akkor:
Ha szervezet, vagy cég vagy, akkor:
## Megcsináltad!
Gratulálunk, az első nyílt forráskódú projektedhez! Az eredménytől függetlenül a nyilvános munkád jelentős ajándék a közösségnek. Minden _commit_-tal, kommenttel és beolvasztási kérelemmel lehetőséget teremtettél magadnak és másoknak, hogy tanuljanak és fejlődhessenek.
================================================
FILE: _articles/id/best-practices.md
================================================
---
lang: id
title: Kiat Baik untuk Pengelola
description: Mempermudah hidup Anda sebagai pengelola open source, mulai dari mendokumentasikan proses hingga memberdayakan komunitas Anda.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Apa artinya menjadi pengelola?
Jika Anda mengelola proyek open source yang banyak digunakan oleh orang, Anda mungkin menyadari bahwa Anda semakin sedikit melakukan pemrograman dan lebih banyak menyelesaikan permasalahan.
Pada fase awal proyek, Anda melakukan percobaan dengan ide-ide baru dan membuat keputusan berdasarkan apa yang Anda inginkan. Seiring dengan perkembangan popularitas proyek Anda, Anda akan lebih banyak bekerja dengan pengguna dan kontributor Anda.
Mengelola sebuah proyek membutuhkan lebih dari sekedar membuat kode. Pekerjaan ini seringkali tidak terduga, namun mereka juga sama pentingnya untuk proyek yang terus berkembang. Kami telah mengmpulkan beberapa cara untuk mempermudah hidup Anda, mulai dari mendokumentasikan proses hingga memberdayakan komunitas Anda.
## Mendokumentasikan proses Anda
Menuliskan segala sesuatunya adalah salah satu pekerjaan penting yang bisa Anda lakukan sebagai seorang pengelola.
Dokumentasi tidak hanya mengklarifikasikan pemikiran Anda, namun juga membantu orang lain memahami apa yang Anda perlukan atau harapkan, sebelum mereka mulai bertanya.
Menuliskan dalam bentuk dokumentasi akan mempermudah Anda untuk mengatakan tidak apabila ada yang tidak sesuai dengan ruang lingkup yang sudah ditentukan. Dokumentasi juga mempermudah orang lain untuk bergabung dan mulai membantu. Anda tidak akan pernah tahu siapa saja yang mungkin akan membaca atau menggunakan proyek Anda.
Anda tidak perlu menuliskan dalam bentuk paragraf penuh, bahkan dengan poin-poin saja sudah jauh lebih baik daripada tidak sama sekali.
### Write down your project's vision
### menuliskan visi proyek Anda
Mulailah dengan menuliskan tujuan akhir dari proyek Anda. Tambahkan kedalam dokumen README, atau pisahkan kedalam dokumen VISION. Jika terdapat dokumen lain yang bisa membantu seperti peta perjalanan proyek, maka pastikan dokumen tersebut bersifat publik.
Memiliki visi yang jelas dan terdokumentasi membantu Anda untuk tetap fokus dan juga menghindari perluasan ruang lingkup dari kontribusi orang lain.
Sebagai contoh, @lord menemukan bahwa memiliki visi proyek telah membantu dia dalam menentukan permintaan mana yang perlu ditanggapi. Sebagai seorang pengelola baru, dia menyesal karena tidak bertahan dengan ruang lingkup proyeknya ketika dia menerima feature request pertama untuk [Slate](https://github.com/lord/slate).
### Komunikasikan ekspektasi Anda
Aturan bisa menggelisahkan untuk dituliskan. Seringkali Anda merasa mengatur perilaku orang lain atau merusak kesenangan orang lain.
Aturan yang baik, tertulis, dan diterapkan dengan adil akan sangat membantu pengelola. Aturan ini akan menghindarkan Anda dari melakukan sesuatu yangg tidak ingin Anda kerjakan.
Sebagian besar orang yang hadir pada proyek Anda tidak tahu tentang Anda atau situasi Anda. Mereka bisa jadi mengasumsikan bahwa Anda dibayar untuk mengerjakan proyek tersebut, terutama jika mereka menggunakan dan sangat bergantung pada proyek Anda. Mungkin pada suatu masa Anda banyak menghabiskan waktu Anda pada proyek Anda, namun saat ini Anda sibuk dengan pekerjaan baru atau anggota keluarga yang baru.
Semuanya ini normal! Pastikan orang lain mengetahui kondisi ini.
Jika mengelola proyek Anda merupakan pekerjaan paruh waktu atau sepenuhnya sukarela, terbukalah dengan berapa banyak waktu yang Anda miliki. Informasi ini tidak sama dengan berapa banyak waktu yang diperlukan oleh proyek atau berapa banyak waktu yang diinginkan oleh orang lain terhadap Anda.
Berikut adalah beberapa aturan yang layak untuk ditulis:
* Bagai kontribusi akan di-review dan diterima (_Apakah perlu pengujian? Template laporan masalah?_)
* Jenis kontribusi yang Anda terima (_Apakah Anda ingin meminta bantuan pada bagian tertentu dari kode Anda?_)
* Kapan waktu yang tepat untuk melakukan penjajakan ulang (_misalnya. "Anda bisa mengharapkan respon dari pengelola dalam 7 days. Jika Anda belum mendapatkan balasan apapun, silahkan memberikan notifikasi."_)
* Berapa banyak waktu yang Anda habiskan pada proyek (_misalnya. "Kami hanya menghabiskan waktu sekitar 5 jam per minggu pada proyek ini"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), dan [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) adalah beberapa contoh proyek dengan aturan yang jelas untuk pengelola dan kontributor.
### Pastikan komunikasi terbuka
Jangan lupa untuk mendokumentasikan interaksi Anda. Jika dimungkinkan, pastikan komunikasi terjadi secara terbuka. Jika seseorang berusaha untuk menghubungi Anda secara pribadi untuk mendiskusikan sebuah pengajuan fitur baru atau membutuhkan bantuan, arahkan mereka pada media komunikasi publik secara halus, seperti mailing list atau _issue tracker_.
Jika Anda berjumpa dengan pengelola lain, atau membuat keputusan besar secara pribadi, dokumentasikan hasil diskusinya secara terbuka, meskipun hanya menuliskan notulensi Anda.
Dengan cara itu, setiap orang yang bergabung dengan komunitas Anda akan memiliki informasi yang sama dengan orang-orang yang sudah bertahun-tahun.
## Belajar untuk mengatakan tidak
Anda telah menuliskan segalanya. Idealnya semua orang akan membaca dokumentasi Anda, namun dalam kenyataannya, Anda masih harus mengingatkan orang lain bahwa informasi ini sudah tersedia.
Dengan menuliskan segala sesuatunya, akan sangat membantu ketika Anda perlu menerapkan aturan Anda.
Mengatakan tidak memang tidaklah menyenangkan, tetapi _"Kontribusi Anda tidak sesuai dengan kriteria proyek ini"_ terasa lebih manusiawi dibandingkan _"Saya tidak suka kontribusi Anda"_.
Mengatakan tidak juga berlaku pada banyak situasi yang akan Anda jumpai sebagai pengelola: permintaan fitur yang tidak sesuai, seseorang mencoba mengalihkan sebuah diskusi, melakukan pekerjaan yang tidak diperlukan bagi orang lain.
### Pastikan diskusi berjalan dengan ramah
Salah satu tempat terbaik untuk berlatih mengatakan tidak adalah laporan masalah dan antrian pull request. Sebagai pengelola proyek, Anda pasti akan menerima saran yang tidak Anda harapkan.
Mungkin kontribusi tersebut akan mengubah arah proyek atau tidak sesuai dnegan visi Anda. Mungkin idenya bagus, tetapi implementasinya kurang bagus.
Apapun alasannya, sangatlah dimungkinkan untuk menolak kontribusi yang tidak sesuai dengan standar proyek Anda.
Jika Anda menerima kontribusi yang tidak Anda inginkan, reaksi pertama Anda mungkin mengabaikan atau pura-pura tidak melihatnya. Melakukan hal ini bisa melukai perasaan orang lain atau bahkan mengurangi motivasi kontributor lainnya pada komunitas Anda.
Jangan biarkan kontribusi yang tidak diinginkan tetap terbuka karena Anda merasa bersalah atau ingin bersikap baik. Pada akhirnya, masalah yang tidak terjawab dan PR akan membuat pekerjaan proyek Anda menjadi lebih berat dan mengintimidasi Anda.
Akan lebih baik untuk langsung menutup kontribusi yang Anda tahu tidak akan diterima. Jika proyek Anda mengalami hambatan yang besar, @steveklabnik memiliki saran untuk [mengatasi laporan masalah secara efisien](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Kedua, mengabaikan kontribusi akan mengirimkan sinyal negatif pada komunitas Anda. Berkontribusi pada sebuah proyek bisa jadi menakutkan, apalagi untuk pertama kalinya bagi orang lain. Meskipun Anda tidak menerima kontribusi mereka, akui hasil pekerjaan mereka dan ucapkan terima kasih atas minat mereka. Itu adalah sebuah pujian yang besar!
Jika Anda tidak ingin menerima sebuah kontribusi:
* **Ucapkan terima kasih** atas kontribusi mereka
* **Jelaskan kenapa tidak sesuai** pada ruang lingkup proyek, dan tawarkan saran untuk perbaikan, jika dimungkinkan.
* **Hubungkan dengan dokumentasi relevan**, jika Anda memilikinya. Jika Anda mengamati permintaan yang berulang pada sesuatu yang tidak ingin Anda terima, tambahkan pada dokumentasi Anda.
* **Tutup permintaan**
Anda tidak perlu lebih dari 1-2 kalimat untuk merespon. Sebagai contoh, ketika pengguna [celery](https://github.com/celery/celery/) melaporkan sebuah kesalahan yang berhubungan dengan sistem operasi Windows, @berkerpeksag [menjawab dengan](https://github.com/celery/celery/issues/3383):

Jika mengatakan tidak cukup menakutkan bagi Anda, Anda tidak sendirian. Seperti [yang dialami](https://blog.jessfraz.com/post/the-art-of-closing/) @jessfraz:
> Saya telah berbicara dengan beberapa pengelola open source yang berbeda: Mesos, Kubernetes, Chromium, dan mereka semua sepakat bahwa salah satu tugas berat dari pengelola adalah mengatakan "Tidak" pada perbaikan yang tidak Anda inginkan.
Jangan merasa bersalah karena tidak menerima kontribusi seseorang. Aturan pertama dari open source, [menurut](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"Tidak bersifat sementara, ya bersifat selamanya."_ Meskipun memberikan empati pada niat baik orang lain adalah sesuatu yang baik, menolak sebuah kontribusi tidaklah sama dengan menolak orang itu sendiri.
Pada akhirnya, jika sebuah kontribusi kurang baik, Anda tidak harus menerimanya. Bersikaplah baik dan responsif ketika seseorang berkontribusi pada proyek Anda, tetapi hanya menerima ketika Anda percaya bahwa kontribusi itu akan membuat proyek Anda menjadi lebih baik. Semakin sering Anda mengatakan tidak, akan menjadi semakin mudah.
### Bersikaplah Proaktif
Untuk mengurangi jumlah kontribusi yang tidak diharapkan dari awal, jelaskan proses untuk mengajukan dan menerima kontribusi proyek Anda pada panduan kontribusi.
Jika Anda menerima terlalu banyak kontribusi yang kurang baik, pastikan bahwa kontributor telah melakukan beberapa pekerjaan sebelumnya, misalnya:
* Mengisi template/checklist daftar laporan masalah atau PR
* Membuka laporan permasalahan sebelum mengajukan PR
Jika mereka tidak mengikuti aturan Anda, tutup dengan segera dan arahkan pada dokumentasi Anda.
Meskipun pendekatan ini mungkin terasa tidak menyenangkan pada awalnya, bersikap proaktif sebetulnya baik untuk kedua belah pihak. Hal ini mengurangi kesempatan seseorang untuk menghabiskan terlalu banyak waktu pada pull request yang tidak akan Anda terima. Dan juga membuat beban pekerjaan Anda menjadi lebih mudah untuk dikelola.
Seringkali, ketika Anda mengatakan tidak, kontributor potensial Anda mungkin akan marah atau mengkritisi keputusan Anda. Jika perilaku mereka menjadi tidak menyenangkan, [ambil langkah-langkah untuk menenangkan situasinya](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) atau bahkan hapus mereka dari komunitas Anda, jika mereka tidak berkolaborasi secara konstruktif.
### Memberlakukan pendampingan
Mungkin seseorang pada komunitas Anda secara rutin mengirimkan kontribusi yang tidak sesuai dengan standar proyek Anda. Hal ini bisa membuat frustasi bagi kedua belaj pihak untuk berada pada situasi penolakan berkali-kali.
Jika Anda melihat seseorang sangat berminat pada proyek Anda tetapi membutuhkan sedikit bantuan, bersabarlah. Jelaskan dengan jelas pada setiap situasi kenapa kontribusi mereka tidak memenuhi ekspektasi dari proyek. Cobalah untuk mengarahkan mereka pada tugas yang lebih sederhana, seperti laporan masalah yang ditandai dengan _"kesalahan baik pertama,"_ untuk mendapatkan pengalaman. Jika Anda punya waktu, pertimbangkan untuk mendampingi mereka pada kontribusi pertama mereka, atau cari orang lain pada komunitas yang bersedia mendampinginya.
## Berdayakan komunitas Anda
Anda tidak harus mengerjakan semuanya sendiri. Komunitas proyek Anda ada untuk sebuah alasan! Meskipun Anda belum memiliki komunitas kontributor yang aktif, jika Anda punya banyak pengguna, berdayakan mereka.
### Berbagi beban pekerjaan
Jika Anda mencari orang lain untuk bergabung, mulailah dengan bertanya.
Ketika Anda melihat kontributor baru melakukan kontribusi secara rutin, hargai pekerjaan mereka dengan menawarkan tanggung jawab yang lebih besar. Dokumentasikan bagaimana orang lain bisa menjadi seorang pemimpin.
Doronglah orang lain untuk [berbagi kepemilikan proyek](../building-community/#berbagi-kepemilikan-dari-proyek-anda) dan hal itu bisa mengurangi beban pekerjaan Anda secara drastis, seperti yang ditemukan @lmccart pada proyeknya, [p5.js](https://github.com/processing/p5.js).
Jika Anda perlu sedikit menjauh dari proyek Anda, baik sementara atau selamanya, tidak perlu ada rasa malu untuk meminta orang lain untuk meneruskan pekerjaan Anda.
Jika orang lain sangat antusias dengan arah proyek Anda, berikan akses atau serahkan kendali pada orang lain. Jika seseorang melakukan _fork_ terhadap proyek Anda dan mengelolanya secara aktif di tempat lain, pertimbangkan untuk menghubungkan ke proyek tersebut melalui proyek Anda. Sangatlah hebat melihat banyak orang menginginkan proyek Anda terus hidup.!
@progrium [menemukan bahwa](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) dengan mendokumentasikan visi proyeknya, [Dokku](https://github.com/dokku/dokku), membantu tujuannya tetap bertahan meskipun dia sudah meninggalkan proyeknya:
> Saya menuliskan sebuah halaman wiki menjelaskan tentang apa yang saya inginkan dan kenapa. Mengejutkan bagi saya karena pengelola mulai menjalankan proyek sesuai dengan arahan tersebut! Apakah ia melakukannya sesuai dengan apa yang saya kehendaki? Tidak selalu, tetapi ia membawa proyek ini semakin dekat dengan apa yang saya tuliskan.
### Biarkan orang lain membangun solusi yang mereka perlukan
Jika kontributor yang berpotensi memiliki opini yang berbeda tentang apa yang seharusnya dikerjakan oleh proyek Anda, Anda mungkin bisa memberikan semangat untuk mengerjakan pekerjaan mereka melalui proses _fork_.
Melakukan sebuah _fork_ terhadap sebuah proyek bukan berarti sesuatu yang jelek. Mampu menyalin dan memodifikasi sebuah proyek adalah salah satu hal terbaik tentang open source. Menyemangati orang lain untuk bekerja pada hasil fork mereka bisa memberikan ide kreatif yang mereka perlukan, tanpa harus menimbulkan konflik dengan visi proyek Anda.
Hal yang sama juga terjadi pada pengguna yang menginginkan solusi dimana Anda tidak mampu membangunnya karena keterbatasan bandwidth. Menawarkan API dan hook bisa membantu orang lain memenuhi kebutuhan mereka, tanpa harus memodifikasi kode secara langsung. @orta [menemukan](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) bahwa mendorong plugin untuk CocoaPods mengarah pada "beberapa ide menarik":
> Sangatlah susah untuk dihindari bahwa ketika sebuah proyek sudah semakin besar, pengelola harus menjadi lebih konsevatif tentang bagaimana mereka memperkenalkan kode baru. Anda menjadi lebih pandai dalam mengatakan "tidak", tetapi banyak orang memiliki kebutuhan yang pasti. Jadi, Anda akan mengubah alat Anda menjadi sebuah platform.
## Manfaatkan robot
Seperti halnya terdapat tugas yang bisa dikerjakan oleh orang lain, juga terdapat tugas yang tidak seharusnya dikerjakan oleh orang. Robot adalah teman Anda. Gunakan mereka untuk mempermudah hidup Anda sebagai pengelola.
### Wajibkan test dan pengujian lainnya untuk meningkatkan kualitas kode Anda
Salah satu cara penting yang bisa dilakukan untuk melakukan otomatisasi proyek Anda adalah dengan menambahkan pengujian otomatis.
Pengujian otomatis membantu kontributor bahwa mereka tidak merusak apapun. Pengujian otomatis juga mempermudah Anda untuk melakukan review dan menerima kontribusi dengan cepat. Semakin cepat Anda merespon, maka komunitas Anda juga akan semakin tertarik.
Lakukan pengaturan untuk pengujian otomatis yang akan berjalan pada semua kontribusi yang masuk, dan pastikan pengujian Anda dapat dilakukan dengan mudah oleh kontributor secara lokal. Pastikan bahwa semua kontribusi kode melewati pengujian Anda sebelum mereka bisa diajukan. Anda perlu menetapkan standar minimal kualitas dari semua pengajuan. [Penggunaan pengujian status](https://help.github.com/articles/about-required-status-checks/) pada GitHub dapat membantu memastikan tidak ada perubahan yang disetujui tanpa melalui pengujian Anda.
Jika Anda menambahkan pengujian, pastikan untuk menjelaskan bagaimana mereka bekerja pada dokumen CONTRIBUTING.
### Gunakan perangkat untuk mengotomatisasikan tugas perawatan dasar
Kabar baik tentang mengelola sebuah proyek yang terkenal adalah pengelola lain mungkin sudah mengalami masalah yang sama dan sudah membuat solusinya.
Terdapat [banyak peralatan yang ada](https://github.com/showcases/tools-for-open-source) yang dapat membantu mengotomatisasikan beberapa pekerjaan perawatan. Beberapa contoh diantaranya:
* [semantic-release](https://github.com/semantic-release/semantic-release) mengotomatisasikan rilis Anda
* [mention-bot](https://github.com/facebook/mention-bot) menyebut reviewer untuk pull requests
* [Danger](https://github.com/danger/danger) membantu otomatisasi review kode
Untuk laporan kesalahan dan kontribusi umum lainnya, GitHub telah membuat [template untuk Laporan Masalah dan Pull Request](https://github.com/blog/2111-issue-and-pull-request-templates), yang bisa Anda gunakan untuk meningkatkan komunikasi yang Anda terima. Anda juga bisa mengatur [email filter](https://github.com/blog/2203-email-updates-about-your-own-activity) untuk mengelola notifikasi email Anda.
Jika Anda ingin sedikit lebih canggih, panduan penulisan dan penggunaan lint bisa menstandarisasi kontribusi proyek dan membuatnya lebih mudah untuk melakukan review dan menerimanya.
Namun, jika standar Anda terlalu rumit, hal ini bisa meningkatkan hambatan bagi kontribusi. Pastikan Anda menambah aturan untuk mempermudah hidup orang lain.
Jika Anda tidak yakin harus menggunakan perangkat yang mana, lihat apa yang digunakan oleh proyek lain, terutama pada ekosistem yang sama. Sebagai contoh, apa proses kontribusi untuk modul Node yang lain? Menggunakan perangkat dan pendekatan yang sama akan membuat proses Anda lebih dikenal oleh calon kontributor Anda.
## OK untuk berhenti sejenak
Pekerjaan open source pernah membawa kebahagiaan. Mungkin saat ini mulai membuat Anda merasa bersalah.
Mungkin Anda merasa terlalu terbeban ketika memikirkan proyek Anda. Dan jumlah masalah dan pull request semakin menumpuk.
_Burnout_ adalah masalah yang riil dan dapat terjadi pada pekerjaan open source, terutama pada pengelola. Sebagai seorang pengelola, kebahagiaan Anda adalah sebuah kebutuhan yang tidak dapat ditawar untuk kelangsungan dari proyek open source.
Meski demikian, ambil waktu untuk istirahat! Anda tidak harus menunggu sampai Anda merasa lelah sebelum mengambil liburan. @brettcannon, seorang pengembang inti Python, memutuskan untuk mengambil [liburan satu bulan](http://www.snarky.ca/why-i-took-october-off-from-oss-volunteering) setelah menjalani 14 tahun sebagai sukarelawan OSS.
Sama halnya seperti pekerjaan lainnya, mengambil liburan secara berkala akan membuat Anda segar, bahagia, dan tertarik terhadap pekerjaan Anda.
Seringkali, cukup susah untuk berhenti sejenak dari pekerjaan open source karena Anda merasa semua orang membutuhkan Anda. Orang lain mungkin akan membuat Anda merasa bersalah karena mengabaikan pekerjaan ini.
Lakukan yang terbaik untuk mendapatkan dukungan dari pengguna dan komunitas Anda selama Anda meninggalkan proyek. Jika Anda tidak bisa menemukan dukungan yang Anda temukan, tetaplah untuk berhenti sejenak. Pastikan untuk mengkomunikasikan ketika Anda tidak ada, sehingga orang lain tidak bingung dengan tingkat responsif Anda.
Berhenti lebih dari sekedar liburan. Jika Anda tidak melakukan pekerjaan open source pada akhir pekan, atau pada jam kerja, komunikasikan ekspektasi tersebut pada orang lain, sehingga mereka tidak akan menganggu Anda.
## Jaga dirimu terlebih dahulu!
Mengelola proyek yang populer membutuhkan ketrampilan yang berbeda dengan fase awal pertumbuhan proyek, tetapi tidak kalah manfaatnya. Sebagai seorang pengelola, Anda akan berlatih kepemimpinan dan ketrampilan individu pada tingkat dimana tidak banyak orang yang mendapatkan pengalaman tersebut. Meskipun hal itu tidaklah mudah, menentukan batas yang jelas dan hanya mengambil apa yang Anda rasa nyaman akan membuat Anda tetap bahagia, segar, dan produktif.
================================================
FILE: _articles/id/building-community.md
================================================
---
lang: id
title: Membangun Komunitas yang Ramah
description: Membangun komunitas yang mendorong orang lain untuk menggunakan, berkontribusi, dan mempromosikan proyek Anda.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Mengarahkan proyek Anda untuk kesuksesan
Anda telah merilis proyek Anda, Anda telah menyebarkan berita, dan orang-orang mulai melihat. Menarik! Sekarang, bagaimana membuat mereka bertahan?
Sebuah komunitas yang ramah merupakan investasi pada masa depan dan reputasi proyek Anda. Jika proyek Anda mulai menerima adanya kontribusi awal, mulailah dengan memberikan pengalaman yang positif, dan permudah akses sehingga mereka akan kembali lagi.
### Buatlah agar orang-orang merasa diterima
Satu cara untuk memikirkan komunitas proyek Anda adalah melalui apa yang disebut @MikeMcQuaid sebagai [saluran kontributor](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

Ketika Anda membangun komunitas Anda, perhatikan bagaimana orang yang berada di bagian atas (potensi pengguna) secara teori akan bergerak menuju kebawah (sebagai pengelola aktif). Tujuan Anda adalah mengurangi hambatan pada setiap tahapan pengalaman kontributor. Ketika orang tidak mengalami hambatan, mereka akan termotivasi untuk melakukan sesuatu yang lebih.
Mulailah dengan dokumentasi Anda:
* **Permudah orang lain untuk menggunakan proyek Anda.** [README yang ramah](../starting-a-project/#menulis-dokumen-readme) dan contoh kode yang jelas akan mempermudah siapapun untuk bisa langsung menggunakan proyek Anda.
* **Jelaskan dengan jelas bagaimana berkontribusi**, menggunakan [dokumen CONTRIBUTING Anda](../starting-a-project/#menulis-panduan-kontribusi-anda) dan menjaga laporan permasalahan terus diperbarui.
[Survei Open Source GitHub 2017](http://opensourcesurvey.org/2017/) menunjukkan dokumentasi yang tidak lengkap atau membingungkan adalah masalah terbesar bagi pengguna open source. Dokumentasi yang baik akan mengundang orang untuk berinterasi dengan proyek Anda. Akhirnya seseorang akan membuka laporan masalah atau mengirimkan pull request. Gunakan interaksi ini sebagai kesempatan untuk memindahkan mereka ke bagian bawah.
* **Ketika orang baru hadir pada proyek Anda, ucapkan terima kasih!** Cukup satu pengalaman negatif untuk membuat orang tidak ingin kembali.
* **Responsif.** Jika Anda tidak merespon laporan permasalahan selama satu bulan, kemungkinan besar mereka sudah melupakan proyek Anda.
* **Terbuka terhadap jenis kontribusi yang Anda terima.** Banyak kontributor memulai dengan melaporkan permasalahan atau perbaikan sederhana. Terdapat [banyak cara untuk berkontribusi](../how-to-contribute/#apa-artinya-berkontribusi) pada sebuah proyek. Biarkan orang membantu sesuai keinginan mereka untuk membantu.
* **Jika terdapat kontribusi yang tidak Anda setujui,** ucapkan terima kasih atas idenya dan [jelaskan kenapa](../best-practices/#belajar-untuk-mengatakan-tidak) ide tersebut tidak sesuai dengan proyek, dan menghubungkan dengan dokumen yang relevan jika Anda memilikinya.
Mayoritas dari kontributor open source adalah "kontributor umum": orang-orang yang berkontribusi pada sebuah proyek secara tidak rutin. Seorang kontributor jenis ini mungkin tidak memiliki waktu untuk terus mengikuti perkembangan proyek, sehingga tugas Anda alah mempermudah mereka untuk bisa berkontribusi.
Mendorong kontributor lain adalah sebuah investasi pada diri Anda juga. Ketika Anda memberdayakan fans Anda untuk mengerjakan pekerjaan yang mereka sukai, maka tekanan bagi Anda untuk mengerjakan semuanya akan berkurang.
### Dokumentasikan segalanya
Ketika Anda memulai proyek baru, sangatlah umum untuk membuat proyek Anda secara privat. Tetapi proyek open source berkembang ketika Anda mendokumentasikan proses Anda secara terbuka.
Ketika Anda menuliskan segala sesuatunya, banyak orang bisa berpartisipasi pada setiap langkah. Anda mungkin akan mendapatkan bantuan pada sesuatu yang mungkin tidak Anda bayangkan.
Menuliskan segala sesuatunya berarti lebih dari sekedar dokumentasi teknis. Setiap kali Anda merasa perlu untuk menuliskan sesuatu atau mendiskusikan proyek Anda secara pribadi, tanyakan diri Anda apakah bisa membuatnya menjadi terbuka.
Bersikap transparan terhadap perjalanan proyek Anda, jenis kontribusi yang Anda harapkan, bagaimana kontribusi akan di-review, dan mengapa Anda membuat beberapa keputusan.
Jika Anda melihat beberapa orang mengalami masalah yang sama, dokumentasikan jawabannya pada README.
Untuk acara rapat, pertimbangkan untuk mempublikasikan hasil catatan pada masalah yang relevan. Masukkan yang Anda dapatkan dari transparansi ini mungkin akan mengejutkan Anda.
Mendokumentasikan segalanya juga berlaku pada pekerjaan yang Anda lakukan juga. Jika Anda mengerjakan sebuah perubahan besar pada proyek Anda, simpan pada pull request dan tandai sebagai _work in progress_ (WIP). Dengan cara itu, orang lain bisa merasa terlibat pada fase awal.
### Bersikap responsif
Ketika Anda [mempromosikan proyek Anda](../finding-users), orang lain akan memberikan masukan untuk Anda. Mereka mungkin memiliki pertanyaan tentang bagaimana segala sesuatunya bekerja, atau membutuhkan bantuan untuk memulainya.
Cobalah untuk responsif ketika seseorang membuat laporan masalah, mengirimkan pull request, atau bertanya tentang proyek Anda. Ketika Anda menjawab dengan cepat, orang lain akan merasa bahwa mereka merupakan bagian dari dialog, dan akan merasa lebih berminat untuk berpartisipasi.
Meskipun Anda tidak bisa melakukan review secara langsung, mengkonfirmasinya di awal akan meningkatkan hubungan. Berikut cara @tdreyno merespon terhadap pull request pada [Middleman](https://github.com/middleman/middleman/pull/1466):

[Penelitian Mozilla menemukan bahwa](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) kontributor yang menerima review kode dalam 48 jam pertama memiliki peluang kembali dan kontribusi berkelanjutan yang lebih tinggi.
Diskusi tentang proyek Anda juga bisa terjadi pada berbagai tempat lain di Internet, seperti Stack Overflow, Twitter, atau Reddit. Anda bisa membuat notifikasi pada beberapa tempat sehingga Anda akan diberitahu apabila seseorang menyebutkan proyek Anda.
### Berikan komunitas Anda tempat untuk berkumpul
Terdapat dua alasan untuk memberikan komunitas Anda tempat untuk berkumpul.
Alasan pertama adalah untuk mereka. Bantu orang-orang untuk saling mengenal. Orang-orang dengan ketertarikan yang sama tentu membutuhkan tempat untuk berdiskusi. Ketika komunikasi terjadi secara publik dan dapat diakses, setiap orang dapat membaca arsip lama untuk bisa dengan cepat memahami kondisi terbaru dan berpartisipasi.
Alasan kedua adalah untuk Anda. Jika Anda tidak memberikan orang lain sebuah tempat publik untuk berbicara tentang proyek Anda, mereka akan menghubungi Anda secara langsung. Di awal, terasa mudah untuk merespon terhadap pesan pribadi "hanya kali ini". Seiring berjalannya waktu, terutama jika proyek Anda menjadi terkenal, Anda akan merasa capek. Hindari keinginan untuk berkomunikasi dengan orang-orang tentang proyek Anda secara pribadi. Arahkan mereka untuk menggunakan media publik.
Komunikasi publik bisa sangat sederhana seperti mengarahkan orang-orang untuk membuka laporan masalah dibandingkan mengirimkan pada Anda secara pribadi atau berkomentar pada blog Anda. Anda juga bisa membuat sebuah mailing list, atau membuat akun Twitter, Slack, atau chanel IRC untuk orang-orang bisa berbicara tentang proyek Anda. Atau coba kesemuanya!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) menyempatkan waktu jam bekerja setiap mingguna untuk membantu anggota komunitas:
> Kops juga memiliki waktu setiap minggunya untuk menawarkan bantuan dan panduan kepada komunitas. Pengelola kop sudah sepakat untuk menyediakan waktu khusus untuk membantu pengguna baru, membantu PR, dan mendiskusikan fitur baru.
Pengecualian terhadap komunikasi publik adalah: 1) masalah keamanan dan 2) pelanggaran kode etik yang sensitif. Anda harus memiliki sebuah cara bagi orang lain untuk melaporkan masalah ini secara pribadi. Jika Anda tidak ingin menggunakan alamat email pribadi, gunakan alamat email yang khusus untuk hal ini.
## Mengembangkan komunitas Anda
Komunitas sangatlah kuat. Kekuratan itu bisa menjadi berkat atau kutukan, tergantung bagaimana Anda menggunakannya. Seiring dengan berkembangnya komunitas proyek Anda, terdapat banyak cara untuk membuatnya menjadi kekuatan yang bersifat membangun, bukan menghancurkan.
### Tidak mentolerir aktor jahat
Sembarang proyek yang terkenal akan menarik orang lain untuk merusak dibandingkan membantu komunitas Anda. Mereka mungkin memulainya dengan debat yang tidak perlu, beralasan tentang fitur yang sederhana, atau bahkan menganggu yang lain.
Lakukan yang terbaik untuk mengadopsi kebijakan tanpa toleransi terhadap orang-orang jenis ini. Jika dibiarkan, orang-orang negatif ini akan membuat orang lain menjadi tidak nyaman. Bahkan mereka bisa meninggalkan proyek Anda.
Debat pada hal-hal kecil bisa menganggu yang lain, termasuk Anda dari pekerjaan penting. Orang baru yang hadir pada proyek Anda mungkin melihat diskusi ini dan tidak jadi berpartisipasi.
Ketika Anda melihat perilaku negatif terjadi pada proyek Anda, hentikan segera. Jelaskan dengan cara yang sopan tetapi tegas kenapa perilaku semacam ini tidak dapat diterima. Jika hal ini masih berlanjut, Anda bisa saja [meminta mereka untuk pergi](../code-of-conduct/#menerapkan-kode-etik). [Kode etik](../code-of-conduct/) Anda bisa menjadi panduan yang konstruktif untuk diskusi semacam ini.
### Temui kontributor dimana mereka berada
Dokumentasi yang bagus akan semakin penting ketika komunitas Anda berkembang. Kontributor umum, yang mungkin tidak fasih dengan proyek Anda akan membaca dokumentasi untuk bisa memahami konteks yang mereka perlu ketahui.
Pada dokumen CONTRIBUTING, jelaskan secara eksplisit bagaimana kontributor baru bisa memulainya. Anda mungkin bisa mempersiapkan satu bagian khusus untuk tujuan ini. Sebagai contoh, [Django](https://github.com/django/django), memiliki halaman awal khusus untuk menyambut kontributor baru.

Pada daftar laporan masalah Anda, tandai masalah yang cocok untuk setiap jenis kontributor yang berbeda: misalnya, [_"hanya pemula"_](https://kentcdodds.com/blog/first-timers-only), _"laporan kesalahan pertama"_, atau _"dokumentasi"_. [Label ini](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) mempermudah orang yang baru pada proyek Anda untuk mencari daftar laporan masalah dan mulai berkontribusi.
Akhirnya, gunakan dokumentasi Anda untuk membuat orang lain nyaman pada setiap langkahnya.
Anda tidak akan pernah berinteraksi dengan sebagian besar orang-orang yang hadir pada proyek Anda. Bisa jadi terdapat kontribusi yang tidak Anda dapatkan karena seseorang merasa terintimidasi atau tidak tahu bagaimana memulainya. Sebuah kata-kata sederhana bisa menjaga mereka untuk tetap bertahan dan bebas dari rasa frustasi.
Sebagai contoh, berikut bagaimana cara [Rubinius](https://github.com/rubinius/rubinius/) memulai [panduan kontribusinya](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Kita ingin memulainya dengan mengucapkan terima kasih karena menggunakan Rubinius. Proyek ini merupakan hasil cinta kami, dan kami menghargai semua pengguna yang menemukan kesalahan, membuat perbaikan performa, dan membantu dengan dokumentasi. Setiap kontribusi sangat berharga, sehingga kami mengucapkan terima kasih untuk berpartisipasi. Meski demikian, berikut adalah beberapa panduan yang kami harapkan untuk bisa diikuti sehingga kami bisa menyelesaikan permasalahan Anda dengan baik.
### Berbagi kepemilikan dari proyek Anda
Orang-orang tertarik untuk berkontribusi pada proyek apabila mereka merasa perasaan memiliki. Hal itu bukan berarti Anda perlu memberikan visi proyek Anda kepada mereka atau menerima kontribusi yang tidak Anda kehendaki. Tetapi semakin banyak Anda memberikan penghargaan kepada orang lain, semakin besar kemungkinan mereka akan bertahan.
Cari cara untuk bisa berbagi kepemilikan dengan komunitas Anda sebanyak mungkin. Berikut beberapa ide:
* **Menahan diri memperbaiki kesalahan sederhana.** Gunakan kesempatan ini untuk merekrut kontributor baru, atau menjadi mentor bagi orang lain yang ingin berkontribusi. Hal ini tampaknya tidak biasa pada awalnya, namun investasi Anda akan berbuah hasil dikemudian hari. Sebagai contoh @michaeljoseph meminta kontributor untuk mengirimkan pull request pada masalah [Cookiecutter](https://github.com/audreyr/cookiecutter), dan tidak menyelesaikannya sendiri.

* **Bualah dokumen CONTRIBUTORS atau AUTHORS pada proyek Anda** yang mendata semua orang yang berkontribusi pada proyek Anda, seperti [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* Jika Anda memiliki komunitas yang cukup besar, **kirimkan surat berita atau tuliskan blog** dan ucapkan terima kasih pada kontributor. [This Week in Rust](https://this-week-in-rust.org/) milik Rust dan [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) milik Hoodie adalah dua contoh bagus.
* **Berikan setiap kontributor akses commit.** @felixge menemukan bahwa hal ini membuat orang lain [lebih tertarik untuk memperbaiki perbaikan mereka](https://felixge.de/2013/03/11/the-pull-request-hack.html), dan dia juga menemukan pengelola baru untuk proyek yang tidak dia kelola selama beberapa waktu.
* Jika proyek Anda berada pada GitHub, **pindahkan proyek Anda dari akun personal ke [Organisasi](https://help.github.com/articles/creating-a-new-organization-account/)** dan tambahkan paling tidak satu admin cadangan. Organisasi mempermudah pekerjaan kolaborasi dengan kolaborator eksternal.
Kenyataannya adalah [sebagian besar proyek hanya memiliki](https://peerj.com/preprints/1233/) satu atau dua pengeloa yang melakukan sebagian besar pekerjaan. Semakin besar proyek Anda, dan semakin besar komunitas Anda, semakin mudah untuk menemukan bantuan.
Meskipun tidak selalu mudah untuk mendapatkan orang yang memenuhi panggilan Anda, memberikan sinyal akan meningkatkan peluang dimana orang lain akan ikut terlibat. Dan semakin cepat Anda melakukannya, semakin cepat pula orang akan datang membantu.
## Menyelesaikan konflik
Pada awal proyek, membuat keputusan besar terasa mudah. Ketika Anda hendak melakukan sesuatu, Anda langsung melakukannya.
Seiring dengan proyek Anda semakin populer, semakin banyak orang akan memperhatikan setiap keputusan yang Anda ambil. Meskipun Anda tidak memiliki komunitas kontributor yang besar sekalipun, apabila proyek Anda memiliki banyak pengguna, Anda akan mendapati bahwa orang lain akan berusaha mempengaruhi keputusan atau mengangkat masalah mereka sendiri.
Pada sebagian besar kasus, jika Anda telah membangun komunitas yang ramah dan saling menghargai serta mendokumentasikan proses Anda secara terbuka, komunitas Anda akan mudah menemukan solusinya. Namun seringkali Anda akan menjumpai masalah yang susah diselesaikan.
### Tentukan tingkat kesabaran
Ketika komunitas Anda berjuang dengan masalah yang rumit, emosi bisa meningkat. Orang-orang bisa menjadi marah dan frustasi dan melimpahkannya pada orang lain, atau pada Anda.
Tugas Anda sebagai pengelola adalah menjaga situasi ini agar tidak sampai memuncak. Meskipun Anda memiliki opini yang kuat pada topik tersebut, cobalah untuk membuat posisi Anda sebagai moderator atau fasilitator dan jangan memaksakan kehendak Anda. Jika seseorang mencoba memonopoli diskusi, [ambil tindakan secepatnya](../building-community/#tidak-mentolerir-aktor-jahat) untuk memastikan diskusi tetap terjaga dan produktif.
Orang lain melihat Anda sebagai panutan. Berikan contoh yang baik. Anda bisa mengutarakan kekecewaan, kesedihan, atau kekhawatiran, tetapi lakukan secara perlahan.
Mempertahankan hal yang baik bukanlah sesuatu yang mudah, tetapi mendemonstrasikan kepemimpinan akan meningkatkan kesehatan dari komunitas Anda. Intrnet akan berterima kasih kepada Anda.
### Perlakukan README sebagai konstitusi
Dokumen README [lebih dari sekedar sekumpulan instruksi](../starting-a-project/#menulis-dokumen-readme). Dokumen itu juga tempat untuk mendiskusikan tujuan, visi, dan peta proyek Anda. Jika orang-orang terlalu fokus berdebat pada fitur tertentu, mungkin akan membantu untuk melihat kembali dokumen README dan diskusikan visi yang lebih jauh dari proyek Anda. Berfokus pada README juga memperdalam diskusi sehingga Anda bisa mendapatkan diskusi yang konstruktif.
### Fokus pada perjalanan, bukan tujuan
Beberapa proyek menggunakan proses pemilihan suara model voting untuk pengambilan keputusan yang besar. Meskipun masuk akal di awal, voting berfokus pada mendapatkan "jawaban", dan bukan pada mendengarkan dan menjawab kekhawatiran orang lain.
Voting bisa sangat politis, dimana anggota komunitas merasa tertekan untuk melakukannya. Tidak semua memberikan suaranya, baik sebagai [silent majority](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) pada komunitas Anda, atau pengguna yang tidak tahu bahwa terjadi voting.
Seringkali voting memang diperlukan untuk memecah kebuntuan. Namun tekankan ["consensus seeking"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) daripada konsensus.
Pada proses _consensus seeking_, anggota komunitas mendiskusikan masalah utama sampai mereka merasa didengarkan. Ketika tersisa masalah kecil, maka komunitas akan bergerak maju. "Consensus seeking" mengakui bahwa sebuah komunitas mungkin tidak akan mendapatkan jawaban yang sempurna. Namun proses ini memprioritaskan proses untuk mendengarkan dan diskusi.
Meskipun Anda tidak mengadopsi proses _consensus seeking_, sebagai seorang pengelola proyek, sangatlah penting bahwa orang lain tahu bahwa Anda mendengarkan. Membuat orang lain merasa didengarkan, dan berkomitmen untuk menyelesaikan masalah mereka akan membantu menyelesaikan situasi yang sensitif. Lanjutkan ucapan Anda dengan tindakan.
Jangan tergesa-gesa untuk mengambil keputusan untuk mendapatkan resolusi. Pastikan semua orang merasa didengarkan dan semua informasi sudah dipublikasikan sebelum melanjutkan pada penyelesaian.
### Jaga diskusi agar berfokus pada tindakan
Diskusi penting, tetapi terdapat perbedaan antara diskusi yang produktif dan tidak produktif.
Dorong terjadinya diskusi selama mengarah pada jawaban. Jika diskusi sudah tidak jelas dan keluar dari topik, mengarah ke individual, atau mulai memperhatikan hal-hal kecil yang tidak relevan, waktunya untuk menghentikan diskusi tersebut.
Mengijinkan diskusi semacam ini untuk terus berlanjut tidak hanya jelek untuk masalah yang dibahas, namun juga pada komunitas Anda. Diskusi semacam ini mengirimkan pesan bahwa jenis diskusi semacam ini diijinkan atau bahkan malah disarankan, dan bisa membuat orang lain untuk tidak bersedia mengirimkan atau menyelesaikan masalah di masa depan.
Dengan setiap poin yang dibuat oleh Anda atau orang lain, tanyakan kepada diri Anda, _"Bagaimana hal ini bisa membawa kita lebih dekat pada penyelesaian?"_
Jika diskusi sudah mulai tidak mengarah, tanyakan pada grup, _"Langkah apa yang sebaiknya kita ambil berikutnya?"_ untuk memfokuskan ulang pada diskusi.
Jika sebuah diskusi tidak mengarah kemana-mana, tidak ada tindakan yang jelas yang harus diambil, atau tindakan yang benar sudah dilakukan, tutup laporan dan jelaskan kenapa.
### Tentukan perang Anda secara bijaksana
Konteks itu penting. Pertimbangkan siapa yang harus terlibat pada diskusi dan bagaimana mereka bisa merepresentasikan komunitas secara luas.
Jika semua orang pada komunitas tidak suka, atau terlibat dengan masalah ini? Atau cuma individual? Jangan lupa untuk memperhatikan anggota komunitas yang hanya mendengarkan, tetapi tidak memberikan suaranya secara aktif.
Jika masalah tersebut tidak merepresentasikan kebutuhan yang lebih luas dari komunitas Anda, Anda mungkin cukup meminta pendapat dari sebagian kecil orang. Jika hal ini merupakan masalah yang terjadi berulang-ulang tanpa penyelesaian yang jelas, hubungkan dengan diskusi sebelumnya dan tutup laporan masalah.
### Identifikasi pemecah kebuntuan pada komunitas
Dengan perilaku yang baik dan komunikasi yang jelas, sebagian besar situasi akan dapat terselesaikan. Meski demikian, bahkan pada diskusi yang produktif sekalipun, seringkali terdapat perbedaan pendapat tentang apa yang harus dilakukan. Pada kasus ini, identifikasi individu atau sekelompok orang yang bisa memecah kebuntuan.
Orang ini bisa pengelola utama pada proyek, atau sekelompok orang yang mengambil keputusan berdasarkan voting. Idealnya Anda sudah mengindentifikasi orang-orang ini dan menuliskan prosesnya pada dokumen GOVERNANCE sebelum Anda harus menggunakannya.
Gunakan ini sebagai jalan terakhir. Masalah semacam ini merupakan kesempatan bagi komunitas Anda untuk berkembang dan belajar. Manfaatkan kesempatan ini dan gunakan proses kolaboratif untuk berpidah pada penyelesaian sebisa mungkin.
## Komunitas adalah ❤️ dari open source
Komunitas yang sehat dan berkembang akan mengisi ribuan jam yang dihabiskan pada open source setiap minggunya. Banyak kontributor akan menunjuk orang lain sebagai alasan ia bekerja - atau tidak bekerja - pada open source. Dengan mempelajari bagaimana menggunakan kekuatan tersebut secara positif dan konstruktif, Anda akan membantu orang-orang diluar sana untuk mendapatkan pengalaman open source yang tak terlupakan.
================================================
FILE: _articles/id/code-of-conduct.md
================================================
---
lang: id
title: Kode Etik Anda
description: Fasilitasi perilaku komunitas yang sehat dan konstruktif dengan mengadopsi dan menerapkan kode etik.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Kenapa saya perlu menerapkan kode etik?
Sebuah kode etik adalah dokumen yang menjelaskan perilaku yang diharapkan dari partisipan proyek Anda. Mengadopsi, dan menerapkan kode etik dapat membantu membuat atmosfir sosial yang positif pada komunitas Anda.
Kode etik membantu tidak hanya partisipan Anda, tetapi juga Anda sendiri. Jika Anda mengelola proyek, Anda akan mendapati bahwa tingkah laku tidak produktif dari partisipan lain bisa menguras energi Anda dan Anda merasa tidak bahagia terhadap pekerjaan Anda.
Kode etik menekankan Anda untuk memfasilitasi perilaku komunitas yang sehat dan konstruktif. Bersifat proaktif mengurangi kecenderungan bahwa Anda atau orang lain akan merasa capek dengan proyek Anda, dan membantu mengambil tindakan apabila seseorang melakukan sesuatu yang tidak Anda setujui.
## Membuat kode etik
Cobalah untuk membuat kode etik sedini mungkin: idealnya ketika Anda membuat proyek pertama Anda.
Selain mengkomunikasikan ekspektasi Anda, kode etik juga menjelaskan beberapa hal berikut:
* Dimana kode etik berlaku _(hanya pada masalah dan pull request, atau aktivitas komunitas?)_
* Kepada siapa kode etik berlaku _(anggota komunitas dan pengelola, tetapi bagaimana dengan sponsor?)_
* Apa yang terjadi jika seseorang melanggar kode etik
* Bagaimana seseorang dapat melaporkan pelanggaran
Apabila dimungkinkan, gunakan yang sudah ada. [Contributor Covenant](https://www.contributor-covenant.org/) adalah kode etik yang bisa digunakan dan sudah digunakan oleh lebih dari 40.000 proyek open source, termasuk Kubernetes, Rails, dan Swift.
[Kode etik Django](https://www.djangoproject.com/conduct/) dan [Kode etik Warga](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) adalah dua contoh kode etik yang bagus.
Tempatkan dokumen CODE_OF_CONDUCT pada induk direktori proyek Anda, dan hubungkan dari dokumen README sehingga terlihat dengan jelas oleh komunitas Anda.
## Menentukan bagaimana Anda akan menerapkan kode etik
Anda harus menjelaskan bagaimana kode etik Anda akan diterapkan **_sebelum_** pelanggaran terjadi. Terdapat beberapa alasan:
* Hal ini mendemonstrasikan bahwa Anda serius untuk mengambil tindakan apabila diperlukan.
* Komunitas Anda akan merasa lebih terjamin apabila komplain akan direview.
* Anda meyakinkan komunitas Anda bahwa proses review berjalan dengan adil dan transparan, apabila mereka mendapati dirinya diinvestigasi terhadap sebuah pelanggaran.
Anda harus memberikan sebuah jalan yang pribadi (seperti alamat email) untuk melaporkan pelanggaran kode etik dan menjelaskan siapa yang menerima laporan tersebut. Penerima laporan bisa jadi pengelola, sekelompok orang pengelola, atau tim kode etik.
Jangan lupa bahwa seseorang mungkin melaporkan pelanggaran terhadap orang yang akan menerima laporan tersebut. Pada kasus ini, berikan opsi untuk melaporkan pelanggaran pada orang lain. Misalnya, @ctb dan @mr-c [menjelaskan pada proyek mereka](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Perilaku kasar, melecehkan, atau perilaku lainnya yang tidak dapat diterima dapat dilaporkan dengan mengirimkan email pada **khmer-project@idyll.org** yang akan sampai pada C. Titus Brown dan Michael R. Crusoe. Untuk melaporkan masalah pada salah satu dari mereka, kirimkan email pada **Judi Brown Clarke, Ph.D.** Direktur Diversity pada BEACON Center untuk Studi Evolusi, sebuah pusat studi NSF untuk Ilmu Pengetahuan dan Teknologi.*
Sebagai inspirasi, lihat [manual penerapan](https://www.djangoproject.com/conduct/enforcement-manual/) Django (meskipun Anda mungkin tidak perlu sedetail ini, tergantung dari ukuran proyek Anda).
## Menerapkan kode etik
Seringkali, terlepas dari usaha Anda, seseorang akan melakukan pelanggaran terhadap kode etik. Terdapat beberapa cara untuk menyelesaikan perilaku negatif ketika hal itu terjadi.
### Mengumpulkan informasi tentang situasi
Perlakukan setiap suara anggota komunitas sama pentingnya seperti suara Anda sendiri. Jika Anda menerima laporan bahwa seseorang melanggar kode etik, perlakukan dengan serius dan investigasi hal tersebut, meskipun hal itu tidak sesuai dengan pengalaman Anda dengan orang tersebut. Dengan melakukan hal ini, Anda memberikan tanda kepada komunitas Anda bahwa Anda menghargai perspektif dan mempercayai penilaian mereka.
Anggota komunitas yang melanggar mungkin orang yang melakukannya berulang-ulang dan membuat orang lain menjadi tidak nyaman, atau mereka mungkin melakukannya hanya sekali. Kedua kasus tersebut bisa menjadi dasar untuk mengambil tindakan, tergantung dari konteks.
Sebelum Anda merespon, berikan Anda waktu untuk memahami apa yang terjadi. Baca komentar dan percakapan orang tersebut di masa lampau untuk memahami siapa mereka dan mengapa mereka bertindak seperti itu. Cobalah untuk mendapatkan perspektif diluar perspektif Anda sendiri tentang orang ini dan perilaku mereka.
### Mengambil tindakan yang sesuai
Setelah mengumpulkan dan memproses informasi yang cukup, Anda perlu memutuskan apa yang akan Anda lakukan. Ketika Anda mempertimbangkan langkah selanjutnya, ingatlah bahwa tujuan Anda sebagai moderator adalah untuk mengembangkan lingkungan yang aman, saling menghargai, dan kolaboratif. Pertimbangkan untuk tidak hanya memikirkan kondisi yang sedang ditangani, tetapi bagaimana respon Anda akan mempengaruhi perilaku komunitas Anda dan ekspektasi untuk masa depan.
Ketika seseorang melaporkan pelanggaran kode etik, hal itu merupakan tugas Anda, bukan mereka untuk menanganinya. Seringkali, pelapor membuka informasi yang bisa membahayakan karir, reputasi, atau keamanan fisik mereka. Memaksa mereka untuk mengkonfrontasi pelaku bisa menempatkan pelapor pada posisi yang membahayakan. Anda harus menangani komunikasi langsung dengan pelapor, kecuali pelapor meminta secara eksplisit.
Terdapat beberapa cara untuk merespon pada pelanggaran kode etik:
* **Berikan peringatan publik** dan jelaskan bagaimana perilaku mereka mempengaruhi orang lain secara negatif pada media tempat pelanggaran itu terjadi. Ketika memungkinkan, komunikasi publik memberikan tanda pada komunitas bahwa Anda menganggap kode etik secara serius. Harap sopan, tetapi tegas pada komunikasi Anda.
* **Hubungi orang tersebut secara pribadi** untuk menjelaskan bagaimana perilaku mereka mempengaruhi orang lain secara negatif. Anda mungkin akan menggunakan media komunikasi pribadi jika situasinya melibatkan informasi pribadi. Jika Anda berkomunikasi dengan seseorang secara pribadi, merupakan ide yang bagus untuk menggunakan CC kepada mereka yang melaporkan situasinya, sehingga mereka tahu bahwa Anda mengambil tindakan. Konfirmasikan kepada pelapor sebelum memberikan CC kepada mereka.
Seringkali, sebuah resolusi tidak dapat tercapai. Tersangka menjadi agresif dan bertindak kasar ketika dikonfrontasi atau tidak mengubah perilakunya. Pada situasi ini, Anda mungkin bisa mempertimbangkan tindakan yang lebih tegas. Sebagai contoh:
* **Skorsing** dari proyek, yang dilakukan melalui larangan sementara pada setiap partisipasi aspek proyek
* **Larangan permanen** dari proyek
Melarang anggota tidak boleh dianggap sepele dan merepresentasikan perbedaan perspektif yang permanen. Anda harus mengambil tindakan ketika resolusi tidak dapat dicapai.
## Tanggung jawab Anda sebagai pengelola
Kode etik bukanlah hukum yang diberlakukan secara sewenang-wenang. Anda adalah orang yang memberlakukan kode etik dan hal itu merupakan tanggung jawab Anda untuk mengikuti aturan yang ditetapkan oleh kode etik.
Sebagai pengelola, Anda membuat panduan untuk komunitas Anda dan memberlakukan panduan tersebut sesuai dengan aturan yang ditetapkan pada kode etik. Hal ini berarti memproses laporan pelanggaran kode etik secara serius. Pelapor berhak mendapatkan review yang adil terhadap komplain mereka. Jika Anda menentukan bahwa perilaku yang dilaporkan bukanlah sebuah pelanggaran, komunikasikan kepada mereka dan jelaskan mengapa Anda tidak melakukan tindakan apapun. Apa yang akan mereka lakukan terhadap keputusan Anda merupakan hak mereka: mentolerasi perilaku yang tidak sesuai atau berhenti berpartisipasi pada komunitas.
Sebuah laporan tentang perilaku yang secara _teknis_ melanggar kode etik masih tetap mengindikasikan bahwa ada masalah pada komunitas Anda, dan Anda harus menginvestigasi masalah ini. Hal ini mungkin termasuk merevisi kode etik untuk mengklarifikasi perilaku yang dapat diterima dan/atau berbicara pada orang yang dilaporkan dan memberitahukan bahwa meskipun mereka tidak melanggar kode etik, mereka membuat partisipan lain menjadi tidak nyaman.
Akhirnya, sebagai pengelola, Anda menentukan dan menerapkan standar untuk perilaku yang dapat diterima. Anda memiliki kemampuan untuk mengubah nilai komunitas pada proyek dan partisipan mengharapkan Anda untuk menerapkan nilai-nilai tersebut dengan cara yang adil.
## Mendorong perilaku yang Anda harapkan pada dunia 🌎
Ketika sebuah proyek tampak tidak ramah, meskipun hanya satu orang yang dapat ditoleransi oleh anggota lain, Anda memiliki resiko untuk kehilangan banyak kontributor. Bukanlah perkara mudah untuk mengadopsi dan menerapkan kode etik, tetapi mengembangkan lingkungan yang ramah akan membantu komunitas Anda untuk berkembang.
================================================
FILE: _articles/id/finding-users.md
================================================
---
lang: id
title: Menemukan Pengguna untuk Proyek Anda
description: Membantu proyek open source Anda untuk berkembang dengan cara menyampaikannya ke pengguna yang senang dengan proyek Anda
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Menyebarkan kata
Tidak ada aturan yang menyebutkan bahwa Anda harus mempromosikan sebuah proyek open source ketika Anda merilisnya. Terdapat banyak alasan untuk bekerja pada open source yang tidak berkaitan dengan popularitas. Namun jika Anda berharap orang lain akan menemukan dan menggunakan proyek open source Anda, inilah saatnya untuk memberitahukan ke semua orang tentang hasil kerja keras Anda.
## Menentukan pesan Anda
Sebelum Anda memulai pekerjaan tentang mempromosikan proyek Anda, Anda harus bisa menjelaskan apa yang dilakukan oleh proyek Anda dan kenapa itu penting.
Apa yang membuat proyek Anda berbeda atau menarik? Mengapa Anda membuatnya? Menjawab pertanyaan-pertanyaan ini kepada diri sendiri akan membuat lebih mudah untuk bisa meyakinkan orang lain
Ingat bahwa orang-orang akan terlibat sebagai pengguna, dan kemudian kontributor, karena menyelesaikan sebuah masalah bagi mereka. Ketika Anda memikirkan tentang pesan dan nilai proyek Anda, cobalah untuk melihat dari sudut pandang apa yang _mereka_ inginkan.
Sebagai contoh, @robb menggunakan contoh kode program untuk menjelaskan kenapa proyeknya [Cartography](https://github.com/robb/Cartography), berguna:

Untuk mendalami lebih dalam tentang penyampaian pesan, lihat panduan Mozilla ["Persona dan Jalur"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) untuk mengembangkan persona pengguna.
## Bantu orang lain menemukan dan mengikuti proyek Anda
Bantu orang lain untuk mencari dan mengingat proyek Anda dengan mengarahkan mereka pada sebuah nama yang tunggal.
**Gunakan akun yang jelas untuk mempromosikan pekerjaan Anda.** Sebuah akun Twitter, URL GitHub, atau channel IRC merupakan cara mudah untuk menunjukkan kepada orang lain tentang proyek Anda. Akun-akun ini juga memberikan tempat untuk berdiskusi bagi komunitas proyek Anda yang senantiasa berkembang.
Jika Anda belum ingin membuat channel pada proyek Anda, promosikan akun Twitter atau GitHub pada segala pekerjaan Anda. Sebagai contoh, pastikan akun tersebut masuk pada biodata atau slide presentasi ketika Anda berbicara pada acara pertemuan. Dengan cara itu, orang lain tahu bagaimana menghubungi Anda atau mengikuti hasil pekerjaan Anda.
**Pertimbangkan untuk membuat halaman web untuk proyek Anda.** Sebuah halaman web membuat proyek Anda terasa lebih bersahabat dan mudah untuk dieksplorasi, terutama jika dikombinasikan dengan dokumentasi dan tutorial yang jelas. Hal ini juga menjelaskan bahwa proyek Anda masih aktif, yang akan membuat pengguna Anda menjadi lebih nyaman dalam menggunakannya. Gunakan contoh untuk memberikan ide kepada orang lain tentang bagaimana menggunakan proyek Anda.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), co-creator dari Django, mengatakan bahwa halaman web merupakan _"salah satu hal terbaik yang kita lakukan dengan Django di masa-masa awal"_.
Jika proyek Anda berada di GitHub, Anda bisa menggunakan [GitHub Pages](https://pages.github.com/) untuk membuat halaman web dengan mudah. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), dan [Middleman](https://middlemanapp.com/) adalah [beberapa contoh](https://github.com/showcases/github-pages-examples) dari halaman web yang komprehensif.

Ketika Anda telah memiliki pesan untuk proyek Anda dan cara mudah bagi orang lain untuk menemukan proyek Anda, sekarang bicaralah ke pengguna Anda!
## Ketika pengguna proyek Anda (online)
Kegiatan outreach online merupakan cara yang bagus untuk berbagi dan menyebarkan informasi dengan cepat. Dengan menggunakan chanel online, Anda memiliki potensi untuk menjangkau jumlah pengguna yang sangat besar.
Ambil keuntungan dari komunitas dan platform online yang sudah ada untuk menjangkau pengguna Anda. Jika proyek open source Anda adalah proyek perangkat lunak, Anda mungkin bisa menjangkau proyek Anda melalui [Stack Overflow](https://stackoverflow.com/), [reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), atau [Quora](https://www.quora.com/). Temukan chanel yang Anda pikir orang-orang akan mendapatkan keuntungan dari pekerjaan Anda.
Amati jika Anda bisa menemukan cara untuk berbagi informasi tentang proyek Anda pada cara-cara yang relevan:
* **Berkenalan dengan proyek dan komunitas open source yang relevan.** Seringkali, Anda tidak harus secara langsung mempromosikan proyek Anda. Jika proyek Anda sesuai untuk pengolah data yang menggunakan Python, berkenalanlah dengan komunitas pengolah data Python. Dengan semakin banyak orang yang mengenal Anda, kesempatan akan hadir untuk membicarakan hasil pekerjaan Anda.
* **Temukan orang yang memiliki masalah yang diselesaikan dengan proyek Anda.** Cari melalui forum tentang orang-orang yang menjadi target pengguna proyek Anda. Jawab pertanyaan mereka dan carilah kesempatan untuk menawarkan proyek Anda sebagai solusinya.
* **Minta masukan.** Perkenalkan diri Anda dan pekerjaan Anda kepada pengguna yang relevan. Jelaskan secara spesifik tentang siapa saja yang Anda anggap akan mendapatkan keuntungan dari proyek Anda. Cobalah untuk mengakhiri kalimat : _"Saya pikir proyek saya akan sangat membantu X, yang sedang mencoba melakukan Y_". Dengarkan dan berikan respon terhadap masukan orang lain dibandingkan terus menerus mempromosikan hasil pekerjaan Anda.
Secara umum, berfokuslah pada membantu orang lain sebelum meminta. Karena sangatlah mudah bagi setiap orang untuk mempromosikan proyek, sehingga akan terjadi banyak suara-suara yang masuk. Berikan orang lain tentang konteks tentang diri Anda, bukan saja yang Anda inginkan agar Anda bisa berbeda dari yang lain.
Jika tidak ada yang menanggapi atau merespon, jangan kecewa! Rilis proyek awal biasanya merupakan proses yang bersifat iteratif yang bisa memakan waktu berbulan-bulan atau bahkan bertahun-tahun. Jika Anda tidak mendapatkan respon untuk pertama kali, cobalah taktik yang berbeda, atau cari cara lain untuk menambahkan nilai bagi hasil pekerjaan orang lain terlebih dahulu. Hal ini memerlukan waktu dan dedikasi.
## Ketika pengguna proyek Anda (offline)

Kegiatan _offline_ adalah cara yang populer untuk mempromosikan proyek baru. Kegiatan ini merupakan cara yang baik untuk menjangkau pengguna yang sibuk dan membangun koneksi yang lebih personal, terutama jika Anda tertarik untuk menjangkau para pengembang.
Jika Anda termasuk [awam pada komunikasi publik](https://speaking.io/), mulailah dengan mencari acara pertemuan lokal yang berhubungan dengan bahasa atau ekosistem dari proyek Anda.
Jika Anda belum pernah berbicara pada acara pertemuan sebelumnya, sangatlah normal untuk cemas! Ingatlah bahwa pengguna Anda hadir karena mereka dengan tulus hendak mendengarkan tentang pekerjaan Anda.
Ketika Anda mulai menuliskan presentasi Anda, fokus pada apa yang akan dianggap menarik oleh pengguna Anda. Gunakan bahasa yang ramah dan mudah dipahami. Senyum, ambil nafas, dan bersenang-senanglah.
Ketika Anda sudah merasa siap, pertimbangkan untuk berbicara pada level konferensi untuk mempromosikan proyek Anda. Acara konferensi bisa membantu Anda menjangkau lebih banyak orang, seringkali dari berbagai penjuru dunia.
Carilah konferensi yang sesuai dengan bahasa atau ekosistem Anda. Sebelum Anda mengumpulkan presentasi Anda, pelajari konferensi sebelumnya untuk menyesuaikan presentasi Anda dengan pengunjung dan meningkatkan peluang Anda untuk diterima. Anda seringkali bisa melihat pengunjung konferensi dengan melihat para pembicaranya.
## Membangun sebuah reputasi
Selain strategi yang dijelaskan diatas, cara terbaik untuk mengundang orang lain untuk berbagi dan berkontribusi pada proyek Anda adalah untuk berbagi dan berkontribusi pada proyek mereka.
Membantu pengguna baru, berbagai sumber daya, dan membuat kontribusi yang berguna pada pekerjaan orang lain akan membantu Anda membangun reputasi yang positif. Lalu orang-orang tersebut akan memiliki konteks untuk pekerjaan Anda dan akan lebih memperhatikan dan mempromosikan apa yang Anda kerjakan.
Seringkali, hubungan ini bisa mengarah pada hubungan yang resmi dengan ekosistem yang lebih luas.
Tidak pernah terlalu cepat, atau terlambat untuk membangun reputasi Anda. Meskipun Anda baru saja merilis proyek Anda, selalu carilah cara untuk membantu orang lain.
Tidak ada solusi cepat untuk membangun pengguna. Mendapatkan kepercayaan dan penghargaan membutuhkan waktu, dan proses membangun reputasi tidak pernah selesai.
## Teruslah Berjuang!
Seringkali membutuhkan waktu yang sangat lama sebelum orang lain mulai memperhatikan proyek open source Anda. Tidak masalah! Sebagian dari proyek open source yang terkenal saat ini membutuhkan waktu bertahun-tahun untuk mencapai aktivitas yang tinggi seperti saat ini. Fokus pada membangun relasi dibandingkan mencari jalan pintas.Bersabarlah dan terus berbagi pekerjaan Anda dengan mereka yang menghargainya.
================================================
FILE: _articles/id/getting-paid.md
================================================
---
lang: id
title: Dibayar untuk Pekerjaan Open Source
description: Pertahankan pekerjaan Anda pada open source dengan mendapatkan dukungan finansial untuk waktu Anda pada proyek.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Kenapa beberapa orang mencari dukungan finansial
Banyak dari pekerjaan open source adalah sukarela. Sebagai contoh, seseorang mungkin menemukan sebuah kesalahan dalam sebuah proyek yang mereka gunakan dan mengirimkan sebuah perbaikan, atau mereka menikmati menggunakan proyek open source dalam waktu senggang mereka.
Terdapat banyak alasan kenapa seseorang tidak ingin dibayar untuk pekerjaan open source mereka.
* **Mereka sudah memiliki pekerjaan yang mereka sukai,** yang memungkinkan mereka berkontribusi pada open source di waktu senggang mereka.
* **Mereka menikmati pemikiran open source sebagai hobi** atau pelampiasan kreatif dan tidak ingin terikat secara finansial untuk bekerja pada proyek mereka.
* **Mereka mendapatkan keuntungan lainnya untuk berkontribusi pada open source,** seperti membangun reputasi atau portofolio mereka, mempelajari ketrampilan baru, atau merasa lebih dekat pada komunitas.
Bagi orang lain, terutama bagi membutuhkan waktu yang cukup signifikan untuk kontribusi mereka, mendapatkan dana untuk berkontribusi pada open source adalah satu-satunya cara mereka untuk bisa berpartisipasi, entah karena proyek tersebut membutuhkannya, atau karena alasan pribadi.
Mengelola proyek yang terkenal merupakan tanggung jawab besar, yang membutuhkan waktu 10 atau 20 jam per minggu dibandingkan beberapa jam setiap bulannya.
Pekerjaan yang dibayar juga memungkinkan orang-orang dari berbagai latar belakang untuk membuat kontribusi yang berarti. Beberapa orang tidak bisa meluangkan waktu tanpa dibayar pada proyek open source, mengingat posisi finansial mereka, hutang, atau tanggung jawab mengelola keluarga. Hal ini berarti dunia tidak akan melihat kontribusi dari orang-orang bertalenta yang tidak mampu menyumbangkan waktu mereka secara sukarela. Hal ini meiliki implikasi etika, seperti [yang dijelaskan](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community) @ashedryden, karena pekerjaan yang dilakukan bias terhadap mereka yang telah memiliki keuntungan dalam hidupnya, yang kemudian mendapatkan keuntungan tambahan karena kontribusi sukarela mereka, sedangkan orang lain yang tidak mampu meluangkan waktunya tidak mendapatkan kesempatan lainnya, sehingga mengakibatkan kurangnya perbedaan pada komunitas open source.
Jika Anda mencari dukungan finansial, terdapat dua jalan yang bisa dipertimbangkan. Anda bisa mendanai sendiri sebagai kontributor, atau Anda mencari organisasi pendanaan untuk proyek Anda.
## Mendanai waktu Anda sendiri
Saat ini, banyak orang dibayar untuk bekerja secara paruh waktu atau penuh pada open source. Cara yang paling umum untuk mendapatkan pendanaan untuk waktu Anda adalah berbicara dengan yang mempekerjakan Anda.
Akan lebih mudah untuk mendiskusikan proyek open source jika yang mempekerjakan Anda menggunakan proyek tersebut, tetapi tetap kreatiflah dalam usaha negosiasi Anda. Mungkin mereka tidak menggunakan proyek tersebut, tetapi mereka menggunakan Python, dan mengelola proyek Python yang populer akan membantu mengundang pengembang Python yang baru. Mungkin hal ini membuat perusahaan Anda lebih ramah terhadap pengembang secara umum.
Jika Anda tidak memiliki proyek open source yang ingin Anda kerjakan, tetapi Anda berharap pekerjaan Anda saat ini dibuat dalam bentuk open source, ajukan ke perusahaan Anda untuk membuka perangkat lunak internal mereka pada open source.
Banyak perusahaan mengembangkan program open source untuk membangun citra mereka dan merekrut talenta berkualitas.
@hueniverse, misalnya, menemukan bahwa terdapat alasan finansial untuk mendukung [investasi Walmart pada open source](http://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). @jamesgpearce juga menemukan bahwa program open source milik Facebook [membuat perbedaan](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) dalam proses perekrutan:
> Hal ini terkait erat dengan budaya hacker kami, dan bagaimana organisasi kami dipandang. Kami menanyakan pada karyawan kami, "Apakah Anda sadar tentang program pengembang open source pada Facebook?". Dua pertiga menjawab "Ya". Setengah mengatakan bahwa program tersebut berkontribusi positif terhadap keputusan mereka untuk bekerja pada Facebook. Itu bukan angka marginal, dan saya berharap menjadi sebuah tren yang berkelanjutan.
Jika perusahaan Anda mengikuti rute ini, merupakan hal yang penting untuk menjaga batas antar aktivitas komunitas dan korporasi. Akhirnya, open source bertahan melalui kontribusi dari orang-orang diseluruh dunia, dan itu sesuatu yang lebih besar dari satu perusahaan atau lokasi.
Jika Anda tidak mampu meyakinkan perusahaan untuk memprioritaskan pekerjaan open source, pertimbangkan untuk mencari perusahaan lain yang mendorong kontribusi karyawan pada open source. Cari perusahaan yang mendedikasikan pada pekerjaan open source secara eksplisit. Sebagai contoh:
* Beberapa perusahaan, seperti [Netflix](https://netflix.github.io/), memiliki halaman web yang menunjukan keterlibatan mereka pada open source
Proyek-proyek yang berasal dari perusahaan besar, seperti [Go](https://github.com/golang) atau [React](https://github.com/facebook/react), juga akan memperkerjakan orang-orang untuk bekerja pada open source.
Akhirnya, melihat dari kondisi pribadi Anda, Anda bisa mencoba mengumpulkan uang secara mandiri untuk mendanai proyek open source Anda. Sebagai contoh:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon mendanai pekerjaannya pada [Redux](https://github.com/reactjs/redux) melalui [kampanye Patreon crowdfunding](https://redux.js.org/)
* @andrewgodwin mendanai pekerjaan pada migrasi skema Django [melalui kampanye Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
## Mencari pendanaan untuk proyek Anda
Diluar pengelolaan untuk kontributor individual, seringkali beberapa proyek mencari pendanaan dari perusahaan, individual, atau yang lain untuk mendanai pekerjaan yang berlangsung.
Organisasi pendanaan mungkin akan mendanai kontributor yang ada, mulai dari pembiayaan operasional (seperti biaya hosting), atau investasi pada fitur atau ide baru.
Seiring dengan popularitas open source, menemukan pendanaan untuk proyek masih bersifat eksperimental, tetapi terdapat beberapa opsi umum yang tersedia.
### Mencari pendanaan untuk pekerjaan Anda melalui kampanye crowdfunding atau sponsor
Mencari sponsor bisa dilakukan jika Anda memiliki pengguna atau reputasi yang kuat, atau proyek Anda sangat populer. Beberapa proyek yang disponsori meliputi:
* **[webpack](https://github.com/webpack)** mendapatkan pendanaan dari perusahaan dan perseorangan [melalui OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** organisasi nirlaba yang membayar untuk bekerja pada [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), dan proyek infrastruktur Ruby lainnya.
### Menciptakan pendapatan
Anda mungkin memberikan tambahan biaya untuk dukungan komersial, opsi hosting, atau fitur tambahan lainnya, tergantung dari proyek Anda. Beberapa contoh diantaranya:
* **[Sidekiq](https://github.com/mperham/sidekiq)** menawarkan versi berbayar untuk dukungan tambahan
* **[Travis CI](https://github.com/travis-ci)** menawarkan versi berbayar untuk produknya
* **[Ghost](https://github.com/TryGhost/Ghost)** bersifat nirlaba dengan layanan pembayaran
Beberapa proyek yang populer, seperti [npm](https://github.com/npm/cli) dan [Docker](https://github.com/docker/docker), bahkan mengajukan pendanaan pada venture capital untuk mendukung pertumbuhan bisnisnya.
### Mengajukan hibah pendanaan
Beberapa yayasan perangkat lunak dan perusahaan menawarkan hibah untuk pekerjaan open source. Seringkali hibah bisa dibayarkan pada individu tanpa perlu membuat entitas legal untuk proyek.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** menerima hibah dari [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** didanai oleh [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** menerima hibah dari [Sloan Foundation](https://sloan.org/programs/digital-technology)
* **[Python Software Foundation](https://www.python.org/psf/grants/)** menawarkan hibah untuk pekerjaan yang berhubungan dengan Python.
Untuk opsi lebih detail dan studi kasus, @nayafia [menuliskan panduan](https://github.com/nayafia/lemonade-stand) untuk mendapatkan pendanaan dari pekerjaan open source. Jenis pendanaan yang berbeda akan membutuhkan ketrampilan yang berbeda, sehingga tentukan kekuatan Anda untuk menentukan opsi mana yang paling sesuai untuk Anda.
## Membangun kasus untuk dukungan finansial
Apakah proyek Anda merupakan ide baru, atau sudah ada sejak beberapa tahun, Anda perlu menekankan tentang mengindentifikasi siapa target donatur Anda dan membuat sebuah kasus yang menarik.
Terlepas dari apakah Anda mencari pendanaan untuk waktu Anda sendiri atau mencari pendanaan untuk proyek, Anda harus mampu menjawab pertanyaan berikut.
### Pengaruh
Kenapa proyek ini berguna? Kenapa pengguna Anda menyukainya? Akan dibawa kemana dalam lima tahun kedepan?
### Daya tarik
Cobalah mengumpulkan barang bukti yang menunjukkan bahwa proyek Anda memang berarti, baik dalam bentuk metrik, anekdot, atau testimoni. Apakah ada perusahaan atau orang-orang yang cukup terkenal menggunakan proyek Anda saat ini? Jika tidak, apakah ada orang yang menyarankannya?
### Nilai bagi donatur
Pemberi dana, baik perusahaan atau yayasan pemberi hibah, seringkali didekati dengan banyak kesempatan. Kenapa mereka harus mendukung proyek Anda dibandingkan proyek lain? Bagaimana mereka bisa mendapatkan keuntungan pribadi?
### Penggunaan dana
Apa yang akan Anda raih dengan dana yang diajukan? Fokuslah pada tonggakan proyek atau hasil keluaran dibandingkan untuk membayar gaji.
### Bagaimana Anda akan menerima dana
Apakah pemberi dana memiliki persyaratan? Misalnya Anda harus bersifat nirlaba atau memiliki sponsor dana nirlaba. Atau misalnya dana harus diberikan pada kontraktor individu dan bukan pada organisasi. Kebutuhan ini akan berbeda diantara pemberi dana, jadi pastikan Anda melakukan pekerjaan Anda terlebih dahulu.
## Eksperimen dan jangan menyerah
Mendapatkan pendanaan tidaklah mudah, baik untuk proyek open source, nirlaba, atau startup perangkat lunak, dan pada banyak kasus, Anda harus kreatif. mengindentifikasi bagaimana Anda hendak didanai, melakukan riset, dan menempatkan diri Anda pada penyandang dana akan membantu Anda membangun kasus yang meyakinkan untuk pendanaan.
================================================
FILE: _articles/id/how-to-contribute.md
================================================
---
lang: id
title: Bagaimana Berkontribusi pada Open Source
description: Ingin berkontribusi pada open source? Sebuah panduan untuk melakukan kontribusi open source, untuk pemula dan veteran.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Mengapa berkontribusi pada open source?
Berkontribusi pada open source bisa jadi merupakan cara yang bermanfaat untuk belajar, mengajar, dan membangun pengalaman pada segala ketrampilan yang dapat Anda bayangkan.
Mengapa orang-orang berkontribusi pada open source? Banyak alasannya!
### Meningkatkan ketrampilan yang sudah ada
Baik pemrograman, perancangan antar muka, desain grafis, menulis, maupun mengelola, jika Anda mencari tempat berlatih, terdapat tugas bagi Anda pada proyek open source.
### Bertemu orang yang tertarik pada hal yang sama
Proyek open source dengan komunitas yang hangat membuat orang-orang kembali selama bertahun-tahun. Banyak orang membentuk pertemanan jangka panjang melalui partisipasi mereka pada open source, baik pertemuan pada konferensi atau chat tengah malam tentang burrito.
### Mencari mentor dan mengajarkan ke pihak lain
Bekerja dengan banyak orang pada proyek berarti Anda harus menjelaskan bagaimana Anda melakukan segala sesuatu, sekaligus meminta orang lain untuk bantuan. Kegiatan belajar dan mengajar bisa menjadi aktivitas yang menyenangkan bagi semua orang yang terlibat.
### Membangun koleksi publik yang membantu Anda mengembangkan reputasi (dan karir)
Secara definisi, semua pekerjaan open source bersifat publik, artinya Anda mendapatkan contoh gratis untuk dibawa kemana saja sebagai demonstrasi tentang apa saja yang dapat Anda lakukan.
### Belajar ketrampilan tentang orang
Open source menawarkan kesempatan untuk belajar ketrampilan kepemimpinan dan manajemen, seperti menyelesaikan konflik, mengelola sekelompok orang, dan memprioritaskan pekerjaan.
### Memberdayakan untuk membuat perubahan, meskipun kecil
Anda tidak perlu menjadi kontributor jangka panjang untuk menikmati partisipasi pada open source. Apakah Anda melihat sebuah kesalahan ketik pada website, dan berharap seseorang akan memperbaikinya? Pada proyek open source, Anda bisa melakukannya. Open source membantu orang merasa memiliki hak atas hidup mereka dan bagaimana mereka merasakan bahwa dunia, dan segala isinya sangatlah memuaskan.
## Apa artinya berkontribusi
Jika Anda merupakan kontributor open source yang baru, proses ini bisa jadi menakutkan. Bagaimana Anda menemukan proyek yang sesuai? Bagaimana jika Anda tidak tahu bagaimana membuat kode program? Bagaimana jika terjadi kesalahan?
Tidak perlu khawatir! Terdapat banyak cara untuk bisa ikut terlibat pada proyek open source, dan beberapa tips akan membantu Anda memaksimalkan pengalaman Anda.
### Anda tidak perlu memberikan kontribusi dalam bentuk kode
Kesalahpahaman yang sering terjadi tentang berkontribusi pada open source adalah Anda harus memberikan kontribusi dalam bentuk kode. Kenyataannya, seringkali banyak bagian lain dari proyek yang [seringkali terabaikan atau diabaikan](https://github.com/blog/2195-the-shape-of-open-source). Anda bisa memberikan bantuan _besar_ bagi proyek dengan menawarkan diri untuk jenis kontribusi semacam ini.
Meskipun Anda suka untuk menulis kode program, kontribusi jenis lain merupakan cara yang baik untuk bisa berpartisipasi pada proyek dan bertemu dengan anggota komunitas lainnya. Membangun hubungan tersebut akan memberikan Anda kesempatan untuk bekerja pada bagian lain dari proyek.
### Apakah Anda suka merencanakan kegiatan?
* Mengelola workshop atau acara pertemuan tentang proyek, [seperti yang dilakukan @fzamperin untuk NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Mengelola konferensi sebuah proyek (jika ada)
* Membantu anggota komunitas menemukan konferensi yang sesuai dan mengirimkan proposal untuk berbicara
### Apakah Anda suka mendesain?
* Restrukturisasi layout untuk meningkatkan usabilitas proyek
* Melakukan penelitian pengguna untuk menata ulang dan meningkatkan navigasi atau menu proyek, [seperti yang disarankan Drupal](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Membuat panduan untuk membantu proyek memiliki desain visual yang konsisten
* Membuat hasil seni untuk pakaian atau logo baru, [seperti kontributor hapi.js](https://github.com/hapijs/contrib/issues/68)
### Apakah Anda suka menulis?
* Menulis dan meningkatkan dokumentasi proyek
* Buatlah sebuah folder contoh yang menunjukkan bagaimana proyek dapat digunakan
* Memulai laporan berkala untuk proyek atau buat hal-hal penting dari mailing list
* Menulis tutorial untuk proyek, [seperti kontributor pypa](https://github.com/pypa/python-packaging-user-guide/issues/194)
* Menulis terjemahan untuk dokumentasi proyek
### Apakah Anda suka mengelola?
* Menghubungkan masalah-masalah yang duplikat dan memberikan label pada masalah untuk menjaga pengelolaan
* Menyarankan menghapus laporan masalah yang lama, [seperti yang dilakukan @nzakas untuk eslint](https://github.com/eslint/eslint/issues/6765)
* Menanyakan pertanyaan klarifikasi pada laporan masalah yang baru saja dibuat untuk diskusi kedepannya
### Apakah Anda suka membua kode program?
* Mencari laporan masalah yang ingin diselesaikan, [seperti yang dilakukan @dianjin untuk Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Bertanya jika Anda hendak membantu menuliskan fitur baru
* Melakukan otomatisasi setup proyek
* Meningkatkan perlengkapan dan pengujian
### Apakah Anda suka membantu orang lain?
* Menjawab pertanyaan tentang proyek, pada (misalnya) Stack Overflow ([seperti contoh Postgres ini](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) atau reddit
* Menjawab pertanyaan pada permasalahaan terbuka
* Membantu memoderasi halaman diskusi atau chanel diskusi
### Apakah Anda suka membantu orang lain dalam membuat program?
* Me-review kode dari pengajuan orang lain
* Menulis tutorial bagaimana proyek bisa digunakan
* Menawarkan diri untuk menjadi mentor bagi kontributor lainnya, [seperti yang dilakukan @ereichert untuk @bronzdoc pada Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Anda tidak harus bekerja pada proyek perangkat lunak!
Meskipun "open source" seringkali merujuk pada perangkat lunak, Anda bisa berkolaborasi pada segala sesuatu. Terdapat buku, resep makanan, daftar, dan kelas yang dapat dikembangkan sebagai proyek open source.
Sebagai contoh:
* @sindresorhus menghasilkan [daftar "awesome"](https://github.com/sindresorhus/awesome)
* @h5bp mengelola [daftar pertanyaan potensial untuk wawancara](https://github.com/h5bp/Front-end-Developer-Interview-Questions) bagi kandidat developer front-end
* @stuartlynn dan @nicole-a-tesla membuat [kumpulan fakta lucu tentang puffin](https://github.com/stuartlynn/puffin_facts)
Meskipun Anda seorang pengembang perangkat lunak, bekerja pada proyek dokumentasi bisa membantu Anda untuk memulai pada open source. Seringkali bekerja pada proyek yang tidak melibatkan kode tidak terlalu menakutkan dan proses kolaborasi ini akan membangun rasa percaya diri dan pengalaman Anda.
## Berorientasi pada proyek baru
Untuk aktivitas yang lebih dari sekedar kesalahan penulisan, berkontribusi pada open source seperti berjalan pada sebuah kelompok orang asing pada sebuah pesta. Jika Anda berbicara tentang hewan llamas, sedangkan mereka sedang membicarakan tentang ikan mas, mungkin mereka akan memandang Anda dengan aneh.
Sebelum memberikan masukan, pelajari bagaimana membaca situasi ruangan. Dengan melakukan hal ini akan meningkatkan peluang ide Anda akan dilihat dan didengarkan.
### Anatomi proyek open source
Setiap komunitas open source memiliki perbedaan.
Menghabiskan waktu bertahun-tahun pada satu proyek open source berarti Anda terbiasa pada satu proyek open source. Dengan berpindah pada proyek yang berbeda maka Anda akan mendapati bahwa kosa kata, norma, dan gaya komunikasi yang digunakan sangatlah berbeda.
Meski demikian, banyak proyek open source mengikuti struktur organisasi yang sama. Memahami perbedaan peran komunitas yang berbeda-beda dan proses secara luas akan membantu Anda untuk beradaptasi dengan setiap proyek baru.
Proyek open source pada umumnya memiliki beberapa jenis orang sebagai berikut:
* **Pencipta (Author):** Orang atau organisasi yang menciptakan proyek
* **Pemilik (Owner):** Orang atau organisasi yang memiliki kepemilikan administratif terhadap organisasi atau repositori (tidak selalu sama dengan pencipta awal)
* **Pengelola (Maintainers):** Kontributor yang bertanggung jawab untuk menggerakan visi dan mengelola aspek organisasi dari proyek. (Mereka juga bisa merupakan pencipta atau pemilik dari proyek.)
* **Kontributor (Contributors):** Semua orang yang telah mengkontribusikan sesuatu kepada proyek.
* **Anggota Komunitas (Community Members):** Orang-orang yang menggunakan proyek. Mereka mungkin aktif pada diskusi atau mengungkapkan opini mereka pada arah sebuah proyek.
Proyek yang lebih besar mungkin memiliki sub komite atau kelompok kerja yang berfokus pada tugas yang berbeda-beda, seperti peralatan, pengujian, moderasi komunitas, dan pengelola kegiatan. Lihat pada website proyek untuk halaman "anggota", atau pada repositori untuk dokumentasi organisasi, untuk menemukan informasi ini.
Sebuah proyek juga memiliki dokumentasi. Dokumentasi ini biasanya ditempatkan pada posisi teratas dari sebuah repositori.
* **LICENSE:** Secara definisi, setiap proyek open source harus memiliki sebuah [lisensi open source](https://choosealicense.com). Jika sebuah proyek tidak memiliki lisensi, maka proyek tersebut bukan bersifat open source.
* **README:** Dokumen README adalah manual instruksi yang menyambut anggota komunitas baru pada sebuah proyek. Dokumen ini juga menjelaskan kenapa proyek ini berguna dan bagaimana untuk memulainya.
* **CONTRIBUTING:** Jika README membantu orang-orang _menggunakan_ proyek, dokumentasi kontribusi membantu orang-orang untuk _berkontribusi_ pada proyek. Dokumen ini menjelaskan jenis kontribusi seperti apa yang diperlukan dan bagaimana cara kerja dari proses kontribusinya. Meskipun tidak setiap proyek memiliki dokumen CONTRIBUTING, keberadaan dokumen ini menandakan bahwa proyek ini menerima kontribusi.
* **CODE_OF_CONDUCT:** Dokumen kode etik (_code of conduct_) menentukan aturan dasar bagi perilaku partisipan dan membantu memfasilitasi lingkungan yang kondusif dan bersahabat. Meskipun tidak setiap proyek memiliki dokumen CODE_OF_CONDUCT, keberadaan dokumen ini menandakan bahwa proyek ini menerima kontribusi.
* **Dokumentasi lainnya:** Mungkin terdapat dokumentasi tambahan, seperti tutorial, panduan, atau kebijakan lainnya, terutama pada proyek yang lebih besar.
Akhirnya, proyek open source menggunakan peralatan berikut untuk mengelola diskusi. Membaca dari arsip akan memberikan gambaran tentang bagaimana komunitas berpikir dan bekerja.
* **Issue tracker:** Dimana orang-orang mendiskusikan laporan masalah yang berkaitan dengan proyek.
* **Pull requests:** Dimana orang-orang mendiskusikan dan me-review perubahan yang sedang dikerjakan.
* **Forum diskusi atau mailing list:** Beberapa proyek mungkin menggunakan media ini untuk topik diskusi (misalnya. _"Bagaimana saya ..."_ atau _"Apakah pendapat Anda tentang ..."_ daripada laporan kesalahan atau pengajuan fitur baru). Beberapa proyek menggunakan _issue tracker_ untuk semua diskusi.
* **Media chat:** Beberapa proyek menggunakan media chat (seperti Slack atau IRC) untuk diskusi sehari-hari, kolaborasi, dan pertukaran yang bersifat cepat.
## Menemukan sebuah proyek untuk melakukan kontribusi
Setelah Anda paham bagaimana proyek open source bekerja, sekarang saatnya untuk menemukan sebuah proyek untuk berkontribusi!
Jika Anda belum pernah berkontribusi ke open source sebelumnya, ambil saran dari presin Amerika Serikat John F. Kennedy, yang mengatakan demikian , _"(Jangan tanyakan apa yang bisa dilakukan negara kepada dirimu - tanyakan apa yang bisa engkau lakukan untuk negaramu) - Ask not what your country can do for you - ask what you can do for your country."_
Berkontribusi ke open source bisa terjadi pada semua tingkatan, pada semua bagian proyek. Anda tidak perlu berpikir berlebihan tentang apa kontribusi pertama Anda atau bagaimana bentuknya.
Mulailah dengan proyek yang sudah Anda gunakan, atau ingin Anda gunakan. Proyek dimana Anda akan aktif berkontribusi didalamnya adalah proyek dimana Anda akan selalu datang kembali kepadanya.
Didalam proyek-proyek tersebut, setiap kali Anda mendapati tentang segala sesuatu yang bisa ditingkatkan atau berbeda, lakukan berdasarkan insting Anda.
Open source bukanlah klub ekslusif; Open source dibuat oleh orang-orang seperti Anda. "Open source" hanyalah istilah keren untuk menadai bahwa masalah yang ada di dunia sebagai sesuatu yang bisa diperbaiki.
Anda bisa melihat dokumen README dan menemukan tautan yang tidak valid atau kesalahan pengetikkan. Atau Anda sebagai pengguna baru dan melihat bahwa ada yang salah, atau sebuah laporan dimana Anda rasa penting untuk didokumentasikan. Daripada mengabaikannya, atau meminta orang lain untuk memperbaikinya, cari tahu apakah Anda bisa membantu dengan ikut serta didalamnya. Itulah makna sesungguhnya dari open source!
> [28% dari kontribusi umum](https://www.igor.pro.br/publica/papers/saner2016.pdf) pada open source adalah berupa dokumentasi, seperti kesalahan pengetikkan, pemformatan ulang, atau menuliskan terjemahan.
Anda juga bisa menggunakan salah satu dari beberapa sumber daya berikut untuk mencari dan berkontribusi pada proyek baru:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Daftar sebelum Anda berkontribusi
Ketika Anda telah menemukan sebuah proyek dimana Anda hendak melakukan kontribusi, lakukan pencarian secara cepat untuk memastikan proyek tersebut sesuai untuk menerima kontribusi. Jika tidak, usaha keras Anda mungkin tidak akan mendapatkan respon.
Berikut adalah daftar yang bisa digunakan untuk mengevaluasi apakah sebuah proyek sesuai untuk kontributor baru.
**Memenuhi definisi open source**
**Proyek secara aktif menerima kontribusi**
Lihat pada aktivitas commit pada branch master. Pada GitHub, Anda bisa melihat informasi ini pada homepage repositori.
Berikutnya, lihat pada laporan masalah yang dihadapi pada proyek.
Sekarang lakukan hal yang sama untuk pull request pada proyek.
**Proyek menyambut**
Sebuah proyek yang bersahabat dan menyambut menandai bahwa mereka sangat menerima kontributor baru.
## Bagaimana mengajukan kontribusi
Anda telah menemukan sebuah proyek yang Anda sukai, dan Anda siap untuk membuat sebuah kontribusi. Akhirnya! Berikut adalah langkah-langkah untuk menjadikan kontribusi Anda di jalan yang benar.
### Berkomunikasi secara efektif
Apakah Anda merupakan kontributor atau mencoba untuk bergabung dengan sebuah komunitas, bekerja dengan orang lain merupakan salah satu keahlian paling penting yang perlu diasah dalam dunia open source.
Sebelum Anda membuka sebuah laporan masalah atau pull request, atau bertanya pada media chat, perhatikan beberapa poin berikut untuk membantu ide Anda secara efektif.
**Berikan konteks.** Bantu orang lain untuk memahami kondisinya. Jika Anda menjumpai sebuah kesalahan, jelaskan apa yang hendak Anda lakukan dan bagaimana mengulangi kesalahan tersebut. Jika Anda menyarankan sebuah ide baru, jelaskan kenapa Anda pikir itu merupakan ide yang baik untuk proyek (tidak hanya untuk Anda!).
> 😇 _"X tidak berfungsi ketika saya melakukan Y"_
>
> 😢 _"X rusak! Tolong perbaiki."_
**Lakukan pekerjaan rumah Anda sebelumnya.** Tidak masalah untuk tidak mengetahui beberapa hal, tetapi tunjukan bahwa Anda telah berusaha. Sebelum bertanya untuk meminta bantuan, pastikan untuk melihat dokumen README, dokumentasi, laporan masalah (terbuka atau tertutup), mailing list, dan cari Internet untuk sebuah jawaban. Orang-orang akan menghargai ketika Anda menunjukkan bahwa Anda berusaha untuk belajar.
> 😇 _"Saya tidak yakin bagaimana mengimplementasikan X. Saya telah melihat dokumen bantuan dan tidak menemukan apapun."_
>
> 😢 _"Bagaimana saya melakukan X?"_
**Buatlah permintaan singkat dan langsung.** Seperti halnya mengirimkan sebuah email, setiap kontribusi, sekecil apapun atau sepenting apapun, akan membutuhkan orang lain untuk me-reviewnya. Banyak proyek memiliki lebih banyak permintaan dibandingkan jumlah orang yang ada untuk membantu. Pastikan permintaan Anda jelas. Anda akan mendapatkan peluang lebih tinggi dimana seseorang akan ada untuk membantu Anda.
> 😇 _"Saya ingin menulis tutorial API."_
>
> 😢 _"Saya sedang mengemudi di jalan tol di suatu hari dan berhenti untuk mengisi bahan bakar, lalu saya mendapatkan ide cemerlang yang seharusnya kita lakukan, tetapi sebelum saya menjelaskan hal itu, ijinkan saya untuk menunjukkan kepada Anda..."_
**Buat semua komunikasi terbuka secara publik.** Meskipun hal ini sangat menarik, hindari menghubungi pengelola secara pribadi kecuali Anda perlu membagikan informasi yang bersifat sensitif (misalnya masalah keamanan atau pelanggaran berat). Ketika Anda membuat semua komunikasi terbuka secara publik, banyak orang bisa belajar dan mendapatkan manfaat dari pertukaran informasi Anda. Diskusi itu sendiri bisa menjadi sebuah kontribusi.
> 😇 _(sebagai komentar) "@-maintainer Hallo! Bagaimana saya harus melanjutkan untuk PR ini?"_
>
> 😢 _(sebagai email) "Hallo, maaf menganggu Anda melalui email, tetapi saya ingin tahu apakah Anda ingin melakukan review terhadap PR saya"_
**Tidak masalah untuk bertanya (tetapi harap sabar!).** Setiap orang pernah menjadi orang baru pada sebuah proyek, dan bahkan kontributor yang berpengalaman sekalipun perlu memahami kondisi ketika mereka melihat pada sebuah proyek baru. Dengan kondisi yang sama, bahkan pengelola yang sudah lama sekalipun tidak selalu memahami dengan setiap bagian dari proyek. Berikan kesabaran yang sama seperti Anda mengharapkan mereka sabar dengan Anda.
> 😇 _"Terima kasih karena telah melihat kesalahan ini. Saya mengikuti petunjuk Anda. Berikut hasil keluarannya."_
>
> 😢 _"Kenapa Anda tidak bisa memperbaiki masalah saya? Bukankah ini proyek Anda?"_
**Hargai keputusan komunitas.** Ide Anda mungkin berbeda dengan prioritas atau visi komunitas. Mereka mungkin menawarkan masukan atau memutuskan untuk tidak melanjutkan ide Anda. Meskipun sebaiknya Anda mendiskusikan dan mencoba mencari titik temu, pengelola harus menanggung tanggung jawab atas keputusan Anda jauh lebih lama dibandingkan Anda. Jika Anda tidak setuju dengan mereka, Anda tetap bisa bekerja pada _fork_ Anda sendiri atau memulai proyek Anda sendiri.
> 😇 _"Saya kecewa Anda tidak bisa mendukung kasus saya, tetapi seperti yang telah Anda jelaskan, masalah itu hanya akan berdampak pada sebagian kecil pengguna, dan saya bisa memahami. Terima kasih telah mendengarkan."_
>
> 😢 _"Kenapa Anda tidak mendukung kasus saya? Hal ini tidak bisa saya terima!"_
**Diatas itu semua, pertahankan kualitas.** Open source terbentuk dari kolaborator dari seluruh penjuru dunia. Konteks menjadi hilang dalam berbagai bahasa, budaya, geografis, dan zona waktu. Lebih dari itu, komunikasi tertulis menjadikannya lebih susah untuk menyalurkan nada atau suasana hati. Selalu asumsikan niat baik dalam percapakan. Merupakan hal yang biasa untuk menolak sebuah ide secara halus, bertanya untuk konteks yang lebih lanjut, atau mengklarifikasi posisi Anda. Harap jadikan Internet tempat yang lebih baik dibandingkan ketika Anda menemukannya.
### Mengumpulkan konteks
Sebelum melakukan apapun, pastikan bahwa ide Anda belum pernah didiskusikan sebelumnya. Baca dokumen README, laporan masalah (terbuka dan tertutup), mailing list, dan Stack Overflow. Anda tidak perlu menghabiskan waktu berjam-jam untuk mencari semua informasi, tetapi cukup lakukan pencarian secara cepat untuk beberapa istilah kunci.
Jika Anda tidak bisa menemukan ide Anda dimanapun, Anda siap untuk bergerak. Jika proyek tersebut berada pada GitHub, Anda bisa berkomunikasi dengan membuka sebuah laporan masalah atau melakukan pull request:
* **Laporan masalah (Issues)** adalah seperti memulai percakapan atau diskusi
* **Pull requests** adalah untuk memulai pekerjaan pada sebuah solusi
* **Untuk komunikasi yang ringan,** seperti mengklarifikasi pertanyaan bagaimana, cobalah bertanya melalui Stack Overflow, IRC, Slack, atau media chat lainnya, jika ada.
Sebelum Anda membuka sebuah laporan masalah atau melakukan pull request, periksa dokumen kontribusi proyek (biasanya pada dokumen bernama CONTRIBUTING, atau pada README), untuk melihat apakah Anda perlu mencantumkan informasi yang spesifik. Sebagai contoh, mereka mungkin meminta Anda untuk mengikuti sebuah template, atau mengharuskan Anda untuk menggunakan perangkat pengujian.
Jika Anda hendak melakukan kontribusi yang cukup substansial, buatlah sebuah laporan masalah sebelum memulai bekerja. Sangatlah bermanfaat untuk mengamati proyek dalam kurun waktu tertentu (pada GitHub, [Anda bisa memilih menu "Watch"](https://help.github.com/articles/watching-repositories/) untuk mendapatkan notifikasi dari semua percakapan), dan mengenal anggota komunitas, sebelum memulai pekerjaan yang belum tentu akan diterima.
### Membuka laporan masalah
Anda biasanya akan membuka sebuah laporan masalah pada situasi berikut:
* Melaporkan kesalahan yang tidak bisa Anda selesaikan sendiri
* Mendiskusikan topik tingkat tinggi atau ide (misalnya komunitas, visi, kebijakan)
* Mengajukan fitur baru atau ide proyek lainnya
Tips untuk berkomunikasi pada laporan masalah:
* **Jika Anda melihat laporan masalah yang masih terbuka yang hendak Anda selesaikan,** berikan komentar Anda pada laporan masalah tersebut agar orang lain tahu. Dengan cara begitu, kecil kemungkinan orang lain akan mengerjakan hal yang sama.
* **Jika sebuah laporan masalah baru saja dibuka beberapa saat yang lalu,** ada kemungkinan bahwa laporan tersebut sedang dikerjakan oleh orang lain, atau sudah diperbaiki, sehingga berikan komentar untuk bertanya untuk konfirmasi sebelum memulai pekerjaan.
* **Jika Anda membuka sebuah laporan masalah, tetapi menemukan jawabannya sendiri,** berikan komentar untuk menginformasikan kepada orang lain, lalu tutup laporan masalah tersebut. Bahkan mendokumentasikan hasilnya juga merupakan sebuah kontribusi pada proyek.
### Membuka pull request
Anda biasanya akan membuka sebuah pull request pada situasi berikut:
* Mengajukan perbaikan sederhana (misalnya kesalahan ketik, link tidak valid, atau kesalahan yang jelas terlihat)
* Mulai bekerja pada sebuah kontribusi yang sudah ditanyakan sebelumnya, atau yang sudah Anda diskusikan pada sebuah laporan masalah.
Sebuah pull request tidak harus mencerminkan sebuah pekerjaan yang sudah selesai. Biasakan untuk membuka pull request di awal, sehingga orang lain bisa melihat atau memberikan masukan untuk perkembangan Anda. Tandai dengan "WIP" (_Work in Progress_) pada baris _subject_. Anda tetap bisa menambahkan commit lainnya.
Jika proyek berada pada GitHub, berikut cara untuk membuka pull request:
* **[Fork repositori](https://guides.github.com/activities/forking/)** dan clone secara lokal. Hubungkan lokal Anda dengan repositori asli "_upstream_" dengan menambahkannya sebagai remote. Pull semua perubahan dari "upstream" secara berkala sehingga Anda selalu _up to date_ dan ketika Anda mengajukan pull request Anda, _merge conflict_ akan lebih jarang terjadi. (Lihat instruksi lebih detail [disini](https://help.github.com/articles/syncing-a-fork/).)
* **[Membuat sebuah branch](https://guides.github.com/introduction/flow/)** untuk hasil pengeditan Anda.
* **Referensikan laporan masalah yang berhubungan** atau dokumentasi pendukung pada PR Anda (Misalnya. "Menutup #37.")
* **Sertakan tangkapan layar sebelum dan sesudah** jika perubahan Anda meliputi perubahan pada HTML/CSS. Tarik dan letakkan gambar citra pada bagian _body_ dari pull request Anda.
* **Uji perubahan Anda!** Jalankan perubahan Anda terhadap pengujian jika ada dan buat uji baru jika diperlukan. Apapun kondisinya, pastikan perubahan Anda tidak merusak proyek yang sudah ada.
* **Kontribusi sesuai dengan gaya proyek** sesuai kemampuan Anda. Hal ini berarti menggunakan indentasi, titik koma, dan komentar yang berbeda seperti yang Anda lakukan pada repositori Anda sendiri, tetapi memudahkan bagi pengelola untuk melakukan _merge_ dan orang lain untuk memahami dan mengelolanya di masa depan.
Jika ini merupakan pull request pertama Anda, lihat [Make a Pull Request](http://makeapullrequest.com/), yang dibuat oleh @kentcdodds sebagai sumber panduan informasi gratis.
## Apa yang terjadi setelah Anda mengajukan sebuah kontribusi
Anda melakukannya! Selamat karena telah menjadi kontributor open source. Kami berharap ini yang pertama untuk banyak orang.
Setelah Anda mengajukan kontribusi Anda, salah satu hal berikut akan terjadi:
### 😭 Anda tidak mendapatkan respon.
Semoga Anda [menguji tanda-tanda aktivitas proyek](#daftar-sebelum-anda-berkontribusi) sebelum memulai sebuah kontribusi. Bahkan pada proyek yang aktif, ada kemungkinan bahwa kontribusi Anda tidak akan mendapatkan respon.
Jika Anda belum mendapatkan respon lebih dari satu minggu, sangatlah masuk akal untuk bertanya pada tempat yang sama, meminta orang lain untuk melakukan review. Jika Anda mengetahui orang yang tepat untuk melakukan review terhadap kontribusi Anda, Anda bisa menyebut mereka menggunakan @-kontak pada diskusi.
**Jangan** menghubungi orang tersebut secara pribadi; harap diingat bahwa komunikasi publik sangatlah vital bagi proyek open source.
Jika Anda bertanya secara sopan dan masih tidak ada yang merespon, ada kemungkinan tidak akan ada yang merespon. Ini bukan perasaan yang menyenangkan, tetapi jangan sampai membuat Anda kecewa. Hal ini terjadi pada siapapun juga Terdapat banyak alasan masuk akal kenapa Anda tidak mendapatkan respon, termasuk kondisi pribadi yang diluar kendali Anda. Cobalah untuk mencari proyek atau cara lain untuk berkontribusi. Hal ini merupakan alasan yang bagus untuk tidak menginvestasikan waktu terlalu lama dalam membuat kontribusi sebelum anggota komunitas yang lain merespon Anda.
### 🚧 Seseorang meminta perubahan terhadap kontribusi Anda
Sangatlah normal dimana Anda diminta untuk membuat perubahan terhadap kontribusi Anda, apakah dalam bentuk masukan terhadap ruang lingkup ide Anda atau perubahan pada kode Anda.
Ketika seseorang mengharapkan perubahan, berikan respon dengan cepat. Mereka telah meluangkan waktu untuk melakukan review terhadap kontribusi Anda. Membuka sebuah PR dan meninggalkannya merupakan contoh yang buruk. Jika Anda tidak tahu bagaimana cara membuat perubahan, lakukan pengamatan terhadap masalah, lalu bertanya jika Anda memerlukannya.
Jika Anda tidak memiliki waktu untuk mengerjakan laporan masalah tersebut (misalnya jika diskusi telah berjalan selama berbulan-bulan, dan kondisi Anda sudah mengalami perubahan), berikan informasi kepada pengelola sehingga mereka tidak lagi mengharapkan adanya respon dari Anda. Mungkin terdapat orang lain yang akan mengambil alih.
### 👎 Kontribusi Anda tidak diterima.
Kontribusi Anda mungkin bisa diterima atau tidak pada akhirnya. Semoga Anda tidak menghabiskan waktu terlalu banyak. Jika Anda tidak yakin kenapa tidak diterima, sangatlah masuk akal untuk menanyakan kepada pengelola untuk masukan dan klarifikasi. Meski demikian, Anda tetap harus menghargai keputusan akhir mereka. Jangan berdebat atau bahkan menyerang. Anda selalu diijinkan untuk melakukan _fork_ dan bekerja pada versi Anda sendiri jika Anda tidak setuju.
### 🎉 Kontribusi Anda diterima.
Hooray! Anda telah membuat kontribusi open source!
## Anda berhasil!
Apakah Anda baru saja membuat kontribusi pertama Anda, atau Anda mencari cara baru untuk berkontribusi, kami berharap Anda terinsipirasi untuk mengambil sebuah tindakan. Meskipun jika kontribusi Anda tidak diterima, jangan lupa untuk mengucapkan terima kasih kepada pengelola yang meluangkan waktu untuk membantu Anda. Open source terbentuk oleh orang-orang seperti Anda: satu masalah, pull request, komentar, atau tos pada satu waktu.
================================================
FILE: _articles/id/index.html
================================================
---
layout: index
title: Panduan Sumber Terbuka
lang: id
permalink: /id/
---
================================================
FILE: _articles/id/leadership-and-governance.md
================================================
---
lang: id
title: Kepemimpinan dan Pengelolaan
description: Mengembangkan proyek open source dapat mengambil keuntungan dari aturan resmi untuk pengambilan keputusan
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Memahami pengelolaan untuk proyek Anda yang semakin berkembang
Proyek Anda semakin berkembang, orang-orang semakin tertarik untuk bergabung, dan Anda berkomitmen untuk mempertahankan proses ini. Pada tahap ini, Anda mungkin bertanya, bagaimana melibatkan kontributor proyek Anda pada alur kerja Anda, apakah dengan memberikan akses commit pada seseoang atau menyelesaikan debat pada komunitas. Jika Anda memiliki pertanyaan, kami memiliki jawabannya.
## Apa contoh dari peran formal yang digunakan pada proyek open source?
Banyak proyek mengikuti struktur yang serupa untuk peran dan pengakuan kontributor.
Arti dari peran tersebut sangat tergantung dari Anda. Berikut adalah beberapa jenis peran yang mungkin Anda kenali:
* **Maintainer**
* **Contributor**
* **Committer**
**Untuk beberapa project, "maintainer"** adalah satu-satunya orang pada proyek yang memiliki akses commit. Pada proyek lain, mereka adalah orang-orang yang terdaftar pada README sebagai pengelola.
Seorang pengelola (maintainer) tidak harus merupakan orang yang menuliskan kode pada proyek Anda. Maintainer bisa merupakan orang yang mengembangkan proyek Anda, atau menuliskan dokumentasi agar bisa diakses oleh banyak orang. Terlepas dari apa yang mereka lakukan sehari-hari, seorang pengelola merupakan orang yang bertanggung jawab terhadap arah dari proyek dan berkomitmen untuk meningkatkannya.
**Seorang "kontributor" bisa siapa saja** yang memberikan komentar pada sebuah masalah atau pull request, orang-orang yang memberikan nilai pada proyek (baik menyelesaikan masalah, menuliskan kode, atau mengelola sebuah acara), atau siapapun dengan pull request yang diterima (mungkin definisi tersingkat dari seorang kontributor).
**Istilah "committer"** mungkin digunakan untuk membedakan akses commit, yang merupakan tanggung jawab yang spesifik, dari jenis kontribusi lainnya.
Walaupun Anda bisa mendefinisikan peran pada proyek Anda sesuka Anda, [pertimbangkan untuk menggunakan definisi yang lebih luas](../how-to-contribute/#apa-artinya-berkontribusi) untuk mendorong lebih banyak jenis kontribusi. Anda bisa menggunakan peran kepemimpinan untuk secara formal mengakui orang-orang yang memiliki kontribusi yang besar pada proyek Anda, terlepas dari ketrampilan teknis mereka.
## Bagaimana saya memformalkan peran kepemimpinan ini?
Meresmikan peran kepemimpinan akan membantu orang lain merasa memiliki dan memberitahukan anggota kelompok lainnya bagi yang membutuhkan.
Untuk proyek yang kecil, menentukan pemimpin semudah menambahkan nama-nama mereka pada berkas README atau CONTRIBUTORS.
Untuk proyek yang lebih besar, jika Anda memiliki sebuah website, buatlah halaman tim atau tuliskan pemimpin proyek Anda. Sebagai contoh, [PostgreSQL](https://github.com/postgres/postgres/) memiliki [halaman tim yang lengkap](https://www.postgresql.org/community/contributors/) dengan profil singkat pada setiap kontributornya.
Jika proyek Anda memiliki komunitas kontributor yang aktif, Anda mungkin perlu membuat "tim inti" dari pengelola, atau sub komite dari orang-orang yang memiliki peran pada beberapa area yang berbeda (misalnya keamanan, laporan masalah, atau kode etik). Biarkan orang lain mengatur dirinya sendiri dan berkontribusi pada peran yang mereka sukai.
Tim pemimpin mungkin perlu membuat chanel khusus (seperti IRC) atau bertemu secara rutin untuk mendiskusikan proyek (seperti pada Gitter atau Google Hangout). Anda bisa membuat hasil rapat tersebut secara terbuka sehingga orang lain bisa mendengarkan. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), misalnya, [mengadakan jam kerja setiap minggunya](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Setelah Anda mendefinisikan peran pemimpin Anda, jangan lupa untuk mendokumentasikan bagaimana orang lain bisa mencapai posisi tersebut! Buatlah proses yang jelas bagaimana seseorang bisa menjadi seorang pengelola atau bergabung pada sub komite pada proyek Anda, dan tuliskan pada GOVERNANCE.md.
Peralatan seperti [Vossibility](https://github.com/icecrime/vossibility-stack) bisa membantu Anda melacak siapa yang (tidak) memberikan kontribusi pada proyek. Mendokumentasikan informasi ini akan menghindari persepsi komunitas bahwa pengelola mengambil keputusan secara pribadi.
Akhirnya, jika proyek Anda berada pada GitHub, pertimbangkan untuk memindahkan proyek Anda dari akun prbadi pada "Organization" dan menambahkan paling tidak satu admin cadangan. [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) membuat pengelolaan hak akses dan banyak repository menjadi lebih mudah dan juga menjaga proyek Anda melalui [berbagi kepemilikan](../building-community/#berbagi-kepemilikan-dari-proyek-anda).
## Kapan saya harus memberikan akses commit kepada seseorang?
Beberapa orang berpikir bahwa Anda perlu memberikan akses commit pada semua orang yang memberikan kontribusi. Melakukan hal ini bisa mendorong lebih banyak orang untuk merasa memiliki proyek Anda.
Disisi lain, terutama untuk proyek yang besar dan kompleks, Anda mungkin hanya akan memberikan akses commit pada orang-orang yang mendemonstrasikan komitmen mereka Tidak ada cara yang paling benar untuk melakukan hal ini - lakukan apa yang Anda rasa paling baik!
Jika proyek Anda berada pada GitHub, Anda bisa menggunakan [protected branches](https://help.github.com/articles/about-protected-branches/) untuk mengelola siapa saja yang boleh mengirimkan pada branch tertentu, dan pada kondisi apa.
## Apa struktur pengelolaan yang umum untuk proyek open source?
Terdapat tiga struktur pengelolaan yang umumnya dipakai pada proyek open source.
* **BDFL:** BDFL kependekan dari "Benevolent Dictator for Life". Pada struktur ini, satu orang (biasanya pendiri proyek) memiliki keputusan final terhadap semua keputusan proyek. [Python](https://github.com/python) adalah contoh klasik. Proyek yang lebih kecil biasanya menganut model BDFL secara default, karena hanya terdapat satu atau dua pengelola. Sebuah proyek yang berawal dari sebuah perusahaan juga bisa masuk kedalam kategori BDFL.
* **Meritokrasi:** **(Catatan: istilah "meritokrasi" memiliki konotasi negatif pada beberapa komunitas dan [sejarah sosial dan politis yang kompleks](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Pada model meritokrasi, kontributor aktif sebuah proyek (mereka yang "layak") diberikan peran dalam pengambilan keputusan formal. Keputusan biasanya dilakukan berdasarkan konsensus voting. Konsep ini diciptakan oleh [Yayasan Apache](https://www.apache.org/); [semua proyek Apache](https://www.apache.org/index.html#projects-list) menganut model ini. Kontribusi hanya dapat dilakukan secara perseorangan mewakili dirinya sendiri, bukan untuk sebuah perusahaan.
* **Kontribusi liberal:** Pada model ini, orang-orang yang banyak melakukan pekerjaan adalah yang dianggap berperan, namun ini berbasiskan pada pekerjaan saat ini dan bukan kontribusi yang lampau. Pengambilan keputusan pada proyek berdasarkan pada proses pencarian konsensus dibandingkan voting murni, dan mencoba melibatkan banyak pandangan dari komunitas. Contoh populer proyek yang menggunakan model ini meliputi [Node.js](https://foundation.nodejs.org/) dan [Rust](https://www.rust-lang.org/).
Mana yang harus Anda gunakan? Semuanya tergantung Anda! Setiap model memiliki kelebihan dan kekurangan. Meskipun pada awalnya mereka tampak berbeda di awal, semua model memiliki banyak kesamaan. Jika Anda tertarik untuk mengadopsi salah satu model tersebut, silahkan lihat beberapa template berikut:
* [template model BDFL](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [template model meritokrasi](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [kebijakan kontribusi liberal Node.js](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Apakah saya perlu dokumentasi pengelolaan ketika Saya merilis proyek Saya?
Tidak ada waktu terbaik kapan kita harus menuliskan pengelolaan proyek Anda, tetapi akan lebih mudah untuk mendefinisikannya apabila Anda telah melihat dinamika komunitas Anda mulai bermain. Bagian terbaik (dan tersulit) dari pengelolaan open source adalah karena pengelolaan tersebut dibentuk oleh komunitas!
Beberapa dokumentasi awal akan membantu pengelolaan proyek Anda, sehingga mulailah menuliskannya. Sebagai contoh, Anda bisa mendefinisikan harapan yang jelas untuk perilaku, atau bagaimana proses kontributor bekerja, bahkan pada saat Anda merilis proyek Anda.
Jika Anda bagian dari sebuah perusahaan yang merilis proyek open source, maka akan sangat berguna untuk melakukan diskusi internal tentang bagaimana perusahaan Anda akan mengelola dan mengambil keputusan ketika proyek sudah mulai berkembang. Anda juga mungkin perlu menjelaskan tentang bagaimana perusahaan Anda (tidak) akan terlibat dengan proyek.
## Apa yang terjadi jika karyawan perkantoran mulai mengajukan kontribusi?
Proyek open source yang sukses akan digunakan oleh banyak orang dan perusahaan, dan beberapa perusahaan mungkin akan memberikan pendanaan pada proyek. Sebagai contoh, sebuah proyek mungkin menggunakan kode dari proyek sebagai salah satu komponen pada layanan komersialnya.
Seiring dengan proyek yang semakin banyak digunakan, orang-orang yang memiliki keahlian akan menjadi kebutuhan - Anda mungkin salah satunya! - dan mungkin akan dibayar untuk pekerjaan mereka pada proyek.
Sangatlah penting untuk memperlakukan aktivitas komersial sebagai sesuatu yang biasa dan merupakan sumber lain dari energi pengembangan. Pengembang yang dibayar tidak perlu mendapatkan perlakuan khusus dibandingkan mereka yang tidak dibayar; tentu saja setiap kontribusi harus dievaluasi berdasarkan kelayakan teknisnya. Meski demikian, orang-orang seharusnya lebih nyaman dengan aktivitas komersial, dan merasa nyaman menyatakan kasus mereka ketika berpendapat tentang peningkatan atau fitur tertentu.
"Komersial" sangatlah kompatibel dengan "open source". "Komersial" hanya berarti ada uang yang terlibat didalamnya pada suatu titik - misalnya software yang digunakan pada perdagangan, yang kecenderungannya meningkat setelah proyek banyak diadopsi. (Ketika perangkat lunak open source digunakan sebagai bagian dari produk non open source, secara keseluruhan produk masuk terbilang "proprietary", meskipun, seperti halnya open source, bisa digunakan untuk kepentingan komersial atau non-komersial.)
Seperti halnya orang lain, pengembang yang termotivasi secara komersial mendapatkan pengaruh pada proyek melalui kualitas dan kuantitas dari kontribusinya. Jelas, pengembang yang dibayar untuk waktu mereka bisa melakukan lebih dari mereka yang tidak dibayar, tetapi hal itu sangatlah lumrah: pembayaran hanyalah satu dari banyak faktor yang bisa mempengaruhi seseorang. Pastikan diskusi proyek Anda berfokus pada kontribusi, bukan pada faktor eksternal yang memungkinkan orang untuk membuat kontribusi tersebut.
## Apakah saya perlu entitas legal untuk mendukung proyek Saya?
Anda tidak perlu entitas legal untuk mendukung proyek open source Anda kecuali Anda mengurusi uang.
Sebagai contoh, jika Anda hendak membuat bisnis komersial, Anda perlu membuat C Corp atau LLC (jika Anda berada di AS). Jika Anda hanya melakukan pekerjaan kontrak berkaitan dengan proyek open source Anda, Anda bisa menerima uang sebagai pemilik tunggal, atau membuat LLC (jika Anda berbasiskan di AS).
Jika Anda hendak menerima donasi untuk proyek open source Anda, Anda bisa membuat tombol donasi (menggunakan PayPal atau Stripe misalnya), tetapi uang tersebut akan dikurangi pajak kecuali Anda adalah nirlaba (501c3 jika Anda berada di AS).
Banyak proyek tidak ingin kerepotan untuk membuat nirlaba, sehingga mereka mencari sponsor fiskal nonprofit. Sponsor fiskal menerima donasi untuk Anda, biasanya dengan imbalan beberapa pesen dari donasi. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) dan [Open Collective](https://opencollective.com/opensource) adalah contoh organisasi yang melayani sebagai sponsor fiskal untuk proyek open source.
Jika proyek Anda sangat erat hubungannya dengan bahasa atau ekosistem tertentu, seringkali terdapat yayasan yang bisa Anda ajak kerjasama. Sebagai contoh, [Python Software Foundation](https://www.python.org/psf/) membantu [PyPI](https://pypi.org/), Python package manager, dan [Node.js Foundation](https://foundation.nodejs.org/) membantu [Express.js](https://expressjs.com/), framework berbasis Node.
================================================
FILE: _articles/id/legal.md
================================================
---
lang: id
title: Sisi Hukum dari Open Source
description: Segala sesuatu yang pernah Anda tanyakan tentang sisi hukum open source, dan beberapa hal yang tidak Anda inginkan
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Memahami implikasi hukum dari open source
Membagikan pekerjaan kreatif Anda kepada dunia bisa menjadi sebuah pengalaman yang menarik dan berharga. Hal ini juga bisa berarti beberapa masalah hukum yang tidak Anda pikirkan sebelumnya. Untungnya, Anda tidak harus memulainya dari nol. Kami akan membahas beberapa masalah hukum yang Anda perlukan. (Sebelum Anda masuk lebih dalam, pastikan baca [Peringatan](/notices/).)
## Kenapa orang-orang begitu perhatian terhadap sisi hukum dari open source?
Kami senang Anda bertanya! Ketika Anda membuat pekerjaan kreatif (seperti menulis, grafis, atau kode), hasil karya tersebut berada dibawah hak cipta eksklusif secara default. Maksudnya, hukum mengasumsikan bahwa sebagai pencipta hasil karya Anda, Anda memiliki hak untuk menentukan apa yang boleh dilakukan oleh orang lain terhadap hasil karya Anda.
Secara umum, hal itu berarti tidak ada seorangpun yang dapat menggunakan, menyalin, mendistribusikan, atau memodifikasi hasil karya Anda tanpa terkena masalah hukum.
Open source adalah sebuah kondisi yang tidak lazim, karena sang pencipta justru mengharapkan bahwa orang lain akan menggunakan, memodifikasi, dan membagikan pekerjaan mereka. Tetapi karena secara dasar hukum masih hak cipta eksklusif, Anda perlu sebuah lisensi yang menjelaskan secara eksplisit tentang hak akses ini.
Jika Anda tidak menerapkan sebuah lisensi open source, semua orang yang berkontribusi terhadap proyek Anda juga menjadi pemilik hak cipta eksklusif dari pekerjaan mereka. Hal itu berarti tidak ada seorangpun yang boleh menggunakan, menyalin, mendistribusikan, atau memodifikasi kontribusi mereka -- dan itu termasuk Anda.
Akhirnya, proyek Anda mungkin memiliki ketergantungan dengan kebutuhan lisensi yang tidak Anda sadari sebelumnya. Komunitas proyek atau kebijakan perusahaan Anda mungkin juga memaksa proyek Anda untuk menggunakan lisensi open source yang spesifik. Kami akan membahas situasi-situasi tersebut
## Apakah proyek publik GitHub open source?
Ketika Anda [membuat proyek baru](https://help.github.com/articles/creating-a-new-repository/) pada GitHub, Anda memiliki opsi untuk membuat repositori **private** atau **public**.

**Membuat proyek GitHub Anda sebagai publik tidaklah sama dengan melisensikan proyek Anda.** Proyek publik dibahas pada [Perjanjian Layanan GitHub](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), yang mengijinkan orang lain untuk melihat dan melakukan fork terhadap proyek Anda, tetapi jika tidak, maka tidak ada hak akses terhadap proyek Anda.
Jika Anda menginginkan orang lain untuk bisa menggunakan, menyalin, memodifikasi, atau berkontribusi balik pada proyek Anda, Anda perlu menyertakan sebuah lisensi open source. Sebagai contoh, seseorang tidak dapat menggunakan sembarang bagian dari proyek GitHub Anda pada kode mereka secara legal, meskipun bersifat publik, kecuali Anda memberikan ijin kepada mereka.
## Berikan ringkasan tentang apa yang saya perlukan untuk menjaga proyek saya.
Anda beruntung, karena saat ini lisensi open source sudah terstandarisasi dan mudah digunakan. Anda cukup menyalin dan menggunakan lisensi yang sudah ada pada proyek Anda.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), dan [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) adalah lisensi open source yang paling populer, tetapi terdapat opsi lain yang dapat Anda pilih. Anda bisa menemukan teks lengkap dari lisensi tersebut, termasuk instruksi bagaimana menggunakannya pada [choosealicense.com](https://choosealicense.com/).
Ketika Anda menciptakan proyek baru pada GitHub, Anda akan [diminta untuk menambahkan lisensi](https://help.github.com/articles/open-source-licensing/).
## Lisensi open source mana yang sesuai untuk proyek saya?
Jika Anda baru memulai, disarankan untuk menggunakan [Lisensi MIT](https://choosealicense.com/licenses/mit/). Lisensi ini pendek, mudah dipahami, dan mengijinkan setiap orang untuk melakukan apapun selama mereka mempertahankan salinan dari lisensi, termasuk catatan hak cipta Anda. Anda bisa merilis proyek pada lisensi yang berbeda jika diperlukan.
Jika Anda tidak memulai dari nol, memilih lisensi open source yang sesuai sangat bergantung dari tujuan Anda.
Proyek Anda memiliki (atau akan) **ketergantungan**. Misalnya, jika Anda membuat proyek open source berbasis Node.js, Anda kemungkinan akan menggunakan pustaka dari Node Package Manager (npm). Setiap pustaka yang Anda gunakan akan mmemiliki lisensi open sourcenya masing-masing. Jika lisensi yang mereka gunakan bersifat "permissive" (mengijinkan hak akses publik untuk menggunakan, memodifikasi, dan berbagi tanpa adanya kondisi apapun bagi pengguna lisensi), Anda bisa menggunakan sembarang lisensi apapun. Lisensi yang bersifat _permissive_ meliputi MIT, Apache 2.0, ISC, dan BSD.
Di satu sisi, jika salah satu dari lisensi ketergantungan Anda adalah "copyleft" (juga memberikan hak akses publik yang sama, kecuali pada kondisi yang mengharuskan penggunaan lisensi yang sama pada proyek turunan), maka proyek Anda harus menggunakan lisensi yang sama. Contoh lisensi copyleft meliputi GPLv2, GPLv3, dan AGPLv3.
Anda juga perlu memperhatikan **komunitas** akan menggunakan dan berkontribusi pada proyek Anda:
* **Apakah Anda ingin proyek Anda digunakan sebagai ketergantungan oleh proyek lain?** Mungkin paling tepat untuk menggunakan lisensi yang paling populer pada komunitas Anda. Sebagai contoh, [MIT](https://choosealicense.com/licenses/mit/) adalah lisensi yang paling populer untuk [pustaka npm](https://libraries.io/search?platforms=NPM).
* **Apakah Anda ingin proyek Anda menarik bagi kalangan bisnis skala besar?** Kalangan bisnis yang berskala besar memiliki kencenderungan untuk menggunakan lisensi paten ekspress dari semua kontributor. Dalam hal ini, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) dapat mencakup Anda dan mereka.
* **Apakah Anda ingin proyek Anda menarik bagi kontributor yang tidak ingin hasil kontribusinya tidak digunakan pada perangkat lunak tertutup?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) atau (jika mereka juga tidak mau berkontribusi pada layanan tertutup) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) merupakan pilihan yang tepat.
**Perusahaan** Anda mungkin memiliki kebutuhan lisensi yang khusus untuk proyek open sourcenya. Sebagai contoh, mungkin perusahaan akan membutuhkan lisensi yang bersifat _permissive_ sehingga perusahaan bisa menggunakan proyek Anda pada produk tertutup milik perusahaan. Atau perusahaan membutuhkan lisensi copyleft dan tambahan perjanjian kontributor (lihat dibawah) sehingga Anda hanya perusahaan Anda, dan bukan orang lain, yang boleh menggunakan proyek Anda pada perangkat lunak tertutup. Atau perusahaan Anda mungkin memiliki beberapa kebutuhan yang berkaitan dengan standar, tanggung jawab sosial, atau transparansi, y ang membutuhkan strategi lisensi khusus. Diskusikan dengan [divisi legal perusahaan](#apa-yang-perlu-diketahui-tim-kuasa-hukum-perusahaan-saya).
Ketika Anda menciptakan proyek baru pada GitHub, Anda diberikan opsi untuk memilih sebuah lisensi. Menyertakan salah satu lisensi diatas akan membuat proyek GitHub Anda menjadi open source. Jika Anda hendak melihat opsi lain, lihat pada [choosealicense.com](https://choosealicense.com) untuk menemukan lisensi yang tepat pada proyek Anda, meskipun [bukan perangkat lunak](https://choosealicense.com/non-software/).
## Bagaimana jika saya hendak mengubah lisensi proyek saya?
Sebagian besar proyek tidak perlu mengubah lisensi, Tetapi seringkali kondisi berubah.
Sebagai contoh, seiring dengan perkembangan proyek diperlukan tambahan ketergantungan atau pengguna, atau perusahaan Anda mengubah strategi, yang pada akhirnya membutuhkan atau menginginkan lisensi yang berbeda. Jika Anda mengabaikan lisensi sejak awal, menambahkan lisensi sama halnya dengan mengubah lisensi. Terdapat tiga hal dasar yang perlu dipertimbangkan ketika menambahkan atau mengubah lisensi proyek Anda:
**Rumit.** Menentukan kompatibilitas dan kesesuaian lisensi dan siapa yang memegang hak cipta bisa menjadi rumit dan membingungkan. Berpindah pada lisensi baru yang kompatibel untuk rilis dan kontribusi baru berbeda dengan melakukan perubahan lisensi pada semua kontribusi yang ada. Libatkan tim hukum untuk perubahan lisensi. Meskipun Anda bisa mendapatkan ijin dari semua pemilik hak cipta pada proyek Anda untuk perubahan lisensi, pertimbangkan dampak dari perubahan tersebut pada pengguna dan kontributor proyek Anda. Anggap perubahan lisensi sebagai sebuah "kejadian pengaturan" bagi proyek Anda yang akan berjalan lancar dengan komunikasi yang jelas dan konsultasi dengan semua yang terlibat pada proyek Anda. Hal ini juga menjadi alasan kuat untuk memilih dan menggunakan lisensi yang tepat sejak awal!
**Lisensi proyek Anda saat ini.** Jika lisensi proyek Anda saat ini kompatibel dengan lisensi baru, Anda bisa langsung menggunakan lisensi baru. Hal itu karena jika lisensi A kompatibel dengan B, maka Anda akan sesuai dengan perjanjian pada A dan sekaligus sesuai dengan perjanjian B (tidak harus sebaliknya). Sehingga jika Anda menggunakan lisensi yang bersifat _permissive_ (misalnya MIT), Anda bisa mengubah menjadi lisensi dengan lebih banyak kondisi, selama Anda mempertahankan salinan lisensi MIT dan catatan hak cipta yang sudah ada (dengan kata lain, terus sesuai dengan kondisi minimal dari lisensi MIT). Tetapi jika lisensi Anda saat ini tidak bersifat _permissive_ (misalnya, copyleft, atau Anda tidak memiliki lisensi) dan Anda bukan satu-satunya pemegang hak cipta, Anda tidak bisa mengubah lisensi proyek Anda menjadi MIT. Intinya, dengan lisensi _permissive_, pemegang hak cipta pada proyek telah memberikan ijin di awal untuk mengubah lisensi.
**Pemegang hak cipta proyek Anda saat ini.** Jika Anda satu-satunya kontributor pada proyek Anda maka Anda atau perusahaan Anda adalah satu-satunya pemegang hak cipta proyek. Anda bisa menambahkan atau mengubah ke lisensi yang Anda atau perusahaan Anda harapkan. Jika tidak, maka terdapat pemegang hak cipta lain yang perlu Anda ajak berdiskusi sebelum melakukan perubahan lisensi. Siapa mereka? Orang-orang yang telah melakukan commit pada proyek Anda adalah tempat terbaik untuk memulai. Tetapi pada beberapa kasus hak cipta akan dipegang oleh perusahaan yang memperkerjakan orang-orang tersebut. Pada beberapa kasus, orang-orang akan melakukan kontribusi _de minimis_, tetapi tidak ada aturan yang menyatakan bahwa kontribusi dibawah beberapa baris kode tidak masuk kedalam hak cipta. Apa yang harus dilakukan? Hal itu sangat tergantung dari beberapa hal. Untuk proyek yang relatif kecil dan baru, mungkin masih dimungkinkan untuk mengumpulkan semua kontributor untuk menyetujui perubahan lisensi pada sebuah laporan masalah atau pull request. Untuk proyek yang besar atau sudah berusia cukup lama, Anda perlu mencari banyak kontributor dan mungkin penerusnya. Mozilla membutuhkan waktu bertahun-tahun (2001-2006) untuk melakukan lisensi ulang Firefox, Thunderbird, dan perangkat lunak lainnya.
Alternatif lain, Anda bisa mendapatkan persetujuan kontributor di awal (melalui perjanjian tambahan kontributor -- lihat dibawah) untuk melakukan perubahan lisensi pada beberapa kondisi, diluar apa yang diijinkan oleh lisensi proyek open source yang sudah ada. Hal ini sedikit mengubah kompleksitas dari perubahan lisensi. Anda akan membutuhkan lebih banyak bantuan dari pengacara Anda di awal, dan Anda perlu mengkomunikasikan hal ini dengan jelas pada orang-orang yang terlibat pada proyek ketika mengeksekusi perubahan lisensi.
## Apakah proyek saya membutuhkan perjanjian kontributor tambahan?
Kemungkinan tidak. Untuk sebagian besar proyek open source, lisensi open source secara implisit berfungsi sebagai lisensi inbound (dari kontributor) dan outbound (bagi kontributor dan pengguna lainnya). Jika proyek Anda berada pada GitHub, Perjanjian Layanan GitHub membuat aturan "inbound=outbound" [default secara eksplisit](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Sebuah perjanjian kontributor tambahan -- seringkali disebut Contributor License Agreement (CLA) -- bisa menimbulkan pekerjaan administratif tambahan bagi pengelola proyek. Seberapa banyak pekerjaan tersebut tergantung dari proyek dan implementasinya. Sebuah perjanjian yang sederhana mungkin meminta kontributor untuk melakukan konfirmasi dengan satu klik, bahwa mereka memiliki hak yang cukup untuk berkontribusi dibawah lisensi open source. Perjanjian yang lebih kompleks mungkin membutuhkan review hukum dan tanda tangan dari perusahaan yang memperkerjakan kontributor tersebut.
Juga, dengan menambahkan "pekerjaan administratif" yang dipercaya oleh sebagian orang sebagai sesuatu yang tidak perlu, susah dipahami, atau tidak adil (ketika penerima perjanjian mendapatkan lebih banyak hak dibandingkan kontributor atau publik melalui lisensi open source), sebuah perjanjian kontributor tambahan juga dipandang sebagai sesuatu yang tidak ramah bagi komunitas proyek.
Beberapa situasi dimana Anda ingin mempertimbangkan perjanjian kontributor tambahan pada proyek Anda meliputi:
* Pengacara Anda ingin semua kontributor menerima perjanjian kontribusi (_tandatangan_, online atau offline), karena mereka merasa lisensi open source tidaklah cukup (meskipun sebenarnya sudah!). Jika ini merupakan satu-satunya alasan, sebuah perjanjian kontributor yang mengakui lisensi open source sudahlah cukup. [Perjanjian Lisensi Kontributor Individual jQuery](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) adalah contoh bagus dari perjanjian kontributor tambahan yang sederhana. Untuk beberapa proyek [Developer Certificate of Origin](https://github.com/probot/dco) mungkin menjadi alternatif yang lebih sederhana.
* Proyek Anda menggunakan lisensi open source yang tidak menyertakan ijin patent (seperti MIT), dan Anda perlu pengajuan patent dari semua kontributor, beberapa diantaranya yang mungkin bekerja pada perusahaan dengan portofolio paten yang besar yang bisa digunakan untuk menyerang Anda atau kontributor atau pengguna proyek Anda. [Perjanjian Lisensi Kontributor Individual Apache](https://www.apache.org/licenses/icla.pdf) adalah perjanjian kontributor tambahan yang sering dipakai dan memiliki ijin penggunaan patent mengikuti apa yang bisa ditemukan pada lisensi Apache 2.0.
* Proyek Anda berada dibawah lisensi copyleft, tetapi Anda juga perlu mendistribusikan versi tertutup dari proyek Anda. Anda mungkin perlu meminta setiap kontributor untuk menyatakan hak cipta kepada Anda atau memberikan ijin kepada Anda (tetapi bukan kepada publik) sebuah lisensi yang bersifat _permissive_. [Perjanjian Kontributor MongoDB](https://www.mongodb.com/legal/contributor-agreement) adalah contoh jenis perjanjian ini.
* Anda berpikir proyek Anda perlu mengubah lisensi dikemudian hari dan ingin para kontributor untuk menyetujuinya di awal terhadap perubahan tersebut.
Jika Anda membutuhkan perjanjian kontributor tambahan pada proyek Anda, pertimbangkan untuk menggunakan integrasi seperti [asisten CLA](https://github.com/cla-assistant/cla-assistant) untuk meminimalkan gangguan pada kontributor.
## "Apa yang perlu diketahui tim kuasa hukum perusahaan saya
Jika Anda merilis proyek open source sebagai karyawan perusahaan, pertama-tama, tim hukum Anda perlu tahu bahwa Anda membuat proyek open source.
Beritahukan kepada mereka meskipun hal itu untuk proyek pribadi. Anda mungkin memiliki "perjanjian kekayaan intelektual karyawan" dengan perusahaan Anda yang memberikan beberapa kontrol terhadap proyek Anda, terutama jika berkaitan dengan bisnis perusahaan atau Anda menggunakan sumber daya perusahaan untuk mengembangkan proyek tersebut. Perusahaan Anda _seharusnya_ dengan mudah memberikan Anda ijin, dan mungkin sudah melalui perjanjian yang ramah terhadap karyawan. Jika tidak, Anda bisa negosiasi (misalnya, jelaskan kenapa proyek Anda sesuai dengan tujuan pembelajaran dan pengembangan profesional perusahaan bagi Anda), atau hindari bekerja pada proyek Anda sampai Anda menemukan perusahaan yang lebih baik.
**Jika Anda membuat proyek open source untuk perusahaan Anda,** maka pastikan mereka tahu. Tim hukum Anda mungkin memiliki beberapa kebijakan tentang apa lisensi open source (dan mungkin perjanjian kontributor tambahan) yang harus digunakan sesuai dengan kebutuhan bisnis perusahaan dan memastikan bahwa proyek Anda sesuai dengan lisensi dan ketergantungannya. Jika tidak, Anda dan mereka sangat beruntung! Tim hukum Anda akan sangat senang untuk bekerja dengan Anda untuk menyelesaikan masalah ini. Beberapa hal yang perlu diperhatikan:
* **Materi pihak ketiga:** Apakah proyek Anda memiliki ketergantungan pada sesuatu yang dibuat oleh orang lain atau menyertakan kode milik orang lain? Jika materi itu adalah open source, Anda perlu menyesuaikan dengan lisensi open source dari materi tersebut. Hal itu mulai dengan memilih lisensi yang bekerja dengan lisensi pihak ketiga (lihat diatas). Jika proyek Anda memodifikasi atau mendistribusikan materi open source pihak ketiga, maka tim hukum Anda juga ingin tahu apakah Anda memenuhi kondisi lisensi open source pihak ketiga, seperti mempertahankan informasi hak cipta. Jika proyek Anda menggunakan kode orang lain yang tidak memiliki lisensi open source, Anda mungkin perlu bertanya pada pengelola pihak ketiga untuk [menambahkan lisensi open source](https://choosealicense.com/no-license/#for-users), dan jika Anda tidak bisa mendapatkannya, hentikan menggunakan kode mereka pada proyek Anda.
* **Bertukar rahasia:** Pertimbangkan apakah ada sesuatu pada proyek yang tidak diharapkan oleh perusahaan untuk tersedia secara publik. Jika ada, Anda bisa membuat open source proyek Anda setelah mengambil materi yang ingin Anda jaga agar tetap rahasia.
* **Paten:** Apakah perusahaan Anda mengajukan paten dimana membuka proyek Anda menjadi open source akan menghasilkan [pengungkapan publik](https://en.wikipedia.org/wiki/Public_disclosure)? Sayangnya, Anda akan diminta untuk menunggu (atau perusahaan akan mempertimbangkan kebijakan dari aplikasi). Jika Anda mengharapkan kontribusi terhadap proyek Anda dari karyawan perusahaan dengan portofolio paten yang besar, tim ukum Anda mungkin akan meminta Anda menggunakan lisensi dengan hibah paten express dari kontributor (seperti Apache 2.0 atau GPLv3), atau perjanjian kontributor tambahan (lihat diatas).
* **Merek dagang:** Pastikan nama proyek Anda [tidak konflik dengan nama yang sudah ada](../starting-a-project/#hindari-konflik-nama). Jika Anda menggunakan merek dagang perusahaan Anda pada proyek, pastikan tidak terjadi konflik. [FOSSmarks](http://fossmarks.org/) adalah panduan praktis untuk memahami merek dagang pada konteks proyek open source.
* **Privasi:** Apakah proyek Anda mengumpulkan data pengguna? "Telp rumah" ke server perusahaan? Tim hukum Anda bisa membantu dengan kebijakan perusahaan atau regulasi eksternal.
Jika Anda merilis proyek open source perusahaan Anda pertama kalinya, informasi diatas sudah lebih dari cukup (tetapi jangan khawatir, sebagian besar proyek tidak menimbulkan masalah besar).
Dalam jangka panjang, tim hukum Anda bisa melakukan lebih banyak lagi dengan membantu perusahaan untuk mendapatkan lebih banyak dari keterlibatannya pada open source:
* **Kebijakan kontribusi karyawan:** Pertimbangkan untuk mengembangkan kebijakan perusahaan yang menentukan bagaimana karyawan berkontribusi pada proyek open source. Sebuah kebijakan yang jelas akan mengurangi kebingungan pada karyawan Anda dan membantu mereka untuk berkontribusi pada proyek open source yang penting bagi perusahaan, baik sebagai bagian dari pekerjaan mereka atau dimasa senggang mereka. Sebuah contoh bagus adalah [Model IP dan Kebijakan Kontribusi Open Source](https://ospo.co/blog/crafting-your-open-source-contribution-policy/) milik Rackspace.
* **Apa yang dirilis:** [(Hampir) semuanya?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) jika tim hukum Anda memahami dan berinvestasi pada strategi open source perusahaan Anda, mereka akan banyak membantu dibandingkan merugikan Anda.
* **Kesesuaian:** Meskipun perusahaan Anda tidak merilis proyek open source, perusahaan Anda menggunakan perangkat lunak open source milik orang lain. [Kewaspadaandan proses](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) bisa mencegah masalah, keterlambatan produk, dan tuntutan hukum.
* **Paten:** Perusahaan Anda mungkin ingin bergabung dengan [Open Invention Network](http://www.openinventionnetwork.com/), sebuah kumpulan yang menjaga penggunaan proyek open source pada anggotanya, atau mencoba [lisensi paten alternatif](https://www.eff.org/document/hacking-patent-system-2016).
* **Pengaturan:** Terutama jika dan masuk akal untuk memindahkan sebuah proyek pada [entitas legal diluar perusahaan](../leadership-and-governance/#apakah-saya-perlu-entitas-legal-untuk-mendukung-proyek-saya).
================================================
FILE: _articles/id/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: id
untranslated: true
title: Maintaining Balance for Open Source Maintainers
description: Tips for self-care and avoiding burnout as a maintainer.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.
To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the Maintainer Community, allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.
So, what is personal ecology? As described by the Rockwood Leadership Institute, it involves "maintaining balance, pacing, and efficiency to sustain our energy over a lifetime." This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as [defined by the WHO](https://icd.who.int/browse/2025-01/foundation/en#129180281), is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.
By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.
## Tips for Self-Care and Avoiding Burnout as a Maintainer:
### Identify your motivations for working in open source
Take time to reflect on what parts of open source maintenance energizes you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it's the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.
### Reflect on what causes you to get out of balance and stressed out
It's important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:
* **Lack of positive feedback:** Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.
* **Not saying 'no':** It can be easy to take on more responsibilities than you should on an open source project. Whether it's from users, contributors, or other maintainers – we can't always live up to their expectations.
* **Working alone:** Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.
* **Not enough time or resources:** This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
* **Conflicting demands:** Open source is full of groups with different motivations, which can be difficult to navigate. If you're paid to do open source, your employer's interests can sometimes be at odds with the community.
### Watch out for signs of burnout
Can you keep up your pace for 10 weeks? 10 months? 10 years?
There are tools like the [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) from [@shaunagm](https://github.com/shaunagm) that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).
### What would you need to continue sustaining yourself and your community?
This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:
* **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.
You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
* **Explore funding:** Whether you're looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you're thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
* **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
* **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night's sleep can make a big difference in your ability to sustain your efforts long-term.
If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
* **Set boundaries:** You can't say yes to every request. This can be as simple as saying, "I can't get to that right now and I do not have plans to in the future," or listing out what you're interested in doing and not doing in the README. For instance, you could say: "I only merge PRs which have clearly listed reasons why they were made," or, "I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.
Learn to be firm in shutting down toxic behavior and negative interactions. It's okay to not give energy to things you don't care about.
Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.
## Additional Resources
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Contributors
Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/id/metrics.md
================================================
---
lang: id
title: Metrik Open Source
description: Buat keputusan yang tepat untuk membantu proyek open source Anda berkembang dengan mengukur dan melacak kesuksesannya.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Kenapa mengukur segalanya?
Data, ketika digunakan dengan bijaksana, bisa membantu Anda mengambil keputusan yang lebih baik sebagai pengelola open source.
Dengan informasi yang lebih banyak, Anda bisa:
* Memahami bagaimana pengguna bisa merespon terhadap fitur baru
* Menentukan darimana asal pengguna baru
* Mengidentifikasi, dan menentukan untuk mendukung fungsionalitas kasus langka
* Mengkuantifikasi popularitas proyek Anda
* Memahami bagaimana proyek Anda digunakan
* Mendapatkan pendanaan melalui sponsor dan hibah
Sebagai contoh, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) menemukan bahwa Google Analytics membantu mereka dalam memprioritaskan pekerjaan:
> Homebrew disediakan secara gratis dan dijalankan sepenuhnya oleh sukarelawan dalam waktu senggang mereka. Sebagai hasilnya, kami tidak memiliki sumber daya untuk melakukan studi pengguna dari pengguna Homebrew untuk menentukan mendesain fitur baru dan memprioritaskan pekerjaan. Analisa agregasi pengguna anonim memampukan kami untuk memprioritaskan perbaikan dan fitur berbasiskan pada bagaimana, dimana, dan kapan orang-orang menggunakan proyek ini.
Popularitas bukanlah segalanya. Semua orang masuk pada open source untuk alasan yang berbeda-beda. Jika tujuan Anda sebagai pengelola open source adalah untuk menunjukan hasil pekerjaan Anda, bersikaplah transparan tentang kode Anda, atau jika hanya untuk hiburan, metrik mungkin tidaklah penting bagi Anda.
Jika Anda _memang_ tertarik untuk memahami proyek Anda pada level yang lebih dalam, silahkan membaca lebih lanjut untuk menganalisa aktivitas proyek Anda.
## Penemuan
Sebelum setiap orang bisa menggunakan atau berkontribusi pada proyek Anda, mereka perlu tahu bahwa proyek itu ada. Tanyakan pada diri Anda: _apakah orang-orang menemukan proyek ini?_

Jika proyek Anda berada di GitHub, [Anda dapat melihat](https://help.github.com/articles/about-repository-graphs/#traffic) berapa banyak orang yang sampai pada proyek Anda dan darimana mereka berasal. Dari halaman proyek Anda, klik "Graphs", lalu "Traffic". Pada halaman ini, Anda bisa melihat:
* **Total pageviews:** Menginformasikan berapa banyak proyek Anda dilihat
* **Total unique visitors:** Menginformasikan berapa banyak orang yang melihat proyek Anda
* **Referring sites:** Menginformasikan darimana pengunjung Anda berasal. Metrik ini bisa membantu Anda untuk mencari tahu dimana mencapai pengguna Anda dan apakah usaha promosi Anda berjalan dengan baik.
* **Popular content:** Menginformasikan kemana pengunjung Anda melakuan navigasi pada proyek Anda, dilihat dari pageviews dan pengunjung unik.
[GitHub stars](https://help.github.com/articles/about-stars/) juga bisa membantu menyediakan pengukuran dasar dari popularitas. Meskipun GitHub stars tidak serta-merta mengkorelasikan pada jumlah download dan penggunaan, informasi dari GitHub stars dapat menginformasikan berapa banyak orang yang memperhatikan pekerjaan Anda.
Anda mungkin ingin [melacak temuan pada tempat khusus](https://opensource.com/business/16/6/pirate-metrics): misalnya, Google PageRank, trafik referensi dari halaman web proyek Anda, atau referensi dari proyek open source dan website.
## Penggunaan
Orang-orang menemukan proyek Anda pada sesuatu yang kita sebut dengan Internet. Idealnya, ketika mereka melihat proyek Anda, mereka akan tertarik untuk melakukan sesuatu. Pertanyaan kedua yang ingin Anda tanyakan adalah: _apakah orang-orang menggunakan proyek ini?_
Jika Anda menggunakan perangkat manajemen paket, seperti npm atau RubyGems.org, untuk mendistribusikan proyek Anda, Anda bisa melacak jumlah total download dari proyek Anda.
Setiap perangkat manajemen paket mungkin menggunakan definisi "download" yang berbeda, dan jumlah download tidak langsung berkorelasi dengan installasi atau penggunaan, tetapi informasi ini menyediakan dasar untuk perbandingan. Cobalah untuk menggunakan [Libraries.io](https://libraries.io/) untuk melacak statistik pada banyak perangkat manajemen paket.
Jika proyek Anda berada pada GitHub, kunjungi halaman "Traffic". Anda bisa menggunakan [clone graph](https://github.com/blog/1873-clone-graphs) untuk melihat berapa kali proyek Anda telah di-clone pada hari tertentu, dipecah pada jumlah clone dan orang-orang yang melakukan clone secara unik.

Jika penggunaan ternyata rendah dibandingkan jumlah orang yang menemukan proyek Anda, terdapat dua hal yang perlu dipertimbangkan:
* Proyek Anda tidak sukses dalam mengkonversi pengguna Anda, atau
* Anda menarik pengguna yang salah
Sebagai contoh, jika proyek Anda muncul pada halaman depan dari Hacker News, Anda mungkin melihat kenaikan pada bagian traffic, tetapi nilai konversi yang rendah, karena Anda mendekati semua orang pada Hacker News. Jika proyek Ruby Anda muncul pada konferensi Ruby, Anda mungkin akan melihat nilai konversi yang tinggi dari pengguna yang ditargetkan.
Cobalah untuk mencari tahu darimana asal pengguna Anda dan mintalah masukan pada halaman proyek Anda untuk menentukan manakah diantara dua masalah tersebut yang Anda alami.
Setelah Anda tahu bahwa orang-orang menggunakan proyek Anda, Anda mungkin mencoba mencari tahu apa yang mereka lakukan dengan proyek Anda. Apakah mereka membangunnya dengan melakukan fork pada kode Anda dan menambahkan fitur baru? Apakah mereka menggunakannya untuk ilmu pengetahuan atau bisnis?
## Mempertahankan
Orang-orang menemukan proyek Anda dan menggunakannya. Pertanyaan berikutnya yang harus Anda tanyakan pada diri Anda adalah: _apakah orang-orang berkontribusi balik pada proyek?_
Tidak pernah terlambat untuk mulai berpikir tentang kontributor. Tanpa mereka, Anda beresiko menempatkan posisi Anda pada situasi yang tidak sehat dimana proyek Anda _terkenal_ (banyak orang menggunakannya) tetapi tidak _didukung_ (tidak cukup jumlah pengelola untuk memenuhi kebutuhan).
Mempertahankan juga membutuhkan [masukan kontributor baru](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), karena kontributor aktif sebelumnya akan berpindah pada hal yang lain.
Contoh dari metrik komunitas yang perlu Anda perhatikan secara berkala meliputi:
* **Jumlah total kontributor dan commit per kontributor:** Menginformasikan berapa banyak kontributor yang Anda miliki, dan siapa yang lebih atau kurang aktif. Pada GitHub, Anda bisa melihat informasi ini pada "Graphs" -> "Contributors." Saat ini, grafik ini hanya menghitung kontributor yang telah melakukan commit pada branch default dari repositori.

* **Kontributor perdana, umum, dan rutin:** Membantu Anda melacak apakah Anda mendapatkan kontributor baru, dan apakah mereka kembali. (Kontributor umum adalah kontributor dengan jumlah commit yang rendah. Apakah itu satu, kurang dari lima, atau jumlah commit lain sesuai definisi Anda.) Tanpa kontributor baru, komunitas proyek Anda menjadi stagnan.
* **Jumlah laporan masalah dan pull request yang masih terbuka:** Jika jumlah ini terlalu tinggi, Anda mungkin perlu bantuan untuk membereskan masalah dan review kode.
* **Jumlah laporan masalah dan pull request yang _dilaporkan_:** Laporan masalah yang dilaporkan mengindikasikan seseorang cukup perhatian terhadap proyek Anda untuk melaporkannya. Jika jumlah ini meningkat terus, hal ini mengindikasikan bahwa orang-orang tertarik dengan proyek Anda.
* **Jenis kontribusi:** Sebagai contoh, commit, memperbaiki kesalahan ketik atau kesalahan program, atau memberikan komentar pada sebuah laporan masalah.
## Aktivitas pengelola
Akhirnya, Anda ingin memastikan pengelola proyek Anda mampu menangani jumlah kontribusi yang diterima. Pertanyaan terakhir yang ingin Anda tanyakan pada diri Anda adalah: _apakah saya (atau kami) merespon terhadap komunitas kami?_
Pengelola yang tidak responsif menjadi penghambat bagi proyek open source. Jika seseorang mengirimkan sebuah kontribusi tetapi tidak pernah mendapatkan respon dari pengelola, mereka mungkin merasa diabaikan dan pada akhirnya meninggalkan proyek Anda.
[Penelitian dari Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) menyarankan bahwa tingkat responsif pengelola merupakan faktor penting dalam mendorong kontributor yang berulang.
Pertimbangkan untuk melacak berapa lama bagi Anda (atau pengelola lain) untuk merespon terhadap kontribusi, baik laporan masalah atau pull request. Merespon tidak berarti mengambil tindakan. Merespon bisa sesederhana seperti : _"Terima kasih atas kontribusi Anda! Saya akan melakukan review dalam minggu depan."_
Anda juga bisa mengukur waktu yang dibutuhkan untuk berpindah dari satu fase ke fase lain pada proses kontribusi, seperti:
* Waktu rata-rata sebuah laporan masalah tetap terbuka
* Apakah laporan masalah ditutup oleh PRs
* Apakah laporan masalah yang stagnan akhirnya ditutup
* Waktu rata-rata untuk melakukan merge sebuah pull request
## Gunakan 📊 untuk belajar tentang orang
Memahami metrik akan membantu Anda membangun proyek open source yang aktif dan berkembang. Meskipun Anda tidak melacak setiap metrik pada sebuah _dashboard_, gunakan kerangka diatas untuk memfokuskan perhatian Anda pada jenis perilaku yang akan membantu proyek Anda bertahan.
================================================
FILE: _articles/id/security-best-practices-for-your-project.md
================================================
---
lang: id
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/id/starting-a-project.md
================================================
---
lang: id
title: Memulai Proyek Open Source
description: Pelajari lebih lanjut tentang dunia open source dan bersiap-siap untuk merilis proyek Anda sendiri.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## "Apa" dan "kenapa" open source
Anda berpikir untuk memulai pada open source? Selamat! Dunia ini menghargai kontribusi Anda. Mari kita bicarakan tentang apa itu open source dan kenapa orang-orang melakukannya.
### Apa arti "open source"?
Ketika sebuah proyek bersifat open source, hal itu berarti **setiap orang bisa melihat, menggunakan, memodifikasi, dan mendistribusikan proyek Anda untuk segala tujuan.** Hak akses ini diakui melalui [lisensi open source](https://opensource.org/licenses).
Open source sangatlah berkuasa karena mengurangi hambatan untuk adopsi, memungkinkan ide untuk berkembang dengan pesat.
Untuk memahami bagaimana proses ini bekerja, bayangkan teman Anda sedang makan, dan Anda membawa sebuah pai berisi buah ceri.
* Semua orang mencoba pai (_menggunakan_)
* Pai menjadi viral! Orang menanyakan resepnya kepada Anda, dan Anda berikan (_lihat_)
* Salah seorang teman, Alex, seorang chef pastry, menyarankan untuk mengurangi gula (_modifikasi_)
* Teman lain, Lisa, ingin menggunakannya untuk makan malam minggu depan (_distribusi_)
Sebagai perbandingan, sebuah proses yang tertutup akan seperti dimana Anda pergi ke sebuah rumah makan dan memesan sepotong pai buah ceri. Anda harus membayar untuk memakan potongan tersebut, dan rumah makan tersebut tidak akan memberikan resepnya kepada Anda. Jika Anda membuat salinan utuh pai mereka dan menjualnya dengan nama Anda, rumah makan bisa mengambil sebuah tindakan terhadap Anda.
### Kenapa orang-orang membuka hasil karya mereka?
[Terdapat banyak alasan](https://ben.balter.com/2015/11/23/why-open-source/) kenapa seseorang atau sebuah organisasi ingin membuka proyek open source. Beberapa diantaranya meliputi:
* **Kolaborasi:** Proyek open source bisa menerima perubahan dari siapapun juga di seluruh dunia. [Exercism](https://github.com/exercism/), sebagai contoh, adalah kerangka latihan pemrograman dengan lebih dari 350 kontributor.
* **Adopsi dan menggabungkan:** Proyek open source bisa digunakan oleh siapapun untuk hampir semua tujuan. Bahkan bisa digunakan untuk membangun proyek lain. [WordPress](https://github.com/WordPress), sebagai contoh, dimulai dari hasil _fork_ dari proyek yang sudah ada bernama [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparansi:** Setiap orang dapat melihat kesalahan atau inkonsistensi pada proyek open source. Transparansi sangat penting bagi pemerintah seperti [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) atau [Amerika Serikat](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), industri yang memiliki regulasi seperti perbankan atau kesehatan, dan perangkat lunak keamanan seperti [Let's Encrypt](https://github.com/letsencrypt).
Open source bukan hanya untuk perangkat lunak saja. Anda bisa membuka tentang apa saja mulai dari kumpulan data hingga buku. Silahkan lihat [GitHub Explore](https://github.com/explore) untuk ide yang dapat Anda buka sebagai open source.
### Apakah open source berarti "bebas biaya"?
Salah satu hal yang menarik dari open source adalah tidak memerlukan biaya. "Bebas biaya", adalah hasil sampingan dari keseluruhan nilai open source.
Karena [lisensi open source mewajibkan](https://opensource.org/osd-annotated) bahwa setiap orang boleh menggunakan, memodifikasi, dan menyebarkan proyek Anda untuk segala tujuan, pada umumnya proyek tersebut bersifat bebas biaya. Jika proyek memerlukan uang untuk bisa menggunakannya, setiap orang boleh membuat salinannya secara legal dan menggunakan versi gratisnya.
Sebagai hasilnya, sebagian besar proyek open source bersifat gratis, tetapi "bebas biaya" bukan bagian dari definisi open source. Terdapat banyak cara untuk menarik dana bagi proyek open source secara tidak langsung melalui lisensi ganda atau fitur yang terbatas, dan masih tetap sesuai dengan definisi resmi dari open source.
## Perlukah saya merilis proyek open source saya sendiri?
Jawaban singkatnya adalah ya, karena apapun hasilnya, merilis proyek Anda sendiri adalah cara baik untuk belajar bagaimana open source bekerja.
Jika Anda belum pernah membuka proyek Anda sebelumnya, Anda mungkin akan khawatir tentang apa yang akan dikatakan oleh orang lain, atau apakah orang lain akan melihat proyek Anda atau tidak. Jika hal ini sama seperti yang Anda rasakan, Anda tidak sendirian.!
Pekerjaan open source sama seperti aktivitas kreatif lainnya, baik itu menulis maupun melukis. Terkadang bisa menakutkan untuk mempublikasikan hasil pekerjaan Anda kepada dunia, tetapi satu-satunya cara agar lebih baik adalah dengan berlatih - meskipun Anda tidak punya pengguna.
Jika Anda belum yakin, berikan waktu sejenak untuk memikirkan tujuan akhir Anda.
### Menentukan tujuan akhir Anda
Tujuan akhir bisa membantu Anda menentukan apa yang akan dikerjakan, apa yang harus ditolak, dan dimana Anda akan membutuhkan bantuan dari orang lain. Mulailah dengan menanyakan kepada dirinya Anda sendiri, _kenapa saya membuat proyek saya menjadi open source?_
Tidak ada jawaban benar tunggal pada pertanyaan ini. Anda boleh memiliki banyak tujuan akhir untuk satu proyek tunggal, atau beberapa proyek dengan beberapa tujuan akhir.
Jika tujuan akhir Anda adalah untuk menunjukkan hasil pekerjaan Anda, Anda mungkin tidak perlu adanya kontribusi, dan mungkin bisa saja dituliskan pada dokumen README Anda. Di satu sisi, jika Anda ingin adanya kontributor, Anda harus menginvestasikan waktu untuk dokumentasi yang jelas dan membuat pendatang baru merasa disambut.
Ketika proyek Anda berkembang, komunitas Anda mungkin membutuhkan lebih dari sekedar kode dari Anda. Merespon terhadap laporan masalah, melakukan review terhadap kode, dan mempopulerkan proyek Anda menjadi kegiatan penting dalam proyek open source.
Meskipun jumlah waktu yang Anda habiskan untuk kegiatan yang tidak berhubungan dengan pengembangan akan sangat bergantung dari ukuran dan batasan proyek Anda, Anda harus siap sebagai pengelola untuk menjalaninya atau cari seseorang untuk membantu Anda.
**Jika Anda bagian dari sebuah perusahaan yang membuka proyeknya pada open source,** pastikan proyek Anda memiliki sumber daya internal yang dibutuhkan untuk berkembang. Anda perlu mengindetifikasi siapa yang bertanggung jawab untuk mengelola proyek setelah diluncurkan, dan bagaimana Anda akan mendistribusikan tugas tersebut dengan komunitas.
Jika Anda membutuhkan pendanaan yang permanen atau alokasi staf untuk promosi, operasi, dan pengelolaan proyek, lakukan diskusi di awal.
### Kontribusi ke proyek lain
Jika tujuan akhir Anda adalah belajar bagaimana berkolaborasi dengan orang lain atau memahami bagaimana open source bekerja, pertimbangkan untuk berkontribusi pada proyek yang sudah ada. Mulailah dengan proyek yang sudah Anda gunakan dan Anda suka. Berkontribusi pada sebuah proyek bisa semudah memperbaiki kesalahan penulisan atau memperbarui dokumentasi.
Jika Anda tidak yakin bagaimana memulai sebagai kontributor, silahkan lihat [Panduan Bagaimana Berkontribusi pada Open Source](../how-to-contribute/).
## Merilis proyek open source Anda
Tidak ada waktu yang sempurna untuk membuka proyek Anda kepada open source. Anda bisa membuat ide Anda, pekerjaan yang sedang dalam pengembangan, atau setelah sekian lama berada dalam lingkungan yang tertutup (_closed source_) menjadi open source.
Secara umum, Anda harus membuka proyek Anda menjadi ketika Anda merasa nyaman ketika orang lain melihat dan memberikan masukan pada pekerjaan Anda.
Tidak perduli pada tahap mana Anda memutuskan untuk membuka proyek Anda, setiap proyek sebaiknya menyediakan dokumentasi berikut:
* [Lisensi open source](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Panduan berkontribusi](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Kode etik](../code-of-conduct/)
Sebagai pengelola, komponen-komponen tersebut akan membantu Anda mengkomunikasikan ekspektasi, mengelola kontribusi, dan menjaga hak legal dari setiap orang (termasuk Anda sendiri). Dokumen-dokumen tersebut akan meningkatkan peluang Anda secara signifikan untuk mendapatkan pengalaman yang positif.
Jika proyek Anda berada pada GitHub, meletakkan dokumen-dokumen diatas pada direktori induk dengan nama dokumen yang direkomendasikan akan membantu GitHub mengenalinya secara otomatis dan menampilkannya pada pengunjung.
### Memilih sebuah lisensi
Sebuah lisensi open source menjamin bahwa orang lain mampu menggunakan, menyalin, memodifikasi, dan berkontribusi kembali pada proyek Anda tanpa adanya masalah. Lisensi juga menjaga dari masalah legalitas. **Anda harus menyertakan sebuah lisensi ketika Anda merilis sebuah proyek open source.**
Pekerjaan hukum bukan sesuatu yang menyenangkan. Berita baiknya adalah Anda bisa menyalin dan menggunakan lisensi yang sudah ada pada repositori Anda. Proses ini hanya membutuhkan waktu satu menit untuk menjaga hasil kerja keras Anda.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), dan [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) adalah lisensi open source yang paling populer, tetapi [terdapat opsi lain](https://choosealicense.com) yang bisa Anda pilih.
Ketika Anda membuat proyek baru pada GitHub, Anda diberikan pilihan untuk memilih sebuah lisensi. Menyertakan sebuah lisensi open source akan membuat proyek GitHub Anda sebagai open source.

Jika Anda memiliki pertanyaan lain atau khawatir tentang aspek legalitas tentang mengelola proyek open source, [kami punya solusinya](../legal/).
### Menulis dokumen README
README berisi lebih dari sekedar penjelasan bagaimana menggunakan proyek Anda. Dokumen ini juga menjelaskan kenapa proyek Anda penting, dan apa yang bisa dilakukan oleh pengguna Anda dengan proyek tersebut.
Pada dokumen README, cobalah untuk menjawab pertanyaan berikut:
* Apa yang dilakukan proyek ini?
* Kenapa proyek ini berguna?
* Bagaimana saya memulainya?
* Jika saya membutuhkan bantuan, dimana saya bisa mendapatkannya?
Anda bisa menggunakan README untuk menjawab pertanyaan lainnya, seperti bagaiman Anda akan menangani kontribusi, apa tujuan akhir dari proyek, dan informasi tentang lisensi. Jika Anda tidak ingin menerima kontribusi, atau proyek Anda belum siap untuk produksi, tuliskan informasi ini.
Seringkali, banyak orang menghindari untuk menulis README karena mereka merasa bahwa proyek belum selesai, atau mereka tidak menginginkan adanya kontribusi. Berikut ini adalah berbagai alasan bagus bagi Anda untuk menulis dokumen README.
Untuk insipirasi lainnya, Silahkan coba ["Membuat README lebih Terbaca"](https://pages.18f.gov/open-source-guide/making-readmes-readable/) milik @18F atau [Template README](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) milik @PurpleBooth untuk menulis README yang lengkap.
Ketika Anda menyertakan dokumen README pada direktori induk, GitHub akan secara otomatis menampilkannya pada homepage repositori.
### Menulis panduan kontribusi Anda
Sebuah dokumen CONTRIBUTING menjelaskan kepada pengguna tentang bagaimana berpartisipasi pada proyek Anda. Sebagai contoh, Anda mungkin menyertakan informasi tentang:
* Bagaimana membuat laporan kesalahan (cobalah menggunakan [template laporan masalah dan pull request](https://github.com/blog/2111-issue-and-pull-request-templates))
* Bagaimana menyarankan sebuah fitur baru
* Bagaimana melakukan persiapan lingkungan pengembangan dan melakukan pengujian
Selain aspek teknis, dokumen CONTRIBUTING juga merupakan kesempatan untuk mengkomunikasikan harapan Anda untuk kontribusi, misalnya
* Jenis kontribusi yang Anda harapkan
* Rencana jangka panjang atau visi proyek Anda
* Bagaimana kontribusi bisa menghubungi Anda
Menggunakan nada yang bersahabat dan menawarkan tawaran yang spesifik untuk kontribusi (misalnya menuliskan dokumentasi, atau membuat halaman web) bisa membuat pendatang merasa nyaman dan diterima serta tertarik untuk berpartisipasi.
Sebagai contoh, [Active Admin](https://github.com/activeadmin/activeadmin/) memulai [panduan kontribusinya](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) dengan:
> Pertama-tama, terima kasih karena Anda mempertimbangkan untuk berpartisipasi pada Active Admin. Orang-orang seperti Anda yang membuat Active Admin menjadi sebuah perangkat yang hebat.
Pada fase awal dari proyek Anda, dokumen CONTRIBUTING bisa sangat sederhana. Anda perlu menjelaskan bagaimana melaporkan kesalahan dan kebutuhan teknis (seperti pengujian), atau bagaimana cara berkontribusi.
Seiring dengan berjalannya waktu, Anda bisa menambahkan pertanyaan yang paling sering ditanyakan pada dokumen CONTRIBUTING. Menuliskan informasi ini berarti lebih sedikit orang yang akan bertanya pertanyaan yang sama kepada Anda berulang kali.
Untuk bantuan tentang penulisan dokumen CONTRIBUTING, silahkan lihat [template panduan berkontribusi](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) milik @nayafia atau ["Bagaimana Membangun Dokumen CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/) milik @mozilla.
Hubungkan dokumen CONTRIBUTING dari README, sehingga lebih banyak orang yang melihatnya. Jika Anda [meletakkan dokumen CONTRIBUTING pada repositori proyek](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub akan secara otomatis menghubungkan ke dokumen Anda ketika seorang kontributor membuat sebuah laporan masalah atau membuat pull request.

### Membangun kode etik
Akhirnya, sebuah kode etik membantu menentukan aturan perilaku dasar bagi partisipan proyek Anda. Hal ini akan sangat berguna apabila Anda merilis proyek open source untuk sebuah komunitas atau perusahaan. Kode etik memampukan Anda untuk memfasilitasi perilaku yang sehat dan konstruktif, sehingga mengurangi kadar stress Anda sebagai pengelola.
Untuk informasi lebih lanjut, silahkan lihat [Panduan Kode Etik](/code-of-conduct/).
Selain untuk mengkomunikasikan _bagaimana_ Anda mengharapkan partisipan Anda untuk berperilaku, kode etik juga pada umumnya menjelaskan kepada siapa ekspektasi ini berlaku, dan ketika hal itu berlaku, apa yang harus dilakukan apabila terjadi pelanggaran.
Seperti halnya lisensi open source, terdapat banyak standar untuk kode etik, sehingga Anda tidak perlu menuliskannya sendiri. [Contributor Covenant](https://www.contributor-covenant.org/) adalah kode etik siap pakai yang digunakan oleh [lebih dari 40.000 proyek open source](https://www.contributor-covenant.org/adopters), termasuk Kubernetes, Rails, dan Swift. Tanpa memperhatikan teks yang Anda gunakan, Anda harus selalu siap untuk menjalankan kode etik apabila diperlukan.
Salin teks langsung pada dokumen CODE_OF_CONDUCT pada repositori Anda. Letakkan pada direktori induk pada repositori sehingga mudah ditemukan dan hubungkan dari dokumen README.
## Penamaan dan pencitraan proyek Anda
Pencitraan lebih dari sekedar logo yang mengkilap atau nama proyek yang mudah menarik. Pencitraan lebih tentang bagaimana Anda membicarakan proyek Anda dan siapa saja yang menjadi target pesan Anda.
### Memilih nama yang tepat
Pilihlah sebuah nama yang mudah diingat dan memberikan gambaran tentang apa yang dilakukan oleh proyek. Misalnya:
* [Sentry](https://github.com/getsentry/sentry) aplikasi monitoring untuk pelaporan kerusakan sistem
* [Thin](https://github.com/macournoyer/thin) adalah server web Ruby yang cepat dan sederhana
Jika Anda membangun berdasarkan proyek yang sudah ada, menggunakan nama proyek terdahulu sebagai awalan bisa membantu memperjelas apa yang dilakukan proyek Anda (misalnya. [node-fetch](https://github.com/bitinn/node-fetch) menghadirkan `window.fetch` pada Node.js).
Perhatikan masalah kejelasan. Bercanda merupakan sesuatu yang menyenangkan, tetapi perlu diingat bahwa beberapa hal mungkin tidak dapat tersampaikan dengan baik pada budaya yang lain atau orang-orang dengan pengalaman yang berbeda dengan Anda. Sebagian dari calon pengguna Anda mungkin merupakan pegawai kantor: jangan sampai Anda membuat mereka tidak nyaman ketika mereka harus menjelaskan proyek Anda pada ruang lingkup pekerjaan mereka!
### Hindari konflik nama
Cari proyek open source dengan nama yang mirip, terutama jika Anda menggunakan bahasa atau ekosistem yang sama. Jika nama Anda memiliki kesamaan dengan proyek lain yang populer, Anda bisa membuat bingung pengguna Anda.
Jika Anda menginginkan sebuah website, akun Twitter, atau hal lain yang merepresentasikan proyek Anda, pastikan Anda bisa mendapatkan nama yang Anda inginkan. Idealnya, [klaim nama-nama tersebut sekarang](https://instantdomainsearch.com/) agar Anda lega, meskipun Anda belum akan menggunakannya sekarang.
Pastikan nama proyek Anda tidak melanggar merek dagang. Sebuah perusahaan mungkin meminta Anda untuk menghapus proyek Anda dikemudian hari, atau bahkan mengambil jalur hukum terhadap Anda. Resikonya sangatlah tidak sepadan.
Anda bisa melihat [Basis data Merek Global WIPO](http://www.wipo.int/branddb/en/) untuk konflik merek dagang. Jika Anda berada pada sebuah perusahaan, ini adalah satu hal dimana [tim kuasa hukum Anda bisa membantu](../legal/).
Akhirnya, lakukan pencarian di Google untuk nama proyek Anda. Apakah orang bisa menemukan proyek Anda dengan mudah? Apakah nama lain muncul pada hasil pencarian yang tidak Anda inginkan?
### Bagaimana Anda menulis (dan membuat kode) bisa mempengaruhi citra Anda juga!
Pada siklus hidup proyek Anda, Anda akan banyak menulis: README, tutorial, dokumen komunitas, merespon terhadap laporan masalah, atau bahkan newsletter dan mailing list.
Baik dokumentasi resmi atau email sehari-hari, gaya penulisan Anda merupakan bagian dari citra proyek Anda. Perhatikan bagaimana Anda bisa hadir pada pengguna Anda dan apakah hal itu merupakan pesan yang ingin Anda sampaikan?
Menggunakan bahasa yang hangat, inklusif (seperti "mereka", meskipun mengacu pada satu orang) bisa membuat proyek Anda lebih nyaman bagi kontributor baru. Gunakan bahasa sederhana, karena bisa jadi banyak pengguna Anda bukan merupakan pengguna yang menggunakan bahasa Inggris sehari-harinya.
Selain bagaimana Anda menuliskan kata-kata, gaya pemrograman Anda juga bisa menjadi bagian dari citra proyek Anda. [Angular](https://github.com/johnpapa/angular-styleguide) dan [jQuery](https://contribute.jquery.org/style-guide/js/) adalah dua contoh proyek dengan gaya pemrograman dan panduan yang lengkap.
Tidaklah penting untuk menuliskan gaya penulisan untuk proyek Anda ketika Anda baru memulainya dan Anda mungkin senang untuk mencoba beberapa gaya pemrograman pada proyek Anda. Tetapi Anda perlu mengantisipasi bagaimana penulisan dan pemrograman Anda bisa memikat orang atau malah membuat orang untuk menghindari proyek Anda. Tahap awal dari proyek Anda adalah kesempatan untuk menentukan arah yang Anda tuju.
## Daftar checklist pra-rilis
Sudah siap untuk membuat proyek Anda open source ? Berikut daftar checklist untuk membantu. Anda sudah menyelesaikan semua kotak? Anda sudah siap! [Klik"publish"](https://help.github.com/articles/making-a-private-repository-public/) dan tepuklah diri Anda sendiri.
**Dokumentasi**
**Kode**
**Orang**
Jika Anda perseorangan:
Jika Anda merupakan perusahaan atau organisasi:
## Anda melakukannya!
Selamat atas keberhasilan Anda membuka proyek open source pertama Anda. Tanpa melihat hasil akhirnya, bekerja pada lingkungan publik merupakan anugrah bagi komunitas. Dengan setiap commit, komentar, dan pull request, Anda telah menciptakan peluang bagi Anda sendiri dan orang lain untuk belajar dan berkembang.
================================================
FILE: _articles/it/best-practices.md
================================================
---
lang: it
title: Buone pratiche per i manutentori del codice.
description: Semplificarti la vita come sostenitore dell'open source, dal processo di documentazione fino a ottenere il massimo dalla community.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Cosa significa essere un manutentore del codice?
Se il tuo lavoro è mantenere un progetto open source utilizzato da molte persone, probabilmente avrai notato che passi più tempo a rispondere alle domande che a programmare.
Nelle prime fasi di un progetto, trascorri del tempo sperimentando nuove idee e prendendo decisioni in base a ciò che ti piace. Man mano che il tuo progetto cresce in popolarità, ti ritroverai in una situazione in cui lavorerai sempre di più con i tuoi utenti e collaboratori.
Il mantenimento di un progetto richiede molto più del semplice codice. Questi compiti vengono solitamente trascurati, ma sono altrettanto importanti per un progetto in crescita. Abbiamo messo insieme alcune idee che ti semplificheranno la vita, dal processo di documentazione all'ottenimento del massimo dalla community.
## Documentare i tuoi processi
Contrassegnare le procedure è una delle migliori pratiche che puoi seguire come manutentore del codice.
Documentare non solo chiarisce il tuo pensiero, ma aiuta anche gli altri a capire di cosa hai bisogno o cosa ti aspetti senza nemmeno doverlo chiedere.
Tenendo conto dei processi, è più facile per te dire di no quando la proposta di qualcuno non si adatta al tuo contesto. Quindi rende anche più facile per altre persone unirsi e aiutare. Non sai mai chi potrebbe leggere o utilizzare il tuo progetto.
Anche se non sei il tipo che scrive interi paragrafi, annotare i punti chiave è meglio di niente.
### Chiarire la visione del tuo progetto
Inizia scrivendo gli obiettivi del tuo progetto. Aggiungili al tuo file README o crea un file separato chiamato VISION. Se ci sono altri elementi che possono essere d'aiuto, come una mappa di progetto, rendili pubblici.
Avere una visione chiara e documentata ti mantiene concentrato e aiuta a evitare malintesi sull'ambito da parte di altri contributori.
Per esempio:
@lord ha scoperto che avere una visione del progetto lo ha aiutato a capire a quali richieste dare priorità. Essendo un sostenitore del codice alle prime armi, si è lamentato di non essere fedele allo scopo del progetto quando ha ricevuto la tua prima richiesta di funzionalità [Slate](https://github.com/lord/slate).
### Comunica le tue aspettative
A volte può essere difficile formulare le regole in modo che altre persone possano contribuire. Potresti avere la sensazione di comportarti come un poliziotto o di rovinare il divertimento degli altri.
Tuttavia, le buone regole scritte e applicate in modo equo danno potere ai manutentori del codice. Ti impediscono di farti coinvolgere in cose che non vuoi fare.
La maggior parte delle persone che incontrano il tuo progetto non sanno nulla di te o delle tue circostanze. Potrebbero presumere che tu sia pagato per lavorarci, soprattutto se è qualcosa che usano e da cui dipendono regolarmente. Forse una volta dedicavi molto tempo al tuo progetto, ma ora sei impegnato con un nuovo lavoro o con un membro della famiglia.
Va tutto bene! Assicurati solo che la gente lo sappia.
Sia che il mantenimento del tuo progetto sia part-time o solo volontario, sii onesto su quanto tempo hai. Questo non è lo stesso di quanto tempo pensi che richiederà il progetto o di quanto tempo gli altri vogliono che tu spenda.
Ecco alcune regole che vale la pena tenere a mente:
* Come viene esaminato e accettato l'input (_Hai bisogno di fare qualche test? Qualche modello da utilizzare per i problemi?_)
* I tipi di contributi che accetterai (_Vuoi aiuto solo con una parte del codice?_)
* Quando è opportuno dare seguito (_ad esempio "Puoi aspettarti una risposta dal supporto del codice entro i prossimi 7 giorni. Se non hai ricevuto alcuna risposta entro allora, sentiti libero di eseguire il ping del thread."_)
*Quanto tempo dedichi al progetto (_es. "Investiamo solo circa 5 ore settimanali in questo progetto"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), e [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) questi sono alcuni esempi di progetti con regole chiare per manutentori e contributori.
### Mantenere la comunicazione pubblica
Non dimenticare di documentare anche le tue interazioni. Dove puoi, mantieni la comunicazione pubblica sul tuo progetto. Se qualcuno tenta di contattarti personalmente per discutere di una richiesta di funzionalità o di un'esigenza di supporto, indirizzalo educatamente a un canale di comunicazione pubblico, come un elenco di posta elettronica o un tracker dei problemi.
Se incontri altri sostenitori o prendi decisioni importanti in privato, documenta tali conversazioni pubblicamente, anche se pubblichi solo i tuoi appunti.
In questo modo, chiunque si unisca alla tua comunità avrà accesso alle stesse informazioni di chi è stato lì. Per anni.
## Impara a dire di "No"
Hai scritto tu la roba. Idealmente, tutti leggeranno la tua documentazione, ma in realtà dovrai ricordare agli altri che questa conoscenza esiste.
Tuttavia, avere tutto scritto aiuta a spersonalizzare le situazioni in cui le regole devono essere applicate.
Dire di no non è divertente, ma _"Il tuo contributo non soddisfa i criteri per questo progetto"_ sembra meno personale di _"Non mi piace il tuo contributo"_.
Dire "no" si applica a molte situazioni che incontrerai come sostenitore del codice: richieste di funzionalità che non rientrano nell'ambito, qualcuno che deraglia una discussione, che fa lavoro non necessario per altri.
### Mantieni la conversazione amichevole
Uno dei posti più importanti in cui ti eserciterai a dire di no è nella coda di rilascio e richiesta pull. Come project manager, riceverai inevitabilmente proposte che non vuoi accettare.
Forse il contributo cambia la portata del tuo progetto o non si adatta alla tua visione. Forse l'idea è buona, ma la realizzazione è pessima.
Indipendentemente dal motivo, puoi gestire con tatto i contributi che non soddisfano gli standard del progetto.
Se ricevi un messaggio che non vuoi accettare, la tua prima reazione potrebbe essere quella di ignorarlo o di far finta di non averlo visto. Ciò può ferire i sentimenti dell'altra persona e persino scoraggiare altri potenziali contributori nella tua comunità.
Non lasciare aperto un contributo non richiesto perché ti senti in colpa o vuoi essere gentile. Nel corso del tempo, le tue domande senza risposta e le tue PR diventeranno ridondanti. Ciò renderà il lavoro sul tuo progetto molto più stressante e imbarazzante.
È meglio chiudere immediatamente i contributi che sai di non voler accettare. Se il tuo progetto soffre già di un ampio arretrato o di un elenco di funzionalità da implementare, @steveklabnik ha suggerimenti su [come selezionare le domande in modo efficace](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
In secondo luogo, ignorare i contributi invia un segnale negativo alla tua comunità. Contribuire a un progetto può essere intimidatorio, soprattutto se è la prima volta per qualcuno. Anche se non accetti il loro contributo, congratulati con la persona che sta dietro al progetto e ringraziala per il suo interesse. È un grande complimento!
Se non desideri accettare una donazione:
* **Grazie** per il loro contributo.
* **Spiegare perché non soddisfa** l'ambito del progetto e offrire chiari suggerimenti per il miglioramento, se possibile. Lo so, gentile ma fermo.
* **Condividi informazioni rilevanti** se ne hai. Se noti ripetute richieste di cose che non vuoi accettare, aggiungile alla tua documentazione per evitare di spiegare sempre la stessa cosa.
* **Chiudi la richiesta**
Non dovresti avere più di 1-2 frasi a cui rispondere. Ad esempio, quando un utente [celery](https://github.com/celery/celery/) segnalato un errore relativo a Windows, @berkerpeksag [lui a risposto con](https://github.com/celery/celery/issues/3383):
[celery screenshot](/assets/images/best-practices/celery.png)
Se l'idea di dire di no ti terrorizza, non sentirti sola. Come @jessfraz [dice](https://blog.jessfraz.com/post/the-art-of-closing/):
> Ho parlato con manutentori del codice di molti diversi progetti open source, Mesos, Kubernetes, Chromium, e sono tutti d'accordo sul fatto che una delle parti più difficili dell'essere un manutentore del codice è: dire "No" alle patch che non vuoi utilizzare
Non sentirti in colpa per non voler accettare il contributo di qualcuno. La prima regola dell'open source, [secondo](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"No, è temporaneo; sì, è per sempre."_ Sebbene martirizzare l'entusiasmo di un'altra persona sia una buona cosa, rifiutare un contributo non è la stessa cosa che rifiutare la persona che sta dietro ad esso.
Dopotutto, se un contributo non è abbastanza buono, non sei obbligato ad accettarlo. So che sii gentile e accomodante quando le persone contribuiscono al tuo progetto, ma accetta solo i cambiamenti che ritieni veramente miglioreranno il tuo progetto. Più ti eserciti a dire di no, più diventa facile. È una promessa.
### Sii proattivo
Per ridurre innanzitutto il volume dei contributi non richiesti, spiega il processo del tuo progetto per l'invio e l'accettazione dei contributi nella guida ai contributi.
Se ricevi troppi contributi di bassa qualità, chiedi ai contributori di svolgere del lavoro in anticipo, ad esempio:
* Completa un modello o un elenco di controllo per problemi o PR
*Apri un problema prima di inviare un PR
Se non seguono le tue regole, chiudi immediatamente il problema e indirizzali alla tua documentazione.
Sebbene questo approccio possa sembrare inizialmente imbarazzante, essere proattivi è in realtà positivo per entrambe le parti. Riduci la possibilità che qualcuno investa molte ore di lavoro sprecato su una richiesta pull che non accetti. E semplifica la gestione del carico.
A volte, quando dici di no, il tuo potenziale collaboratore potrebbe arrabbiarsi o criticare la tua decisione. Se il tuo comportamento diventa ostile, [prendi provvedimenti per disinnescare la situazione](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) o addirittura rimuoverli dalla tua comunità se non sono disposti a collaborare in modo costruttivo.
### Scegli il tutoraggio
Forse qualcuno nella tua comunità invia regolarmente contributi che non soddisfano gli standard del tuo progetto. Può essere frustrante per entrambe le parti sottoporsi ripetutamente al processo di rifiuto.
Se vedi qualcuno che ti entusiasma, ma ha bisogno di un po' di pratica, sii paziente. In ogni situazione, spiega chiaramente il motivo. il loro contributo non soddisfa le aspettative del progetto. Prova a dare loro un compito più semplice o meno ambiguo, come un problema etichettato come "buon primo problema" per riscaldarli. Se hai tempo, valuta la possibilità di fare da mentore tramite il tuo primo contributo o trova qualcun altro nella tua comunità che sia interessato. pronto ad istruirli.
##Utilizzo della comunità
Non devi fare tutto da solo. La tua community di progetto esiste per un motivo! Anche se non hai ancora una comunità attiva di contributori, se hai molti utenti, lasciali lavorare.
### Condividi il carico
Se stai cercando altri a cui unirsi, inizia chiedendo in giro.
Quando vedi nuovi contributori che contribuiscono ripetutamente, dovresti riconoscere il loro lavoro offrendo loro maggiori responsabilità. Documenta come gli altri possono ottenere ruoli di leadership, se lo desiderano.
Incoraggiare gli altri a [condividere la proprietà del progetto](../building-community/#condividi-la-proprietà-del-tuo-progetto) può ridurre significativamente il carico di lavoro, come ha trovato @lmccart nel suo progetto, [p5.js](https://github.com/processing/p5.js).
Se hai bisogno di allontanarti dal tuo progetto, temporaneamente o permanentemente, non c'è vergogna nel chiedere a qualcun altro di subentrare al tuo posto.
Se altre persone sono entusiaste della direzione del progetto, dai loro il permesso di essere coinvolte o di cedere formalmente il controllo a qualcun altro. Se qualcuno crea un fork del tuo progetto e questo viene mantenuto attivamente da qualche altra parte, considera di collegare il fork dal tuo progetto originale. È fantastico che così tante persone vogliano che il tuo progetto venga sviluppato!
@progrium [trovato quello](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) documentare la visione del tuo progetto, [Dokku](https://github.com/dokku/dokku), aiutare questi obiettivi a continuare, anche oltre ciò che resta del progetto:
> Ho scritto una pagina wiki che descrive cosa voglio e perché lo voglio. Per qualche motivo sono rimasto sorpreso da questo! Lasciamo che i manutentori inizino a muovere il progetto in questa direzione! È successo? Come lo faresti esattamente? Non sempre. Ma comunque sia stato affrontato, ho realizzato il progetto come volevo.
### Lascia che siano gli altri a creare le soluzioni di cui hanno bisogno
Se un potenziale collaboratore ha un'opinione diversa su ciò che dovrebbe fare il tuo progetto, potresti dover incoraggiarlo gentilmente a lavorare sul proprio fork.
Biforcare un progetto non è necessariamente una cosa negativa. Essere in grado di copiare e modificare progetti è una delle cose migliori dell'open source. Incoraggiare i membri della tua comunità a lavorare sul proprio fork può fornire lo sbocco creativo di cui hanno bisogno senza entrare in conflitto con la visione del tuo progetto.
Lo stesso vale per un utente che desidera davvero una soluzione che semplicemente non hai la capacità di creare. Offrire API e hook personalizzati può aiutare gli altri a soddisfare le proprie esigenze senza dover modificare direttamente la fonte.
@orta [ha trovato che](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) incoraggiando i plugin CocoaPods ad "alcune delle idee più interessanti":
> È quasi inevitabile che una volta che un progetto diventa grande, i manutentori debbano essere molto più conservatori su come introdurre il nuovo codice. Sai dire di no, ma molte persone hanno bisogni legittimi. Pertanto, finisci per trasformare il tuo strumento in una piattaforma.
## Porta avanti i robot
Quindi, proprio come ci sono compiti in cui altre persone possono aiutarti, ci sono anche compiti che nessun essere umano dovrebbe svolgere. I robot sono tuoi amici. Usali per semplificarti la vita come manutentore del codice.
### Richiedi test e altri controlli per migliorare la qualità del tuo codice
Uno dei modi più importanti per automatizzare il tuo progetto è attraverso i test.
I test aiutano i contributori a sentirsi sicuri che non romperanno nulla. Inoltre, facilitano la revisione e l'accettazione rapida dei contributi. Più sei ricettivo, più sarai coinvolto. sii la tua comunità.
Imposta test automatizzati per eseguire tutti i contributi in arrivo e garantire che possano essere eseguiti localmente dai contributori. È necessario che tutti i contributi al codice superino i test prima di poter essere inviati. Contribuirà a stabilire uno standard minimo di qualità per tutte le applicazioni.
[Sono necessari controlli sullo stato](https://help.github.com/articles/about-required-status-checks/) su GitHub può aiutare a garantire che nessuna modifica venga unita senza prima eseguire i test.
Se aggiungi test, assicurati di spiegare come funzionano nel tuo file CONTRIBUTING.
### Utilizza strumenti per automatizzare le attività di manutenzione di base
La buona notizia nel mantenere un progetto popolare è che altri manutentori hanno probabilmente riscontrato problemi simili e hanno creato una soluzione per questo.
Sono disponibili [vari strumenti](https://github.com/showcases/tools-for-open-source) per automatizzare alcuni aspetti del lavoro di manutenzione. Alcuni esempi:
* [semantic-release](https://github.com/semantic-release/semantic-release) automatizzare i tuoi rilasci
* [mention-bot](https://github.com/facebook/mention-bot) menzionare possibili revisori per le richieste del timone
* [Danger](https://github.com/danger/danger) aiuta ad automatizzare la revisione del codice
Per segnalazioni di bug e altri contributi generali, GitHub dispone di [modelli di richiesta di rilascio e pull](https://github.com/blog/2111-issue-and-pull-request-templates), che puoi creare per semplificare la comunicazione che ricevi. Puoi anche configurare [filtri email](https://github.com/blog/2203-email-updates-about-your-own-activity) per gestire le tue notifiche email.
Se vuoi diventare un po' più avanzato, le guide di stile possono standardizzare i contributi del progetto e renderli più facili da rivedere e adottare.
Tuttavia, se i tuoi standard sono troppo complessi, possono aumentare gli ostacoli alla contribuzione. Assicurati di aggiungere solo regole per rendere la vita più semplice a tutti.
Se non sei sicuro di quali strumenti utilizzare, controlla cosa stanno facendo altri progetti popolari, in particolare quelli nel tuo ecosistema. Ad esempio, come si presenta il processo di contribuzione per gli altri moduli Node? Anche l'utilizzo di strumenti e approcci simili faciliterà. Rendi il tuo processo più familiare ai tuoi associati target.
## È una bella pausa
Il lavoro open source una volta ti dava gioia. Forse ora è così che iniziano a farti sentire evasivo o colpevole.
Forse ti senti sopraffatto o provi un crescente senso di paura quando pensi ai tuoi progetti. E nel frattempo si accumulano problemi e pull request.
Il burnout è un problema reale e pervasivo nel lavoro open source, soprattutto tra i manutentori. In qualità di manutentore, la tua felicità è un requisito non negoziabile per la sopravvivenza di qualsiasi progetto open source.
Anche se dovrebbe essere ovvio, prenditi una pausa! Non devi aspettare finché non ti senti stanco per fare una pausa. @brettcannon, uno sviluppatore Python, ha deciso di prendersi una [mese di vacanza](http://www.snarky.ca/why-i-took-october-off-from-oss-volunteering) dopo 14 anni OSS volantariato.
Come qualsiasi altro tipo di lavoro, fare delle pause regolari ti manterrà motivato. freschi, felici ed entusiasti del loro lavoro.
A volte può essere difficile prendersi una pausa dal lavoro open source quando ritieni che il mondo intero abbia bisogno di te. Le persone potrebbero anche provare a farti sentire in colpa per esserti allontanato.
Fai del tuo meglio per trovare supporto per i tuoi utenti e la tua comunità mentre sei lontano da un progetto. Se non riesci a trovare il supporto di cui hai bisogno, prenditi comunque una pausa. Ricordati di comunicare quando non sei disponibile in modo che le persone non si sentano confuse dalla tua mancanza di reattività.
Fare le vacanze è qualcosa di più delle semplici vacanze. Se non vuoi lavorare con l'open source nei fine settimana o durante l'orario lavorativo, comunica queste decisioni ad altri in modo che sappiano che non sarai disturbato.
## Prenditi cura di te prima!
Mantenere un progetto popolare richiede competenze diverse rispetto alle prime fasi di crescita, ma non è per questo meno gratificante. In qualità di manutentore, eserciterai le capacità di leadership e di gestione delle persone a un livello che poche persone possono sperimentare. Anche se non è sempre facile da gestire, stabilire dei limiti chiari e prendere solo ciò che ti fa sentire a tuo agio ti aiuterà. per mantenerti felice, aggiornato e produttivo.
================================================
FILE: _articles/it/building-community.md
================================================
---
lang: it
title: Costruire comunità accoglienti
description: Costruire una comunità che incoraggi le persone a utilizzare, contribuire ed educare con il tuo progetto
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Prepara il tuo progetto per il successo
Hai appena lanciato il tuo progetto, stai spargendo la voce e le persone ti seguono. Brillante! Ora, come fai a farli restare?
Una comunità accogliente è un investimento sul futuro del tuo progetto e della tua reputazione. Se il tuo progetto sta appena iniziando a vedere i primi contributi, inizia offrendo ai primi contributori un'esperienza positiva e rendendo facile per loro continuare a tornare.
### Fai sentire le persone benvenute
Un modo di pensare alla community del tuo progetto è attraverso quello che @MikeMcQuaid chiama [funnel del collaboratore](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

Mentre costruisci la tua community, considera come qualcuno in cima alla canalizzazione (un potenziale utente) potrebbe teoricamente scendere verso il basso (un sostenitore attivo). Il tuo obiettivo è ridurre l'attrito in ogni fase dell'esperienza associata. Quando le persone ottengono vittorie facili, saranno motivate a fare di più.
Inizia con la tua documentazione:
* **Semplifica le cose per coloro che hanno bisogno di utilizzare il progetto.** [Documento README intuitivo](../starting-a-project/#scrivi-readme) e chiari esempi di codice lo renderanno facile da usare. È un inizio facile per chiunque si imbatta nel tuo progetto.
* **Spiega chiaramente come contribuire** utilizzando [CONTRIBUTING file](../starting-a-project/#scrivi-le-linee-guida-per-il-tuo-contributo) e mantieni aggiornati i tuoi problemi.
* **Buone prime edizioni**: per aiutare i nuovi contributori a iniziare, pensa chiaramente a [sottolineare gli argomenti che sono abbastanza semplici da poter essere gestiti da un principiante](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub mostrerà quindi questi problemi in vari punti della piattaforma, aumentando i contributi utili e riducendo la pressione degli utenti che affrontano questioni troppo difficili per il loro livello.
[Sondaggio open source GitHub 2017](http://opensourcesurvey.org/2017/) ha dimostrato che la documentazione incompleta o confusa è il problema più grande per gli utenti open source. Una buona documentazione invita le persone a interagire con il tuo progetto. Alla fine, qualcuno aprirà un problema o una richiesta. Usa queste interazioni come opportunità per spostarle lungo la canalizzazione.
* **Quando qualcuno di nuovo si unisce al tuo progetto, ringrazialo per il suo interesse!** Basta un'esperienza negativa per far sì che qualcuno non voglia più tornare.
* **Sii reattivo.** Se non rispondi alla loro domanda per un mese, è probabile che si siano già dimenticati del tuo progetto.
* **Sii di mentalità aperta riguardo ai tipi di contributi che accetti.** Molti contributori iniziano segnalando un bug o apportando una piccola correzione. Ci sono [molti modi per contribuire](../how-to-contribute/#cosa-significa-contribuire) ad un progetto. Lascia che le persone aiutino nel modo in cui vogliono aiutare.
* **Se c'è un contributo con cui non sei d'accordo,** ringrazialo per la sua idea e [spiegate perchè](../best-practices/#impara-a-dire-di-no) non soddisfa lo scopo del progetto, con un collegamento alla documentazione pertinente, se disponibile.
La maggior parte dei contributori open source sono "collaboratori occasionali": persone che contribuiscono a un progetto solo occasionalmente. Un collaboratore occasionale potrebbe non avere il tempo di familiarizzare completamente con il tuo progetto, quindi il tuo compito è facilitare il suo contributo.
Incoraggiare altri contributori è anche un investimento su te stesso. Quando permetti ai tuoi più grandi fan di lavorare sul lavoro che li appassiona, c'è meno pressione nel dover fare tutto da solo.
### Documenta tutto
Quando si inizia un nuovo progetto, può sembrare naturale mantenere segreto il proprio lavoro. Ma i progetti open source prosperano quando documenti pubblicamente il tuo processo.
Quando documenti le cose, più persone possono essere coinvolte in ogni fase del processo. Potresti ricevere aiuto per qualcosa di cui non sapevi nemmeno di aver bisogno.
Annotare le cose significa molto più che una semplice documentazione tecnica. Ogni volta che senti il bisogno di scrivere qualcosa o discutere del tuo lavoro in privato, chiediti se puoi renderlo pubblico.
Sii trasparente riguardo alla roadmap del tuo progetto, ai tipi di contributi che stai cercando, a come vengono considerati i contributi o al motivo per cui hai preso determinate decisioni.
Se noti che molti utenti hanno lo stesso problema, documenta le risposte nel README.
Per le riunioni, valuta la possibilità di pubblicare i tuoi appunti o i tuoi appunti in un thread correlato. Il feedback che otterrai da questo livello di trasparenza potrebbe sorprenderti.
Documentare tutto vale anche per il lavoro che svolgi. Se stai lavorando a un aggiornamento importante del tuo progetto, inseriscilo in una richiesta pull e contrassegnalo come work in progress (WIP). In questo modo, altre persone possono sentirsi coinvolte fin dall'inizio nel processo.
### Sii reattivo
Mentre [promuovi il tuo progetto](../finding-users), le persone avranno feedback su di te. Potrebbero avere domande su come funzionano le cose o aver bisogno di aiuto per iniziare.
Cerca di essere reattivo quando qualcuno segnala un problema, invia una richiesta pull o pone una domanda sul tuo progetto. Quando rispondi rapidamente, le persone si sentiranno parte di un dialogo e saranno più entusiaste di partecipare.
Anche se non puoi esaminare immediatamente la richiesta, confermarla tempestivamente aiuta ad aumentare il coinvolgimento. Ecco come @tdreyno ha risposto a una richiesta pull su [Middleman](https://github.com/middleman/middleman/pull/1466):

[Questo è ciò che ha scoperto uno studio Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) i contributori che hanno ricevuto revisioni del codice entro 48 ore hanno avuto un tasso di rendimento e ricontribuzione molto più elevato.
Le discussioni sul tuo progetto potrebbero svolgersi anche altrove sul Web, come Stack Overflow, Twitter o Reddit. Puoi impostare le notifiche in alcuni di questi luoghi in modo da ricevere una notifica quando qualcuno menziona il tuo progetto.
### Offri alla tua comunità un luogo in cui riunirsi
Ci sono due ragioni per dare alla tua comunità un luogo in cui riunirsi.
Il primo motivo è per loro. Aiuta le persone a conoscersi. Le persone con interessi comuni vorranno inevitabilmente un posto dove parlarne. E quando la comunicazione è pubblica e accessibile, chiunque può leggere gli archivi del passato per imparare e partecipare.
Il secondo motivo è per te. Se non offri alle persone un luogo pubblico in cui parlare del tuo progetto, probabilmente ti contatteranno direttamente. All'inizio può sembrare abbastanza semplice rispondere ai messaggi privati "solo per questa volta". Ma col tempo, soprattutto se il tuo progetto diventa popolare, ti sentirai esausto. Resisti alla tentazione di comunicare in privato con le persone riguardo al tuo progetto. Indirizzali invece a un canale pubblico specifico.
La comunicazione pubblica può essere semplice come invitare le persone ad aprire un problema invece di inviarti direttamente un'e-mail o commentare sul tuo blog. Puoi anche impostare una mailing list o creare un account Twitter, Slack o un canale IRC affinché le persone possano parlare del tuo progetto. Oppure prova tutto quanto sopra!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) dedica ore di lavoro ogni due settimane per aiutare i membri della comunità:
> Kops inoltre dedica del tempo ogni settimana per offrire aiuto e guida alla comunità. I manutentori di Kops hanno concordato di dedicare del tempo specificatamente dedicato al lavoro con i nuovi arrivati, aiutando con le PR e discutendo le nuove funzionalità.
Eccezioni notevoli alla comunicazione pubblica sono: 1) questioni di sicurezza e 2) violazioni sensibili del codice di condotta. Dovresti sempre avere la possibilità che le persone possano segnalare questi problemi di persona. Se non desideri utilizzare la tua email personale, imposta un indirizzo email dedicato.
## Fai crescere la tua comunità
Le comunità sono estremamente forti. Questo potere può essere una benedizione o una maledizione, a seconda di come lo eserciti. Man mano che la community del tuo progetto cresce, ci sono modi per aiutarla a diventare una forza di costruzione, non di demolizione.
### Non tollerare i cattivi attori
Qualsiasi progetto popolare attirerà inevitabilmente persone che danneggiano, non aiutano, la tua comunità. Potrebbero avviare dibattiti non necessari, discutere su aspetti banali o fare il prepotente con gli altri.
Fai del tuo meglio per adottare una politica di tolleranza zero nei confronti di questo tipo di persone. Se lasciate senza controllo, le persone negative metteranno a disagio le altre persone nella tua comunità. Potrebbero anche andarsene.
Discussioni regolari su aspetti banali del tuo progetto distraggono gli altri, te compreso, dal concentrarsi su compiti importanti. Le nuove persone che arrivano al tuo progetto potrebbero vedere queste conversazioni e non voler partecipare.
Quando vedi che si verifica un comportamento negativo, fai un'osservazione pubblica al riguardo. Spiegare in tono amichevole perché tale comportamento non è accettabile. Se il problema persiste, potrebbe essere necessario [chiedergli di andarsene](../code-of-conduct/#le-tue-responsabilità-come-manutentore). Il tuo [codice di condotta](../code-of-conduct/) può essere una guida costruttiva per queste conversazioni.
### Incontra i contributori ovunque si trovino
Una buona documentazione diventa sempre più importante man mano che la tua comunità cresce. I contributori occasionali che altrimenti potrebbero non avere familiarità con il tuo progetto leggono la tua documentazione per ottenere rapidamente il contesto di cui hanno bisogno.
Nel tuo file CONTRIBUTING, indica esplicitamente ai nuovi contributori come iniziare. Potresti anche voler creare una sezione speciale per questo scopo. [Django](https://github.com/django/django), ad esempio, ha una pagina di destinazione speciale per accogliere i nuovi contributori.

Nella coda degli argomenti, contrassegna i bug appropriati per i diversi tipi di contributori: ad esempio [_"per principianti"_](https://kentcdodds.com/blog/first-timers-only), _"buon primo argomento"_ o _"documentazione"_. [Questi appunti](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) rendi facile per qualcuno che non conosce il tuo progetto scansionare rapidamente i tuoi argomenti e iniziare.
Infine, usa la tua documentazione per far sentire le persone benvenute in ogni fase del processo.
Non interagirai mai con la maggior parte delle persone che saranno coinvolte nel tuo progetto. Potrebbero esserci contributi che non hai ricevuto perché qualcuno si è sentito intimidito o non sapeva da dove cominciare. Anche poche parole gentili possono evitare che qualcuno lasci deluso il tuo progetto.
Ad esempio, ecco come [Rubinius](https://github.com/rubinius/rubinius/) ha iniziato [la sua guida che contribuisce](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Vogliamo iniziare ringraziandoti per aver utilizzato Rubinius. Questo progetto è un lavoro d'amore e apprezziamo tutti gli utenti che rilevano bug, apportano miglioramenti alle prestazioni e aiutano con la documentazione. Ogni contributo conta, quindi grazie per aver partecipato. Tenendo questo a mente, ecco alcune linee guida che ti chiediamo di seguire per poter risolvere con successo il tuo problema.
### Condividi la proprietà del tuo progetto
Le persone sono entusiaste di contribuire ai progetti quando sentono un senso di appartenenza. Ciò non significa che devi stravolgere la visione del tuo progetto o accettare input che non desideri. Ma più riconosci gli altri, più rimarranno presenti.
Vedi se riesci a trovare modi per condividere il più possibile la proprietà con la tua comunità. Ecco alcune idee:
* **Evita di correggere bug facili (non critici).** Usali invece come opportunità per reclutare nuovi contributori o fare da mentore a qualcuno che vorrebbe contribuire. All'inizio può sembrare innaturale, ma il tuo investimento verrà ripagato nel tempo. Ad esempio, @michaeljoseph ha chiesto a un collaboratore di inviare una richiesta pull per il problema [Cookiecutter](https://github.com/audreyr/cookiecutter) di seguito invece di risolverlo da solo.

* **Avvia un file CONTRIBUTORI o AUTORI nel tuo progetto** che elenca tutti coloro che hanno contribuito al tuo progetto come [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* Se hai una community numerosa, **invia una newsletter o scrivi un post sul blog** ringraziando i contributori. [This Week in Rust](https://this-week-in-rust.org/) di Rust e [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) di Hood sono due ottimi esempi.
* **Concedi l'accesso al commit a ogni collaboratore.** @felixge ha scoperto che rendeva le persone [più entusiaste di migliorare le proprie soluzioni](https://felixge.de/2013/03/11/the-pull-request-hack.html) e ha anche trovato nuovi manutentori per progetti su cui non lavorava da un po'.
* Se il tuo progetto è su GitHub, **sposta il tuo progetto dal tuo account personale a [Organizzazione](https://help.github.com/articles/creating-a-new-organization-account/)** e aggiungilo a almeno un amministratore di backup. Le organizzazioni facilitano il lavoro di progetto con collaboratori esterni.
La realtà è che [la maggior parte dei progetti ha solo](https://peerj.com/preprints/1233/) uno o due manutentori che svolgono la maggior parte del lavoro. Più grande è il tuo progetto e la tua comunità, più facile sarà trovare aiuto.
Anche se potresti non trovare sempre qualcuno che risponda alla chiamata, diffondere il segnale aumenta le possibilità che altre persone vengano coinvolte. E prima inizi, prima le persone potranno aiutarti.
## Risoluzione dei conflitti
Nelle prime fasi del tuo progetto, prendere decisioni importanti è facile. Quando vuoi fare qualcosa, fallo e basta.
Man mano che il tuo progetto diventa più popolare, sempre più persone saranno interessate alle decisioni che prendi. Anche se non hai una grande comunità di contributori, se il tuo progetto ha molti utenti, troverai persone che valutano soluzioni o sollevano i propri problemi.
Nella maggior parte dei casi, se hai coltivato una comunità amichevole e rispettosa e hai documentato apertamente i tuoi processi, la tua comunità dovrebbe essere in grado di trovare una soluzione. Ma a volte ti imbatti in un problema un po' più difficile da risolvere.
### Stabilisci lo standard di civiltà
Quando la tua comunità è alle prese con una questione difficile, il morale può risollevarsi. Le persone potrebbero arrabbiarsi o frustrarsi e prendersela con gli altri o con te.
Il tuo compito come sostenitore è evitare che queste situazioni peggiorino. Anche se hai una forte opinione sulla questione, prova ad assumere la posizione di moderatore o facilitatore invece di buttarti nella mischia e promuovere le tue opinioni. Se qualcuno è scortese o monopolizza la conversazione, [agisci immediatamente](../building-community/#non-tollerare-i-cattivi-attori) per mantenere la discussione civile e produttiva.
Altre persone si rivolgono a te per avere una guida. Dai il buon esempio. Puoi ancora esprimere frustrazione, infelicità o preoccupazione, ma fallo con calma.
Mantenere la calma non è facile, ma mostrare leadership migliora la salute della tua comunità. Internet ti ringrazia.
### Tratta il tuo README come una costituzione
Il tuo README è [più di un semplice insieme di istruzioni](../starting-a-project/#scrivi-readme). È anche un luogo in cui parlare dei tuoi obiettivi, della visione del prodotto e della tabella di marcia. Se le persone sono troppo concentrate nel discutere i meriti di una particolare funzionalità, potrebbe essere utile rivisitare il tuo README e parlare della visione più elevata del tuo progetto. Concentrarsi sul README spersonalizza anche la conversazione in modo da poter avere una discussione costruttiva.
### Concentrati sul viaggio, non sulla destinazione
Alcuni progetti utilizzano un processo di voto per prendere decisioni importanti. Anche se a prima vista ragionevole, il voto enfatizza il raggiungimento di una "risposta" piuttosto che l'ascolto e la considerazione delle preoccupazioni degli altri.
Il voto può diventare politico quando i membri della comunità si sentono spinti a fare favori o a votare in un certo modo. Non tutti votano, siano essi [la maggioranza silenziosa](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) nella tua comunità o tra gli utenti attuali che non sapevano che fosse in corso una votazione.
A volte è richiesto un voto di parità. Tuttavia, per quanto puoi, enfatizza ["la ricerca del consenso"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making), piuttosto che consenso.
In un processo di ricerca del consenso, i membri della comunità discutono le preoccupazioni chiave finché non sentono di essere stati adeguatamente ascoltati. Quando rimangono solo preoccupazioni secondarie, la comunità va avanti. La ricerca del consenso riconosce che una comunità potrebbe non essere in grado di arrivare a una risposta perfetta. Invece, dà priorità all'ascolto e alla discussione.
Anche se in realtà non adotti un processo di ricerca del consenso, come progetto di supporto è importante che le persone sappiano che stai ascoltando. Far sì che le altre persone si sentano ascoltate e impegnate a risolvere le loro preoccupazioni è molto utile per allentare la tensione in situazioni delicate. Quindi segui le tue parole con l'azione.
Non affrettarti a prendere una decisione per il gusto di prendere una decisione. Assicurati che tutti si sentano ascoltati e che tutte le informazioni siano condivise prima di passare a una decisione.
### Mantieni la conversazione focalizzata sull'azione
La discussione è importante, ma esiste una differenza tra conversazioni produttive e improduttive.
Incoraggiare la discussione fintanto che si muove attivamente verso la risoluzione. Se è chiaro che la conversazione sta morendo o sta andando fuori tema, che il fastidio sta diventando personale o che le persone litigano su dettagli minori, è ora di chiuderla.
Consentire che queste conversazioni continuino non è solo dannoso per il problema in questione, ma anche per la salute della tua comunità. Invia il messaggio che questo tipo di conversazione è consentito o addirittura incoraggiato e potrebbe scoraggiare le persone dal sollevare o risolvere problemi futuri.
Per ogni punto sollevato da te o da altri, chiediti: "In che modo questo ci avvicina a una soluzione?"_
Se la conversazione inizia a sgretolarsi, chiedi al gruppo _"Quali passi dovremmo intraprendere dopo?"_ per reindirizzare la conversazione.
Se la conversazione non sta chiaramente andando da nessuna parte, non c'è alcuna azione chiara da intraprendere o l'azione appropriata è già stata intrapresa, chiudi il problema e spiega perché l'hai chiuso.
### Scegli saggiamente le tue battaglie
Il contesto è importante. Considera chi partecipa alla conversazione e come rappresenta il resto della comunità.
Tutti nella comunità sono sconvolti o addirittura preoccupati per questo? Oppure è un piantagrane solitario? Ricorda di considerare i membri silenziosi della tua comunità, non solo le voci attive.
Se il problema non rappresenta le esigenze più ampie della tua comunità, potresti dover semplicemente accogliere le preoccupazioni di alcune persone. Se si tratta di un problema ricorrente senza una soluzione chiara, rimandali alle discussioni precedenti sull'argomento e chiudi l'argomento.
### Definire il criterio di equilibrio comunitario
Con un buon comportamento e una comunicazione chiara, le situazioni più difficili vengono risolte. Tuttavia, anche in una discussione produttiva, potrebbe esserci semplicemente una divergenza di opinioni su come procedere. In questi casi, identifica una persona o un gruppo di persone che possano fungere da equilibratore.
Un livellatore può essere il principale sostenitore del progetto, oppure può essere un piccolo gruppo di persone che prendono una decisione in base a un voto. Idealmente, è necessario definire un livellatore e la procedura associata in un file GOVERNANCE prima di doverlo utilizzare.
La decisione sulla parità dovrebbe essere l'ultima risorsa. Le questioni di divisione rappresentano un'opportunità per la tua comunità di crescere e imparare. Cogli queste opportunità e utilizza un processo collaborativo per procedere verso la risoluzione quando possibile.
## La community è ❤️ open source
Comunità sane e fiorenti alimentano le migliaia di ore investite ogni settimana nell'open source. Molti contributori citano altre persone come motivo per lavorare - o non lavorare - con l'open source. Imparando a sfruttare questo potere in modo costruttivo, aiuterai qualcuno a vivere un'esperienza open source indimenticabile.
================================================
FILE: _articles/it/code-of-conduct.md
================================================
---
lang: it
title: Il tuo codice di condotta
description: Facilitare un comportamento comunitario sano e costruttivo adottando e applicando un codice di condotta.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Perché ho bisogno di un codice di condotta?
Un codice di condotta è un documento che definisce le aspettative comportamentali dei partecipanti al tuo progetto. L'adozione e l'applicazione di un codice di condotta può contribuire a creare un'atmosfera sociale positiva per la tua comunità.
I codici di condotta aiutano a proteggere non solo i tuoi partecipanti ma anche te stesso. Se stai portando avanti un progetto, potresti scoprire che l'atteggiamento improduttivo degli altri partecipanti può farti sentire svuotato o insoddisfatto del tuo lavoro nel tempo.
Un Codice di condotta ti consente di facilitare un comportamento sano e costruttivo nella comunità. Essere proattivi riduce le probabilità che tu o gli altri vi stanchiate del vostro progetto e vi aiuta ad agire quando qualcuno fa qualcosa con cui non siete d'accordo.
## Stabilire un codice di condotta
Cerca di creare un codice di condotta il prima possibile: idealmente quando crei per la prima volta il tuo progetto.
Oltre a comunicare le vostre aspettative, il codice di condotta descrive quanto segue:
* Dove entra in vigore il codice di condotta _(solo per problemi e pull request o attività della community come eventi?)_
* A chi si applica il codice di condotta _(membri della comunità e sostenitori, ma per quanto riguarda gli sponsor?)_
* Cosa succede se qualcuno infrange il codice di condotta
* Come qualcuno può segnalare violazioni
Usa la tecnica precedente dove puoi. [Accordo dei contributori](https://contributor-covenant.org/) è un codice di comportamento utilizzato da oltre 40.000 progetti open source, inclusi Kubernetes, Rails e Swift.
[Il codice di condotta di Django](https://www.djangoproject.com/conduct/) e [Il codice di condotta dei cittadini](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) sono due buoni esempi di codice di condotta.
Inserisci un file CODE_OF_CONDUCT nella directory principale del tuo progetto e rendilo visibile alla tua comunità collegandolo dal tuo file CONTRIBUTING o README.
## Decidi come applicherai il tuo codice di condotta
È necessario spiegare come verrà applicato il codice di condotta **_prima_** di una violazione. Ci sono diversi motivi per farlo:
* Dimostra che sei seriamente intenzionato ad agire quando necessario.
* La tua comunità si sentirà più sicura che i reclami vengano effettivamente esaminati.
* Assicurerai alla tua comunità che il processo di revisione è giusto e trasparente nel caso in cui si trovassero indagati per una violazione.
Dovresti fornire alle persone un modo personale (ad esempio un indirizzo e-mail) per segnalare una violazione del codice di condotta e spiegare chi riceve tale segnalazione. Potrebbe trattarsi di un manutentore, di un gruppo di manutentori o di un gruppo di lavoro sul codice di condotta.
Ricorda che qualcuno può chiedere di segnalare una violazione a una persona che riceve queste segnalazioni. In questo caso, date loro la possibilità di segnalare le violazioni a qualcun altro. Ad esempio, @ctb e @mr-c [spiegano il loro progetto](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Casi di abuso, molestie o comportamenti altrimenti inaccettabili possono essere segnalati inviando un'e-mail a **khmer-project@idyll.org** solo a C. Titus Brown e Michael R. Crusoe. Per segnalare un problema con uno di questi, inviare un'e-mail a **Judi Brown Clarke, Ph.D.** Direttore della Diversità presso il BEACON Center for the Study of Evolution in Action, NSF Science and Technology Center.*
Per trovare ispirazione, consulta il [manuale di applicazione delle norme](https://www.djangoproject.com/conduct/enforcement-manual/) di Django (anche se potresti non aver bisogno di qualcosa di così completo, a seconda delle dimensioni del tuo progetto).
## Applicare il codice di condotta
A volte, nonostante i tuoi migliori sforzi, qualcuno fa qualcosa che viola questo codice. Esistono diversi modi per affrontare un comportamento negativo o dannoso quando si verifica.
### Raccogli informazioni sulla situazione
Considera la voce di ogni membro della comunità importante quanto la tua. Se ricevi una segnalazione secondo cui qualcuno ha violato il codice di condotta, prendila sul serio e indaga sulla questione, anche se non corrisponde alla tua esperienza con quella persona. Ciò segnala alla tua comunità che apprezzi la loro prospettiva e ti fidi del loro giudizio.
Il membro della comunità in questione potrebbe essere un recidivo che mette costantemente a disagio gli altri, o potrebbe aver detto o fatto qualcosa solo una volta. In entrambi i casi, possono costituire motivo di azione a seconda del contesto.
Prima di rispondere, concediti il tempo di capire cosa è successo. Leggi i commenti e le conversazioni passate della persona per capire meglio chi è e perché potrebbe essersi comportato in quel modo. Prova a raccogliere punti di vista diversi dal tuo su questa persona e sul suo comportamento.
### Intraprendi le azioni appropriate
Una volta raccolte ed elaborate informazioni sufficienti, dovrai decidere cosa fare. Mentre consideri i passaggi successivi, ricorda che il tuo obiettivo come moderatore è promuovere un ambiente sicuro, rispettoso e collaborativo. Considera non solo come gestire la situazione in questione, ma anche come la tua risposta influenzerà il comportamento e le aspettative del resto della tua comunità in futuro.
Quando qualcuno segnala una violazione del codice di condotta, è compito tuo, non suo, occupartene. A volte un giornalista rivela informazioni che mettono a grave rischio la sua carriera, reputazione o incolumità fisica. Costringerli ad affrontare il loro aggressore può mettere il giornalista in una posizione compromettente. È necessario mantenere una comunicazione diretta con la persona in questione, a meno che chi ha segnalato non richieda espressamente il contrario.
Esistono diversi modi per rispondere a una violazione del codice di condotta:
* **Dai alla persona in questione un avvertimento pubblico** e spiega come il suo comportamento ha influenzato negativamente gli altri, preferibilmente nel canale in cui è successo. Quando possibile, la comunicazione pubblica comunica al resto della comunità che si prende sul serio il codice di condotta. Sii gentile ma fermo nella tua comunicazione.
* **Contatta di persona la persona in questione** per spiegare in che modo il suo comportamento ha influenzato negativamente gli altri. Potresti voler utilizzare un canale di comunicazione privato se la situazione coinvolge informazioni personali sensibili. Se stai comunicando con qualcuno in privato, è una buona idea mettere in copia coloro che per primi hanno segnalato la situazione in modo che sappiano che hai preso provvedimenti. Chiedere il consenso all'informatore prima di inviarlo in CC.
A volte non è possibile raggiungere alcuna soluzione. La persona in questione può diventare aggressiva o ostile quando confrontata o non cambiare il proprio comportamento. In questa situazione, potresti prendere in considerazione l'idea di intraprendere azioni più drastiche. Per esempio:
* **Espulsione della persona in questione** dal progetto, imposta tramite un'interdizione temporanea dalla partecipazione a qualsiasi aspetto del progetto
* **Permanente** banna la persona dal progetto
L'esclusione dei membri non dovrebbe essere presa alla leggera e rappresenta una divergenza di opinioni permanente e inconciliabile. Dovresti adottare queste misure solo quando è chiaro che non è possibile raggiungere una soluzione.
## Le tue responsabilità come manutentore
Un codice di condotta non è una legge applicata arbitrariamente. Tu sei il garante del codice di condotta ed è tua responsabilità seguire le regole stabilite dal codice di condotta.
In qualità di manutentore, stabilisci le linee guida per la tua comunità e applichi tali linee guida secondo le regole stabilite nel tuo codice di condotta. Ciò significa prendere sul serio ogni segnalazione di violazione del codice di condotta. Al giornalista è dovuta un'analisi approfondita e corretta della sua denuncia. Se ritieni che il comportamento segnalato non costituisca una violazione, chiariscilo e spiega perché non intendi intraprendere alcuna azione in merito. Ciò che fanno dipende da loro: tollerare il comportamento con cui hanno avuto problemi o smettere di partecipare alla comunità.
Segnalare un comportamento che _tecnicamente_ non viola il codice di condotta può comunque indicare che c'è un problema nella tua comunità e dovresti indagare su quel potenziale problema e agire di conseguenza. Ciò potrebbe comportare la revisione del codice di condotta per chiarire quale sia il comportamento accettabile e/o parlare alla persona il cui comportamento è stato segnalato e dirle che, sebbene non abbia violato il codice di condotta, sta aggirando il limite di ciò che ci si aspetta e assicurarsi che i partecipanti si sentano a disagio.
In definitiva, come sostenitore, definisci e applichi gli standard di comportamento accettabile. Hai la capacità di plasmare i valori della comunità del progetto e i partecipanti si aspettano che tu applichi tali valori in modo giusto ed equo.
## Incoraggia il comportamento che vuoi vedere nel mondo 🌎
Quando un progetto appare ostile o inospitale, anche se si tratta di una sola persona il cui comportamento è tollerato dagli altri, rischi di perdere molti altri contributori, alcuni dei quali potresti non incontrare nemmeno. Non è sempre facile adottare o far rispettare un codice di condotta, ma promuovere un ambiente accogliente aiuterà la tua comunità a crescere.
================================================
FILE: _articles/it/finding-users.md
================================================
---
lang: it
title: Trovare utenti per il tuo progetto
description: Aiuta il tuo progetto open source a crescere mettendolo nelle mani di utenti soddisfatti.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Diffondere la parola
Non esiste una regola che dice che devi pubblicizzare un progetto open source al momento del lancio. Ci sono molte buone ragioni per passare all'open source che non hanno nulla a che fare con la popolarità. Invece di sperare che altri trovino e utilizzino il tuo progetto open source, dovresti spargere la voce sul tuo duro lavoro!
## Trasmetti il tuo messaggio
Prima di iniziare il lavoro vero e proprio di promozione del tuo progetto, devi essere in grado di spiegare cosa fa e perché è importante.
Cosa rende il tuo progetto diverso o interessante? Perché l'hai creato? Rispondere solo a queste domande ti aiuterà a comunicare l'importanza del tuo progetto.
Ricorda che le persone vengono coinvolte come utenti e alla fine diventano contributori perché il tuo progetto risolve loro un problema. Mentre pensi al messaggio e al valore del tuo progetto, prova a vederlo attraverso la lente di ciò che _utenti e contributori_ potrebbero desiderare.
Ad esempio, @robb utilizza esempi di codice per comunicare chiaramente perché il suo progetto, [Cartography](https://github.com/robb/Cartography), è utile:

Per un approfondimento sulla messaggistica, consulta l'esercizio ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) di Mozilla sullo sviluppo dei personaggi degli utenti.
## Aiuta le persone a trovare e seguire il tuo progetto
Aiuta le persone a trovare e ricordare il tuo progetto indirizzandole a un singolo spazio dei nomi.
**Avere un approccio chiaro per promuovere il tuo lavoro.** Un handle di Twitter, un URL GitHub o un canale IRC è un modo semplice per indirizzare le persone al tuo progetto. Questi punti vendita forniscono anche un luogo di ritrovo per la crescente comunità del tuo progetto.
Se ancora non vuoi creare output per il tuo progetto, promuovi il tuo account Twitter o GitHub in tutto ciò che fai. Promuovere il tuo Twitter o GitHub permetterà alle persone di sapere come contattarti o seguire il tuo lavoro. Se parli a una riunione o a un evento, assicurati che le informazioni di contatto siano incluse nella biografia o nelle diapositive.
**Considera l'idea di creare un sito web per il tuo progetto.** Un sito web rende il tuo progetto più user-friendly e facile da navigare, soprattutto se abbinato a documentazione e tutorial chiari. Avere un sito web suggerisce anche che il tuo progetto è attivo, il che farà sentire il tuo pubblico più a suo agio nell'utilizzarlo. Fornisci esempi per dare alle persone idee su come utilizzare il tuo progetto.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), сco-creatore di Django, ha detto che il sito web è stato _"di gran lunga la cosa migliore che abbiamo fatto con Django nei primi giorni"_.
Se il tuo progetto è ospitato su GitHub, puoi utilizzare [GitHub Pages](https://pages.github.com/) per creare facilmente un sito web. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/) e [Middleman](https://middlemanapp.com/) sono [alcuni esempi](https://github.com/showcases/github-pages-examples) di siti Web eccellenti e completi.

Ora che hai un annuncio sul tuo progetto e un modo semplice per consentire alle persone di trovarlo, usciamo e parliamo con il tuo pubblico!
## Vai dove si trova il pubblico del tuo progetto (online)
La sensibilizzazione online è un ottimo modo per condividere e spargere rapidamente la voce. Utilizzando i canali online, hai il potenziale per raggiungere un pubblico molto vasto.
Sfrutta le community e le piattaforme online esistenti per raggiungere il tuo pubblico. Se il tuo progetto open source è un progetto software, probabilmente puoi trovare il tuo pubblico in [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/) o [Quora](https://www.quora.com/). Trova i canali in cui ritieni che le persone trarranno maggiori benefici o saranno entusiaste del tuo lavoro.
Vedi se riesci a trovare modi per condividere il tuo progetto in modi appropriati:
* **Conosci progetti e comunità open source rilevanti.** A volte non è necessario pubblicizzare direttamente il tuo progetto. Se il tuo progetto è perfetto per i data scientist che utilizzano Python, consulta la community di data science di Python. Man mano che le persone ti conosceranno, ci saranno opportunità naturali per parlare e condividere il tuo lavoro.
* **Trova persone che affrontano il problema risolto dal tuo progetto.** Cerca nei forum correlati le persone che rientrano nel pubblico target del tuo progetto. Rispondi alla loro domanda e trova un modo discreto, se appropriato, per presentare il tuo progetto come soluzione.
* **Chiedi feedback.** Presenta te stesso e il tuo lavoro a un pubblico che lo troverà pertinente e interessante. Sii specifico su chi ritieni trarrà beneficio dal tuo progetto. Prova a completare la frase: _"Penso che il mio progetto aiuterà davvero X persone che stanno cercando di fare Y_". Ascolta e rispondi al feedback degli altri invece di limitarti a promuovere il tuo lavoro.
In generale, concentrati sull'aiutare gli altri prima di chiedere qualcosa in cambio. Dato che chiunque può facilmente pubblicizzare un progetto online, ci sarà molto fermento. Per distinguerti dalla massa, dai alle persone un contesto su chi sei, non solo cosa vuoi.
Se nessuno presta attenzione o risponde al tuo contatto iniziale, non scoraggiarti! La maggior parte dei lanci di progetti sono un processo iterativo che può richiedere mesi o anni. Se non ricevi risposta la prima volta, prova una tattica diversa o cerca prima modi per aggiungere valore al lavoro degli altri. Promuovere e lanciare il tuo progetto richiede tempo e dedizione.
## Vai dove si trova il pubblico del tuo progetto (offline)

Gli eventi offline sono un modo popolare per promuovere nuovi progetti al pubblico. Sono un ottimo modo per raggiungere un pubblico coinvolto e creare connessioni umane più profonde, soprattutto se sei interessato a raggiungere gli sviluppatori.
Se sei [nuovo nel parlare in pubblico](https://Speaking.io/), inizia trovando un incontro locale correlato alla lingua o all'ecosistema del tuo progetto.
Se non hai mai parlato a un evento prima, è del tutto normale sentirsi nervoso! Ricorda che il tuo pubblico è lì perché vuole davvero conoscere il tuo lavoro.
Mentre scrivi il tuo discorso, concentrati su ciò che il tuo pubblico troverà interessante e da cui trarrà beneficio. Mantieni il tuo linguaggio amichevole e accessibile. Sorridi, respira e divertiti.
Quando ti senti pronto, considera di parlare a una conferenza per promuovere il tuo progetto. Le conferenze possono aiutarti a raggiungere più persone, a volte da tutto il mondo.
Cerca conferenze specifiche per la tua lingua o ecosistema. Prima di inviare il tuo discorso, fai ricerche sulla conferenza per adattare il tuo discorso ai tuoi partecipanti e aumentare le tue possibilità di essere accettato a parlare alla conferenza. Spesso puoi farti un'idea del tuo pubblico guardando i relatori della conferenza.
## Costruisci una reputazione
Oltre alle strategie sopra descritte, il modo migliore per invitare le persone a condividere e contribuire al tuo progetto è condividere e contribuire ai loro progetti.
Aiutare i nuovi arrivati, condividere risorse e contribuire in modo ponderato ai progetti di altre persone ti aiuterà a costruire una reputazione positiva. Essere un membro attivo della comunità open source aiuterà le persone a trovare un contesto per il tuo lavoro e ad essere più propense a prestare attenzione e a condividere il tuo progetto. Lo sviluppo di collegamenti con altri progetti open source può anche portare a partenariati formali.
Non è mai troppo presto o troppo tardi per iniziare a costruire la tua reputazione. Anche se hai già avviato il tuo progetto, continua a cercare modi per aiutare gli altri.
Non esiste una soluzione immediata per creare un pubblico. Guadagnarsi la fiducia e il rispetto degli altri richiede tempo e costruire la propria reputazione non finisce mai.
## Continuare!
Può volerci molto tempo prima che le persone notino il tuo progetto open source. Questo è buono! Alcuni dei progetti più popolari oggi hanno impiegato anni per raggiungere livelli elevati di attività. Concentrati sulla costruzione di relazioni invece di sperare che il tuo progetto ottenga spontaneamente popolarità. Sii paziente e continua a condividere il tuo lavoro con chi lo apprezza.
================================================
FILE: _articles/it/getting-paid.md
================================================
---
lang: it
title: Essere pagati per il lavoro open source
description: Mantieni il tuo lavoro open source ottenendo supporto finanziario per il tuo tempo o il tuo progetto.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Perché alcune persone cercano un sostegno finanziario
Gran parte del lavoro open source è volontario. Ad esempio, qualcuno potrebbe imbattersi in un bug in un progetto che sta utilizzando e inviare una soluzione rapida, oppure potrebbe divertirsi armeggiare con un progetto open source nel tempo libero.
Ci sono molte ragioni per cui non si vorrebbe essere pagati per il proprio lavoro open source.
* **Potrebbero già avere un lavoro a tempo pieno che amano,** che consente loro di contribuire all'open source nel tempo libero.
* **A loro piace pensare all'open source come a un hobby** o a una fuga creativa e non vogliono sentirsi finanziariamente obbligati a lavorare sui propri progetti.
* **Ottengono altri vantaggi dal contributo all'open source,** come costruire una reputazione o un portfolio, apprendere nuove competenze o sentirsi vicini a una comunità.
Per altri, soprattutto quando il contributo è in corso o richiede molto tempo, essere pagati per contribuire all'open source è l'unico modo per partecipare, sia perché il progetto lo richiede sia per motivi personali.
Mantenere progetti popolari può essere una responsabilità significativa, impiegando 10 o 20 ore a settimana invece di poche ore al mese.
Il lavoro retribuito consente inoltre a persone provenienti da percorsi di vita diversi di dare un contributo significativo. Alcune persone non possono permettersi di dedicare tempo non retribuito a progetti open source a causa della loro attuale situazione finanziaria, dei debiti, delle responsabilità familiari o di altro tipo. Ciò significa che il mondo non vede mai contributi da parte di persone di talento che non possono permettersi di offrire volontariato. Ciò ha implicazioni etiche, come @ashedryden [descritto](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community) poiché il lavoro svolto è distorto nel favorire coloro che hanno già vantaggi nella vita, che poi ricevono ulteriori vantaggi in base ai loro contributi volontari, mentre ad altri che non possono fare volontariato vengono negate opportunità successive, rafforzando l'attuale mancanza di diversità nella comunità open source.
Se stai cercando un sostegno finanziario, ci sono due modi da considerare. Puoi finanziare il tuo tempo come collaboratore oppure puoi trovare finanziamenti organizzativi per il progetto.
## Finanziare il proprio tempo
Oggi molte persone vengono pagate per lavorare part-time o full-time nell'open source. Il modo più comune per essere pagato per il tuo tempo è parlare con il tuo datore di lavoro.
È più semplice sostenere il lavoro open source se il tuo datore di lavoro utilizza effettivamente il progetto, ma sii creativo con la tua presentazione. Forse il tuo datore di lavoro non utilizza il progetto, ma usa Python e il mantenimento di un progetto Python popolare aiuta ad attrarre nuovi sviluppatori Python. Forse fa sembrare il tuo datore di lavoro più amichevole agli sviluppatori in generale.
Se non hai un progetto open source esistente su cui ti piacerebbe lavorare, ma preferisci che il tuo lavoro attuale sia open source, chiedi al tuo datore di lavoro di rendere open source alcuni dei loro software interni.
Molte aziende stanno sviluppando programmi open source per rafforzare il proprio marchio e assumere talenti di qualità.
@hueniverse ad esempio, ha scoperto che c'erano ragioni finanziarie per giustificare [l'investimento di Walmart nell'open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). E @jamesgpearce ha scoperto che il programma open source di Facebook [è importante](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) nel reclutamento:
> È strettamente correlato alla nostra cultura hacker e al modo in cui la nostra organizzazione veniva percepita. Abbiamo chiesto ai nostri dipendenti: "Conoscevi il programma software open source di Facebook?". Due terzi hanno detto "Sì". La metà ha affermato che il programma ha contribuito positivamente alla decisione di lavorare per noi. Questi non sono numeri estremi e spero che la tendenza continui.
Se la tua azienda segue questa strada, è importante mantenere chiari i confini tra le operazioni comunitarie e aziendali. Dopotutto, l'open source è supportato dal contributo di persone di tutto il mondo, e questo è più grande di quello di qualsiasi altra azienda o luogo.
Se non riesci a convincere il tuo attuale datore di lavoro a dare priorità al lavoro open source, valuta la possibilità di trovare un nuovo datore di lavoro che incoraggi il contributo dei dipendenti all'open source. Cerca aziende che sottolineano il loro impegno verso l'open source. Per esempio:
* Ad alcune aziende piace [Netflix](https://netflix.github.io/), hanno siti web che evidenziano il loro coinvolgimento nell'open source
È probabile che anche i progetti che provengono da una grande azienda, come [Go](https://github.com/golang) o [React](https://github.com/facebook/react), assumano persone per lavorare con l'open source.
A seconda delle tue circostanze personali, puoi provare a raccogliere fondi in modo indipendente per finanziare il tuo lavoro open source. Per esempio:
* @Homebrew (e [molti altri sostenitori e organizzazioni](https://github.com/sponsors/community)) finanziano il loro lavoro tramite [Sponsor Github](https://github.com/sponsors)
* @gaearon ha finanziato il suo lavoro su [Redux](https://github.com/reactjs/redux) attraverso una [campagna di crowdfunding Patreon](https://redux.js.org/)
* I fondi @andrewgodwin lavorano sulle migrazioni dello schema Django [tramite campagna Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
Infine, a volte i progetti open source offrono premi per problemi che potresti considerare di aiutare.
* @ConnorChristie è riuscito a essere pagato per [aiuto](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol stanno lavorando sulla propria libreria JavaScript [tramite ricompensa gitcoin](https://gitcoin.co/).
* @mamiM ha realizzato traduzioni giapponesi per @MetaMask dopo [il rilascio è stato finanziato da Bounties Network](https://explorer.bounties.network/bounty/134).
## Trovare finanziamenti per il tuo progetto
Oltre agli accordi per i singoli contributori, i progetti a volte raccolgono fondi da aziende, individui o altri per finanziare il lavoro in corso.
I finanziamenti organizzativi possono essere utilizzati per pagare i contributori attuali, coprire i costi di gestione del progetto (come le tariffe di hosting) o investire in nuove funzionalità o idee.
Con la crescente popolarità dell'open source, trovare finanziamenti per i progetti è ancora sperimentale, ma esistono alcune opzioni comuni.
### Raccogli fondi per il tuo lavoro attraverso il crowdfunding o campagne di sponsorizzazione
Trovare una sponsorizzazione funziona bene se hai già un pubblico o una reputazione forti o se il tuo progetto è molto popolare.
Alcuni esempi di progetti sponsorizzati includono:
* **[webpack](https://github.com/webpack)** raccoglie denaro da aziende e privati [via OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** organizzazione no-profit che paga il lavoro di [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems) e altri progetti infrastrutturali di Ruby
### Crea un flusso di reddito
A seconda del tuo progetto, potresti essere in grado di addebitare il supporto commerciale, le opzioni di hosting o le funzionalità aggiuntive. Alcuni esempi includono:
* **[Sidekiq](https://github.com/mperham/sidekiq)** offre versioni a pagamento per ulteriore supporto
* **[Travis CI](https://github.com/travis-ci)** offre versioni a pagamento del suo prodotto
* **[Ghost](https://github.com/TryGhost/Ghost)** è un'organizzazione no-profit con un servizio gestito a pagamento
Alcuni progetti popolari, come [npm](https://github.com/npm/cli) e [Docker](https://github.com/docker/docker), stanno addirittura raccogliendo capitali di rischio per sostenere la crescita di i loro affari.
### Richiedi un finanziamento
Alcune fondazioni e aziende di software offrono sovvenzioni per il lavoro open source. A volte le sovvenzioni possono essere pagate a individui senza creare un'entità legale per il progetto.
* **[Leggi i documenti](https://github.com/rtfd/readthedocs.org)** ha ricevuto una sovvenzione da [Support of Mozilla Open Source](https://www.mozilla.org/en-US/grants/)
* Il lavoro su **[OpenMRS](https://github.com/openmrs)** è finanziato dall'[Open Source Retreat of Stripe](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** ha ricevuto una sovvenzione dalla [Fondazione Sloan](https://sloan.org/programs/digital-technology)
* **[Python Software Foundation](https://www.python.org/psf/grants/)** offre sovvenzioni per lavori legati a Python
Per opzioni più dettagliate e casi di studio @nayafia [ha scritto una guida](https://github.com/nayafia/lemonade-stand) su come essere pagato per il lavoro open source. Diversi tipi di finanziamento richiedono competenze diverse, quindi considera i tuoi punti di forza per scoprire quale opzione funziona meglio per te.
## Costruire una causa per il sostegno finanziario
Che il tuo progetto sia una nuova idea o sia in circolazione da anni, dovresti aspettarti di dedicare molta attenzione all'identificazione del finanziatore target e alla presentazione di un caso convincente.
Sia che tu voglia pagare per il tuo tempo libero o raccogliere fondi per un progetto, devi essere in grado di rispondere alle seguenti domande.
### Impatto
Perchè è utile questo progetto? Perché piace così tanto ai tuoi utenti o potenziali utenti? Dove sarà tra cinque anni?
### Trazione
Cerca di raccogliere prove dell'importanza del tuo progetto, che si tratti di parametri, aneddoti o testimonianze. Ci sono aziende o persone importanti che utilizzano il tuo progetto in questo momento? In caso contrario, una persona di spicco lo ha approvato?
### Valore per il finanziatore
Ai finanziatori, siano essi il tuo datore di lavoro o una fondazione che concede sovvenzioni, vengono spesso offerte opportunità. Perché dovrebbero sostenere il tuo progetto rispetto a qualsiasi altra opzione? Come ne traggono beneficio personalmente?
### Utilizzo dei fondi
Cosa otterrete esattamente con il finanziamento proposto? Concentrarsi sulle tappe fondamentali o sui risultati finali del progetto piuttosto che sul pagamento di uno stipendio.
### Come riceverai i fondi
Il finanziatore ha dei requisiti di rimborso? Ad esempio, potrebbe essere necessario essere un'organizzazione senza scopo di lucro o avere uno sponsor fiscale senza scopo di lucro. O forse i fondi dovrebbero essere assegnati a un singolo appaltatore piuttosto che a un'organizzazione. Questi requisiti variano tra i finanziatori, quindi assicurati di fare le tue ricerche in anticipo.
## Sperimenta e non mollare
Raccogliere fondi non è facile, che tu sia un progetto open source, un'organizzazione no profit o una startup di software, e nella maggior parte dei casi richiede che tu sia creativo. Determinare come vuoi essere pagato, fare le tue ricerche e metterti nei panni del tuo finanziatore ti aiuterà a costruire un caso convincente per il finanziamento.
================================================
FILE: _articles/it/how-to-contribute.md
================================================
---
lang: it
title: Come contribuire all'open source
description: Vuoi contribuire all'open source? Una guida per fornire contributi open source sia per principianti che per veterani.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Perché contribuire all'Open Source?
Contribuire all'open source può essere un modo gratificante per apprendere, insegnare e sviluppare competenze in quasi tutte le competenze immaginabili.
Perché le persone contribuiscono all'open source? Molte ragioni!
### Migliora il software su cui fai affidamento
Molti contributori open source iniziano come utenti del software a cui contribuiscono. Quando trovi un bug nel software open source che stai utilizzando, potresti voler guardare la fonte per vedere se puoi risolverlo da solo. Se questo è il caso, ripristinare la patch è il modo migliore per garantire che i tuoi amici (e te stesso quando aggiorni alla versione successiva) possano trarne vantaggio.
### Migliorare le competenze esistenti
Che si tratti di codifica, progettazione dell'interfaccia utente, progettazione grafica, scrittura o organizzazione, se stai cercando pratica, c'è un progetto open source adatto a te.
### Incontra persone interessate a cose simili
I progetti open source con comunità calorose e accoglienti fanno sì che le persone ritornino per anni. Molte persone stringono amicizie durature attraverso la loro partecipazione all'open source, sia che si incontrino alle conferenze o alle chat di burrito online a tarda notte.
### Trova mentori e insegna agli altri
Lavorare con altri su un progetto condiviso significa che dovrai spiegare come stai facendo le cose e chiedere aiuto ad altre persone. Gli atti di apprendimento e insegnamento possono essere un'attività soddisfacente per tutti i soggetti coinvolti.
### Costruisci artefatti pubblici che ti aiutino a sviluppare una reputazione (e una carriera)
Per definizione, tutto il tuo lavoro open source è pubblico, il che significa che ottieni esempi gratuiti da portare ovunque come dimostrazione di ciò che sai fare.
### Impara le abilità delle persone
L'open source offre opportunità per esercitare capacità di leadership e gestione, come la risoluzione dei conflitti, l'organizzazione di gruppi di persone e la definizione delle priorità del lavoro.
### Essere in grado di apportare cambiamenti, anche piccoli, dà potere
Non è necessario essere un collaboratore permanente per apprezzare la partecipazione all'open source. Hai mai visto un errore di battitura su un sito web e vorresti che qualcuno lo correggesse? In un progetto open source, puoi fare proprio questo. L'open source aiuta le persone a sentirsi indipendenti riguardo alla propria vita e al modo in cui sperimentano il mondo, e questo di per sé è soddisfacente.
## Cosa significa contribuire
Se sei un nuovo collaboratore open source, il processo può creare confusione. Come trovi il progetto giusto? E se non sai programmare? E se qualcosa va storto?
Non preoccuparti! Esistono molti modi per essere coinvolti in un progetto open source e alcuni suggerimenti ti aiuteranno a ottenere il massimo dalla tua esperienza.
### Non è necessario aggiungere alcun codice
Un malinteso comune riguardo al contributo all'open source è che si debba contribuire con il codice. In effetti, sono spesso le altre parti del progetto ad essere [più trascurate o trascurate](https://github.com/blog/2195-the-shape-of-open-source). Farai un _enorme_ favore al progetto offrendoti di contribuire con questo tipo di contributi!
Anche se ti piace scrivere codice, altri tipi di contributi sono un ottimo modo per essere coinvolto in un progetto e incontrare altri membri della comunità. Costruire queste relazioni ti darà l'opportunità di lavorare su altre parti del progetto.
### Ti piace pianificare eventi?
* Organizzare workshop o incontri per il progetto, [come ha fatto @fzamperin per NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Organizzare una conferenza di progetto (se applicabile)
* Aiuta i membri della comunità a trovare le conferenze giuste e a inviare proposte di interventi
### Ti piace progettare?
* Ristrutturare i layout per migliorare l'usabilità del progetto
* Condurre ricerche sugli utenti per riorganizzare e perfezionare la navigazione o i menu del progetto, [come suggerito da Drupal](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Compila una guida di stile per aiutare il progetto ad avere un design visivo coerente
* Crea una grafica per la maglietta o un nuovo logo, [come hanno fatto i contributori di hapi.js](https://github.com/hapijs/contrib/issues/68)
### Ti piace scrivere?
* Scrivi e migliora la documentazione del progetto, [come ha fatto @CBID2 per la documentazione di OpenSauced](https://github.com/open-sauced/docs/pull/151)
* Preparare una cartella di esempi che mostrano come viene utilizzato il progetto
* Avvia una newsletter del progetto o cura i punti salienti della mailing list, [come ha fatto @opensauced per il suo prodotto](https://news.opensauced.pizza/about/)
* Scrivi tutorial per il progetto, [come hanno fatto i contributori PyPA](https://packaging.python.org/)
* Scrivi una traduzione per la documentazione del progetto, [come ha fatto @frontendwizard per le istruzioni CSS Flexbox della sfida freeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077)
### Ti piace organizzare?
* Collegamento a problemi duplicati e suggerimento di nuovi thread di problemi per mantenerti organizzato
* Esamina i problemi aperti e suggerisci di chiudere quelli vecchi, [come ha fatto @nzakas per ESLint](https://github.com/eslint/eslint/issues/6765)
* Fai domande chiarificatrici sui problemi appena scoperti per portare avanti la discussione
### Ti piace programmare?
* Trova un problema aperto da risolvere, [come ha fatto @dianjin per Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Chiedi se puoi aiutare a registrare una nuova funzionalità
* Automatizza le impostazioni del progetto
* Migliorare strumenti e test
### Ti piace aiutare le persone?
* Rispondi alle domande sul progetto, ad es. Stack Overflow ([come questo esempio di Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) o Reddit
* Rispondi alle domande delle persone in domande aperte
* Aiuta a moderare forum di discussione o canali di chat
### Ti piace aiutare gli altri a programmare?
* Rivedi il codice delle dichiarazioni di altre persone
* Scrivi tutorial su come utilizzare un progetto
* Offrirti di fare da mentore a un altro collaboratore, [come ha fatto @ereichert per @bronzdoc in Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Non devi lavorare solo su progetti software!
Sebbene "open source" si riferisca spesso al software, puoi collaborare praticamente su qualsiasi cosa. Ci sono libri, ricette, elenchi e lezioni che vengono sviluppati come progetti open source.
Per esempio:
* @sindresorhus preparare [un elenco di elenchi "grandi".](https://github.com/sindresorhus/awesome)
* @h5bp mantenere un [elenco di potenziali domande per l'intervista](https://github.com/h5bp/Front-end-Developer-Interview-Questions) per i candidati sviluppatori front-end
* @stuartlynn e @nicole-a-tesla hanno realizzato una [raccolta di curiosità sui puffini](https://github.com/stuartlynn/puffin_facts)
Anche se sei uno sviluppatore di software, lavorare su un progetto di documentazione può aiutarti a iniziare con l'open source. Spesso è meno intimidatorio lavorare su progetti che non implicano codice e il processo collaborativo aumenterà la tua sicurezza e la tua esperienza.
## Orientamento verso un nuovo progetto
Oltre a correggere un errore di battitura, contribuire all'open source è come avvicinarsi a un gruppo di sconosciuti a una festa. Se inizi a parlare dei lama mentre sono immersi in una discussione sui pesci rossi, probabilmente ti guarderanno in modo un po' strano.
Prima di lanciarti alla cieca con i tuoi suggerimenti, inizia imparando a leggere la stanza. In questo modo aumenti le possibilità che le tue idee vengano notate e ascoltate.
### Anatomia di un progetto open source
Ogni comunità open source è diversa.
Trascorrere anni su un progetto open source significa che hai acquisito familiarità con un progetto open source. Passa a un altro progetto e potresti scoprire che il vocabolario, le norme e gli stili di comunicazione sono completamente diversi.
Tuttavia, molti progetti open source seguono una struttura organizzativa simile. Comprendere i diversi ruoli nella comunità e il processo complessivo ti aiuterà a navigare rapidamente in qualsiasi nuovo progetto.
Un tipico progetto open source prevede i seguenti tipi di persone:
* **Autore:** La/e persona/e o organizzazione che ha creato il progetto
* **Proprietario:** la/e persona/e che ha la proprietà amministrativa dell'organizzazione o del repository (non sempre coincide con l'autore originale)
* **Sostenitori:** Collaboratori responsabili della gestione della visione e della gestione degli aspetti organizzativi del progetto (possono anche essere autori o proprietari del progetto.)
* **Contributori:** chiunque abbia contribuito con qualcosa al progetto
* **Membri della comunità:** le persone che utilizzano il progetto. Possono essere attivi nelle conversazioni o esprimere la loro opinione sulla direzione del progetto
I progetti più grandi possono anche avere sottocomitati o gruppi di lavoro focalizzati su compiti diversi, come strumenti, smistamento, moderazione della comunità e organizzazione di eventi. Cerca nel sito web di un progetto una pagina "team" o il repository della documentazione di gestione per trovare queste informazioni.
C'è anche la documentazione del progetto. Questi file sono generalmente elencati al livello più alto del repository.
* **LICENZA:** Per definizione, ogni progetto open source deve avere una [licenza open source](https://choosealicense.com). Se il progetto non ha una licenza, non è open source.
* **README:** Il README è la guida pratica che accoglie i nuovi membri della comunità nel progetto. Spiega perché il progetto è utile e come iniziare.
* **CONTRIBUTO:** Mentre i README aiutano le persone a _utilizzare_ il progetto, i documenti che contribuiscono aiutano le persone a _contribuire_ al progetto. Spiega quali tipi di contributi sono richiesti e come funziona il processo. Anche se non tutti i progetti hanno un file CONTRIBUTOR, la sua presenza segnala che è un progetto accogliente a cui contribuire. Un buon esempio di guida ai contributi efficace sarebbe questo dal [repository di documenti Codecademy](https://www.codecademy.com/resources/docs/contribution-guide).
* **CODE_OF_CONDUCT:** Il Codice di condotta stabilisce le regole di base per la condotta associata dei partecipanti e aiuta a creare un ambiente amichevole e accogliente. Anche se non tutti i progetti hanno un file CODE_OF_CONDUCT, la sua presenza segnala che si tratta di un progetto accogliente a cui contribuire.
* **Altra documentazione:** Potrebbe essere presente documentazione aggiuntiva come tutorial, istruzioni o politiche di gestione, in particolare per progetti più grandi come [Astro Docs](https://docs.astro.build/en/contribute/#contributing-to-docs).
Infine, i progetti open source utilizzano i seguenti strumenti per organizzare la discussione. Leggere gli archivi ti darà una buona idea di come pensa e funziona la comunità.
* **Tracciamento dei problemi:** dove le persone discutono questioni relative al progetto.
* **Richieste pull:** quando le persone discutono e rivedono le modifiche in corso, sia che si tratti di migliorare l'ordine del codice dei contributori, l'utilizzo della grammatica, l'utilizzo delle immagini, ecc. Alcuni progetti, come [MDN Web Docs](https://github.com/mdn/content/blob/main/.github/workflows/markdown-lint.yml), utilizzano determinati flussi di azioni GitHub per automatizzare e velocizzare le loro revisioni del codice.
* **Forum di discussione o mailing list:** Alcuni progetti possono utilizzare questi canali per argomenti di conversazione (ad esempio _"Come..."_ o _"Cosa ne pensi di..."_ invece di segnalazioni di bug o richieste per le funzioni). Altri utilizzano il tracker dei problemi per tutte le chiamate. Un buon esempio di ciò potrebbe essere la [newsletter settimanale CHAOSS](https://chaoss.community/news/)
* **Canale di chat sincrono:** alcuni progetti utilizzano canali di chat (come Slack o IRC) per conversazioni informali, collaborazione e scambi rapidi. Un buon esempio di ciò potrebbe essere [EddieHub Discord Community](http://discord.eddiehub.org/).
## Trova un progetto a cui contribuire
Ora che hai capito come funzionano i progetti open source, è il momento di trovare un progetto a cui contribuire!
Se non hai mai contribuito all'open source prima, segui il consiglio del presidente degli Stati Uniti John F. Kennedy, che una volta disse: "Non chiederti cosa può fare il tuo paese per te, chiediti cosa puoi fare tu per il tuo paese".
Il contributo all'open source avviene a tutti i livelli, in tutti i progetti. Non devi pensare troppo a quale sarà esattamente il tuo primo contributo o come sarà.
Inizia invece pensando ai progetti che già usi o che desideri utilizzare. I progetti a cui partecipi attivamente sono quelli a cui continui a tornare.
All'interno di questi progetti, ogni volta che ti sorprendi a pensare che qualcosa potrebbe essere migliore o diverso, agisci secondo il tuo istinto.
L'open source non è un club esclusivo; è fatto da persone proprio come te. "Open source" è solo un termine elegante per considerare i problemi del mondo come risolvibili.
È possibile eseguire la scansione del README e trovare un collegamento interrotto o un errore di battitura. O sei un nuovo utente e hai notato che qualcosa non funziona, oppure c'è un problema che ritieni dovrebbe essere presente nella documentazione. Invece di ignorarlo e andare avanti o chiedere a qualcun altro di risolverlo, vedi se puoi aiutare partecipando. Ecco cos'è l'open source!
> Secondo uno studio di Igor Steinmacher e altri ricercatori di informatica, [il 28% dei contributi accessori](https://www.igor.pro.br/publica/papers/saner2016.pdf) in open source sono documenti, come come correzioni di errori di battitura, riformattazione o scrittura di traduzioni.
Se stai cercando problemi esistenti che puoi risolvere, ogni progetto open source ha una pagina "/contribute" che evidenzia problemi adatti ai principianti con cui puoi iniziare. Vai alla pagina principale del repository GitHub e aggiungi "/contribute" alla fine dell'URL (ad es.[`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
Puoi anche utilizzare una delle seguenti risorse per aiutarti a scoprire e contribuire a nuovi progetti:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Lista di controllo prima di contribuire
Quando trovi un progetto a cui vuoi contribuire, esegui una rapida scansione per assicurarti che il progetto sia idoneo ad accettare contributi. Altrimenti, il tuo duro lavoro potrebbe non ricevere mai risposta.
Ecco una pratica lista di controllo per valutare se un progetto è adatto ai nuovi contributori.
**Soddisfa la definizione di open source**
**Il progetto accetta attivamente contributi**
Guarda l'attività di commit sul ramo master. Su GitHub, puoi vedere queste informazioni nella scheda Approfondimenti della home page di un repository, ad esempio[Virtual-Coffee](https://github.com/Virtual-Coffee/virtualcoffee.io/pulse)
Poi guarda i problemi del progetto.
Ora fai lo stesso per le richieste pull del progetto.
**Il progetto è accogliente**
Un progetto amichevole e accogliente segnala che saranno ricettivi verso nuovi collaboratori.
## Come inviare un contributo
Hai trovato un progetto che ti piace e sei pronto a contribuire. Finalmente! Ecco come ottenere il tuo contributo nel modo giusto.
### Comunicazione effettiva
Che tu collabori occasionalmente o cerchi di entrare a far parte di una comunità, lavorare con gli altri è una delle competenze più importanti che svilupperai nell'open source.
Prima di aprire un problema o una richiesta pull o porre una domanda in chat, tieni a mente questi punti per aiutare le tue idee a prendere vita in modo efficace.
**Fornisci contesto.** Aiuta gli altri a salire a bordo rapidamente. Se riscontri un errore, spiega cosa stai cercando di fare e come riprodurlo. Se stai proponendo una nuova idea, spiega perché pensi che sarebbe utile per il progetto (non solo per te!).
> 😇 _"X non accade quando faccio Y"_
>
> 😢 _"X è rotto! Per favore aggiustalo."_
**Fai i compiti in anticipo.** Va bene non sapere le cose, ma dimostra che ci hai provato. Prima di chiedere aiuto, assicurati di controllare il README del progetto, la documentazione, i problemi (aperti o chiusi), la mailing list e cerca una risposta in Internet. Le persone apprezzeranno quando dimostrerai che stai cercando di imparare.
> 😇 _"Non sono sicuro di come implementare X. Ho controllato i documenti di aiuto e non ho trovato alcuna menzione."_
>
> 😢 _"Come faccio X?"_
**Mantieni le richieste brevi e dirette.** Come inviare un'email, qualsiasi contributo, non importa quanto semplice o utile, richiede che qualcun altro lo esamini. Molti progetti hanno più richieste in arrivo che persone che possono aiutare. Sii breve. Aumenterai le possibilità che qualcuno possa aiutarti.
> 😇 _"Vorrei scrivere un tutorial API."_
>
> 😢 _"L'altro giorno stavo guidando lungo l'autostrada e mi sono fermato per fare benzina e poi ho avuto questa fantastica idea di qualcosa che dovremmo fare, ma prima di spiegartelo, lascia che te lo mostri..."_
**Mantieni pubbliche tutte le comunicazioni.** Sebbene sia allettante, non contattare personalmente i manutentori a meno che non sia necessario condividere informazioni sensibili (come un problema di sicurezza o una cattiva condotta grave). Quando mantieni pubblica la conversazione, più persone possono imparare e trarre vantaggio dal tuo scambio. Le discussioni possono essere di per sé un contributo.
> 😇 _(come commento) "@-maintainer Ciao! Come procediamo con questo PR?"_
>
> 😢 _(come email) "Ciao, scusa se ti disturbo via email, ma mi chiedevo se avessi la possibilità di rivedere il mio PR"_
**Va bene fare domande (ma sii paziente!).** Tutti sono stati nuovi ad un progetto ad un certo punto, e anche i contributori più esperti devono aggiornarsi quando guardano un nuovo progetto. Allo stesso modo, anche i manutentori di lunga data non hanno sempre familiarità con ogni parte del progetto. Mostra loro la stessa pazienza che vorresti che mostrassero a te.
> 😇 _"Grazie per aver esaminato questo errore. Ho seguito i tuoi suggerimenti. Ecco il risultato."_
>
> 😢 _"Perché non riesci a risolvere il mio problema? Non è questo il tuo progetto?"_
**Rispetta le decisioni della comunità.** Le tue idee potrebbero differire dalle priorità o dalla visione della comunità. Potrebbero offrire feedback o decidere di non perseguire la tua idea. Anche se dovresti discutere e trovare un compromesso, i manutentori devono convivere con la tua decisione più a lungo di te. Se non sei d'accordo con la loro direzione, puoi sempre lavorare sul tuo fork o iniziare il tuo progetto.
> 😇 _"Mi dispiace che tu non possa supportare il mio caso d'uso, ma come hai spiegato tu riguarda solo una piccola parte di utenti, capisco il motivo. Grazie per l'ascolto."_
>
> 😢 _"Perché non supporti il mio caso d'uso? Questo è inaccettabile!"_
**Soprattutto, mantienilo elegante.** L'open source è composto da contributori provenienti da tutto il mondo. Si perde il contesto tra lingue, culture, aree geografiche e fusi orari. Inoltre, la comunicazione scritta rende più difficile trasmettere il tono o l'umore. Assumi buone intenzioni in queste conversazioni. Va bene rifiutare educatamente un'idea, chiedere più contesto o chiarire ulteriormente la tua posizione. Prova solo a lasciare Internet in un posto migliore di quando l'hai trovato.
### Raccogli il contesto
Prima di agire, fai un rapido controllo per assicurarti che la tua idea non sia stata discussa altrove. Visualizza il README del progetto, i problemi (aperti e chiusi), la mailing list e Stack Overflow. Non devi passare ore a esaminare tutto, ma una rapida ricerca di alcuni termini chiave può fare molto.
Se non riesci a trovare la tua idea altrove, sei pronto a fare una mossa. Se il progetto è su GitHub, probabilmente comunicherai nel modo seguente:
* **Sollevare un problema:** è come avviare una conversazione o una discussione
* **Le richieste pull** servono per iniziare a lavorare su una soluzione.
* **Canali di comunicazione:** se il progetto ha un canale Discord, IRC o Slack designato, valuta la possibilità di avviare una conversazione o chiedere chiarimenti sul tuo contributo.
Prima di aprire un problema o una richiesta pull, controlla i documenti che contribuiscono al progetto (di solito un file chiamato CONTRIBUTING o nel README) per vedere se è necessario includere qualcosa di specifico. Ad esempio, potrebbero chiederti di seguire uno schema o richiederti di utilizzare dei test.
Se vuoi dare un contributo significativo, apri un issue da chiedere prima di lavorarci. È utile guardare il progetto per un po' (su GitHub, [puoi fare clic su "Guarda"](https://help.github.com/articles/watching-repositories/) per ricevere una notifica di tutte le conversazioni) e accedere a conoscere i membri della comunità prima di svolgere lavori che potrebbero non essere accettati.
### Apertura di un problema
Di solito dovresti aprire un problema nelle seguenti situazioni:
* Segnala un bug che non puoi risolvere da solo
* Discutere un argomento o un'idea di alto livello (ad esempio comunità, visione o politiche)
* Suggerisci una nuova funzionalità o un'altra idea di progetto
Suggerimenti per comunicare sui problemi:
* **Se vedi un problema aperto su cui vuoi lavorare**, commenta il problema per far sapere alle persone che ci stai lavorando. In questo modo, le persone avranno meno probabilità di duplicare il tuo lavoro.
* **Se un problema è stato scoperto qualche tempo fa,** potrebbe essere stato risolto altrove o già risolto, quindi commenta per chiedere conferma prima di iniziare il lavoro.
* **Se hai aperto un problema ma hai trovato la risposta da solo in seguito,** commenta il problema per farlo sapere alle persone, quindi chiudi il problema. Anche documentare questo risultato è un contributo al progetto.
### Apertura di una richiesta pull
Di solito dovresti aprire una richiesta pull nelle seguenti situazioni:
* Invia correzioni minori come errori di battitura, collegamenti interrotti o errori evidenti.
* Inizia a lavorare su un contributo che ti è già stato richiesto o di cui hai già parlato in un numero.
Una richiesta pull non deve rappresentare un lavoro completato. Di solito è meglio aprire una richiesta pull in anticipo in modo che altri possano guardare o fornire feedback sui tuoi progressi. Basta aprirlo come "bozza" o contrassegnarlo come "WIP" (Lavori in corso) nella riga dell'oggetto o nelle sezioni "Note ai revisori" se fornite (oppure puoi semplicemente crearne una tua. In questo modo: `** # # Note per il revisore**`). Puoi sempre aggiungere altri impegni in un secondo momento.
Se il progetto è su GitHub, ecco come inviare una richiesta pull:
* **[Fork il repository](https://guides.github.com/activities/forking/)** e clonalo localmente. Connetti il tuo locale al repository upstream originale aggiungendolo come remoto. Estrai spesso le modifiche da "upstream" per rimanere aggiornato, quindi quando invii la tua richiesta di pull, i conflitti di unione saranno meno probabili. (Vedi istruzioni più dettagliate [qui](https://help.github.com/articles/syncing-a-fork/).)
* **[Crea un ramo](https://guides.github.com/introduction/flow/)** per le tue modifiche.
* **Elenca eventuali problemi rilevanti** o documentazione di supporto nel tuo PR (ad esempio "Chiude n. 37.")
* **Includi screenshot prima e dopo** se le modifiche comportano differenze HTML/CSS. Trascina e rilascia le immagini nel corpo della tua richiesta pull.
* **Testa le tue modifiche!** Esegui le tue modifiche confrontandole con eventuali test esistenti, se presenti, e creane di nuovi quando necessario. È importante assicurarsi che le modifiche non interrompano il progetto esistente.
* **Contribuisci allo stile del progetto** secondo le tue capacità. Ciò può significare utilizzare il rientro, il punto e virgola o i commenti in modo diverso rispetto a quanto faresti nel tuo repository, ma rende più facile per il manutentore unirli e per gli altri comprenderli e mantenerli in futuro.
Se questa è la tua prima richiesta pull, dai un'occhiata a [Crea una richiesta pull](http://makeapullrequest.com/) che @kentcdodds ha creato come tutorial video dimostrativo. Puoi anche esercitarti a creare una richiesta pull sul repository [First Contributions](https://github.com/Roshanjossey/first-contributions) creato da @Roshanjossey.
## Cosa succede dopo aver inviato il tuo contributo
Prima di iniziare a festeggiare, dopo che avrai inviato il tuo contributo si verificherà una delle seguenti situazioni:
### 😭 Non riceverai risposta
Ci auguriamo che tu abbia [controllato eventuali segni di attività nel progetto](#lista-di-controllo-prima-di-contribuire) prima di contribuire. Anche con un progetto attivo, però, è possibile che il tuo contributo non riceva risposta.
Se non ricevi notizie da più di una settimana, è giusto rispondere educatamente nello stesso thread chiedendo a qualcuno di recensire. Se conosci il nome della persona giusta per rivedere il tuo contributo, puoi @ menzionarla in questo thread.
**Non contattare personalmente questa persona**; ricorda che la comunicazione pubblica è vitale per i progetti open source.
Se fai un cortese promemoria e continui a non ricevere risposta, è possibile che nessuno risponderà mai. Non è una sensazione fantastica, ma non lasciarti scoraggiare! 😄 Esistono molte possibili ragioni per cui non hai ricevuto una risposta, comprese circostanze personali che potrebbero andare oltre il tuo controllo. Prova a trovare un altro progetto o un modo per contribuire. Se non altro, è un buon motivo per non investire troppo tempo nel contribuire prima che gli altri membri della comunità siano coinvolti e reattivi.
### 🚧 Qualcuno vuole modifiche al tuo contributo
È comune che ti venga chiesto di apportare modifiche al tuo contributo, che si tratti di feedback sulla portata della tua idea o di modifiche al tuo codice.
Quando qualcuno chiede modifiche, sii reattivo. Si sono presi il tempo per rivedere il tuo contributo. Aprire un PR e andarsene è una cattiva forma. Se non sai come apportare modifiche, ricerca il problema e poi chiedi aiuto se ne hai bisogno. Un buon esempio di ciò potrebbe essere [il feedback che un altro collaboratore ha dato a @a-m-lamb sulla sua richiesta di pull ai documenti Codecademy](https://github.com/Codecademy/docs/pull/3239#pullrequestreview-1628036286).
Se non hai più tempo per lavorare sul problema perché la conversazione va avanti da mesi e le tue circostanze sono cambiate o non riesci a trovare una soluzione, informa un manutentore in modo che possa aprire il problema a qualcun altro , come ha fatto [@RitaDee per un problema nelle applicazioni OpenSauced](https://github.com/open-sauced/app/issues/1656#issuecomment-1729353346).
### 👎 Il tuo contributo non è accettato
Il tuo contributo potrebbe essere accettato o meno alla fine. Spero che tu non ci abbia già dedicato troppo lavoro. Se non sei sicuro del motivo per cui non è stato accettato, è perfettamente ragionevole chiedere al manutentore feedback e chiarimenti. Alla fine, però, dovrai rispettare il fatto che è una loro decisione. Non discutere e non essere ostile. Sei sempre il benvenuto ad espanderti e lavorare sulla tua versione se non sei d'accordo!
### 🎉 Il tuo contributo è accettato
Evviva! Hai dato con successo un contributo open source!
## Fallo! 🎉
Se hai appena dato il tuo primo contributo open source o stai cercando nuovi modi per contribuire, speriamo che tu sia ispirato ad agire. Anche se il tuo contributo non è stato accettato, assicurati di dire grazie quando il manutentore ha fatto uno sforzo per aiutarti. L'open source è creato da persone come te: un problema, una richiesta pull, un commento o il cinque alla volta.
================================================
FILE: _articles/it/index.html
================================================
---
layout: index
title: Guide Open Source
lang: it
permalink: /it/
---
================================================
FILE: _articles/it/leadership-and-governance.md
================================================
---
lang: it
title: Leadership e governo
description: I progetti open source in crescita possono trarre vantaggio da regole formali per prendere decisioni.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Comprendere la gestione del tuo progetto in crescita
Il tuo progetto sta crescendo, le persone sono coinvolte e tu ti impegni a mantenere questa cosa. A questo punto, ti starai chiedendo come includere contributori regolari al progetto nel tuo flusso di lavoro, sia che si tratti di fornire accesso al commit o di risolvere i dibattiti della comunità. Se hai domande, abbiamo le risposte.
## Quali sono esempi di ruoli formali utilizzati nei progetti open source?
Molti progetti seguono una struttura simile per quanto riguarda i ruoli dei contributori e il riconoscimento.
Il significato effettivo di questi ruoli, tuttavia, dipende interamente da te. Ecco alcuni tipi di ruoli che potresti riconoscere:
* **Supporto**
* **Associato**
* **Committente**
**Per alcuni progetti, i "sostenitori"** sono le uniche persone in un progetto con accesso come commit. In altri progetti, sono semplicemente le persone elencate nel README come manutentori.
Un manutentore non deve essere qualcuno che scrive il codice per il tuo progetto. Potrebbe essere qualcuno che ha svolto molto lavoro per evangelizzare il tuo progetto o documentazione scritta che ha reso il progetto più accessibile agli altri. Indipendentemente da ciò che fa quotidianamente, un manutentore è probabilmente qualcuno che si sente responsabile della direzione del progetto e si impegna a migliorarlo.
Un **"Collaboratore" può essere chiunque** commenti un problema o una richiesta pull, persone che aggiungono valore al progetto (che si tratti di valutare problemi, scrivere codice o organizzare eventi) o chiunque abbia una richiesta pull combinata (magari la definizione più ristretta di contributore).
**Il termine "agente"** può essere utilizzato per distinguere l'accesso all'impegno, che è un tipo specifico di responsabilità, da altre forme di contributo.
Sebbene tu possa definire i ruoli del tuo progetto come desideri, [considera l'utilizzo di definizioni più ampie](../how-to-contribute/#cosa-significa-contribuire) per incoraggiare più forme di contributo. Puoi utilizzare i ruoli di leadership per riconoscere formalmente le persone che hanno apportato contributi eccezionali al tuo progetto, indipendentemente dalle loro competenze tecniche.
## Come formalizzo questi ruoli di leadership?
Formalizzare i ruoli di leadership aiuta le persone a sentirsi proprietarie e dice agli altri membri della comunità a chi rivolgersi per chiedere aiuto.
Per un progetto più piccolo, designare i leader può essere semplice come aggiungere i loro nomi al file di testo README o CONTRIBUTORS.
Per un progetto più ampio, se hai un sito web, crea una pagina del team o elenca lì i tuoi project manager. Ad esempio, [Postgres](https://github.com/postgres/postgres/) ha una [pagina completa del team](https://www.postgresql.org/community/contributors/) con brevi profili di ciascun contributore.
Se il tuo progetto ha una comunità di contributori molto attiva, puoi formare un "core team" di manutentori o anche sottocomitati di persone che si assumono la responsabilità di diverse aree problematiche (ad esempio sicurezza, classificazione dei problemi o comportamento della comunità). Consentire alle persone di auto-organizzarsi e fare volontariato per i ruoli che li appassionano di più, piuttosto che esternalizzarli.
I team dirigenti potrebbero voler creare un canale designato (come su IRC) o incontrarsi regolarmente per discutere del progetto (come su Gitter o Google Hangout). Puoi anche rendere pubbliche queste riunioni in modo che altre persone possano ascoltarle. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), ad esempio, [prende ore di lavoro ogni settimana](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Una volta stabiliti i ruoli di leadership, assicurati di documentare come le persone possono raggiungerli! Stabilisci un processo chiaro su come qualcuno può diventare un sostenitore o unirsi a un sottocomitato nel tuo progetto e scrivilo nel tuo GOVERNANCE.md.
Strumenti come [Vossibility](https://github.com/icecrime/vossibility-stack) possono aiutarti a tenere traccia pubblicamente chi sta (o non sta) contribuendo al progetto. Documentare queste informazioni evita la percezione della comunità secondo cui i manutentori sono una cricca che prende le proprie decisioni in privato.
Infine, se il tuo progetto è su GitHub, valuta la possibilità di spostare il progetto dal tuo account personale a un'organizzazione e di aggiungere almeno un amministratore di backup. [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) semplifica la gestione delle autorizzazioni e di più repository e protegge l'eredità del tuo progetto tramite [proprietà condivisa](../building-community/#condividi-la-proprietà-del-tuo-progetto).
## Quando dovrei dare a qualcuno l'accesso per impegnarsi?
Alcune persone pensano che dovresti dare accesso al coinvolgimento a tutti coloro che danno un contributo. Ciò può incoraggiare più persone a sentirsi proprietarie del tuo progetto.
D'altra parte, soprattutto per progetti più grandi e complessi, potresti voler concedere l'accesso al coinvolgimento solo alle persone che hanno dimostrato il proprio impegno. Non esiste un modo giusto per farlo: fai ciò che ti fa sentire più a tuo agio!
Se il tuo progetto è su GitHub, puoi utilizzare [rami protetti](https://help.github.com/articles/about-protected-branches/) per gestire chi può puntare a un particolare ramo e in quali circostanze.
## Quali sono alcune delle strutture di governance comuni per i progetti open source?
Esistono tre strutture di governance generale associate ai progetti open source.
* **BDFL:** BDFL sta per "Dittatore benevolo per la vita". In questa struttura, una persona (di solito l'autore originale del progetto) ha l'ultima parola su tutte le principali decisioni del progetto. [Python](https://github.com/python) è un classico esempio. I progetti più piccoli probabilmente utilizzano BDFL per impostazione predefinita perché ci sono solo uno o due manutentori. Anche un progetto che nasce da un'azienda può rientrare nella categoria BDFL.
* **Meritocrazia:** (Nota: il termine "meritocrazia" ha connotazioni negative per alcune comunità e ha una [storia sociale e politica complessa](http://geekfeminism.wikia.com/wiki/Meritocracy).) ** Nella meritocrazia ai partecipanti attivi al progetto (coloro che dimostrano "merito") viene assegnato un ruolo decisionale formale. Le decisioni vengono solitamente prese sulla base del voto per puro consenso. Il concetto di meritocrazia è stato introdotto dalla [Fondazione Apache](https://www.apache.org/); [tutti i progetti Apache](https://www.apache.org/index.html#projects-list) sono meritocrazie. I contributi possono essere versati solo da individui che rappresentano se stessi e non da un'azienda.
* **Contributo liberale:** In un modello di contribuzione liberale, le persone che lavorano di più sono riconosciute come le più influenti, ma questo si basa sul lavoro attuale, non sul contributo storico. Le decisioni sui grandi progetti vengono prese sulla base di un processo di ricerca del consenso (discussione delle principali lamentele) piuttosto che sul puro voto, e cercano di includere quante più prospettive comunitarie possibile. Esempi popolari di progetti che utilizzano un modello di contribuzione liberale includono [Node.js](https://foundation.nodejs.org/) e [Rust](https://www.rust-lang.org/).
Quale dovresti usare? Sta a te! Ogni modello presenta vantaggi e compromessi. E anche se a prima vista possono sembrare molto diversi, tutti e tre i modelli hanno più cose in comune di quanto sembri. Se sei interessato ad adottare uno di questi modelli, dai un'occhiata a questi modelli:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Ho bisogno di documenti gestionali quando inizio il mio progetto?
Non esiste un momento giusto per scrivere la gestione del tuo progetto, ma è molto più semplice definirlo una volta che hai visto svolgersi le dinamiche della tua comunità. La parte migliore (e più difficile) della gestione open source è che è modellata dalla comunità!
Tuttavia, alcuni dei primi documenti contribuiranno inevitabilmente alla gestione del progetto, quindi inizia a registrare ciò che puoi. Ad esempio, puoi definire aspettative chiare sul comportamento o sul funzionamento del processo di collaborazione, anche all'inizio del tuo progetto.
Se fai parte di un'azienda che lancia un progetto open source, vale la pena tenere una discussione interna prima del lancio su come la tua azienda prevede di supportare e prendere decisioni sui progressi del progetto. Potresti anche voler spiegare pubblicamente qualcosa di specifico su come la tua azienda sarà (o non sarà!) coinvolta nel progetto.
## Cosa succede se i dipendenti aziendali iniziano a inviare contributi?
I progetti open source di successo vengono utilizzati da molte persone e aziende e alcune aziende potrebbero finire per avere flussi di entrate che sono in definitiva legati al progetto. Ad esempio, un'azienda può utilizzare il codice di progetto come componente nell'offerta di un servizio commerciale.
Man mano che il progetto diventa più diffuso, le persone con esperienza in esso diventano più richieste: potresti essere uno di loro! - e talvolta verranno pagati per il lavoro svolto sul progetto.
È importante considerare l'attività commerciale come una cosa normale e semplicemente come un'altra fonte di energia per lo sviluppo. Naturalmente, gli sviluppatori pagati non dovrebbero ricevere un trattamento speciale rispetto a quelli non pagati; ogni contributo dovrebbe essere giudicato in base ai suoi meriti tecnici. Tuttavia, le persone dovrebbero sentirsi a proprio agio nell'impegnarsi in attività commerciali e sentirsi a proprio agio nel citare i propri casi d'uso quando si discute a favore di un particolare miglioramento o funzionalità.
"Commerciale" è pienamente compatibile con "open source". "Commerciale" significa semplicemente che da qualche parte sono coinvolti dei soldi, che il software viene utilizzato commercialmente, il che è sempre più probabile man mano che un progetto ottiene l'accettazione. (Quando il software open source viene utilizzato come parte di un prodotto non open source, il prodotto complessivo è ancora software "proprietario", sebbene, come l'open source, possa essere utilizzato per scopi commerciali e non commerciali.)
Come chiunque altro, gli sviluppatori motivati dal punto di vista commerciale ottengono influenza nel progetto attraverso la qualità e la quantità del loro contributo. Ovviamente, un programmatore che viene pagato per il suo tempo può essere in grado di guadagnare più di qualcuno che non lo fa, ma va bene così: il pagamento è solo uno dei tanti possibili fattori che possono influenzare quanto qualcuno guadagna. Mantieni le discussioni del tuo progetto focalizzate sul contributo, non sui fattori esterni che consentono alle persone di dare quel contributo.
## Ho bisogno di una persona giuridica per sostenere il mio progetto?
Non hai bisogno di un'entità legale per supportare il tuo progetto open source a meno che non gestisci denaro.
Ad esempio, se desideri avviare un'attività commerciale, ti consigliamo di costituire una C Corp o LLC (se risiedi negli Stati Uniti). Se stai solo lavorando a un contratto relativo al tuo progetto open source, puoi accettare denaro come unico proprietario o formare una LLC (se risiedi negli Stati Uniti).
Se desideri accettare donazioni per il tuo progetto open source, puoi impostare un pulsante di donazione (utilizzando PayPal o Stripe, ad esempio), ma il denaro non sarà deducibile dalle tasse a meno che tu non sia un'organizzazione no-profit qualificata (501c3, se sei sono negli Stati Uniti).
Molti progetti non vogliono prendersi la briga di creare un'organizzazione no-profit, quindi trovano invece uno sponsor fiscale senza scopo di lucro. Uno sponsor fiscale accetta donazioni per tuo conto, solitamente in cambio di una percentuale della donazione. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) e [Open Collective](https://opencollective.com/opensource) sono esempi di organizzazioni che fungono da sponsor fiscali per progetti open source.
Se il tuo progetto è strettamente correlato a un particolare linguaggio o ecosistema, potrebbe esserci anche una base software associata con cui puoi lavorare. Ad esempio, la [Python Software Foundation](https://www.python.org/psf/) aiuta a supportare [PyPI](https://pypi.org/), il gestore pacchetti Python e [Node.js Foundation] (https://foundation.nodejs.org/) aiuta a mantenere [Express.js](https://expressjs.com/), un framework basato su Node.
================================================
FILE: _articles/it/legal.md
================================================
---
lang: it
title: Il lato legale dell'open source
description: Tutto quello che ti sei sempre chiesto riguardo al lato legale dell'open source e alcune cose che non ti sei chiesto.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Comprendere le implicazioni legali dell'open source
Condividere il tuo lavoro creativo con il mondo può essere un'esperienza emozionante e gratificante. Può anche significare un sacco di cose legali di cui non sapevi di doverti preoccupare. Fortunatamente, con questa guida non è necessario ricominciare da zero. (Prima di approfondire, assicurati di leggere il nostro [disclaimer](/notices/).)
## Perché le persone si preoccupano così tanto del lato legale dell'open source?
Sono felice che tu l'abbia chiesto! Quando realizzi un'opera creativa (come scrittura, grafica o codice), quell'opera è protetta da copyright esclusivo per impostazione predefinita. Cioè, la legge presuppone che, come autore del tuo lavoro, tu abbia voce in capitolo su ciò che gli altri possono fare con esso.
In genere, ciò significa che nessun altro può utilizzare, copiare, distribuire o modificare il tuo lavoro senza correre il rischio di rimozione, squalifica o contenzioso.
Tuttavia, l'open source è una circostanza insolita perché l'autore si aspetta che altri utilizzino, modifichino e condividano il lavoro. Ma poiché il valore legale predefinito è ancora il diritto d'autore esclusivo, è necessario concedere esplicitamente queste autorizzazioni con una licenza.
Queste regole si applicano anche quando qualcuno contribuisce al tuo progetto. Senza licenza o altro accordo, tutti i contributi sono di proprietà esclusiva dei loro autori. Ciò significa che nessuno – nemmeno tu – può utilizzare, copiare, distribuire o modificare il proprio contributo.
Infine, il tuo progetto potrebbe avere dipendenze con requisiti di licenza di cui non eri a conoscenza. La comunità del tuo progetto o le politiche del tuo datore di lavoro potrebbero anche richiedere che il tuo progetto utilizzi licenze open source specifiche. Esamineremo queste situazioni di seguito.
## Публичните GitHub проекти с отворен код ли са?
Quando [crei nuovo progetto](https://help.github.com/articles/creating-a-new-repository/) su GitHub, hai la possibilità di rendere il repository **privato** o **pubblico**.

**Rendere pubblico il tuo progetto GitHub non equivale a concedergli una licenza.** I progetti pubblici sono coperti dai [Termini di servizio di GitHub](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), che consente ad altri di rivedere e creare un fork del tuo progetto, ma per il resto il tuo lavoro arriva senza autorizzazioni.
Se desideri che altri utilizzino, distribuiscano, modifichino o contribuiscano al tuo progetto, devi includere una licenza open source. Ad esempio, qualcuno non può utilizzare legalmente alcuna parte del tuo progetto GitHub nel proprio codice, anche se è pubblico, a meno che tu non gli conceda specificatamente il diritto di farlo.
## Dammi solo un riepilogo di ciò di cui ho bisogno per proteggere il mio progetto.
Sei fortunato perché oggi le licenze open source sono standardizzate e facili da usare. Puoi copiare e incollare una licenza esistente direttamente nel tuo progetto.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) e [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) sono [licenze open source popolari](https://innovationgraph.github.com/global-metrics/licenses), ma ci sono altre opzioni tra cui scegliere. È possibile trovare il testo completo di queste licenze e le istruzioni su come utilizzarle all'indirizzo [choosealicense.com](https://choosealicense.com/).
Quando crei un nuovo progetto su GitHub, ti verrà [chiesto di aggiungere una licenza](https://help.github.com/articles/open-source-licensing/).
## Quale licenza open source è adatta al mio progetto?
È difficile sbagliare con la [licenza MIT](https://choosealicense.com/licenses/mit/) se inizi con un foglio bianco. È breve, facile da capire e consente a chiunque di fare qualsiasi cosa purché conservi una copia della licenza, inclusa la nota sul copyright. Potrai rilasciare il progetto con una licenza diversa, se mai ne avessi bisogno.
Altrimenti, la scelta della giusta licenza open source per il tuo progetto dipende dai tuoi obiettivi.
Molto probabilmente il tuo progetto ha (o avrà) **dipendenze**, ognuna delle quali avrà la propria licenza open source con termini che dovrai rispettare. Ad esempio, se stai rendendo open source un progetto Node.js, probabilmente utilizzerai le librerie di Node Package Manager (npm).
Dipendenze con **licenze permissive** come [MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), [ISC](https://choosealicense.com/licenses/isc) e [BSD](https://choosealicense.com/licenses/bsd-3-clause) ti consentono di concedere in licenza il tuo progetto come preferisci.
Le dipendenze con **licenze di copyright** richiedono maggiore attenzione. Inclusa qualsiasi libreria con una licenza copyleft "forte" come [GPLv2](https://choosealicense.com/licenses/gpl-2.0), [GPLv3](https://choosealicense.com/licenses/gpl-3.0), o [AGPLv3](https://choosealicense.com/licenses/agpl-3.0) richiede la scelta di una licenza identica o [compatibile](https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses) per il tuo progetto. Librerie con una licenza copyleft "limitata" o "debole" come [MPL 2.0](https://choosealicense.com/licenses/mpl-2.0/) e [LGPL](https://choosealicense.com/licenses/lgpl-3.0/) può essere incluso in progetti con qualsiasi licenza, a condizione che si seguano le [regole aggiuntive](https://fossa.com/blog/all-about-copyleft-licenses/#:~:text=weak%20copyleft%20licenses%20also%20obligate%20users%20to%20release%20their%20changes.%20however%2C%20this%20requirement%20applies%20to%20a%20narrower%20set%20of%20code.) sottolineano.
Puoi anche controllare le **community** che speri di utilizzare e contribuire al tuo progetto:
* **Vuoi che il tuo progetto venga utilizzato come dipendenza da altri progetti?** Probabilmente è meglio utilizzare la licenza più popolare nella comunità pertinente. Ad esempio, [MIT](https://choosealicense.com/licenses/mit/) è la licenza più popolare per [librerie npm](https://libraries.io/search?platforms=NPM).
* **Vuoi che il tuo progetto attiri le grandi imprese?** Le grandi imprese possono essere confortate da una licenza di brevetto espressa da parte di tutti i contributori. In tal caso, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) copre te (e loro).
* **Vuoi che il tuo progetto attiri i contributori che non vogliono che i loro contributi vengano utilizzati in software closed source?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) o (se non vogliono contribuire ai servizi closed source) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) andrà benissimo.
La tua **azienda** potrebbe avere politiche di licenza per progetti open source. Alcune aziende richiedono che i tuoi progetti abbiano una licenza permissiva per consentire l'integrazione con i prodotti proprietari dell'azienda. Altre politiche impongono una forte licenza copyleft e un accordo di collaborazione aggiuntivo (vedi sotto), in modo che solo la tua azienda possa utilizzare il progetto nel software closed source. Le organizzazioni possono anche avere determinati standard, obiettivi di responsabilità sociale o esigenze di trasparenza che potrebbero richiedere una strategia di licenza specifica. Rivolgiti a [l'ufficio legale della tua azienda](#il-mio-progetto-necessita-di-un-contratto-di-collaborazione-aggiuntivo) per ricevere assistenza.
Quando crei un nuovo progetto su GitHub, ti viene data la possibilità di scegliere una licenza. Includere una delle licenze sopra menzionate renderà il tuo progetto GitHub open source. Se vuoi vedere altre opzioni, controlla [choosealicense.com](https://choosealicense.com) per trovare la licenza giusta per il tuo progetto, anche se è [non software](https://choosealicense.com/non-software/).
## Cosa succede se voglio cambiare la licenza del mio progetto?
Nella maggior parte dei progetti non è mai necessario modificare le licenze. Ma a volte le circostanze cambiano.
Ad esempio, man mano che il tuo progetto cresce, aggiunge dipendenze o utenti oppure la tua azienda cambia strategie, ognuna delle quali potrebbe richiedere o richiedere una licenza diversa. Inoltre, se hai dimenticato di concedere la licenza al tuo progetto fin dall'inizio, aggiungere una licenza equivale praticamente a modificare le licenze. Ci sono tre cose principali da tenere a mente quando aggiungi o modifichi la licenza del tuo progetto:
**È complicato.** Determinare la compatibilità e la conformità della licenza e chi possiede il copyright può diventare complicato e creare confusione molto rapidamente. Passare a una licenza nuova ma compatibile per nuove versioni e contributi è diverso dal concedere nuovamente in licenza tutti i contributi esistenti. Coinvolgi il tuo team legale al primo accenno di desiderio di modificare le licenze. Anche se hai o puoi ottenere il permesso dai detentori del copyright del tuo progetto per modificare la licenza, considera l'impatto della modifica sugli altri utenti e contributori al tuo progetto. Pensa a una modifica della licenza come a un "evento di gestione" per il tuo progetto, che è più probabile che si svolga senza intoppi con una comunicazione chiara e una consultazione con le parti interessate del progetto. Un motivo in più per scegliere e utilizzare una licenza adeguata per il tuo progetto fin dal suo inizio!
**Licenza esistente del tuo progetto.** Se la licenza esistente del tuo progetto è compatibile con la licenza che desideri modificare, puoi semplicemente iniziare a utilizzare la nuova licenza. Questo perché se la licenza A è compatibile con la licenza B, rispetterai i termini di A rispettando allo stesso tempo i termini di B (ma non necessariamente il contrario). Pertanto, se stai attualmente utilizzando una licenza permissiva (ad esempio MIT), puoi passare a una licenza con più termini purché conservi una copia della licenza MIT e di eventuali avvisi di copyright associati (ovvero continui a rispettare i termini minimi della licenza MIT). Ma se la tua licenza attuale non è permissiva (ad esempio copyleft o non hai una licenza) e non sei l'unico detentore del copyright, non puoi semplicemente cambiare la licenza del tuo progetto MIT. In sostanza, con una licenza permissiva, i detentori dei diritti d'autore del progetto hanno dato il permesso preventivo di modificare le licenze.
**Detentori del copyright esistenti del tuo progetto.** Se sei l'unico collaboratore del tuo progetto, tu o la tua azienda siete gli unici detentori del copyright del progetto. Puoi aggiungere o modificare qualsiasi licenza tu o la tua azienda desideriate. In caso contrario, potrebbero esserci altri titolari di copyright di cui è necessario il consenso per modificare le licenze. Loro chi sono? [Le persone che si sono impegnate nel tuo progetto](https://github.com/thehale/git-authorship) è un buon punto di partenza. Ma in alcuni casi i diritti d'autore saranno detenuti dai datori di lavoro di quelle persone. In alcuni casi le persone avranno dato solo un contributo minimo, ma non esiste una regola ferrea secondo cui i contributi al di sotto di un certo numero di righe di codice non sono soggetti a copyright. Cosa fare? Dipende. Per un progetto relativamente piccolo e giovane, potrebbe essere possibile convincere tutti i contributori esistenti ad accettare una modifica della licenza in un problema o in una richiesta pull. Per progetti grandi e a lungo termine, potrebbe essere necessario cercare molti collaboratori e persino i loro successori. Mozilla ha impiegato anni (2001-2006) per concedere nuovamente la licenza a Firefox, Thunderbird e al relativo software.
In alternativa, puoi chiedere ai contributori di pre-approvare alcune modifiche alla licenza tramite un contratto di collaborazione aggiuntivo ([vedi su](#quale-licenza-open-source-è-adatta-al-mio-progetto)). Ciò elimina parte della complessità della modifica delle licenze. Avrai bisogno di maggiore aiuto da parte dei tuoi avvocati in anticipo e vorrai comunque comunicare chiaramente con le parti interessate del progetto quando effettui una modifica della licenza.
## Il mio progetto necessita di un contratto di collaborazione aggiuntivo?
Probabilmente no. Per la stragrande maggioranza dei progetti open source, la licenza open source funge implicitamente sia da licenza in entrata (dai contributori) che da licenza in uscita (ad altri contributori e utenti). Se il tuo progetto è su GitHub, i Termini di servizio di GitHub rendono "inbound=outbound" [esplicito per impostazione predefinita](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributi-sotto-licenza-repository).
Un ulteriore contratto di collaborazione, spesso chiamato Contributor License Agreement (CLA), può creare lavoro amministrativo per i manutentori del progetto. La quantità di lavoro aggiunta da un accordo dipende dal progetto e dall'implementazione. Un tipico accordo potrebbe richiedere ai contributori di confermare con un clic di possedere i diritti necessari per contribuire secondo la licenza open source del progetto. Un accordo più complesso può richiedere la revisione legale e la firma da parte dei datori di lavoro dei contributori.
Inoltre, aggiungendo "documentazione" che alcuni ritengono non necessaria, difficile da comprendere o ingiusta (quando il destinatario dell'accordo ottiene più diritti dei contributori o del pubblico attraverso la licenza open source del progetto), un ulteriore accordo con il contributore può essere percepito come ostile alla comunità del progetto.
Alcune situazioni in cui potresti prendere in considerazione un accordo di collaborazione aggiuntivo per il tuo progetto includono:
* I tuoi avvocati vogliono che tutti i contributori accettino esplicitamente (_firmano_, online o offline) i termini del contributo, forse perché ritengono che la licenza open source da sola non sia sufficiente (anche se lo è!). Se questa è l'unica preoccupazione, dovrebbe essere sufficiente un accordo di collaborazione che riconosca la licenza open source del progetto. Il contratto di licenza per collaboratore individuale jQuery è un buon esempio di contratto per collaboratore aggiuntivo leggero.
* Tu o i tuoi avvocati volete che gli sviluppatori dichiarino che ogni impegno che assumono è autorizzato. Il requisito del [Certificato di origine dello sviluppatore](https://developercertificate.org/) indica quanti progetti raggiungono questo obiettivo. Ad esempio, la comunità Node.js [utilizza](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) DCO [invece di](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) dal loro precedente CLA. Una semplice opzione per automatizzare l'implementazione di DCO nel tuo repository è [DCO Probot](https://github.com/probot/dco).
* Il tuo progetto utilizza una licenza open source che non include una concessione espressa di brevetto (come il MIT) e hai bisogno dell'autorizzazione al brevetto da parte di tutti i contributori, alcuni dei quali potrebbero lavorare per aziende con ampi portafogli di brevetti che potrebbero essere utilizzati per prendere di mira te o altri contributori e utenti del progetto. Il [Contratto di licenza per collaboratore personale Apache](https://www.apache.org/licenses/icla.pdf) è un contratto per collaboratore supplementare comunemente utilizzato che prevede una concessione di brevetto che rispecchia quella presente nella licenza Apache 2.0.
* Il tuo progetto è protetto da licenza copyleft, ma devi anche distribuire la tua versione del progetto. Ogni collaboratore dovrà assegnarti il copyright o concedere a te (ma non al pubblico) una licenza permissiva. Il [Contratto di collaborazione MongoDB](https://www.mongodb.com/legal/contributor-agreement) è un esempio di questo tipo di contratto.
* Ritieni che il tuo progetto potrebbe dover modificare le licenze nel corso della sua vita e desideri che i partecipanti accettino tali modifiche in anticipo.
Se hai comunque bisogno di utilizzare un contratto di collaborazione aggiuntivo con il tuo progetto, prendi in considerazione l'utilizzo di un'integrazione come [Assistente CLA](https://github.com/cla-assistant/cla-assistant) per ridurre al minimo la distrazione del collaboratore.
## Cosa deve sapere il team legale della mia azienda?
Se stai lanciando un progetto open source come dipendente dell'azienda, innanzitutto il tuo team legale deve sapere che sei un progetto open source.
Nel bene e nel male, considera di farglielo sapere, anche se si tratta di un progetto personale. Probabilmente hai un "accordo di proprietà intellettuale dei dipendenti" con la tua azienda che dà loro un certo controllo sui tuoi progetti, soprattutto se sono legati all'attività aziendale o se stai utilizzando risorse aziendali per sviluppare il progetto. La tua azienda _dovrebbe_ concederti facilmente l'autorizzazione e potrebbe già averlo fatto tramite un accordo IP o una politica aziendale favorevole ai dipendenti. In caso contrario, puoi negoziare (ad esempio spiegando che il tuo progetto serve agli obiettivi di apprendimento e sviluppo professionale dell'azienda per te) o evitare di lavorare sul tuo progetto finché non trovi un'azienda migliore.
**Se stai cercando un progetto open source per la tua azienda**, faglielo sapere. Probabilmente il tuo team legale ha già delle politiche su quale licenza open source (e forse un accordo di collaborazione aggiuntivo) da utilizzare in base ai requisiti aziendali e all'esperienza dell'azienda nel garantire che il tuo progetto sia conforme alle licenze delle sue dipendenze. In caso contrario, tu e loro siete fortunati! Il tuo team legale dovrebbe essere desideroso di lavorare con te per capire queste cose. Alcune cose a cui pensare:
* **Materiale di terze parti:** Il tuo progetto ha dipendenze create da altri o include o utilizza in altro modo codice di terze parti? Se sono open source, dovrai rispettare le licenze open source dei materiali. Questo inizia con la scelta di una licenza che funzioni con licenze open source di terze parti ([vedi sopra](#quale-licenza-open-source-è-adatta-al-mio-progetto)). Se il tuo progetto modifica o distribuisce materiale open source di terze parti, il tuo team legale vorrà anche sapere se rispetti altri termini delle licenze open source di terze parti, come il mantenimento degli avvisi di copyright. Se il tuo progetto utilizza codice di terze parti che non dispone di una licenza open source, potresti dover chiedere ai manutentori di terze parti di [aggiungere una licenza open source](https://choosealicense.com/no-license/#for-users) e, se non riesci a ottenerne uno, smetti di usare il loro codice nel tuo progetto.
* **Segreti commerciali:** Considera se c'è qualcosa nel progetto che l'azienda non vuole rendere disponibile al pubblico in generale. In tal caso, puoi aprire il resto del tuo progetto dopo aver estratto il materiale che desideri mantenere privato.
* **Brevetti:** La tua azienda sta richiedendo un brevetto per il quale l'open source del tuo progetto costituirebbe [divulgazione pubblica](https://en.wikipedia.org/wiki/Public_disclosure)? Sfortunatamente, ti potrebbe essere chiesto di attendere (o forse la società riconsidererà la ragionevolezza della richiesta). Se ti aspetti contributi al tuo progetto da dipendenti di aziende con un ampio portafoglio di brevetti, il tuo team legale potrebbe richiederti di utilizzare una licenza con una concessione esplicita di brevetto da parte dei contributori (come Apache 2.0 o GPLv3) o un ulteriore accordo con il collaboratore ([vedi sopra](#quale-licenza-open-source-è-adatta-al-mio-progetto)).
* **Marchi commerciali:** Controlla che il nome del tuo progetto [non sia in conflitto con i marchi esistenti](../starting-a-project/#evitare-conflitti-di-nomi). Se utilizzi i marchi della tua azienda nel progetto, controlla che non ci siano conflitti. [FOSSmarks](http://fossmarks.org/) è una guida pratica per comprendere i marchi nel contesto di progetti gratuiti e open source.
* **Privacy:** Il tuo progetto raccoglie dati degli utenti? "Telefono di casa" ai server aziendali? Il tuo team legale può aiutarti a rispettare le politiche aziendali e le normative esterne.
Se stai lanciando il primo progetto open source della tua azienda, quanto sopra è più che sufficiente per farcela (ma non preoccuparti, la maggior parte dei progetti non dovrebbe essere un grosso problema).
Nel lungo termine, il tuo team legale può fare di più per aiutare l'azienda a ottenere di più dal suo coinvolgimento open source e rimanere al sicuro:
* **Regole per il contributo dei dipendenti:** Valuta la possibilità di sviluppare una politica aziendale che definisca il modo in cui i tuoi dipendenti contribuiscono ai progetti open source. Una politica chiara ridurrà la confusione tra i tuoi dipendenti e li aiuterà a contribuire a progetti open source nel migliore interesse dell'azienda, sia come parte del loro lavoro che nel loro tempo libero. Un buon esempio è [un IP modello e una politica di contributo open source](https://ospo.co/blog/crafting-your-open-source-contribution-policy/) di Rackspace.
* **Cosa pubblicare:** [(Quasi) tutto?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) АQuando il tuo team legale comprende ed è investito nella strategia open source della tua azienda, sarà in grado di aiutarti meglio piuttosto che ostacolare i tuoi sforzi.
* **Conformità:** Anche se la tua azienda non rilascia progetti open source, utilizza software open source di terze parti. [Consapevolezza e processo](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) possono prevenire mal di testa, ritardi nei prodotti e azioni legali.
* **Brevetti:** la tua azienda potrebbe voler aderire a [Open Invention Network](https://www.openinventionnetwork.com/), un pool di brevetti condiviso e sicuro per proteggere l'uso da parte dei membri di grandi progetti open source o per esplorare altre [licenze di brevetti alternative](https://www.eff.org/document/hacking-patent-system-2016).
* **Governance:** Soprattutto se e quando ha senso trasferire un progetto a [un'entità legale esterna all'azienda](../leadership-and-governance/#ho-bisogno-di-una-persona-giuridica-per-sostenere-il-mio-progetto).
================================================
FILE: _articles/it/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: it
title: Mantenere l'equilibrio per i sostenitori dell'open source
description: Suggerimenti per la cura di sé ed evitare il burnout come caregiver.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
Man mano che il progetto open source cresce in popolarità, diventa importante stabilire confini chiari per aiutarti a mantenere un equilibrio e rimanere aggiornato e produttivo a lungo termine.
Per ottenere informazioni dettagliate sulle esperienze dei manutentori e sulle loro strategie di bilanciamento, abbiamo condotto un workshop con 40 membri della comunità dei manutentori, che ci ha permesso di imparare da le loro esperienze di prima mano con il burnout open source e le pratiche che li hanno aiutati a mantenere l'equilibrio nel loro lavoro. È qui che entra in gioco il concetto di ecologia personale.
Allora, cos'è l'ecologia personale? Come descritto dal Rockwood Leadership Institute, implica "mantenere equilibrio, ritmo ed efficienza per sostenere la nostra energia per tutta la vita". Questo inquadra le nostre conversazioni, aiutando i sostenitori a riconoscere le loro azioni e i loro contributi come parti di un ecosistema più ampio che si evolve nel tempo. Burnout, una sindrome derivante dallo stress cronico sul lavoro, come [definita dall'OMS](https://icd.who.int/browse/2025-01/foundation/en#129180281), non è raro tra i manutentori. Ciò spesso porta a una perdita di motivazione, incapacità di concentrazione e mancanza di empatia verso i colleghi e la comunità con cui lavori.
Abbracciando il concetto di ecologia personale, gli operatori sanitari possono evitare in modo proattivo il burnout, dare priorità alla cura di sé e mantenere un senso di equilibrio per svolgere al meglio il proprio lavoro.
## Suggerimenti per la cura di sé ed evitare il burnout come personale di supporto:
### Determina le tue motivazioni per lavorare con l'open source
Prenditi del tempo per pensare a quali parti del supporto open source ti danno energia. Comprendere la tua motivazione può aiutarti a dare priorità al lavoro in un modo che ti mantenga impegnato e pronto per nuove sfide. Che si tratti del feedback positivo degli utenti, della gioia di collaborare e interagire con la community o della soddisfazione di immergersi nel codice, riconoscere le proprie motivazioni può aiutarti a dirigere la tua attenzione.
### Pensa a cosa ti fa sentire sbilanciato e stressato
È importante capire cosa ci fa bruciare. Ecco alcuni temi comuni che abbiamo riscontrato tra i sostenitori dell'open source:
* **Mancanza di feedback positivo:** è molto più probabile che gli utenti si mettano in contatto con noi in caso di reclamo. Se tutto funziona bene, tendono a tacere. Può essere scoraggiante vedere un elenco crescente di problemi senza il feedback positivo che mostri come il tuo contributo stia facendo la differenza.
* **Non dire di "NO":** Può essere facile assumersi più responsabilità del dovuto per un progetto open source. Che si tratti di utenti, contributori o altri sostenitori, non sempre possiamo essere all'altezza delle loro aspettative.
* **Lavorare da soli:** Essere un manutentore può essere incredibilmente solitario. Anche se lavori con un gruppo di manutentori, negli ultimi anni è stato difficile convocare di persona i team distribuiti.
* **Tempo o risorse insufficienti:** Ciò è particolarmente vero per i volontari di supporto che devono sacrificare il proprio tempo libero per lavorare a un progetto.
* **Richieste contrastanti:** L'open source è pieno di gruppi con motivazioni diverse che possono essere difficili da orientare. Se sei pagato per lavorare nell'open source, gli interessi del tuo datore di lavoro a volte possono essere in contrasto con quelli della comunità.
### Fai attenzione ai segni di esaurimento
Riesci a mantenere il tuo ritmo per 10 settimane? 10 mesi? 10 anni?
Esistono strumenti come [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) di [@shaunagm](https://github.com/shaunagm) che possono aiutarti a riflettere sul tuo ritmo attuale e vedi se ci sono modifiche che puoi apportare. Alcuni operatori sanitari utilizzano anche la tecnologia indossabile per monitorare parametri come la qualità del sonno e la variabilità della frequenza cardiaca (entrambi legati allo stress).
### Di cosa hai bisogno per continuare a sostenere te stesso e la tua comunità?
Questo apparirà diverso per ogni manutentore e cambierà a seconda della fase della tua vita e di altri fattori esterni. Ma ecco alcuni temi che abbiamo sentito:
* **Affidati alla community:** Delegare e trovare collaboratori può alleggerire il carico di lavoro. Avere più punti di contatto per un progetto può aiutarti a stare tranquillo. Connettiti con altri manutentori e con la comunità più ampia - in gruppi come [Comunità dei manutentori](http://maintainers.github.com/). Questa può essere una grande risorsa per il supporto e la formazione tra pari.
Puoi anche cercare modi per interagire con la comunità di utenti in modo da poter ascoltare regolarmente feedback e comprendere l'impatto del tuo lavoro open source.
* **Esplora i finanziamenti:** Che tu stia cercando dei soldi per la pizza o stia cercando di passare a tempo pieno all'open source, ci sono molte risorse per aiutarti! Come primo passo, valuta la possibilità di attivare [Sponsor Github](https://github.com/sponsors) per consentire ad altri di sponsorizzare il tuo lavoro open source. Se stai pensando di trasferirti a tempo pieno, fai domanda per il turno successivo [GitHub Accelerator](http://accelerator.github.com/).
* **Utilizza gli strumenti:** esplora strumenti come [GitHub Copilot](https://github.com/features/copilot/) e [GitHub Actions](https://github.com/features/actions), per automatizzare le attività banali e liberare tempo per contributi più significativi.
* **Riposati e ricaricati:** prenditi del tempo per i tuoi hobby e interessi al di fuori dell'open source. Prenditi dei giorni liberi per rilassarti e rigenerarti e imposta il tuo [stato GitHub](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status), per riflettere la tua disponibilità! Una buona notte di sonno può fare una grande differenza nella tua capacità di sostenere i tuoi sforzi a lungo termine.
Se trovi particolarmente piacevoli alcuni aspetti del tuo progetto, prova a strutturare il tuo lavoro in modo da poterlo sperimentare durante tutta la giornata.
* **Imposta dei limiti:** non puoi dire sì a ogni richiesta. Può essere semplice come dire "Non posso farlo adesso e non ho piani per il futuro" o specificare cosa vuoi fare e cosa non fare nel README. Ad esempio, potresti dire: "Unisco solo i PR che hanno chiaramente elencato i motivi per cui sono stati creati" oppure "Esamino i problemi solo il giovedì dalle 18:00 alle 19:00". Ciò definisce le aspettative per gli altri e ti dà qualcosa a cui puntare in altri momenti per ridurre le richieste di tempo da parte di collaboratori o utenti.
Impara ad essere fermo nel fermare comportamenti tossici e interazioni negative. È bene non dare energia a cose che non ti interessano.
Ricorda che l'ecologia personale è una pratica continua che si evolverà man mano che avanzi nel tuo viaggio open source. Dando priorità alla cura di sé e mantenendo un senso di equilibrio, puoi contribuire alla comunità open source in modo efficace e sostenibile, garantendo sia il tuo benessere che il successo a lungo termine dei tuoi progetti.
## Risorse addizionali
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](https://governingopen.com/)
* Il programma del seminario è un remix della serie di [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/)
## Associati
Mille grazie a tutti i manutentori che hanno condiviso con noi la loro esperienza e i loro consigli per questa guida!
Questa guida è stata scritta da [@abbycabs](https://github.com/abbycabs) con il contributo di:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + moltri altri!
================================================
FILE: _articles/it/metrics.md
================================================
---
lang: it
title: Metriche Open Source
description: Prendi decisioni informate per aiutare il tuo progetto open source a prosperare misurando e monitorandone il successo.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Perché misurare qualcosa?
I dati, se utilizzati con saggezza, possono aiutarti a prendere decisioni migliori come sostenitore dell'open source.
Per ulteriori informazioni, puoi:
* Scopri come gli utenti reagiscono a una nuova funzionalità
* Scopri da dove provengono i nuovi utenti
* Identificare e decidere se supportare un caso d'uso o una funzionalità eccezionale
*Quantificare la popolarità del tuo progetto
* Scopri come viene utilizzato il tuo progetto
* Raccogliere fondi attraverso sponsorizzazioni e sovvenzioni
Per esempio [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) scopre che Google Analytics li aiuta a dare priorità al lavoro:
> Homebrew è fornito gratuitamente ed è gestito interamente da volontari nel loro tempo libero. Di conseguenza, non abbiamo le risorse per effettuare studi dettagliati sugli utenti di Homebrew per decidere come progettare al meglio le funzionalità future e dare priorità al lavoro attuale. L'analisi anonima degli utenti aggregati ci consente di dare priorità a correzioni e funzionalità in base a come, dove e quando le persone utilizzano Homebrew.
La popolarità non è tutto. Tutti entrano nell'open source per motivi diversi. Se il tuo obiettivo come sostenitore dell'open source è mostrare il tuo lavoro, essere trasparente riguardo al tuo codice o semplicemente divertirti, le metriche potrebbero non essere importanti per te.
Se sei interessato a comprendere il tuo progetto a un livello più profondo, leggi i modi per analizzare l'attività del tuo progetto.
## Scoperta
Prima che chiunque possa utilizzare o contribuire al tuo progetto, deve sapere che esiste. Chiediti: _le persone trovano questo progetto?_

Se il tuo progetto è ospitato su GitHub, [puoi vedere](https://help.github.com/articles/about-repository-graphs/#traffic) quante persone arrivano al tuo progetto e da dove provengono . Dalla pagina del tuo progetto, fai clic su Approfondimenti, quindi su Traffico. In questa pagina puoi vedere:
* **Visualizzazioni di pagina totali:** indica quante volte il tuo progetto è stato visualizzato
* **Visitatori unici totali:** Ti dice quante persone hanno visto il tuo progetto
* **Siti di riferimento:** ti dice da dove provengono i tuoi visitatori. Questa metrica può aiutarti a capire dove raggiungere il tuo pubblico e se i tuoi sforzi di promozione stanno funzionando.
* **Contenuti popolari:** indica dove stanno andando i visitatori nel tuo progetto, suddivisi per visualizzazioni di pagina e visitatori unici.
[Le stelle di GitHub](https://help.github.com/articles/about-stars/) possono anche aiutare a fornire una misura di base della popolarità. Anche se le star di GitHub non sono necessariamente legate ai download e all'utilizzo, possono dirti quante persone prestano attenzione al tuo lavoro.
Potresti anche voler [monitorare la rilevabilità di posizioni specifiche](https://opensource.com/business/16/6/pirate-metrics): ad esempio, Google PageRank, traffico proveniente da referral dal sito web del tuo progetto o referral da altri progetti o siti web open source.
## Utilizzo
Le persone trovano il tuo progetto in questa cosa selvaggia e folle che chiamiamo Internet. Idealmente, quando vedranno il tuo progetto, si sentiranno obbligati a fare qualcosa. La seconda domanda che dovrai porre è: _ci sono persone che utilizzano questo progetto?_
Se utilizzi un gestore di pacchetti come npm o RubyGems.org per distribuire il tuo progetto, potresti essere in grado di monitorare i download del tuo progetto.
Ogni gestore di pacchetti può utilizzare una definizione leggermente diversa di "download" e i download non sono necessariamente correlati alle installazioni o all'utilizzo, ma forniscono alcune linee di base per il confronto. Prova a utilizzare [Libraries.io](https://libraries.io/) per tenere traccia delle statistiche di utilizzo su molti gestori di pacchetti popolari.
Se il tuo progetto è su GitHub, apri nuovamente la pagina Traffico. Puoi utilizzare il [grafico dei cloni](https://github.com/blog/1873-clone-graphs) per vedere quante volte il tuo progetto è stato clonato in un determinato giorno, suddiviso in cloni totali e cloni unici.

Se l'utilizzo è basso rispetto al numero di persone che hanno scoperto il tuo progetto, ci sono due problemi da considerare. O:
* Il tuo progetto non sta convertendo con successo il tuo pubblico, o
* Stai attirando il pubblico sbagliato
Ad esempio, se il tuo progetto arriva sulla prima pagina di Hacker News, probabilmente noterai un picco nella scoperta (traffico) ma un tasso di conversione inferiore perché stai raggiungendo tutti su Hacker News. Tuttavia, se il tuo progetto Ruby viene presentato a una conferenza Ruby, è più probabile che tu ottenga un tasso di conversione elevato da un pubblico target.
Cerca di capire da dove proviene il tuo pubblico e chiedi feedback agli altri sulla pagina del tuo progetto per scoprire quale di questi due problemi stai affrontando.
Una volta che sai che le persone utilizzano il tuo progetto, potresti provare a scoprire cosa ne fanno. Si basano su di esso biforcando il codice e aggiungendo funzionalità? Lo usano per la scienza o per gli affari?
## Presa
Le persone trovano il tuo progetto e lo usano. La prossima domanda che ti dovrai porre è: _le persone contribuiscono a questo progetto?_
Non è mai troppo presto per iniziare a pensare ai collaboratori. Senza l'intervento di altre persone, rischi di metterti in una situazione malsana in cui il tuo progetto è _popolare_ (molte persone lo usano) ma non _mantenuto_ (non abbastanza tempo di supporto per soddisfare la domanda).
La conservazione richiede anche [un afflusso di nuovi contributori](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2) poiché i contributori precedentemente attivi alla fine passeranno a altre cose.
Esempi di parametri della community che potresti voler monitorare regolarmente includono:
* **Totale contributori e impegni per collaboratore:** indica quanti collaboratori hai e chi è più o meno attivo. Su GitHub puoi vederlo in Approfondimenti -> Collaboratori. Attualmente, questo grafico riporta solo i contributori che si sono impegnati nel ramo predefinito del repository.

* **Primi contributori, collaboratori occasionali e ricorrenti:** ti aiuta a monitorare se ottieni nuovi contributori e se ritornano. (I contributori occasionali sono contributori con un numero limitato di commit. Che si tratti di un commit, di meno di cinque commit o di qualcos'altro dipende da te.) Senza nuovi contributori, la comunità del tuo progetto può ristagnare.
* **Numero di problemi aperti e richieste pull aperte:** Se questi numeri diventano troppo alti, potresti aver bisogno di aiuto con l'ordinamento dei problemi e le revisioni del codice.
* **Numero di problemi _aperti_ e richieste pull _aperte_:** I problemi aperti indicano che qualcuno è sufficientemente interessato al tuo progetto da aprire un problema. Se questo numero aumenta nel tempo, significa che le persone sono interessate al tuo progetto.
* **Tipi di contributi:** Ad esempio, commit, correzione di errori di battitura o di commento o commento su un problema.
## Attività di supporto
Infine, ti consigliamo di chiudere il ciclo assicurandoti che i sostenitori del tuo progetto siano in grado di gestire il volume dei contributi ricevuti. L'ultima domanda che vorrai farti è: _sto (o stiamo) rispondendo alla nostra community?_
I manutentori che non rispondono diventano un ostacolo per i progetti open source. Se qualcuno invia un contributo ma non riceve mai risposta dal manutentore, potrebbe sentirsi scoraggiato e andarsene.
[Una ricerca di Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) suggerisce che la reattività del manutentore è un fattore critico nell'incoraggiare la ripetizione dei contributi.
Prendi in considerazione [il monitoraggio del tempo impiegato da te (o da un altro manutentore) per rispondere alle richieste pull](https://github.blog/2023-07-19-metrics-for-issues-pull-requests-and-discussions/), che si tratti di un problema o di una richiesta di download. La risposta non richiede alcuna azione. Potrebbe essere semplice come dire: _"Grazie per il tuo contributo! Esaminerò la questione la prossima settimana."_
Puoi anche misurare il tempo necessario per passare da una fase all'altra del processo di contribuzione, ad esempio:
* Tempo medio in cui il problema rimane aperto
* Se i problemi vengono risolti dai PR
* Se i problemi obsoleti sono chiusi
* Tempo medio per unire una richiesta pull
## Usa 📊 per conoscere le persone
Comprendere le metriche ti aiuterà a costruire un progetto open source attivo e in crescita. Anche se non tieni traccia di tutte le metriche della dashboard, utilizza la struttura sopra per focalizzare la tua attenzione sul tipo di comportamento che aiuterà il tuo progetto a prosperare.
[CHAOSS](https://chaoss.community/) è un'accogliente comunità open source focalizzata su analisi, metriche e software sulla salute della comunità.
================================================
FILE: _articles/it/security-best-practices-for-your-project.md
================================================
---
lang: it
title: Le migliori pratiche di sicurezza per il tuo progetto
description: Rafforza il futuro del tuo progetto creando fiducia attraverso pratiche di sicurezza essenziali, dall'MFA e dalla scansione del codice alla gestione sicura delle dipendenze e alla segnalazione di vulnerabilità private.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
A parte bug e nuove funzionalità, la longevità di un progetto dipende non solo dalla sua utilità, ma anche dalla fiducia che guadagna dai suoi utenti. Misure di sicurezza efficaci sono fondamentali per mantenere viva questa fiducia. Ecco alcune azioni importanti che puoi intraprendere per migliorare significativamente la sicurezza del tuo progetto.
## Assicurati che tutti i collaboratori con privilegi abbiano abilitato l'autenticazione a più fattori (MFA)
### Un malintenzionato che riesca a impersonare un collaboratore con privilegi nel tuo progetto causerà danni catastrofici.
Una volta ottenuto l'accesso con privilegi, questo malintenzionato può modificare il tuo codice per eseguire azioni indesiderate (ad esempio, estrarre criptovalute), oppure può distribuire malware all'infrastruttura dei tuoi utenti, o ancora può accedere a repository di codice privati per esfiltrare proprietà intellettuale e dati sensibili, incluse le credenziali di accesso ad altri servizi.
L'MFA fornisce un ulteriore livello di sicurezza contro il furto di account. Una volta abilitata, devi accedere con il tuo nome utente e password e fornire un'altra forma di autenticazione che solo tu conosci o a cui hai accesso.
## Proteggi il tuo codice come parte del tuo flusso di lavoro di sviluppo
### Le vulnerabilità di sicurezza nel tuo codice sono più economiche da risolvere se rilevate nelle prime fasi del processo rispetto a quando vengono utilizzate in produzione.
Utilizza uno strumento SAST (Static Application Security Testing) per rilevare le vulnerabilità di sicurezza nel tuo codice. Questi strumenti operano a livello di codice e non necessitano di un ambiente di esecuzione, quindi possono essere eseguiti nelle prime fasi del processo e possono essere integrati perfettamente nel tuo consueto flusso di lavoro di sviluppo, durante la build o durante le fasi di revisione del codice.
È come avere un esperto qualificato che esamina il tuo repository di codice, aiutandoti a trovare vulnerabilità di sicurezza comuni che potrebbero nascondersi alla vista durante la scrittura del codice.
Come scegliere il tuo strumento SAST?
Verifica la licenza: alcuni strumenti sono gratuiti per i progetti open source. Ad esempio, GitHub CodeQL o SemGrep.
Verifica la copertura per i tuoi linguaggi
* Selezionane uno che si integri facilmente con gli strumenti che già utilizzi e con il tuo processo esistente. Ad esempio, è meglio se gli avvisi sono disponibili come parte del tuo processo di revisione del codice e del tuo strumento, piuttosto che passare a un altro strumento per visualizzarli.
* Attenzione ai falsi positivi! Non vorrai certo che lo strumento ti rallenti senza motivo!
* Controlla le funzionalità: alcuni strumenti sono molto potenti e possono tracciare i taint (ad esempio: GitHub CodeQL), alcuni propongono suggerimenti di correzione generati dall'intelligenza artificiale, altri semplificano la scrittura di query personalizzate (ad esempio: SemGrep).
## Non condividere i tuoi segreti
### Dati sensibili, come chiavi API, token e password, a volte possono essere accidentalmente inseriti nel tuo repository.
Immagina questo scenario: sei il responsabile della manutenzione di un popolare progetto open source con contributi di sviluppatori da tutto il mondo. Un giorno, un collaboratore inserisce inconsapevolmente nel repository alcune chiavi API di un servizio di terze parti. Giorni dopo, qualcuno trova queste chiavi e le usa per accedere al servizio senza autorizzazione. Il servizio viene compromesso, gli utenti del tuo progetto subiscono tempi di inattività e la reputazione del tuo progetto ne risente. Come responsabile della manutenzione, ora ti trovi ad affrontare il difficile compito di revocare i segreti compromessi, indagare sulle azioni dannose che l'attaccante potrebbe aver compiuto con questi segreti, avvisare gli utenti interessati e implementare le correzioni.
Per prevenire tali incidenti, esistono soluzioni di "scansione dei segreti" che ti aiutano a individuare tali segreti nel tuo codice. Alcuni strumenti come GitHub Secret Scanning e Trufflehog di Truffle Security possono impedirti di inviarli a branch remoti, mentre altri strumenti revocheranno automaticamente alcuni segreti per te.
## Controlla e aggiorna le tue dipendenze
### Le dipendenze nel tuo progetto possono presentare vulnerabilità che ne compromettono la sicurezza. Mantenere aggiornate manualmente le dipendenze può essere un'attività che richiede molto tempo.
Immagina questo: un progetto costruito sulle solide fondamenta di una libreria ampiamente utilizzata. In seguito, la libreria rileva un grave problema di sicurezza, ma le persone che hanno sviluppato l'applicazione utilizzandola non ne sono a conoscenza. I dati sensibili degli utenti rimangono esposti quando un aggressore sfrutta questa vulnerabilità, tentando di appropriarsene. Questo non è un caso teorico. È esattamente quello che è successo a Equifax nel 2017: non sono riusciti ad aggiornare la loro dipendenza Apache Struts dopo la notifica del rilevamento di una grave vulnerabilità. La vulnerabilità è stata sfruttata e la famigerata violazione di Equifax ha interessato i dati di 144 milioni di utenti.
Per prevenire tali scenari, strumenti di analisi della composizione del software (SCA) come Dependabot e Renovate controllano automaticamente le dipendenze alla ricerca di vulnerabilità note pubblicate in database pubblici come NVD o GitHub Advisory Database, e quindi creano richieste pull per aggiornarle a versioni sicure. Rimanere aggiornati con le ultime versioni delle dipendenze sicure salvaguarda il progetto da potenziali rischi.
## Evita modifiche indesiderate con branch protetti
### L'accesso illimitato ai tuoi branch principali può portare a modifiche accidentali o dolose che potrebbero introdurre vulnerabilità o compromettere la stabilità del tuo progetto.
Un nuovo collaboratore ottiene l'accesso in scrittura al branch principale e inserisce accidentalmente modifiche che non sono state testate. In questo modo, grazie alle ultime modifiche, viene scoperta una grave falla di sicurezza. Per prevenire tali problemi, le regole di protezione dei branch garantiscono che le modifiche non possano essere inserite o unite in branch importanti senza prima essere sottoposte a revisione e aver superato specifici controlli di stato. Con questa misura aggiuntiva, che garantisce la massima qualità ogni volta, sei più sicuro e in una posizione migliore.
## Imposta un meccanismo di acquisizione per la segnalazione delle vulnerabilità
### È una buona pratica semplificare la segnalazione dei bug da parte degli utenti, ma la domanda fondamentale è: quando un bug ha un impatto sulla sicurezza, come possono segnalartelo in modo sicuro senza renderti un bersaglio per hacker malintenzionati?
Immagina questa situazione: un ricercatore di sicurezza scopre una vulnerabilità nel tuo progetto ma non trova un modo chiaro o sicuro per segnalarla. Senza un processo definito, potrebbero creare un problema pubblico o discuterne apertamente sui social media. Anche se fossero ben intenzionati e offrissero una soluzione, se lo facessero con una pull request pubblica, altri la vedrebbero prima che venga integrata! Questa divulgazione pubblica esporrebbe la vulnerabilità a malintenzionati prima che tu abbia la possibilità di risolverla, portando potenzialmente a un exploit zero-day che attaccherebbe il tuo progetto e i suoi utenti.
### Policy di sicurezza
Per evitare questo problema, pubblica una policy di sicurezza. Una policy di sicurezza, definita in un file `SECURITY.md`, descrive i passaggi per segnalare problemi di sicurezza, creare un processo trasparente per la divulgazione coordinata e stabilire le responsabilità del team di progetto per la gestione dei problemi segnalati. Questa policy di sicurezza può essere semplice come "Si prega di non pubblicare dettagli in un problema pubblico o in una PR, inviarci un'e-mail privata a security@example.com", ma può anche contenere altri dettagli, come ad esempio quando dovrebbero aspettarsi di ricevere una risposta da te. Tutto ciò che può contribuire all'efficacia e all'efficienza del processo di divulgazione.
### Segnalazione di vulnerabilità private
Su alcune piattaforme, è possibile semplificare e rafforzare il processo di gestione delle vulnerabilità, dall'acquisizione alla trasmissione, con segnalazioni private. Su GitLab, questo è possibile grazie alle segnalazioni private. Su GitHub, questo si chiama segnalazione di vulnerabilità private (PVR). La PVR consente ai manutentori di ricevere e gestire le segnalazioni di vulnerabilità, il tutto all'interno della piattaforma GitHub. GitHub creerà automaticamente un fork privato per scrivere le correzioni e una bozza di avviso di sicurezza. Tutto ciò rimane riservato finché non si decide di divulgare le segnalazioni e rilasciare le correzioni. Per chiudere il cerchio, verranno pubblicati avvisi di sicurezza che informeranno e proteggeranno tutti gli utenti tramite il loro strumento SCA.
## Conclusione: pochi passaggi per te, un enorme miglioramento per i tuoi utenti
Questi pochi passaggi potrebbero sembrarti facili o basilari, ma contribuiscono notevolmente a rendere il tuo progetto più sicuro per i suoi utenti, perché forniranno protezione dai problemi più comuni.
## Collaboratori
### Un ringraziamento speciale a tutti i responsabili della manutenzione che hanno condiviso con noi le loro esperienze e i loro suggerimenti per questa guida!
Questa guida è stata scritta da [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) con contributi di:
[@JLLeitschuh](https://github.com/JLLeitschuh)
[@intrigus-lgtm](https://github.com/intrigus-lgtm) + molti altri!
================================================
FILE: _articles/it/starting-a-project.md
================================================
---
lang: it
title: Avvio di un progetto open source
description: Scopri di più sul mondo dell'open source e preparati a iniziare il tuo progetto.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## Il "cosa" e il "perché" dell'open source
Quindi stai pensando di iniziare con l'open source? Congratulazioni! Il mondo apprezza il tuo contributo. Parliamo di cos'è l'open source e perché le persone lo fanno.
### Cosa significa "open source"?
Quando un progetto è open source, significa che **chiunque è libero di utilizzare, studiare, modificare e distribuire il tuo progetto per qualsiasi scopo.** Queste autorizzazioni si applicano tramite la [licenza open source](https://opensource.org/licenses).
L'open source è potente perché abbassa le barriere all'adozione e alla collaborazione, consentendo alle persone di distribuire e migliorare rapidamente i progetti. Anche perché offre agli utenti la possibilità di controllare i propri computer, rispetto al closed source. Ad esempio, un'azienda che utilizza software open source ha la possibilità di assumere qualcuno per apportare miglioramenti personalizzati al software invece di affidarsi esclusivamente alle soluzioni di prodotto di un fornitore closed source.
_Software Libero_ si riferisce allo stesso insieme di progetti di _Open Source_. A volte vedrai anche [questi termini](https://en.wikipedia.org/wiki/Free_and_open-source_software) combinati come "software libero e open source" (FOSS) o "software libero e open source" (FLOSS). _Free_ e _libre_ si riferiscono alla libertà, [non al prezzo](#open-source-significa-gratuito).
### Защо хората отварят кода на работата си?
[Ci sono molte ragioni](https://ben.balter.com/2015/11/23/why-open-source/) per cui un individuo o un'organizzazione vorrebbe rendere open source un progetto. Alcuni esempi includono:
* **Collaborazione:** I progetti open source possono accettare modifiche da chiunque nel mondo. [Exercism](https://github.com/exercism/), ad esempio, è una piattaforma di esercizi di programmazione con oltre 350 contributori.
* **Adozione e remix:** i progetti open source possono essere utilizzati da chiunque per quasi tutti gli scopi. Le persone possono persino usarlo per costruire altre cose. [WordPress](https://github.com/WordPress), ad esempio, è iniziato come fork di un progetto esistente chiamato [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Trasparenza:** chiunque può verificare la presenza di bug o incoerenze in un progetto open source. La trasparenza è importante per governi come la [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) o gli [Stati Uniti](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), settori regolamentati come quello bancario o sanitario e software di sicurezza come [Let's Encrypt](https://github.com/letsencrypt).
L'open source non riguarda solo il software. Puoi aprire qualsiasi cosa, dai set di dati ai libri. Dai un'occhiata a [GitHub Explore](https://github.com/explore) per idee su cos'altro puoi aprire.
### Open source significa "gratuito"?
Uno dei maggiori vantaggi dell'open source è che non costa denaro. Tuttavia, "gratuito" è un sottoprodotto del valore complessivo dell'open source.
Poiché la [licenza open source richiede](https://opensource.org/definition-annotated/) che chiunque sia in grado di utilizzare, modificare e condividere il tuo progetto per quasi tutti gli scopi, i progetti stessi sono generalmente gratuiti. Se l'utilizzo del progetto costa denaro, chiunque può legalmente farne una copia e utilizzare invece la versione gratuita.
Di conseguenza, la maggior parte dei progetti open source sono gratuiti, ma "gratuito" non fa parte della definizione di open source. Esistono modi per far pagare i progetti open source indirettamente attraverso doppia licenza o funzionalità limitate, pur rispettando la definizione ufficiale di open source.
## Dovrei iniziare il mio progetto open source?
La risposta breve è sì, perché indipendentemente dal risultato, avviare il proprio progetto è un ottimo modo per imparare come funziona l'open source.
Se non hai mai aperto un progetto open source prima, potresti essere preoccupato per ciò che la gente dirà o se qualcuno se ne accorgerà. Se suona come te, non sei solo!
Il lavoro open source è come qualsiasi altra attività creativa, che si tratti di scrivere o disegnare. Potresti avere paura di condividere il tuo lavoro con il mondo, ma l'unico modo per migliorare è esercitarsi, anche se non hai un pubblico.
Se non sei ancora convinto, prenditi un momento per pensare a quali potrebbero essere i tuoi obiettivi.
### Stabilisci i tuoi obiettivi
Gli obiettivi possono aiutarti a capire su cosa lavorare, a cosa dire di no e dove hai bisogno dell'aiuto degli altri. Inizia chiedendoti _perché sto utilizzando questo progetto open source?_
Non esiste un'unica risposta corretta a questa domanda. Puoi avere più obiettivi per un progetto o progetti diversi con obiettivi diversi.
Se il tuo unico obiettivo è mettere in mostra il tuo lavoro, potresti non volere nemmeno un contributo e addirittura dirlo nel tuo README. D'altra parte, se desideri contributori, investirai tempo in una documentazione chiara e farai sentire i nuovi arrivati i benvenuti.
Man mano che il tuo progetto cresce, la tua comunità potrebbe aver bisogno di qualcosa di più del semplice codice, da parte tua. Rispondere ai problemi, rivedere il codice ed evangelizzare il tuo progetto sono compiti importanti in un progetto open source.
Anche se la quantità di tempo che dedichi ad attività non di codifica dipenderà dalle dimensioni e dall'ambito del tuo progetto, dovresti essere preparato come manutentore a gestirle da solo o a trovare qualcuno che ti aiuti.
**Se fai parte di un'azienda che offre un progetto open source,** assicurati che il tuo progetto disponga delle risorse interne necessarie per prosperare. Ti consigliamo di determinare chi è responsabile del mantenimento del progetto dopo il lancio e come condividerai tali attività con la tua comunità.
Se hai bisogno di un budget o di personale dedicato per la promozione, le operazioni e la manutenzione del progetto, avvia queste conversazioni in anticipo.
### Contributo ad altri progetti
Se il tuo obiettivo è imparare a collaborare con gli altri o capire come funziona l'open source, valuta la possibilità di contribuire a un progetto esistente. Inizia con un progetto che già usi e che ti piace. Contribuire a un progetto può essere semplice come correggere un errore di battitura o aggiornare la documentazione.
Se non sei sicuro di come iniziare come collaboratore, consulta la nostra [Come contribuire alla guida Open Source](../how-to-contribute/).
## Inizia il tuo progetto open source
Non esiste il momento perfetto per aprire la tua attività. Puoi rendere open source un'idea, in lavorazione o dopo anni di closed source.
In generale, dovresti aprire il tuo progetto quando ti senti a tuo agio con gli altri che visualizzano e forniscono feedback sul tuo lavoro.
Non importa in quale fase decidi di aprire il tuo progetto, ogni progetto deve includere la seguente documentazione:
* [Open source license](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Contributing guidelines](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code of conduct](../code-of-conduct/)
In qualità di sostenitore, questi componenti ti aiuteranno a comunicare le aspettative, a gestire i contributi e a proteggere i diritti legali di tutti (inclusi i tuoi). Aumentano notevolmente le tue possibilità di un'esperienza positiva.
Se il tuo progetto è su GitHub, posizionare questi file nella directory root con i nomi file consigliati aiuterà GitHub a riconoscerli e a mostrarli automaticamente ai tuoi lettori.
### Selezione della licenza
Una licenza open source garantisce che altri possano utilizzare, copiare, modificare e contribuire al tuo progetto senza conseguenze. Ti protegge anche da situazioni legali difficili. **Devi includere una licenza quando avvii un progetto open source.**
Il lavoro legale non è divertente. La buona notizia è che puoi copiare e incollare una licenza esistente nel tuo repository. Ci vorrà solo un minuto per proteggere il tuo duro lavoro.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) e [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) sono le licenze open source più popolari, ma [ci sono altre opzioni](https://choosealicense.com), da qualle scegliere .
Quando crei un nuovo progetto su GitHub, ti viene data la possibilità di scegliere una licenza. Includere una licenza open source renderà il tuo progetto GitHub open source.

Se hai altre domande o dubbi sugli aspetti legali della gestione di un progetto open source, [ti abbiamo coperto](../legal/).
### Scrivi README
I README fanno molto di più che spiegare come utilizzare il tuo progetto. Spiegano anche perché il tuo progetto è importante e cosa possono farci i tuoi utenti.
Nel README, prova a rispondere alle seguenti domande:
* Cosa fa questo progetto?
* Perché è utile questo progetto?
* Come iniziare?
* Dove posso ottenere ulteriore aiuto se ne ho bisogno?
Puoi utilizzare il file README per rispondere ad altre domande, ad esempio come gestisci i contributi, quali sono gli obiettivi del progetto e informazioni su licenza e attribuzione. Se non vuoi accettare contributi o il tuo progetto non è ancora pronto per la produzione, salva queste informazioni.
A volte le persone evitano di scrivere un README perché pensano che il progetto sia incompiuto o non vogliono contributi. Questi sono tutti ottimi motivi per scriverne uno.
Per ulteriore ispirazione, prova a utilizzare [la guida "Crea un README" di @dguo](https://www.makeareadme.com/) o [README nel modello](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) di @PurpleBooth per scrivere un completo README.
Quando includi un file README nella directory root, GitHub lo visualizzerà automaticamente nella home page del repository.
### Scrivi le linee guida per il tuo contributo
Un file CONTRIBUTO indica al tuo pubblico come partecipare al tuo progetto. Ad esempio, puoi includere informazioni su:
* Come inviare una segnalazione di bug (prova a utilizzare [modelli di richiesta problemi e pull](https://github.com/blog/2111-issue-and-pull-request-templates))
* Come proporre una nuova funzionalità
* Come configurare il tuo ambiente ed eseguire i test
Oltre ai dettagli tecnici, il file CONTRIBUTI è un'opportunità per comunicare le vostre aspettative per i contributi, come ad esempio:
* I tipi di contributi che stai cercando
* La tua tabella di marcia o visione per il progetto
* Come i contributori dovrebbero (o non dovrebbero) contattarti
Usare un tono caldo e amichevole e offrire suggerimenti specifici per i contributi (come scrivere documentazione o creare un sito web) può fare molto per far sentire i nuovi arrivati benvenuti ed entusiasti di partecipare.
Per esempio [Active Admin](https://github.com/activeadmin/activeadmin/) inizia [la sua guida ai contributi](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) con:
> Innanzitutto, grazie per aver considerato di contribuire ad Active Admin. Sono le persone come te che rendono Active Admin uno strumento così eccezionale.
Nelle prime fasi del tuo progetto, il tuo file CONTRIBUTO può essere semplice. Dovresti sempre spiegare come segnalare bug o problemi, ed eventuali requisiti tecnici (come i test) per dare un contributo.
Nel tempo, potresti aggiungere altre domande frequenti al tuo file CONTRIBUTING. Annotare queste informazioni significa che meno persone ti faranno sempre le stesse domande.
Per ulteriore assistenza nella scrittura del file CONTRIBUTING, consulta @nayafia [modello guida per la collaborazione](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) o @mozilla ["Come creare CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/).
Collega il tuo file CONTRIBUTE dal tuo README in modo che più persone possano vederlo. Se [posiziona il file CONTRIBUTING nel repository del tuo progetto](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub si collegherà automaticamente al tuo file quando un collaboratore crea un problema o apre una richiesta pull.

### Creazione di un codice di condotta
Infine, un codice di condotta aiuta a definire le regole di base per la condotta dei partecipanti al progetto. Ciò è particolarmente utile se stai avviando un progetto open source per una comunità o un'azienda. Un codice di condotta ti consente di facilitare un comportamento sano e costruttivo nella comunità che ridurrà il tuo stress come sostenitore.
Per ulteriori informazioni, consultare la nostra [Guida al Codice di condotta](../code-of-conduct/).
Oltre a comunicare _come_ ci si aspetta che i partecipanti si comportino, un codice di condotta tende anche a descrivere a chi si applicano tali aspettative, quando si applicano e cosa fare se si verifica una violazione.
Come per le licenze open source, esistono standard emergenti per i codici di condotta, quindi non è necessario scriverne uno proprio. Il [Contributor Covenant](https://contributor-covenant.org/) è un codice di condotta utilizzato da [oltre 40.000 progetti open source](https://www.contributor-covenant.org/adopters), incluso Kubernetes, Rails e Swift. Indipendentemente dal testo che utilizzi, devi essere pronto a far rispettare il tuo codice di condotta quando necessario.
Incolla il testo direttamente in un file CODE_OF_CONDUCT nel tuo repository. Archivia il file nella directory principale del tuo progetto in modo che sia facile da trovare e collegalo dal tuo file README.
## Assegna un nome e un marchio al tuo progetto
Il branding è più di un logo appariscente o di un nome di progetto accattivante. Riguarda il modo in cui parli del tuo progetto e chi raggiungi con il tuo messaggio.
### Scegliere il nome giusto
Scegli un nome che sia facile da ricordare e che, idealmente, dia un'idea di ciò che fa il progetto. Per esempio:
* [Sentry](https://github.com/getsentry/sentry) monitora le applicazioni di segnalazione degli arresti anomali
* [Thin](https://github.com/macournoyer/thin) è un server web Ruby facile e veloce
Se stai sviluppando un progetto esistente, usare il loro nome come prefisso può aiutarti a chiarire cosa fa il tuo progetto (ad esempio [node-fetch](https://github.com/bitinn/node-fetch) porta `window.fetch` a Node.js).
Pensa prima alla chiarezza. I giochi di parole sono divertenti, ma ricorda che alcune battute potrebbero non essere applicabili ad altre culture o persone con esperienze diverse dalle tue. Alcuni dei tuoi potenziali utenti potrebbero essere dipendenti dell'azienda: non vuoi farli sentire a disagio quando devono spiegare il tuo progetto al lavoro!
### Evitare conflitti di nomi
[Verifica la presenza di progetti open source con nomi simili](https://ivatomic.com/), soprattutto se condividi la stessa lingua o ecosistema. Se il tuo nome si sovrappone a un popolare progetto esistente, potresti confondere il tuo pubblico.
Se desideri che un sito web, un account Twitter o altre proprietà rappresentino il tuo progetto, assicurati di poter ottenere i nomi che desideri. Idealmente, [salva questi nomi adesso](https://instantdomainsearch.com/) per la massima tranquillità, anche se non intendi ancora utilizzarli.
Assicurati che il nome del tuo progetto non violi alcun marchio. Un'azienda potrebbe chiederti di rimuovere il tuo progetto in un secondo momento o addirittura intraprendere un'azione legale contro di te. Non vale la pena rischiare.
Puoi controllare il [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) per eventuali conflitti tra marchi. Se lavori in un'azienda, questa è una delle cose in cui il tuo [team legale può aiutarti](../legal/).
Infine, esegui una rapida ricerca su Google per il nome del tuo progetto. Le persone riusciranno a trovare facilmente il tuo progetto? C'è qualcos'altro che appare nei risultati di ricerca che non vuoi che venga visualizzato?
### Anche il modo in cui scrivi (e codifichi) influisce sul tuo marchio!
Nel corso della vita del tuo progetto, scriverai molto: README, tutorial, documenti della community, risposte a problemi, forse anche newsletter e mailing list.
Che si tratti di documentazione formale o di un'e-mail informale, il tuo stile di scrittura fa parte del marchio del tuo progetto. Pensa a come potresti percepire il tuo pubblico e se questo è il tono che vuoi trasmettere.
Usare un linguaggio caldo e inclusivo (come "loro" anche quando si riferisce a una sola persona) può fare molto per far sì che il tuo progetto si senta accogliente per i nuovi contributori. Attieniti a un linguaggio semplice poiché molti dei tuoi lettori potrebbero non essere di madrelingua inglese.
Oltre al modo in cui digiti le parole, anche il tuo stile di codifica può diventare parte del marchio del tuo progetto. [Angular](https://angular.io/guide/styleguide) e [jQuery](https://contribute.jquery.org/style-guide/js/) sono due esempi di progetti con stili e linee guida di codifica rigorosi.
Non è necessario scrivere una guida di stile per il tuo progetto quando hai appena iniziato e potresti scoprire che ti diverti comunque a incorporare diversi stili di codifica nel tuo progetto. Ma devi prevedere in che modo il tuo stile di scrittura e programmazione potrebbe attrarre o scoraggiare diversi tipi di persone. Le prime fasi del tuo progetto sono la tua opportunità per creare il precedente che desideri vedere.
## La tua lista di controllo pre-lancio
Pronto per aprire il tuo progetto? Ecco una lista di controllo per aiutarti. Seleziona tutte le caselle? Sei pronto per andare! [Fai clic su "pubblica"](https://help.github.com/articles/making-a-private-repository-public/) e datti una pacca sulla spalla.
**Documentazione**
## コントリビュートする方法
あなたは好きなプロジェクトを見つけ、コントリビュートをする準備ができています。ついに!次にあなたのコントリビュートを効果的に行う方法を紹介します。
### 効果的にコミュニケーションする
あなたが一度きりのコントリビューターであろうとコミュニティに参加しようとしているのであろうと、他の人と働くことはオープンソースで獲得するスキルの中で最も大事なものの一つです。
イシューやプルリクエストをオープンする前に、あなたのアイデアが効果的に扱われる助けのために、これらのことを心にとどめておきましょう。
**コンテキストを与えましょう。** 他の人がすぐに把握する手助けをしましょう。もしあなたがエラーに遭遇しているのであれば、あなたが何をしようとしていて、どうやって再現させるのかを説明しましょう。もしあなたが新しいアイデアを提案しているのであれば、なぜそれがプロジェクトにとって(あなたにとってだけではなく!)便利だと思うのかを説明しましょう。
> 😇 _"Yを行った時にXが起きません"_
>
> 😢 _"Xが壊れています!直して下さい。"_
**まずは自分の手を動かしましょう。** 何かを知らないのは問題ないのですが、トライしたことは示しましょう。助けを求める前に、プロジェクトの README やドキュメント、イシュー(オープンなものもクローズされたものも)、メーリングリストや答えをインターネットで探したか確認しましょう。人々はあなたが学ぼうとしていることを示せば、それを評価してくれるでしょう。
> 😇 _"私は X を実装するやり方がわかりません。ヘルプドキュメントを見たのですが、それについての言及を見つけることができませんでした。"_
>
> 😢 _"わたしはどうやったら X ができますか?"_
**要求は短く直接的にしましょう。** メールを送るのと同じように、それぞれのコントリビュートは、それがいくらシンプルで役に立つものであっても、他の誰かのレビューを必要とします。多くのプロジェクトでは、人々が助けられる以上の数の要求が来ています。簡潔にしましょう。そうすれば、誰かが助けてくれるチャンスを増やすことができるでしょう。
> 😇 _" API チュートリアルを書こうと思っています。"_
>
> 😢 _"私は先日高速道路を走っていて、給油のため止まりました。すると、我々がやるべき素晴らしいアイデアが思い浮かんだのです。しかし、それを説明する前に・・・"_
**全てのコミュニケーションを公開の場でしましょう。** いくらやりたくなったとしても、機密情報(セキュリティイシューや重大な行動指針違反など)を共有するのでもない限り、メンテナーに非公開に接触するのはやめましょう。会話を公開の場で行い続ければ、あなたの会話からより多くの人が学び、利益を得ることができます。会話することはそれ自体がコントリビュートとなりうるのです。
> 😇 _(コメントで) "@メンテナー こんにちは!このプルリクエストはどうやって進めたら良いですか?"_
>
> 😢 _(メールで) "こんにちは、メールを送ってすみませんが、私のプルリクエストをレビューしていただけないかと思いまして。"_
**質問をするのは問題ありません(ただし、辛抱強く!)** 誰しもがある時点ではそのプロジェクトに慣れていなく、経験のあるコントリビューターでさえ新しいプロジェクトを見るときは最新情報が必要となります。同様に、古くからのメンテナーでさえ常にそのプロジェクトのあらゆる部分に詳しいわけではありません。あなたが彼らに望むような辛抱強さをあなたも彼らに対して示しましょう。
> 😇 _"このエラーについて調べてくれてありがとうございます。あなたの提案に従ってみました。こちらがその出力です。"_
>
> 😢 _"なぜ私の問題を解決できないのでしょう?これはあなたのプロジェクトじゃないんですか?"_
**コミュニティの決定を尊重しましょう。** あなたのアイデアはコミュニティの優先事項やビジョンとは異なっているかもしれません。彼らはフィードバックを提供したり、あなたのアイデアを採用しないと決定するかもしれません。あなたは議論したり妥協点を見出したりするべきですが、メンテナーはあなたよりも長い期間あなたのアイデアと付き合っていく必要があるのです。もしあなたが彼らの方向性に賛成出来ないのなら、あなたはいつでもあなた自身のフォークやあなた自身のプロジェクトを始めることができるのです。
> 😇 _"あなたが私のユースケースを支持できないのは残念ですが、あなたが説明してくれたようにそれはユーザーのうちの一部にしか影響しませんし、私も理由を理解できます。意見を聞いてくださりありがとうございます。"_
>
> 😢 _"なぜあなたは私のユースケースを支持しないのですか?これは受け入れられません!"_
**なにより常にポジティブでいましょう。** オープンソースは世界中のコラボレータによって成り立っています。言語や文化、地理、タイムゾーンをまたぐことでコンテキストが失われてしまいます。加えて、テキストコミュニケーションでは調子や雰囲気を伝えるのが難しいです。これらの会話では相手は前向きであると仮定しましょう。丁寧にアイデアを先送りしたり、さらなるコンテキストを聞いたり、あなたのポジションを更に明確にするのは良いことです。インターネットがあなたが見つけたときよりもよりよい場所であるように心がけましょう。
### コンテキストを集める
何かをする前に、あなたのアイデアが他の場所で既に議論されていないか確かめましょう。そのプロジェクトの README やイシュー(オープンなものもクローズされたものも)、メーリングリストやスタックオーバーフローにざっと目を通しましょう。全てに目を通すのに何時間もかける必要はありませんが、いくつかのキーワードで検索するので十分です。
もしあなたのアイデアが他で見つけられないのであれば、動き出す準備ができたことになります。そのプロジェクトが GitHub 上にあるのであれば、あなたはおそらくイシューやプルリクエストをオープンすることでコミュニケーションするでしょう。
* **イシュー** は会話や議論を始めるようなものです
* **プルリクエスト** は解決に向けて仕事を始めることです
* 確認や方法を聞く質問のような、**軽いコミュニケーションには** 、もしそのプロジェクトが使っているのであれば、スタックオーバーフロー、 IRC 、 Slack や他のチャットで質問してみましょう。
イシューやプルリクエストをオープンする前に、そのプロジェクトのコントリビュートの方法についてのドキュメント(大抵は CONTRIBUTING と呼ばれるファイルや README の中にあります)を確認し、なにか特定の情報を含める必要があるか確かめましょう。例えば、あなたはテンプレートを使ったり、テストを実行する必要があるかもしれません。
もしあなたが大きなコントリビュートをしたいのであれば、その仕事に取り掛かる前にイシューをオープンしましょう。受け入れられないかもしれない仕事に取り掛かる前に、暫くの間そのプロジェクトをウォッチし( GitHub では、 ["Watch" をクリックすることで](https://help.github.com/articles/watching-repositories/) 全ての会話の通知を受け取ることができます)、コミュニティメンバーを知ることは役に立つでしょう。
### イシューをオープンする
下記のような状況では大抵イシューをオープンすべきです:
* あなただけで解決できないエラーの報告
* 高レベルなトピックやアイデア(例えば、コミュニティやビジョンや方針)についての議論
* 新しい機能や他のプロジェクトへのアイデアの提案
イシュー上でのコミュニケーションのコツ:
* **あなたが取り組みたいオープンイシューを見つけたら、** そのイシュー上であなたがそれに取り掛かる事を人々に知らせるためにコメントしましょう。そうすることで、あなたの仕事と重複する可能性が減ります。
* **イシューがしばらく前にオープンされたのであれば、** それは他の場所で取り組まれていたり、既に解決されている可能性があります。なので、仕事に取り掛かる前に確認するコメントをしましょう。
* **もしあなたがイシューをオープンしたのに、あとになって自分で解決策を見つけたのであれば、** そのイシューで人々に知らせるためにコメントしましょう。そして、イシューをクローズしましょう。成果をドキュメントにするだけでもそのプロジェクトに対するコントリビュートとなります。
### プルリクエストをオープンする
下記のような状況では大抵プルリクエストをオープンすべきです:
* 明確な修正(例えばタイポや壊れたリンクや明らかなエラー)の提出
* 既に要求されているコントリビュートや既にイシュー上で議論された仕事を始める際
プルリクエストでは、仕事が完了している必要はありません。大抵の場合、早い段階でプルリクエストを開き、他の人があなたの進捗を確認したり、フィードバックを与えられるようにしたほうが望ましいです。タイトルに "WIP" (Work in Progress) とつけましょう。いつでもさらなるコミットを追加できます。
そのプロジェクトが GitHub 上にあるのであれば、下記がプルリクエストを提出する方法です:
* **[リポジトリをフォークし](https://guides.github.com/activities/forking/)** ローカルにクローンしましょう。あなたのローカルと元の "upstream" リポジトリを remote として追加することで紐づけましょう。 "upstream" からの変更を頻繁にプルすることで、プルリクエストを提出する時にマージコンフリクトが起きづらくなるように、最新に追いついているようにしましょう。(より詳細な手順は[こちら](https://help.github.com/articles/syncing-a-fork/)を確認して下さい)。
* あなたの変更のための**[ブランチを切りましょう](https://guides.github.com/introduction/flow/)**。
* プルリクエストの中で**あらゆる関連するイシュー** や関連するドキュメントを参照しましょう (例えば、 "Closes #37." のように)。
* もしあなたが HTML/CSS を変更するのであれば、**前後のスクリーンショットを含めましょう**。あなたのプルリクエストの本文に画像をドラッグアンドドロップしましょう。
* **あなたの変更をテストしましょう!** もし既存のテストがあるのであれば、あなたの変更に対してそのテストを実行したり、必要であれば新しいテストを作りましょう。既存のテストの有無にかかわらず、あなたの変更が既存のプロジェクトを壊さないことを確かめましょう。
* できる限り**そのプロジェクトのスタイルに従ってコントリビュートしましょう**。これによってインデントやセミコロン、コメントがあなた自身のリポジトリの使い方とは異なるかもしれないということを意味します。しかし、メンテナーがマージしやすくしたり、他の人が理解して将来もメンテナンスしやすいようにしましょう。
もしこれがあなたの初めてのプルリクエストであれば、 [Make a Pull Request](http://makeapullrequest.com/) という、 @kentcdodds が作成したビデオチュートリアルを確認しましょう。また、プルリクエストを作る練習を [First Contributions](https://github.com/Roshanjossey/first-contributions) という、 @Roshanjossey によって作成されたリポジトリで行うこともできます。
## コントリビュートを提出した後に起こること
やりました!おめでとう、あなたはオープンソースコントリビューターになりました。これからも多数のコントリビュートを行う第一歩になることを願っています。
コントリビュートを提出した後、下記のうちのどれかが起きるでしょう:
### 😭 返事をもらえない
あなたはコントリビュートを行う前に、[そのプロジェクトの活動の様子を調べていると思います](#コントリビュートする前のチェックリスト)。しかしながら、アクティブなプロジェクトだったとしても、あなたのコントリビュートに対して返事が無いことがおき得ます。
一週間以上返事がないようであれば、同じスレッドにて、誰かにレビューを丁寧にお願いするのは妥当でしょう。あなたのコントリビュートをレビューするのに適切な人の名前を知っているのであれば、そのスレッドにて@メンションを使うことができます。
その人に非公開の場で接触するのは**やめましょう**。オープンソースプロジェクトにとって、公開の場でコミュニケーションすることは必要不可欠であるということを思い出しましょう。
もしあなたが丁寧につついてもまだ誰も反応しないのであれば、ずっと誰も反応しない可能性があります。良い気分ではないでしょうが、落胆しないようにしましょう。それは誰に対しても起こることなのです!返事をもらえない理由はたくさんあり、それにはあなたがコントロールできない個人的な状況も含まれます。他のプロジェクトや他のコントリビュートの方法を探しましょう。いずれにしても、他のコミュニティメンバーが携わってくれて反応してくれるようになる前にコントリビュートをするのに大きな時間を投資しないほうが良いのです。
### 🚧 あなたのコントリビュートに対して変更を要求する人がいる
あなたのコントリビュートに対して変更を要求されるのはよくあることです。その要求はあなたのアイデア自体に対してのフィードバックであることもあれば、コードに対する変更であることもあります。
変更を要求する人が居たら、すぐに返事をしましょう。彼らはあなたのコントリビュートに対して時間をとってレビューしてくれたのです。プルリクエストを開いて居なくなってしまうのは良くないやり方です。もしあなたが変更の仕方を知らないのであれば、その問題を調査し、必要であれば助けを求めましょう。
もしあなたがその問題に対してそれ以上の時間をかけることができない(例えばその会話が何ヶ月にも渡り、あなたの状況が変わったなど)場合は、メンテナーにそれを伝え、返答ができない旨を伝えましょう。他の誰かが喜んで引き継いでくれるはずです。
### 👎 あなたのコントリビュートが受け入れられない
あなたのコントリビュートは最終的に受け入れられるかもしれないし、受け入れられないかもしれません。既に多大なコストを払っていないとよいのですが。もしなぜ受け入れられないかわからないのであれば、メンテナーにフィードバックや確認をするのは全くもって理にかなっています。しかし、究極的にはそれが彼らの決定であると尊重する必要があるでしょう。異議を唱えたり、敵意を示さないようにしましょう。もし彼らに賛成出来ないのであれば、あなたはいつでもフォークしてあなた自身のプロジェクトを始めることができるのです。
### 🎉 あなたのコントリビュートが受け入れられた
バンザイ!あなたは無事にオープンソースにコントリビュートできました!
## やりました!
初めてのオープンソースへのコントリビュートをしたのであれ、他のコントリビュートの方法を探しているのであれ、あなたがなにか行動を起こそうという気持ちになっていたら嬉しいです。たとえあなたのコントリビュートが受け入れられなかったとしても、メンテナーがあなたを助けるために労力を割いてくれたことに対して感謝を伝えるのを忘れないようにしましょう。オープンソースはあなたのような、イシュー、プルリクエスト、コメントや挨拶をするような、人々で成り立っているのです。
================================================
FILE: _articles/ja/index.html
================================================
---
layout: index
title: オープンソースガイドライン
lang: ja
permalink: /ja/
---
================================================
FILE: _articles/ja/leadership-and-governance.md
================================================
---
lang: ja
title: リーダーシップと組織運営
description: 意思決定するためのルールを決めることで、オープンソースプロジェクトを成長させる助けとなります。
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## 成長中のプロジェクトの運営方法を理解しよう
あなたのプロジェクトは成長しており、人々が携わっていて、あなたは物事がこのまま進むように維持することに熱心でしょう。この段階では、あなたはどのようにして通常のコントリビューターをワークフローに組み込むのが良いか悩んでいるかもしれません。誰かにコミット権限を与えるかどうかであったり、コミュニティの議論をどのように収集させるのかであったり。もしこういった疑問があるのであれば、私達は答えを知っています。
## オープンソースプロジェクトで使われる公式の役割の例はなんですか?
多くのプロジェクトでは、コントリビューターの役割は似たようなものを使っています。
しかし、こういった役割が実際の所何を意味するのかは、完全にあなた次第です。下記にあなたが知っているであろう役割を挙げます:
* **メンテナー**
* **コントリビューター**
* **コミッター**
**幾つかのプロジェクトでは、「メンテナー」は** コミット権限を持っている唯一の人です。他のプロジェクトでは、単に README にメンテナーとして記載されている人であることもあります。
メンテナーはプロジェクトでコードを書いている人である必要はありません。プロジェクトの布教を熱心に行っている人でも良いですし、多くのドキュメントを書くことで他の人がプロジェクトにアクセスしやすくしている人でも良いのです。日常的に何をやっているのかにかかわらず、メンテナーはプロジェクトの方向性に責任を持っていると感じていて、またプロジェクトを改善するのに熱心である人でしょう。
**「コントリビューター」は誰でもなり得ます。** それは、イシューやプルリクエストにコメントを書いている人かもしれないし、プロジェクトに価値を与える(イシューを選別する、コードを書く、イベントを運営するなど)人かもしれないし、プルリクエストをマージしてもらった人(おそらくこれが最も狭義のコントリビューターの定義です)かもしれません。
**「コミッター」という言葉は** コミットアクセスという特定の種類の責務を、他の種類のコントリビュートと区別するために使われるでしょう。
あなたの好きなようにプロジェクトの役割を定義できますが、より多くの種類のコントリビュートを奨励するためにより[広い定義を検討しましょう](../how-to-contribute/#コントリビュートするということが意味するもの)。プロジェクトに多大なコントリビュートをしている人に対しては、その人の技術スキルがどうであれ、その人のコントリビュートを公式に認めるために、リーダーの役割を使うことができます。
## どのようにしてリーダーシップの役割を明確にするか?
リーダーシップの役割を明確にすることで、人々に責任を持たせ、他のコミュニティメンバーが助けが必要な時に誰に聞くべきかが明確になります。
小さいプロジェクトでは、リーダーを任命することは単に README や CONTRIBUTORS ファイルに名前を追加するだけで済むこともあります。
大きなプロジェクトでは、ウェブサイトを持っているのであれば、チームページやプロジェクトリーダーのリストのページを作りましょう。例えば、 [Postgres](https://github.com/postgres/postgres/) では [チームのリストページ](https://www.postgresql.org/community/contributors/) に各コントリビューターの短いプロフィールを記載しています。
もしあなたのプロジェクトのコントリビューターが非常に活発なのであれば、メンテナーの「コアチーム」を作ったり、異なる問題領域ごと(例えば、セキュリティ、イシューの選別、コミュニティ運営)に責任を持つ分科会を持っているかもしれません。あなたが指名するのではなく、人々が自分の興味のある領域の役割に自律的にボランティアしてくれるように任せましょう。
リーダーシップチームは( IRC のような)専用のチャンネルを作りたいと思ったり、プロジェクトについて定期的に議論するために( Gitter 上や Google Hangout 上で)集まりたいと思うかもしれません。こういったミーティングでさえも公にする事で、他の人も議論を聞けるようにしましょう。例えば、 [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby) では、 [毎週オフィスアワーを設けています](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs)。
一度リーダーシップの役割を確立したなら、どのようにして彼らにコンタクトを取れるかドキュメントにまとめることを忘れないようにしましょう。メンテナーにどのようにしたらなれるかであったりどのように分科会に参加するのかのプロセスを明確に確立し、 GOVERNANCE.md ファイルにそれを記載しましょう。
[Vossibility](https://github.com/icecrime/vossibility-stack) のようなツールは、プロジェクトに対するコントリビュートを誰がやっているのか(やっていないのか)を公にトラッキングするのに役立ちます。こういった情報をドキュメント化することで、メンテナーは非公開の場で意思決定を行う派閥を作っているとコミュニティから認識されることを避けることができます。
最後に、プロジェクトが GitHub 上にあるのであれば、プロジェクトを個人アカウントから Organization に移し、少なくとも一人の管理者をバックアップとして追加することを検討しましょう。 [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) を使うことで、権限や複数のリポジトリを管理し、[所有権を共有することで](../building-community/#プロジェクトの所有権を共有しよう)プロジェクトの資産を守ることがやりやすくなります。
## いつ他の人にコミット権限を与えるべきだろうか?
コントリビュートをするすべての人にコミット権限を与えるべきだと考える人もいます。そうすることで、より多くの人にプロジェクトに対して責任を感じてもらうことができます。
その一方で、大きく複雑なプロジェクトでは、プロジェクトに対して熱心に献身している人のみにコミット権限を与えたいと思うかもしれません。唯一の正解はありません - あなたが最も良いと思うことをやりましょう。
もしプロジェクトが GitHub 上にあるのであれば、 [protected branches](https://help.github.com/articles/about-protected-branches/) を使うことで、どういった状況で誰が特定のブランチに push できるのかを管理することができます。
## オープンソースプロジェクトによくある運営方法はどのようなものでしょうか?
オープンソースプロジェクトに関連して、3つのよく使われる運営方法があります。
* **BDFL:** BDFL は "Benevolent Dictator for Life(優しい終身の独裁者)" の略です。これは、一人の人間(大抵はプロジェクトを立ち上げた人)が、全てのプロジェクトの大きな決断に最終承認を出すやり方です。 [Python](https://github.com/python) は、古くからある例です。小さなプロジェクトではおそらく初めから BDFL を採用しているでしょう。なぜなら、メンテナーが一人か二人しかいないからです。企業が始めたプロジェクトも BDFL のカテゴリーに入るでしょう。
* **業績主義:** **(メモ: "業績主義"という言葉は、コミュニティによっては否定的な意味を持つかもしれなく、[複雑な社会的、政治的歴史](http://geekfeminism.wikia.com/wiki/Meritocracy)があります。)** 業績主義のもとでは、活動的なプロジェクトコントリビューター(「業績」を出した人)が、公式の意思決定の役割を与えられます。意思決定はたいてい投票によって行われます。業績主義のコンセプトは [Apache Foundation](https://www.apache.org/) が先鞭をつけました; [全ての Apache プロジェクト](https://www.apache.org/index.html#projects-list)は業績主義で運営されています。コントリビュートは、全て企業ではなく代表する個人によってのみ行われます。
* **自由主義的なコントリビュート:** 自由主義的なコントリビュートモデルでは、最も働いている人が最も影響力があると認められますが、これはこれまでのコントリビュートではなく現時点での仕事に基づきます。プロジェクトでの大きな意思決定は、純粋な投票ではなく合意の模索プロセス(大きな不満点について議論する)によって行われます。そして、可能な限りコミュニティ内の多くの知見を集めようと努力します。自由主義的なコントリビュートモデルを採用している有名なプロジェクトの例としては、 [Node.js](https://foundation.nodejs.org/) や [Rust](https://www.rust-lang.org/) があります。
どのモデルを使うべきでしょうか?それはあなた次第です!それぞれのモデルには利点と欠点があります。そして、はじめはこれらのモデルは全く異なるように見えるかもしれませんが、見かけ以上にこれらのモデルは共通点が多いのです。もしこれらのモデルのうちの1つを採用することに興味があるのであれば、これらのテンプレートを確認してみましょう:
* [BDFL モデルテンプレート](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [業績主義モデルテンプレート](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js の自由主義的コントリビュートポリシー](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## プロジェクトを立ち上げる時に、運営ドキュメントは必要でしょうか?
プロジェクトの運営についてドキュメントを書くのに適切なタイミングはありませんが、コミュニティの力学が明らかになってから定義するほうがずっと簡単です。オープンソース運営における最善の(そして最も大変な)点は、コミュニティによって形作られているということです!
しかしながら、初期段階でドキュメントを書くことでは必ずプロジェクト運営に寄与するでしょう。なので、書けるものから書き始めましょう。例えば、どういった行動を期待するかを明確に定義したり、コントリビューターのプロセスはどうなっているかといったものを、プロジェクトの立ち上げ時点に書きましょう。
もしあなたがオープンソースプロジェクトを立ち上げようとしている企業に所属しているのであれば、立ち上げの前にプロジェクトを進めるにあたって何をコミュニティに期待し、どのように意思決定するのかを内部で議論しておくことは価値のあることです。特に、あなたの企業がプロジェクトにどのように関わるか(もしくはかかわらないか)に関して公に説明しておきたいと思うかもしれません。
## 企業の従業員がコントリビュートを提出したら何が起きますか?
成功したオープンソースプロジェクトは多くの人々や企業によって使われるようになります。そして、幾つかの企業では、プロジェクトが最終的な収益への流れに結びつくことになるかもしれません。例えば、プロジェクトのコードを商用のサービスの一部として使っているかもしれません。
プロジェクトが広く使われるようになるほど、そのプロジェクトに習熟した人たちの需要が高まります - あなた自身もそうかもしれません!そして、プロジェクトでやっている仕事で採用されることも時にはあるでしょう。
企業の活動も、普通の活動と同じであり、1つの開発リソースの源であると捉えることは重要です。当然、給与をもらって開発している人を特別扱いすべきではありません; それぞれのコントリビュートは技術的な功績によって評価されるべきです。しかしながら、企業活動に従事する事を苦痛に感じるべきではありませんし、特定の改善や機能について議論するときにはユースケースを主張することにも苦痛を感じるべきではありません。
「商用利用」は、「オープンソース」とは完全に両立可能です。「商用利用」は単にどこかでお金が絡んでいることを意味するに過ぎません - それはソフトウェアが商取引で使われているということで、プロジェクトが多く採用されるにつれてその可能性は増していきます。(オープンソースソフトウェアがオープンソースではない製品の一部として使われる時、プロダクト全体はそれでも「プロプライエタリ」ソフトウェアですが、オープンソースのように商用も非商用のどちらでも利用可能です。)
他の皆と同様に、お金を支払われて開発を行っている人もプロジェクト内の影響力を得るのは、コントリビュートの質や量によってです。明らかに、お金を支払われている開発者は支払われていない開発者よりも多くのことをできますが、それで良いのです:お金を得ているかどうかは、その人がどのくらいコントリビュートするかに影響を与える要素が多くある中の1つでしかありません。プロジェクト内の議論では、コントリビュートを行う上での外部要因ではなく、コントリビュート自体に集中し続けましょう。
## プロジェクトを運営するのに法人は必要ですか?
お金を扱うのでなければ、オープンソースプロジェクトの運営に法人は必要ありません。
例えば、商用ビジネスを立ち上げたいのであれば、(もし US で行うのであれば) C 株式会社や有限会社の立ち上げを考えているでしょう。あなたがオープンソースプロジェクトに関連した請負作業を行うだけであれば、あなたが単独で報酬を受け取るか、もしくは( US で行うのであれば) LLC を設立することもできます。
あなたのオープンソースプロジェクトで寄付を受け取りたいのであれば、(例えば PayPal や Stripe を使うことで)寄付ボタンを設置することができます。ただし、非営利団体( US の場合は 501c3 )でない場合は課税控除の対象にはなりません。
多くのプロジェクトでは非営利団体を設立するという面倒を避けるために、代わりに非営利の財政スポンサーを見つけています。財政スポンサーは、寄付額の一定の割合を受け取ることと引き換えにあなたの代わりに寄付を受け取ります。 [Software Freedom Conservancy](https://sfconservancy.org/) や [Apache Foundation](https://www.apache.org/) 、 [Eclipse Foundation](https://www.eclipse.org/org/) 、 [Linux Foundation](https://www.linuxfoundation.org/projects) 、 [Open Collective](https://opencollective.com/opensource) は、オープンソースプロジェクトの財政スポンサーとして活動している団体の例です。
もしあなたのプロジェクトが特定の言語やエコシステムと密接に関係しているのであれば、連携できるソフトウェア財団もあるかもしれません。例えば、 [Python Software Foundation](https://www.python.org/psf/) は [PyPI](https://pypi.org/) という Python のパッケージマネジャーをサポートしていますし、 [Node.js Foundation](https://foundation.nodejs.org/) は [Express.js](https://expressjs.com/) という Node ベースのフレームワークをサポートしています。
================================================
FILE: _articles/ja/legal.md
================================================
---
lang: ja
title: オープンソースの法的側面
description: オープンソースの法的側面についてあなたが疑問に思うだろうことや、思いもしないだろうことについて。
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## オープンソースの法的意味を理解しよう
あなたの創造的な仕事を世界に共有することは、とても興奮することであり報われる経験になり得ます。しかし、それは懸念する必要があることをそもそも知らなかったような、多くの法的な事柄が必要になるということでもあるのです。ありがたいことに、あなたはゼロから始める必要はありません。あなたが必要な法的知識をここにまとめました。(読み進める前に、[免責事項](/notices/)をお読みください。)
## なぜオープンソースの法的な側面を気にするんですか?
よくぞ聞いてくれました!何か作品(文書、グラフィックス、コードなど)を創作するときには、その作品はデフォルトで排他的な著作権によって守られます。つまり、あなたは作品の作者として、他の人があなたの作品についてやって良いことについて意見があるということを法律は想定しています。
この事は、一般的にはあなたの作品を使ったり、コピーしたり、配布したり、修正することは、取り下げや捜査、訴訟のリスクが発生することを意味します。
しかし、オープンソースでは他の人が使って、修正して、それを共有することを推奨しており、通常とは異なる状況です。しかし、法的にはデフォルトで排他的な著作権で守られており、他の人に許可する事項を明確にライセンスで宣言する必要があります。
もしオープンソースライセンスを適用しないと、プロジェクトにコントリビュートする全員が、彼らの作業についての排他的な著作権を持つことになります。つまり、彼らのコントリビュートに関しては他の誰もそれを使ったり、コピーしたり、配布したり、変更することができません。そして、あなたもそれに含まれます。
最後に、あなたのプロジェクトの依存関係の中には、あなたが気付いていないような要求をするライセンスのものがあるかもしれません。プロジェクトのコミュニティや雇用主の方針によって、あなたのプロジェクトで特定のオープンソースライセンスを使うよう要求されることもあるかもしれません。これらの状況については、後述します。
## パブリックな GitHub プロジェクトはオープンソースですか?
GitHub 上で[新しいプロジェクトを作る](https://help.github.com/articles/creating-a-new-repository/)際、リポジトリをパブリックにするかプライベートにするか、2 つの選択肢があります。

**GitHub 上のプロジェクトをパブリックにするということと、プロジェクトにライセンスを設定することは同じではありません。** パブリックプロジェクトは [GitHub の Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants) によって保護されます。これによって、他の人があなたのプロジェクトを見たりフォークすることを許可します。しかし、それ以外の点については許可していません。
もし、他に人に対してプロジェクトの利用、配布、変更、コントリビュートをしてもらいたいと思うのであれば、オープンソースライセンスをプロジェクトに含める必要があります。たとえあなたのプロジェクトがパブリックだったとしても、もしあなたがプロジェクトのソースコードを他のプロジェクトで使って良いと明記しない限りは、他の人はそのプロジェクトのコードのどの部分も合法的に使うことができません。
## 私のプロジェクトを守るのに必要な概要だけを教えてください。
あなたはラッキーです。なぜなら、今日ではオープンソースライセンスは標準化されていて、簡単に使うことができます。既存のライセンスを直接プロジェクトにコピーペーストすることが可能です。
[MIT](https://choosealicense.com/licenses/mit/) や [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) 、 [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) は最も有名なオープンソースライセンスです。しかし、他の選択肢もあります。 [choosealicense.com](https://choosealicense.com/) では、そういったライセンスの全文と使い方の手順を確認することができます。
GitHub で新しいプロジェクトを作るときには、[ライセンスを追加するよう聞かれます](https://help.github.com/articles/open-source-licensing/)。
## 私のプロジェクトに適切なオープンソースライセンスはどれでしょう?
もし白紙からプロジェクトを始めるのであれば、 [MIT ライセンス](https://choosealicense.com/licenses/mit/)を使えば失敗することはないでしょう。短くて、理解しやすく、あなたの著作権表示を含むライセンスのコピーを維持し続ける限りは誰が何をやっても良いというライセンスです。必要であれば、別のライセンスを使ってプロジェクトをリリースすることもできます。
それ以外のケースでは、どれが適切なオープンソースライセンスかは目的によって異なります。
あなたのプロジェクトには **依存関係** があるはずです(もしくは今後必要になるでしょう)。例えば、オープンソースで Node.js のプロジェクトに取り掛かっているのであれば、 Node Package Manager (npm) を使ってライブラリを使っていることでしょう。あなたのプロジェクトで使っているこれらのライブラリはそれぞれのオープンソースライセンスを持っています。これらのライセンスが「寛容」(ライブラリを利用するプロジェクトのライセンスに条件をつけることなく、誰でも利用、修正、共有が可能)であれば、どういったライセンスのものでも使うことができます。よく使われる寛容なライセンスには、 MIT 、 Apache 2.0 、 ISC 、 BSD といったものがあります。
その一方で、もし依存するライブラリの中に「強いコピーレフト」(寛容なライセンス同様、誰でも利用してよいが、その条件としてライブラリを利用するプロジェクトも同じライセンスである必要がある)の場合、あなたのプロジェクトでも同じライセンスを使う必要が出るでしょう。よく使われる強いコピーレフトのライセンスには、 GPLv2 、 GPLv3 、 AGPLv3 といったものがあります。
また、 **コミュニティ** にあなたのプロジェクトを使ってもらったり、コントリビュートしてもらいたいとも思うでしょう:
* **他のプロジェクトから依存関係として使われるのを望みますか?** おそらく、関連するコミュニティで最も多く使われているライセンスを使うのが一番でしょう。例えば、 [MIT](https://choosealicense.com/licenses/mit/) は [npm ライブラリ](https://libraries.io/search?platforms=NPM)で最もよく使われています。
* **大企業に使ってもらいたいと思っていますか?** 大企業は全てのコントリビューターから特許ライセンスを望む傾向があります。この場合、 [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) があなた(と大企業も)をカバーします。
* **クローズドなソフトウェアではコントリビュートを使ってほしくないと思っているコントリビューターにもアピールしたいですか?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) か(もしクローズドなサービスにも使われたくないと思っているのであれば) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) が適しています。
あなたの勤める **企業** が、オープンソースプロジェクトには特定のライセンスを使うよう要求するかもしれません。例えば、企業のクローズドな製品であなたのプロジェクトを使えるよう、寛容なライセンスを要求するかもしれません。もしくは、あなたの企業だけがあなたのプロジェクトをクローズドなソフトウェアで使えるように、強いコピーレフトを追加でコントリビューター同意(後述します)を要求するかもしれません。もしくは、あなたの企業は社内標準や社会的責任、透明性などに関連したニーズを持っているかもしれません。こういったものは独自のライセンス戦略が必要となってきます。[企業の法務部門](#雇用主である企業の法務部門には何を伝える必要があるでしょうか)に相談してみましょう。
GitHub 上で新しいプロジェクトを作ると、ライセンスの選択が表示されます。上記のライセンスのうちのどれかを指定することで、あなたの GitHub プロジェクトはオープンソースとなります。他の選択肢を確認したい場合は、あなたのプロジェクトに適切なライセンスを見つけるために [choosealicense.com](https://choosealicense.com) を確認してみましょう。このサイトはあなたのプロジェクトが[ソフトウェアではない場合](https://choosealicense.com/non-software/)も使うことができます。
## プロジェクトのライセンスを変更したいときはどうしたら良いでしょう?
ほとんどのプロジェクトはライセンスを変更する必要は発生しません。しかし、時々状況が変わることがあります。
例えば、プロジェクトが成長するに従って依存関係やユーザーが増えたり、あなたの企業が戦略を変更したり、こういった理由によって異なるライセンスが必要になることがあります。それに加えて、もしプロジェクトを開始する際にライセンスを指定していなかったら、ライセンスをあとから追加するということはライセンスを変更することと実質上同じになります。ライセンスを追加したり変更する際に考えるべき重要なポイントは 3 つあります:
**事態は複雑です。** ライセンスの互換性や遵守を検討したり、誰がコピーライトを保持しているのかを調査することは、すぐに複雑で混乱するものだとわかるでしょう。新しいリリースやコントリビュートについてのみ、新しいが互換性のあるライセンスに切り替えるのと、過去のコントリビュートの全てのライセンスを切り替えることとは事情が異なります。ライセンスを変更したいと思い始めた時に、法務部門を巻き込みましょう。たとえプロジェクトのコピーライトの保有者からライセンスの変更について許可を得ている(もしくは得ることが可能)としても、プロジェクトの他のユーザーやコントリビューターへの影響をきちんと考慮しましょう。ライセンスの変更は、あなたのプロジェクトにおける「運営上の大きな出来事」だと考えるようにしましょう。そうすることで、プロジェクトの利害関係者と明確なコミュニケーションと相談を行い、物事が円滑に進むようになります。プロジェクト発足時に適切なライセンスを選んで使うべきなのはこういった事情のためです!
**プロジェクトの既存のライセンス。** もし既存のライセンスとこれから変更しようとしているライセンスで互換性があるのであれば、単に新しいライセンスを使い始めれば大丈夫です。なぜなら、もしライセンス A がライセンス B と互換性がある場合、ライセンス B の規約に従っているのであればライセンス A の規約も遵守していることになるからです(ただし、必ずしも逆は成り立ちません)。もし現在使っているのが寛容なライセンス(例えば MIT )であれば、 MIT ライセンスと関連するコピーライト表示を保ちつづける(つまり、 MIT ライセンスの最低限の条件は守り続ける)かぎりは、より条件の多いライセンスに変更することができます。しかし、現在使っているライセンスが寛容でなく(例えばコピーレフトやライセンスがない場合)、あなたが単一のコピーライト保持者ではない場合、単純にライセンスを MIT に変更することはできません。基本的に寛容なライセンスでは、プロジェクトのコピーライト保有者は前もってライセンスの変更を許可しているということになります。
**プロジェクトの既存のコピーライト保有者。** もしあなたがプロジェクトの単独のコントリビューターなのであれば、あなたかあなたの会社がプロジェクトの単独のコピーライト保有者です。あなたやあなたの企業が望むどんなライセンスの追加や変更をすることができます。そうでない場合は、ライセンスの変更にあたって同意を取る必要のある他のコピーライト保有者がいるかもしれません。それは誰でしょうか?あなたのプロジェクトにコミットをしたことがある人は第一の候補になります。しかし、場合によってはコピーライトを保有しているのは彼らの雇用主かもしれません。他にも、ほんの少しのコントリビュートをした人々について考慮が必要かもしれません。一定量以下の変更しかないコントリビュートに対してはコピーライトを保有できないという明確なルールがない場合もあるからです。比較的小さくて歴史の浅いプロジェクトであれば、イシューやプルリクエストで全ての既存のコントリビューターからライセンスの変更についての同意を取ることは実現可能かもしれません。巨大で歴史の長いプロジェクトであれば多くのコントリビューター、場合によってはその相続人を探し出す必要があります。 Mozilla は Firefox や Thunderbird と関連するソフトウェアのライセンスを変更するのに多くの時間(2001 年ー 2006 年)を費やしました。
こういったことを行う代わりに、既存のオープンソースライセンスの範疇を超えて、前もってコントリビューターとある特定の条件でライセンス変更を許容するような同意(後述の追加のコントリビューターアグリーメント)を結ぶこともできます。こうすることで、ライセンス変更の複雑さは少しは緩和されます。事前に弁護士からより多くの助けを得ることができるでしょうし、実際にライセンス変更をする際にはプロジェクトの利害関係者を明確なコミュニケーションができるでしょう。
## 私のプロジェクトでは追加のコントリビューターアグリーメントが必要でしょうか?
おそらく必要ありません。大部分のオープンソースプロジェクトでは、オープンソースライセンスはインバウンド(コントリビューターから)もアウトバウンド(他のコントリビューターやユーザー向け)の両方のライセンスとして使うことができます。もしプロジェクトを GitHub 上においているのであれば、 GitHub の利用規約によってインバウンドとアウトバウンドが同じであるということがデフォルトとして[明記されています](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license)。
追加のコントリビューターアグリーメントはしばしば Contributor License Agreement (CLA) と呼ばれます。これを作ることで、プロジェクトのメンテナーは運用上の手間が必要になってきます。どのくらいの手間がかかるかはプロジェクトとやり方によります。簡単な同意であれば、コントリビューターに対してプロジェクトのオープンソースライセンスに従ってコントリビュートする権利があるとクリックひとつで同意できる様になるでしょう。より複雑な同意になると、法務のレビューとコントリビューターの雇用主の署名が必要になるかもしれません。
加えて、「書類作業」が必要になることによって、中にはその作業が不必要、理解しがたい、公正ではない(プロジェクトのオープンソースライセンスによって、同意を受ける人や一般の人がコントリビューターより多くの権利を得る場合)と感じる人が出てくるかもしれません。このような状況では、追加のコントリビューターアグリーメントはプロジェクトのコミュニティからは友好的でないと受け取られるかもしれません。
追加のコントリビューターアグリーメントがプロジェクトに必要になってくるケースにはこういったものがあります:
* あなたの弁護士が全てのコントリビューターが明示的にコントリビュート規約に同意する(オンラインかオフラインでの _サイン_)必要があると判断した場合。これはおそらく、オープンソースライセンスだけでは十分でない(たとえ実際には十分だったとしても!)と感じているからでしょう。もしこれが唯一の懸念なのであれば、あるオープンソースライセンスを支持する旨のコントリビューターアグリーメントで十分なはずです。 [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) が、軽量な追加のコントリビューターアグリーメントの良い例です。
* あなたや弁護士が、開発者が行う全てのコミットは承認されていると表明してほしいと考える場合。[Developer Certificate of Origin](https://developercertificate.org/) の要件はこれを達成するプロジェクトの数です。例えば、Node.js コミュニティは彼らが以前使っていた CLA の[代わりに](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution)、DCO を[使っています](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md)。あなたのリポジトリでDCOの執行を自動化するためのシンプルなオプションは [DCO Probot](https://github.com/probot/dco) を使うことです。
* プロジェクトで使っているオープンソースライセンスに特許許諾が明記されておらず( MIT ライセンスのように)、全てのコントリビューターから特許許諾を取る必要がある場合。これは、コントリビューターの中にあなたのプロジェクトやプロジェクトのコントリビューター、ユーザーを巨大な特許ポートフォリオの対象にする企業があるかもしれないためです。 [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) は、 Apache License 2.0 に記載されている特許許諾をコピーした追加のコントリビューターアグリーメントで、一般的に使われています。
* プロジェクトがコピーレフトライセンスを使っているが、プロプライエタリバージョンも提供する必要がある場合。この場合、全てのコントリビューターから、コピーライトをあなたに割り当てるか、寛容なライセンスを(パブリックに対してではなく)あなたに対して許諾する必要があるでしょう。 [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) はこの種の同意の例です。
* プロジェクトが成熟するに連れてライセンスを変更する必要があると考えており、コントリビューターに前もってライセンス変更の同意を得ておきたい場合。
追加のコントリビューターアグリーメントがあなたのプロジェクトで必要なのであれば、コントリビューターの手間を最小限に留めるために [CLA assistant](https://github.com/cla-assistant/cla-assistant) のような連携ツールを使うことを検討しましょう。
## 雇用主である企業の法務部門には何を伝える必要があるでしょうか?
もしあなたがオープンソースプロジェクトを企業の従業員としてリリースしようとしているのであれば、まずはじめに法務部門にプロジェクトをオープンソース化しようとしている旨を伝えましょう。
メリット・デメリット両方ありますが、たとえプロジェクトが個人的なものだとしても彼らに伝えることを検討しましょう。おそらくあなたは「従業員知的財産同意」を会社と結んでいるでしょう。これは企業があなたのプロジェクトに対してある程度の管理をすることを認めるもので、特に企業のビジネスに関係したプロジェクトであったり、プロジェクトの開発をするのに何らかの企業のリソースを使う際に関係してきます。あなたの企業はあなたに許可を出す _べき_ です。もしかしたら、従業員に優しい知的財産同意や企業のポリシーで既に許可されているかもしれません。もし許可されていないのであれば、交渉する(例えば、プロジェクトを行うことがあなたの職業訓練になったり開発目標になることを説明する、など)事もできますし、別の良い企業を見つけるまでプロジェクトを進めるのを一旦止める事もできます。
**もし企業内のプロジェクトをオープンソース化しようとしているのであれば、**必ず法務部門に知らせるようにしましょう。おそらく法務部門の方で、企業のビジネス要件やあなたのプロジェクトの依存関係のライセンスにきちんと遵守していることを確実にするための専門知識に基づいて、どのオープンソースライセンス(と追加のコントリビューターアグリーメントもあるかもしれません)を使うべきかの方針を決めているかもしれません。もしそういった方針がないのであれば、ラッキーです!法務部門はあなたと一緒にどういった方針が良いのかについて熱心に取り組むべきです。その際、幾つかの考慮事項があります:
* **サードパーティのソースコード:** あなたのプロジェクトでは他の人が作った依存関係を使っていたり、他の人が書いたソースコードを含んでいたり使っていたりしますか?もしそれらがオープンソースなのであれば、そのプロジェクトのオープンソースライセンスを遵守する必要があります。そのためにまずはサードパーティのオープンソースライセンス(上記参照)と整合するライセンスを選ぶ所からはじめましょう。もしあなたのプロジェクトでサードパーティのソースコードを修正したり配布する場合は、法務部門からコピーライト表記を保持しているかどうかといった、サードパーティのオープンソースライセンスの条件を満たしているかどうかを聞かれるでしょう。もし使っているサードパーティのプロジェクトがオープンソースライセンスを持っていないのであれば、おそらくそのサードパーティのメンテナーに[オープンソースライセンスを追加する](https://choosealicense.com/no-license/#for-users)ようお願いする必要があるでしょう。そして、もし追加してもらえなかった場合は、彼らのコードをあなたのプロジェクトで使うのは止めましょう。
* **ビジネス上の秘密:** プロジェクトの中に企業が世間一般に見られたくないと思うような何かが含まれていないかどうかを調べましょう。もし含まれているのであれば、秘密にしておきたいコードを取り除いた後に残りの部分をオープンソース化することができます。
* **特許:** あなたの企業はプロジェクトをオープンソース化することで[一般開示](https://en.wikipedia.org/wiki/Public_disclosure)に繋がるような特許を申請中ですか?残念ながら、オープンソース化を待つよう依頼されるかもしれません(もしくは企業は賢明にも特許の申請を再検討するかもしれません)。もし、大きな特許ポートフォリオを持つ企業の従業員からもプロジェクトにコントリビュートしてもらう事を望むのであれば、法務部門はコントリビューターからの特許許諾を明記したライセンス( Apache 2.0 や GPLv3 のような)を使うよう要求するか、追加のコントリビューターアグリーメント(上述参照)を望むでしょう。
* **商標:** あなたのプロジェクトの名前が[既存の商標と衝突していないか](../starting-a-project/#名前の衝突を避ける)入念に確認しましょう。もしあなたの企業の商標をプロジェクトで使っている場合は、それによって利害の対立が発生しないかを確認しましょう。 [FOSSmarks](http://fossmarks.org/) はフリーやオープンソースプロジェクトの文脈における商標について理解するための実践的なガイドです。
* **プライバシー:** あなたのプロジェクトではユーザーのデータを収集していますか?企業のサーバーに秘密の通信を行っていませんか?法務部門が企業の方針や外部の規制を遵守するために手助けしてくれます。
もし企業内で初めてのオープンソースプロジェクトを公開しようとしているのであれば、オープンソース化の道のりには上記以外にもあるかもしれません(でも心配しないでください、ほとんどのプロジェクトでは大きな問題はありません)。
長期的には、法務部門は企業がオープンソースに関わることでより多くのことを安全に獲得する助けとなります:
* **従業員のコントリビュートポリシー:** 従業員がどのようにオープンソースにコントリビュートするかを定めた社内規約を作ることを検討しましょう。明確な規約を作ることで従業員同士の混乱も減りますし、従業員に対して企業が最も関心のあるオープンソースプロジェクトに業務の一環であれ空き時間でコントリビュートする手助けにもなります。 Rackspace の [Model IP and Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/) が良い例です。
* **何をリリースすべきですか?:** [(ほぼ)すべて?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) もし法務部門が企業のオープンソース戦略を理解し、それに投資している場合は、あなたの努力を妨害するよりもむしろ助けとなってくれるでしょう。
* **コンプライアンス:** たとえあなたの企業が 1 つもオープンソースプロジェクトをリリースしていないとしても、他の人のオープンソースソフトウェアを使っているはずです。 [Awareness and process](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) can prevent headaches, product delays, and lawsuits.
* **特許:** あなたの企業は [Open Invention Network](https://www.openinventionnetwork.com/) に参加したいと望むかもしれません。これはメンバーが有名なオープンソースプロジェクトを使うための共有の防御的パテントプールです。もしくは[代替となる特許ライセンス](https://www.eff.org/document/hacking-patent-system-2016)を調査してみましょう。
* **組織運営:** [社外の法人](../leadership-and-governance/#プロジェクトを運営するのに法人は必要ですか)にプロジェクトを移すことが理にかなっているときは特に必要です。
================================================
FILE: _articles/ja/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: ja
title: オープンソースメンテナーのバランス維持
description: メンテナンス担当者としてのセルフケアと燃え尽き症候群を避けるためのヒント。
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
人気のあるオープンソースプロジェクトが成長するにつれて、バランスを保ち、長期的にリフレッシュし、生産性を維持するために明確な境界線を設定することが必要になります。
メンテナーの経験とバランスを取るための戦略を知るために、私たちは 40 人の maintainer community のメンバーとワークショップを行い、彼らのオープンソースでの燃え尽き症候群に対する第一線での経験と、バランスを保つための実践を学ぶことができました。ここで「パーソナルエコロジー」という概念が登場します。
「パーソナルエコロジー」とはなんでしょうか?described by the Rockwood Leadership Institute によると、「生涯にわたってエネルギーを維持するために、バランス、ペース、効率を維持すること」を意味します。これにより、私たちの会話のフレームワークを作り、メンテナーが自分の行動や貢献を、時間とともに進化する大きな生態系の一部であると認識する助けとなりました。燃え尽き症候群は、[WHO によって定義されるように](https://icd.who.int/browse/2025-01/foundation/en#129180281) 、慢性的な職場でのストレスから生じる症候群であり、メンテナーの間では珍しくありません。これは、モチベーションの喪失、集中力の欠如、および共同作業者やコミュニティとの共感の欠如に繋がります。
パーソナルエコロジーの概念を取り入れることで、燃え尽き症候群を積極的に回避し、セルフケアを優先し、最高の仕事をするためのバランスを維持することができます。
## メンテナーとしてのセルフケアと燃え尽き症候群を回避するためのヒント
### オープンソースで働く動機を明確にする
オープンソースのメンテナンスのどの部分にあなたの活力が湧いてくるか、じっくり考えてみましょう。あなたのモチベーション理解することで、新しい課題に取り組む準備ができ、仕事に優先順位をつけることができます。ユーザーからの好意的なフィードバックであれ、コミュニティとの協力や交流の喜び、コードに没頭する満足感など、あなたのモチベーションを認識することで、集中力を高める指針になります。
### バランスを崩し、ストレスを感じる原因を振り返る
燃え尽きてしまう原因を理解することは重要です。オープンソースのメンテナーの間で見られるいくつかの共通のテーマは以下の通りです。
* **肯定的なフィードバックの欠如:** ユーザーは苦情があるときに接触する可能性が高いです。全てが順調に進んでいる場合、ユーザーは黙っている傾向があります。あなたの貢献がどのような変化をもたらしているかを示すポジティブなフィードバックがないまま、問題のリストが増えていくのを見るのは、がっかりするでしょう。
* **「No」と言わない:** オープンソースプロジェクトでは、必要以上の責任を負うことは簡単です。それがユーザーであれ、貢献者であれ、他のメンテナーであれ、彼らの期待に答えられるとは限りません。
* **一人での作業:** メンテナーであることは非常に孤独です。例え同じメンテナーのグループで働いていたとしても、ここ数年、分散チームを直接集めるのは難しくなっています。
* **時間やリソースの不足:** これは特にプロジェクトに取り組むために自分の自由な時間を犠牲にしなければならないボランティアのメンテナーにとって特に当てはまります。
* **矛盾する要求:** オープンソースは様々な動機を持ったグループで溢れており、その間を行き来するのは難しいことがあります。オープンソースの仕事で給料をもらっている場合、雇用主の利益はコミュニティの利益と対立することがあります。
### 燃え尽きの兆候に注意
あなたは 10 週間、10 ヶ月、10 年とこのペースを続けることができますか?
[@shaunagm](https://github.com/shaunagm) による [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) や のようなツールがあり、自分の現在のペースを振り返り、調整できる点があるかどうかを確認することができます。一部のメンテナーは、睡眠の質や心拍数変動 (両方ともストレスに関連している) のような指標を追跡するためにウェアラブル技術も利用しています。
### 自分自身とコミュニティを維持し続けるためには何が必要だろうか?
これは各メンテナーによって異なり、生活の段階や外部要因によって変わるでしょう。しかし、以下は私たちが耳にしたいくつかのテーマです:
* **コミュニティに頼る:** 仕事の委譲や貢献者の探し方は、仕事の負担を軽減できます。プロジェクトの連絡窓口を複数持つことで、心配することなく休憩を取ることができます。[Maintainer Community](http://maintainers.github.com/) のようなグループで他のメンテナーや広いコミュニティと繋がることができます。これは、相互支援や学びのための素晴らしいリソースとなるでしょう。
ユーザーコミュニティとの交流方法も探して、定期的にフィードバックを受け取り、オープンソースの作業の影響を理解することができます。
* **資金調達をさぐる:** ピザのお金を探しているのか、フルタイムのオープンソースを探しているのか、サポートするリソースはたくさんあります!最初のステップとして、[GitHub Sponsors](https://github.com/sponsors)を有効にして、他の人があなたのオープンソースの作業をスポンサーすることを許可します。フルタイムに移行することを考えている場合は、次回の [GitHub Accelerator](http://accelerator.github.com/) に応募してみて下さい。
* **ツールを使う:** [GitHub Copilot](https://github.com/features/copilot/) や [GitHub Actions](https://github.com/features/actions) のようなツールを使って、退屈な作業を自動化し、より意味のある貢献のために時間を確保しましょう。
* **休息と充電:** オープンソース以外の趣味や興味の時間を作りましょう。週末は休んでリフレッシュし、[GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) に反映させましょう!一晩ぐっすり眠れるかどうかで、長期的な努力を継続できるかどうかが大きく変わってきます。
プロジェクトのある側面が特に楽しいと感じるのであれば、その楽しさを 1 日を通して体験できるように仕事を構成してみましょう。
* **境界線を設ける:** 全ての要求に「 Yes 」と言うわけにはいきません。これは、「今すぐそれに対応することはできませんし、将来的にも考えていません」とシンプルに伝えることや、READMEに自分が取り組みたいことや取り組みたくないことを明記することも含みます。例として、「明確な理由が示されたPRだけをマージする」とか、「隔週の木曜日の18時から19時にだけ問題をレビューする」といったことを伝えることができます。これにより、他の人たちに対する期待値を明確にし、また、あなたの時間に求められることに対して柔軟に対応するための基準を提供することができます。
不利益な行動や否定的な交流を断ち切る毅然とした態度を身につけましょう。どうでもいいことにはエネルギーを使わなくても大丈夫です。
忘れないでください、パーソナルエコロジーは継続的な実践であり、オープンソースの旅を進める中で進化していきます。自分自身のケアを優先し、バランスを保つことで、効果的かつ持続可能にオープンソースコミュニティに貢献できます。これにより、あなた自身の幸福とプロジェクトの長期的な成功の両方を確保することができます。
## その他のリソース
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](hhttps://governingopen.com/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## 貢献者
このガイドのために経験やヒントを提供してくれた全てのメンテナーに感謝します!
このガイドブックは、[@abbycabs](https://github.com/abbycabs) によって作成されました。:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/ja/metrics.md
================================================
---
lang: ja
title: オープンソースメトリクス
description: 成功の度合いを計測し続けることで、データをもとにしてあなたのオープンソースプロジェクトに関する意思決定を行おう。
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## なぜあらゆるものを計測するか?
データを賢く使うことで、オープンソースのメンテナーとしてより良い意思決定を行う助けとなります。
より多くの情報を得ることによって、下記が可能となります:
* ユーザーが新機能に対してどう反応しているかを理解する
* 新しいユーザーがどこから来ているのかを把握する
* 滅多にないユースケースや滅多に使われない機能を特定し、今後サポートするかどうかを決める
* プロジェクトの人気を定量化する
* プロジェクトがどのように使われているかを理解する
* スポンサーや補助金によって資金を獲得する
例えば、 [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) では、 Google Analytics を使うことでやることの優先順位付けの役に立つということに気づきました:
> Homebrew は無償で提供されており、ボランティアが空き時間で運営しています。その結果、 Homebrew ユーザーについて調査を行って将来の機能を設計する最善の方法を検討したり、現在の作業の優先順位付けを行うためのリソースが不足しています。匿名化されたユーザー解析を行うことによって、人々が Homebrew をいつ、どこで、どのように使っているかを知ることができ、修正や機能の優先順位付けができるようになっています。
人気を得ることだけが全てではありません。人々がオープンソースプロジェクトに参加する理由は様々です。メンテナーとしてのあなたのゴールが注目を集めることであったり、あなたのコードを共有すること、もしくは単に楽しみたいのであれば、メトリクスはあなたにとって重要ではないかもしれません。
もしあなたがプロジェクトをより深いレベルで _理解したいと思っている_ のであれば、以降を読んでプロジェクトの活動を分析する方法を学びましょう。
## 発見
他の人があなたのプロジェクトにコントリビュートしてくれるようになるには、彼らにあなたのプロジェクトの存在を知ってもらう必要があります。この質問を自問してみましょう: _人々はこのプロジェクトをみつけられているだろうか?_

もしプロジェクトを GitHub 上にホストしているのであれば、何人があなたのプロジェクトを訪れていて、どこから来たのかを[見ることが出来ます](https://help.github.com/articles/about-repository-graphs/#traffic)。プロジェクトのページで、 "Insights" をクリックし、 "Traffic" をクリックします。このページでは、下記を見ることが出来ます:
* **トータルページビュー:** プロジェクトが何回閲覧されたか
* **トータルユニークビジター:** プロジェクトが何人に閲覧されたか
* **参照しているサイト:** 訪問者がどこから来たか。この指標は、どこでプロジェクトに興味がある人に接触することができるかを把握したり、宣伝がうまくいっているかどうかを判断する助けとなります。
* **人気のあるコンテンツ:** 訪問者がプロジェクト上のどこを閲覧しているか。ページビューとユニークビジターをコンテンツごとに把握することが出来ます。
[GitHub のスター](https://help.github.com/articles/about-stars/)も、プロジェクトの人気を測る上での基準となります。 GitHub のスターは必ずしもプロジェクトのダウンロード数や利用数と関連していませんが、何人がプロジェクトの通知を受け取っているかを知ることが出来ます。
また、[特定の場所での見つけやすさ](https://opensource.com/business/16/6/pirate-metrics)もトラッキングしたいかもしれません:例えば、 Google PageRank 、プロジェクトのウェブサイトからの流入や他のオープンソースプロジェクトやウェブサイトからの流入などです。
## 使われ方
人々は、インターネットという荒野であなたのプロジェクトを見つけようとしているのです。理想的には、あなたのプロジェクトを見かけたらすぐに、使いたいと思って欲しいわけです。そこで、あなたが気になるであろう2つ目の質問はこれです: _人々はこのプロジェクトを使っているだろうか?_
もしプロジェクトを配布するのに npm や RubyGems.org のようなパッケージマネジャーを使っているのであれば、プロジェクトのダウンロード数をトラッキングできるかもしれません。
パッケージマネジャーごとに「ダウンロード」の定義は若干異なりますし、ダウンロードしたからといって必ずしもインストールしたり使ったりするわけではありません。しかし、比較のための基準にはなりえます。様々な有名なパッケージマネジャー間で利用統計をトラックする [Libraries.io](https://libraries.io/) を使ってみましょう。
もしプロジェクトを GitHub でホストしているのであれば、再度 "Traffic" ページを見てみましょう。そこでは [clone graph](https://github.com/blog/1873-clone-graphs) によって、あなたのプロジェクトが日毎に何度クローンされたか、トータルのクローン数とクローンを実行したユニークユーザー数を見ることが出来ます。

もし、プロジェクトを訪問してくれている人の数に比べて利用率が低いようであれば、考えられる理由は以下の2つのどちらかでしょう:
* 訪問してくれた人にユーザーになってもらうのに失敗している
* 間違った人々にアピールしている
例えば、あなたのプロジェクトが Hacker News のトップページに載った場合、トラフィックのスパイクが発生するでしょうが、コンバージョンレートは低下します。 Hacker News を見ている全員にリーチしてしまうからです。しかし、もしあなたのプロジェクトが Ruby を使っていて、 Ruby のカンファレンスで取り上げられたのであれば、ターゲットとしている人々にリーチできるのでより高いコンバージョンレートになる可能性が高くなります。
あなたのプロジェクトに興味を持った人がどこから来ているかを把握し、上記の2つの問題が起きていないかプロジェクトページでフィードバックを求めてみましょう。
人々があなたのプロジェクトを使っていることがわかったら、どのように使っているかを知りたくなるでしょう。あなたのプロジェクトをフォークして、機能を追加しているのでしょうか?彼らは科学プロジェクトのために使っているのでしょうか、それともビジネスで使っているのでしょうか?
## リテンション
あなたのプロジェクトを見つけて使っている人がいるということがわかりました。あなたが自問するであろう次の疑問はこれでしょう: _人々はプロジェクトにコントリビュートしているだろうか?_
コントリビューターについて考え始めるのに早すぎる事はありません。あなた以外の人々からの支援なしでは、プロジェクトが有名(沢山の人が使っている)になってもサポートされていない(必要なメンテナー作業を行うことが出来ない)という不健康な状況に陥るリスクがあります。
活動的だったコントリビューターも最終的には他に移ってしまうため、リテンションには[新しいコントリビューターの流入](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2)も必要です。
下記に定期的にトラッキングした方が良いコミュニティメトリクスの例を挙げます:
* **コントリビューターのトータルの人数とコントリビューター毎のコミット数:** コントリビューターが何人いるか、そして誰がより活動的か。 GitHub では、 "Insights" -> "Contributors" から見ることが出来ます。今現在はこのグラフはリポジトリのデフォルトブランチにコミットをしたコントリビューターのみを計上しています。

* **初めてのコントリビューター、一時的なコントリビューター、常連のコントリビューター:** 新しいコントリビューターを獲得できているかどうかや、彼らが再度コントリビュートしてくれているかどうかをトラッキングします。(一時的なコントリビューターとは、コミット数が少ないコントリビューターのことです。それが1コミットだけの人なのか、5コミット以下の人なのかはあなた次第です)。新しいコントリビューターが来ないと、プロジェクトのコミュニティは停滞してしまいます。
* **オープンなイシューとオープンなプルリクエストの数:** もしこれらの数値が高すぎるようであれば、イシューのトリアージやコードレビューに手助けが必要かもしれません。
* **_オープンされた_ イシューと _オープンされた_ プルリクエストの数:** オープンされたイシューの数から、イシューをオープンするほどあなたのプロジェクトを気にかけている人がいるということがわかります。もし時間を経るに従ってその数が増えているのであれば、より多くの人がプロジェクトに興味を持ってくれているということを示しています。
* **コントリビュートの種類:** 例えば、コミット、タイポやバグの修正、イシューへのコメントなどです。
## メンテナーの活動
最後に、プロジェクトのメンテナーが受け取ったコントリビュートを処理することが出来ているかどうかを確かめましょう。自問すべき最後の質問はこれです: _私は(もしくは私達は)コミュニティに反応しているだろうか?_
反応のないメンテナーはオープンソースプロジェクトのボトルネックとなります。もし誰かがコントリビュートしようとしても、メンテナーから返事がなければ彼らはがっかりして去ってしまうでしょう。
[Mozilla の調査によると](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177)、メンテナーの反応の早さは繰り返しコントリビュートしてもらうための重大な要素です。
イシューに対してでもプルリクエストに対してでも、コントリビュートに対してあなた(もしくは別のメンテナー)が反応するのにかかった時間をトラッキングすることを検討しましょう。反応をするために必ずしもアクションを起こす必要はありません。一言こういうだけでも良いのです: _「提案ありがとうございます!来週確認します。」_
下記のようなコントリビュートのプロセスのステージごとの時間を計測することも出来ます:
* イシューがオープンである平均期間
* イシューがプルリクエストによってクローズされたかどうか
* 古くなったイシューがクローズされたかどうか
* プルリクエストをマージするまでの平均期間
## 人々について学ぶために📊を使いましょう
メトリクスを理解することで、活発で成長するオープンソースプロジェクトを作り上げる助けとなります。たとえ全ての指標をダッシュボードで可視化していなくても、プロジェクトを成功させるために必要な行動の種類に注目するために上述のフレームワークを使いましょう。
================================================
FILE: _articles/ja/security-best-practices-for-your-project.md
================================================
---
lang: ja
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/ja/starting-a-project.md
================================================
---
lang: ja
title: オープンソースプロジェクトを始めよう
description: オープンソースの世界のことをもっと学び、あなた自身のプロジェクトを立ち上げる準備をしましょう。
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## オープンソースとは"なに"であり、"なぜ"それを行うのか
さて、あなたはオープンソースを始めようと考えているのですか?おめでとう!世界はあなたのコントリビュートに感謝します。オープンソースとはなんであってなぜ人々はそれを行うのかについて話しましょう。
### 「オープンソース」が意味するものは?
あるプロジェクトがオープンソースである時、それは**誰でも自由に使って、学び、修正して、あなたのプロジェクトをいかなる目的であっても配布できる**ということを意味します。これらの行為を許可するということは[オープンソースライセンス](https://opensource.org/licenses)に定められています。
オープンソースは採用とコラボレーションの敷居を下げ、プロジェクトをすぐに広め、改善することを可能にするため強力です。また、クローズドソースと比べて、ユーザーに処理の内容を自分で制御できる可能性を提供することもオープンソースの特徴です。例えば、企業にとっては、クローズドソースのベンダーの製品に依存するのではなく、オープンソースソフトウェアに独自のカスタマイズを加えるようエンジニアを採用するという選択肢を提供します。
_フリーソフトウェア_ という言葉も _オープンソース_ と同じくプロジェクトを指します。ときには[これらの言葉](https://en.wikipedia.org/wiki/Free_and_open-source_software)を合わせて「free and open source software」 (FOSS) や「free, libre, and open source software」 (FLOSS) と呼ばれているのを目にするかもしれません。 _Free_ や _libre_ は自由を指しているのであって、[無料](#オープンソースは無料で使える事を意味している)を指しているわけではありません。
### なぜ人々は彼らの成果をオープンソースにするのか?
人々や組織がオープンソースプロジェクトを始めるには[様々な理由があります](https://ben.balter.com/2015/11/23/why-open-source/)。いくつか例を挙げてみましょう:
* **コラボレーション:** オープンソースプロジェクトは世界の誰からも変更を受け付けます。例えば [Exercism](https://github.com/exercism/) は、350を超えるコントリビューターがいるプログラミング練習プラットフォームです。
* **取り入れて再構成:** オープンソースプロジェクトは誰しもがほとんどいかなる理由のためにも使えるものです。人々は他のものを作るためにでも使うことができます。例えば [WordPress](https://github.com/WordPress) は、 [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md) と呼ばれる既存のプロジェクトのフォークとして始まりました。
* **透明性:** 誰でもオープンソースプロジェクトにエラーがないかや一貫していないところがないか調べることができます。透明性は[ブルガリア](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a)や[アメリカ](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/)のような政府、銀行やヘルスケアのような規制産業、 [Let's Encrypt](https://github.com/letsencrypt) のようなセキュリティソフトウェアにとって重要です。
オープンソースはソフトウェアのためだけのものでもありません。データセットから本まであらゆるものをオープンソースにできるのです。他になにかオープンソースにできるものはないかアイデアを得るために [GitHub Explore](https://github.com/explore) をチェックしてみましょう。
### オープンソースは「無料で使える」事を意味している?
オープンソースの大きな魅力の一つがお金がかからないということです。しかし、「無料で使える」ことはオープンソースの全ての価値の副産物でしかありません。
[オープンソースライセンスが要求しているように](https://opensource.org/osd-annotated)、誰でも使え、修正でき、どんな目的でも共有できるため、プロジェクト自身は無料で使える傾向にあります。もしそのプロジェクトが使うのにお金がかかるとしたら、誰でも合法的にそのコピーを作って無料のバージョンを代わりに作ることができます。
結果として、ほとんどのオープンソースプロジェクトは無料です。しかし、「無料で使える」ことはオープンソースの定義には含まれていません。オープンソースプロジェクトでも、デュアルライセンスや機能制限によって間接的に料金を取る方法はあります。これでもまだオープンソースの公式な定義に則っています。
## 自分自身のオープンソースプロジェクトを立ち上げるべき?
簡単な答えとしてはイエスです。なぜなら、成果がどうであれ、あなた自身のプロジェクトを立ち上げるのはオープンソースがどうやって成り立っているのかを学ぶ素晴らしい方法だからです。
もし今までプロジェクトをオープンソースにしたことがないのであれば、他の人から何を言われるか、誰も全く気づいてくれないんじゃないかと心配になっているかもしれません。もしあなたがそうだとしたら、あなたは一人ではありません!
オープンソース活動は他の執筆や絵画などのクリエイティブな活動と似ています。世界にあなたの作品を公開するのは怖いと感じるでしょうが、上達する唯一の方法は練習することなのです。たとえ、誰も見ている人が居ないとしても。
もしまだ納得していないのであれば、あなたのゴールがどういったものであるかを少し考えてみましょう。
### ゴールを設定する
ゴールを設定することによって、何をやるべきか、なににノーというべきか、他の人の助けが必要な箇所を明確にすることができます。_私はなぜこのプロジェクトをオープンソースにしたのか?_ と自問してみましょう。
この質問に唯一の正解はありません。一つのプロジェクトに対して複数のゴールがあるかもしれないし、異なるプロジェクトで異なるゴールがあるかもしれません。
もしあなたのゴールがあなたの作品を見せびらかすことだけなのであれば、コントリビュートは望まないでしょうし、 README で表明すべきです。その一方で、コントリビューターを望むであれば、明確なドキュメントと新しく来た人が歓迎されていると感じるように時間を投資するでしょう。
あなたのプロジェクトが成長するにつれて、コミュニティがあなたに求めるものはコードを書くことだけではなくなるでしょう。イシューに返答したり、コードをレビューしたり、あなたのプロジェクトがオープンソースプロジェクトにとってとても重要なタスクなのであると説いて回るといったことです。
コーディング以外のタスクに費やす時間はあなたのプロジェクトのサイズと範囲に依存する一方で、メンテナーとしてそういった活動に取り組む準備をするか手伝ってくれる人を見つけるべきです。
**もしあなたが企業でプロジェクトをオープンソースにすることに携わっているのであれば、** あなたのプロジェクトが盛り上がるのに必要な企業内部のリソースを持っているかどうか確かめましょう。立ち上げた後にプロジェクトをメンテナンスする担当の人は誰で、コミュニティとどのようにタスクを共有するのかを特定したいと思うでしょう。
プロジェクトの推進と運営、メンテナンスに予算と人員が必要なのであれば、その会話は早めに始めましょう。
### 他のプロジェクトにコントリビュートする
もしあなたのゴールが他の人とコラボレーションする方法を学んだり、オープンソースがどうやって機能しているのかを理解することなのであれば、既存のプロジェクトにコントリビュートすることも考えてみましょう。あなたが既に使っていて気に入っているプロジェクトから始めましょう。プロジェクトにコントリビュートするのは誤植を直したり、ドキュメントを更新したりといったシンプルなものでもよいのです。
コントリビューターとして活動し始める方法がわからないのであれば、[オープンソースにコントリビュートする方法](../how-to-contribute/)をチェックしてみて下さい。
## あなた自身のオープンソースプロジェクトを立ち上げる
あなたの作品をオープンソースにするのに完璧なタイミングはありません。アイデアや作業中のもの、クローズドで何年も経ったものであってもオープンソースにできるのです。
一般的に言って、他の人があなたの作品をみて、フィードバックをくれることに対して苦痛がないのであれば、あなたのプロジェクトをオープンソースにするべきです。
あなたのプロジェクトをオープンソースにするのがどの段階であれ、全てのプロジェクトは下記のドキュメントを含んでいるべきです:
* [オープンソースライセンス](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [コントリビュートのガイドライン](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [行動規範](../code-of-conduct/)
メンテナーとして、これらの要素は期待値をコミュニケーションし、コントリビュートをマネジメントし、すべての人(あなた自身も含む)の法的権利を守る助けになります。これらによってあなたが良い経験を積むことができる可能性を大幅に増やします。
もしあなたのプロジェクトが GitHub 上にあるのであれば、これらのファイルを推奨されているファイル名でルートディレクトリに置くことで、 GitHub がそれを認識し、見ている人に自動的に表示してくれます。
### ライセンスを選ぶ
オープンソースライセンスは、他の人が恐れを感じることなくあなたのプロジェクトを使い、コピーし、修正し、コントリビュートする事を保証します。また、あなたを法的な面倒事からも守ってくれます。**あなたがプロジェクトをオープンソースにするときは必ずライセンスを含めるようにしましょう。**
法的な作業は楽しくはありません。既存のライセンスをあなたのリポジトリにコピーペーストできるというのは良い知らせでしょう。あなたの大事な作品を守るのに1分しかかかりません。
[MIT](https://choosealicense.com/licenses/mit/) や [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) 、 [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) が最も有名なオープンソースライセンスですが、[他の選択肢](https://choosealicense.com)もあります。
GitHub 上に新しいプロジェクトを作るときは、ライセンスを選択する選択肢が表示されます。オープンソースライセンスを含めることで、あなたの GitHub プロジェクトはオープンソースになります。

オープンソースプロジェクトを管理する上での法的な面でまだ疑問や懸念があるのであれば、[こちらを参照して下さい](../legal/)。
### README を書く
README はあなたのプロジェクトをどうやって使うかを説明するだけにとどまりません。そこでは、なぜあなたのプロジェクトが重要なのか、そしてユーザーはあなたのプロジェクトで何ができるかということも説明するためのものです。
README には、下記の質問に答えるようにしましょう:
* このプロジェクトは何をするものなのか?
* なぜこのプロジェクトは便利なのか?
* どのようにして使い始められるのか?
* もし必要な場合、どうやったら助けを得られるか?
README では、コントリビュートをどのように扱うか、プロジェクトのゴールはなにか、ライセンスや帰属についての情報などといった他の疑問に答えるのに使うこともできる。もしコントリビュートを受け入れたくなかったり、あなたのプロジェクトは運用に乗せる準備が整っていなかったりする場合は、その情報も書きましょう。
時々、プロジェクトが未完了であったりコントリビュートを求めていないといった理由で README を書くのを避ける人が居ます。これらも README に書いておくと良いでしょう。
さらなるヒントとしては、完全な README を書くために @18F の ["Making READMEs Readable"](https://pages.18f.gov/open-source-guide/making-readmes-readable/) か @PurpleBooth の [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) を読んでみると良いでしょう。
README ファイルをルートディレクトリに置くことで、 GitHub が自動的にリポジトリのホームページに表示してくれます。
### コントリビュートのガイドラインを書く
CONTRIBUTING ファイルはあなたのプロジェクトにどうやって参加するのかを伝えるためのものです。例えば、下記の様な情報を含めると良いでしょう:
* バグレポートの登録の仕方 ([イシューやプルリクエストのテンプレート](https://github.com/blog/2111-issue-and-pull-request-templates)を使ってみましょう)
* 新しい機能の提案の仕方
* 環境のセットアップとテストの実行の仕方
技術的な詳細に加えて、 CONTRIBUTING ファイルはコントリビュートに対する期待値を伝える機会でもあります。例えば:
* あなたが求めているコントリビュートの種類
* プロジェクトのロードマップやビジョン
* コントリビューターがどのようにしてあなたにコンタクトすべきか(もしくはすべきでないか)
暖かく友好的なトーンを使って、(ドキュメントを書く、もしくはウェブサイトを作る、といったような)コントリビュートを具体的に提示することで、新しく来る人が歓迎されていて是非参加したいと思ってもらうのにとても役に立ちます。
例えば、 [Active Admin](https://github.com/activeadmin/activeadmin/) は[コントリビュートガイド](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md)を下記の内容から始めています:
> まずはじめに、 Active Admin へのコントリビュートを考えてくれてありがとうございます。あなたのような人々が Active Admin を偉大なツールにしているのです。
あなたのプロジェクトの最初期では、 CONTRIBUTING ファイルはシンプルで大丈夫です。常にバグの報告の仕方かイシューの登録の仕方、コントリビュートをする際の技術的な要求(テストなど)を書くようにしましょう。
時間が経つにつれて、 CONTRIBUTING ファイルに頻繁に聞かれる質問を加えるでしょう。こういった情報を書くことによって、同じ質問を何度も繰り返ししてくる人が減っていくでしょう。
CONTRIBUTING ファイルを書くときに更に役に立つものとして、 @nayafia の [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) や @mozilla の ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/) も参考になるでしょう。
README に CONTRIBUTING ファイルへのリンクをすることで、より多くの人の目に触れるようになります。 [CONTRIBUTING ファイルをプロジェクトのリポジトリに置くことで](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)、 GitHub でコントリビューターがイシューを登録したり、プルリクエストをオープンする際に、そのファイルへのリンクが自動的に表示されます。

### 行動規範を定める
最後に、行動規範はあなたのプロジェクトの参加者の行動に対する基本原則を設定する助けになります。これは特にあなたがコミュニティや会社のためのオープンソースを立ち上げる時に役に立ちます。行動規範は健康的で生産的なコミュニティの振る舞いを促進する助けになります。そして、あなたのメンテナーとしてのストレスを減らしてくれるでしょう。
更に情報が必要な場合は、[行動規範ガイド](../code-of-conduct/)を見てみましょう。
プロジェクトの参加者に _どう_ 振る舞ってほしいかを伝えるのに加えて、行動規範では期待される行動が、誰に対して、いつ適用され、違反した場合には何をすべきなのかについても記載される傾向があります。
オープンソースライセンスによく似ていますが、行動規範にもスタンダードが出てきています。なので、あなた自身で書く必要はありません。 [Contributor Covenant](https://contributor-covenant.org/) はカジュアルに使うことができる行動規範で、[40,000を超えるオープンソースプロジェクト](https://www.contributor-covenant.org/adopters)に使われており、そこには Kubernetes 、 Rails や Swift も含まれます。どの文書を使うにしても、必要なときにはあなたの指針に従わせる準備をしておくべきです。
あなたのリポジトリの CODE_OF_CONDUCT ファイルに文書を直接貼り付けましょう。そのファイルをプロジェクトのルートディレクトリに置いておくことで、簡単に見つけることができ、 README からリンクすることができます。
## あなたのプロジェクトに名前とブランドを付けよう
ブランディングは華やかなロゴやキャッチーな名前以上のものです。それは、あなたのプロジェクトについてどう紹介し、あなたのメッセージが誰に届くのかということなのです。
### 適切な名前を選ぶ
覚えやすい名前を選びましょう。理想的には名前からそのプロジェクトが何をするのかがわかるようにしましょう。例:
* [Sentry](https://github.com/getsentry/sentry) はクラッシュレポートのためにアプリケーションをモニターします
* [Thin](https://github.com/macournoyer/thin) は高速でシンプルなRubyのウェブサーバーです
既存のプロジェクトに基づいて開発しているのであれば、その名前を頭につけることであなたのプロジェクトが何をするものかを明らかにする助けになります(例えば、 [node-fetch](https://github.com/bitinn/node-fetch) は Node.js に `window.fetch` を追加するものです)。
明快さを第一に考えましょう。ダジャレは面白いですが、ジョークは他の文化やあなたとは異なる経験を持った人には通じないこともあるということを覚えておきましょう。潜在的なユーザーには企業の従業員もいるかもしれません。彼らがあなたのプロジェクトについて職場で説明する時に居心地の悪い思いをさせたくはないでしょう。
### 名前の衝突を避ける
[同じような名前のオープンソースプロジェクトを調べましょう](http://ivantomic.com/projects/ospnc/)。同じ言語やエコシステムを共有する場合は特にです。もし既存の有名なプロジェクトと名前が同じ部分があると、外から見た人を混乱させてしまうでしょう。
ウェブサイトや Twitter のハンドルや他であなたのプロジェクト名を使いたいのであれば、使いたい名前を使えるかどうか確かめましょう。理想的には、心の平穏のために[すぐにそれらの名前を予約しましょう](https://instantdomainsearch.com/)。たとえ、今すぐに使うつもりがないとしても。
プロジェクトの名前が商標の侵害をしていないか確かめましょう。後になってある企業があなたのプロジェクトをやめるように言ってきたり、法的措置さえしてくるかもしれません。そんなリスクは見合いません。
商標を侵害していないかを調べるには [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) を確認しましょう。もし企業にいるのであれば、この点は[法務部門が助けてくれる](../legal/)ことの一つでしょう。
最後に、あなたのプロジェクト名で Google 検索をしてみましょう。人々は簡単にあなたのプロジェクトを見つけることができるでしょうか?検索結果の中になにか望ましくないものが表示されていないでしょうか?
### 文書(やコード)の書き方はあなたのブランディングにも影響します!
あなたのプロジェクト全体を通して、多くの文書を書くでしょう: README 、チュートリアル、コミュニティドキュメント、イシューへの返答、もしかしたらニュースレターやメーリングリストもあるかもしれません。
公式のドキュメントであれ、カジュアルなメールであれ、あなたの文書のスタイルはプロジェクトのブランドの一部になります。見る人にどのようにして伝わるかや、あなたが伝えたいトーンかどうかを検討しましょう。
暖かく、排他的でない言葉遣い(一人の人を指すときであっても「彼ら」を使う、といったような)をすることで、あなたのプロジェクトで新しいコントリビューターが歓迎されていると感じてもらうことに繋がります。シンプルな言葉遣いをすることにこだわりましょう。あなたのプロジェクトを見る人の多くは英語のネイティブスピーカーではないかもしれません。
あなたがどう文書を書くかに加えて、あなたのコーディングスタイルもプロジェクトのブランドの一部になるかもしれません。 [Angular](https://github.com/johnpapa/angular-styleguide) と [jQuery](https://contribute.jquery.org/style-guide/js/) の2つは厳密なコーディングスタイルとガイドラインを持つプロジェクトの例です。
かならずしもプロジェクトを始める際にスタイルガイドを書く必要はありませんし、とにかく異なるコーディングスタイルを盛り込むのが楽しいと思うかもしれません。しかし、あなたの文書やコーディングスタイルが異なるタイプの人々を惹きつけることもあれば落胆させることもあるということを予期しておくべきです。プロジェクトの最初期はあなたが望む先例を作る良い機会です。
## 立ち上げ前のチェックリスト
あなたのプロジェクトをオープンソースにする準備が整いましたか?ここにあなたの助けとなるよう、チェックリストを用意しました。全てにチェックが付きましたか?そうであれば準備万端です!
["publish" をクリックして](https://help.github.com/articles/making-a-private-repository-public/)、自分を褒めてあげましょう。
**ドキュメント**
**コード**
**人々**
もし個人でやっているのであれば:
企業や組織でやっているのであれば:
## やりました!
おめでとう!あなたの最初のプロジェクトをオープンソースにしました。成果はどうあれ、公の場で働くことはコミュニティへの贈り物です。あらゆるコミット、コメント、プルリクエストによって、あなた自身や他の人が学び、成長する機会を提供しているのです。
================================================
FILE: _articles/ko/best-practices.md
================================================
---
lang: ko
title: 관리자의 모범
description: 문서화 과정에서 커뮤니티 활용에 이르기까지 오픈소스 관리자로서 여러분의 삶을 더 편하게 만들어 줍니다.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## 관리자라는 직책이란
여러분이 많은 사람들이 사용하는 오픈소스 프로젝트를 관리하고 있다면, 점점 코딩은 덜 하고 이슈에 더 많이 반응하고 있다는 것을 알아차렸을 것입니다.
프로젝트의 초기 단계에서, 여러분은 새로운 아이디어를 실험하고 여러분이 원하는 것을 바탕으로 결정을 내리고 있습니다. 프로젝트가 인기를 끌면서 여러분은 사용자 및 기여자들과 더 많은 일을 하게 될 것입니다.
프로젝트 유지에는 코드 이상의 것이 필요합니다. 종종 예상치 못한 과제가 주어지기도 하지만 성장하는 프로젝트에게 이는 중요한 일입니다. 프로세스를 문서화하는 것에서부터 커뮤니티를 활용하는 것까지 여러분의 삶을 더 쉽게 만들 수 있는 몇 가지 방법을 모아 보았습니다.
## 프로세스 문서화하기
기록해두는 것은 여러분이 관리자로서 할 수 있는 가장 중요한 일 중 하나입니다.
문서화는 여러분의 생각을 분명히 할 뿐만 아니라 여러분이 필요로 하거나 기대하는 것을 사람들이 직접 물어보지 않고도 알 수 있게 합니다.
문서화를 해 두면 여러분의 의도에 맞지 않는 의견을 기각하기 더 쉬워집니다. 또한 사람들이 프로젝트에 참여하기 더 쉽게 만듭니다. 어떤 사람들이 여러분의 프로젝트를 보거나 사용하고 있는지 모르니까요.
모든 항목에 대해 작성하지 않아도 괜찮습니다. 주요 항목에 대해 적어두는 것이 아무 것도 적어놓지 않는 것보다는 낫습니다.
여려분의 문서를 항상 최신으로 유지할 수 있도록 노력하세요. 항상 업데이트하기 어렵다면 오래된 문서를 지우거나 'outdated'로 표시해서 기여자들의 업데이트를 환영한다고 알리세요.
### 프로젝트의 비전을 서술하세요
프로젝트의 목표를 이야기하는 것부터 시작하세요. 이를 README 파일 또는 새로운 VISION 파일에 추가하세요. 프로젝트 로드맵 등 도움이 될만한 자료가 더 있다면 그것도 게시하세요.
명료하고 문서화된 비전은 여러분을 집중할 수 있게 하고, 사람들의 기여로부터 생길 수 있는 'scope creep'을 피할 수 있도록 해줍니다.
예를 들어 @lord는 프로젝트 비전을 가지면 어떤 요구에 시간을 투자해야 하는지 파악하는 데 도움이 된다는 사실을 깨달았습니다. 새로운 관리자로서의 그는 [Slate](https://github.com/lord/slate)의 첫 기능 요청을 받았을 때 프로젝트의 본 목적에 집중하지 않았던 것을 아쉽게 생각했습니다.
### 기대하는 바를 전달하세요
규칙을 나열하는 것은 머리 아픈 일입니다. 가끔 여러분이 사람들의 행동에 간섭하거나 재미를 없애는 것이 아닌가 하는 생각이 들 수도 있습니다.
그러나 공정하게 제정되고 시행되는 좋은 규칙은 관리자에게 제어력을 부여합니다. 하고 싶지 않은 일에 억지로 끌려들어가지 않게 해줍니다.
여러분의 프로젝트를 찾아오는 대부분의 사람들은 여러분이나 여러분의 환경에 대해 아무것도 알지 못합니다. 프로젝트에 의지하며 꾸준히 사용하는 사람들은 여러분이 그 프로젝트에서 작업하면서 보수를 받는다고 추측할지도 모릅니다. 언젠가는 프로젝트에 많은 시간을 쏟아부을 수 있었어도 이제는 새 직장이나 가족 구성원으로 정신없을 수도 있습니다.
전부 괜찮습니다! 대신 사람들에게 그렇다는 사실을 알리세요.
프로젝트 관리를 아르바이트식 혹은 자발적으로 하고 있다면 여러분이 가진 시간에 대해 솔직해지세요. 프로젝트에 투자해야 한다고 여러분이 생각하는 시간과, 사람들이 여러분이 프로젝트에 투자하기를 원하는 시간과는 다릅니다.
아래와 같은 규칙은 정해 두는 편이 좋습니다.
* 기여를 검토하고 받아들이는 방식 (_테스트를 수행해야 하나요? 정해진 이슈 템플릿이 있나요?_)
* 여러분이 받아들이고자 하는 기여 유형 (_코드의 일부분에만 기여를 받고 싶은가요?_)
* 피드백까지 예상되는 시간 (_ex. "일주일 안에는 관리자의 답변을 받으실 수 있을 것입니다. 그때까지 소식이 없다면 주저 말고 스레드에서 관리자를 호출해주세요" 등._)
* 여러분이 프로젝트에 투자하는 시간 (_ex. "저희는 이 프로젝트에 일주일에 약 5시간만을 할애하고 있습니다" 등._)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md)는 관리자와 기여자를 위한 행동 원칙을 가진 프로젝트의 예시입니다.
### 열린 장소에서 소통하세요
다양한 토의나 질답을 문서화하는 것을 잊지 마세요. 가능하면 어디에서든 여러분의 프로젝트에 대한 이야기는 공개적으로 하는 것이 좋습니다. 누군가 기능이나 지원 요청을 하기 위해 사적으로 연락한다면, 정중하게 메일링 리스트 혹은 이슈 트래커 등의 공개된 채널로 안내하세요.
다른 관리자와 만나거나, 공개하기 어려운 중요한 결정을 내린다면 여러분의 메모 정도라고 해도 내용은 공개적으로 게시하세요.
그러면 여러분의 프로젝트에 막 찾아온 사람도 몇 년간 있었던 사람과 같은 양의 정보를 획득할 수 있습니다.
## 거절하는 법 배우기
필요한 것들을 문서화했나요? 모두가 문서를 읽는다면 이상적이겠지만 현실은 그렇지 않습니다. 사람들에게 그런 문서가 있다는 사실을 알려주어야 합니다.
그러나 모든 것을 기록하면 규칙을 적용해야 할 때 객관적으로 상황을 해결할 수 있습니다.
거절하는 것은 썩 유쾌한 일이 아닙니다. 하지만 _"당신의 기여는 프로젝트 기준에 맞지 않아요."_가 _"당신의 기여가 마음에 들지 않네요."_보다는 덜 감정적으로 느껴집니다.
관리자로서, 본 목적에 맞지 않는 기능 요청, 토론과 관련 없는 발언, 불필요한 작업 등 거절이나 제지가 필요한 많은 상황을 맞닥뜨릴 것입니다.
### 친절한 태도를 유지하세요
여러분이 거절하는 경우가 실제로 생기는 중요한 장소 중에는 이슈 목록과 풀 리퀘스트 목록이 있습니다. 프로젝트 관리자로서 피치 못하게 원하지 않는 제안을 받을 때가 있습니다.
기여가 프로젝트의 목적을 뒤바꾸거나 비전과 맞지 않을 수도 있고, 아이디어는 좋지만 비효율적으로 구현되어 있을 수 있습니다.
이유와는 상관없이, 여러분은 프로젝트의 기준을 충족하지 않는 기여에 적절하게 대처하면 됩니다.
적용하고 싶지 않은 기여를 받았을 때, 여러분의 첫 반응은 그 기여를 무시하거나 못 본 척하는 것일지도 모릅니다. 그렇게 하면 기여자의 기분을 상하게 하는 것은 물론, 커뮤니티의 다른 잠재적 기여자들이 동기를 잃게 만들 수도 있습니다.
죄책감을 느끼고 싶지 않거나 친절함을 유지하고 싶다고 해서 원치 않는 기여를 내버려 두지 마세요. 시간이 흐르면서 그렇게 남겨진 이슈와 풀 리퀘스트가 여러분이 그 프로젝트에서 하는 작업을 더 성가시고 답답하게 만들 것입니다.
받아들이고 싶지 않은 기여는 즉각적으로 닫는 것이 좋습니다. 이미 여러분의 프로젝트가 쌓인 잔무로 고생하고 있다면, @steveklabnik가 [이슈를 효율적으로 분류하는 요령](https://words.steveklabnik.com/how-to-be-an-open-source-gardener)을 정리해 두었으니 참고하세요.
기여를 무시하는 것은 커뮤니티에 부정적인 신호를 보내는 것과 마찬가지입니다. 프로젝트에의 기여는 쉬운 일이 아닙니다. 특히 처음 기여하는 사람이라면 더 그렇습니다. 그들의 기여를 받아들이고 싶지 않다면, 적어도 그들이 보인 흥미와 노력에 대해 감사를 표하세요. 그것만으로도 큰 칭찬입니다!
기여를 받아들이고 싶지 않다면 다음과 같은 방법을 사용하세요.
* 기여에 대해 **감사를 표하세요**.
* **왜 기여가 프로젝트의 목적에 맞지 않는지 설명**하고, 가능하다면 개선점을 제시하세요. 친절하면서도 단호하게 말해야 합니다.
* **관련된 문서가 있다면 링크를 첨부**하세요. 비슷한 유형의 잘못된 기여가 계속된다면 문서에 관련 내용을 추가해서 반복 설명하게 되는 일이 없도록 하세요.
* **스레드를 닫으세요**.
답변에는 한두 문장이면 충분합니다. 예를 들어 @berkerpeksag는 [celery](https://github.com/celery/celery/) 유저가 윈도우와 관련된 에러를 제보했을 때 [이렇게 답변했습니다](https://github.com/celery/celery/issues/3383).

그래도 거절하기가 두렵다고요? [@jessfraz의 말](https://blog.jessfraz.com/post/the-art-of-closing/)처럼 여러분은 혼자가 아닙니다.
> Mesos, Kubernetes, Chromium 같은 여러 오픈소스 프로젝트 관리자들과 이야기해봤는데요. 다들 관리자로서 맡아야 하는 가장 어려운 일이 '원하지 않는 패치를 거절하는 것'이라는 점에 동의했죠.
누군가의 기여를 거절하는 것에 죄책감을 느끼지 마세요. [@shykes의 말](https://twitter.com/solomonstre/status/715277134978113536)에 따르면 오픈소스의 첫 번째 규칙은 _"NO는 일시적이지만 YES는 영원하다"_입니다. 다른 사람이 열중하는 일에 공감하는 것은 좋은 일이지만, 기여를 거절하는 것이 기여를 한 사람을 거절하는 것은 아닙니다.
궁극적으로, 기여가 충분히 좋지 않다면 여러분은 그 기여를 받아들일 의무가 없습니다. 여러분의 프로젝트에 기여하는 사람들을 친절하게 대하고 적극적으로 반응해야겠지만, 여러분의 프로젝트를 발전시킬 것이라고 생각되는 변화만을 받아들이세요. 일단 거절하다 보면 점점 쉬워질 것입니다. 약속할게요.
### 사전대책을 세우세요
처음부터 원치 않는 기여의 양을 줄이고 싶다면 기여 가이드에 여러분의 프로젝트가 기여를 제출 받고 적용하는 과정이 어떻게 이루어지는지 설명하세요.
질이 낮은 기여를 너무 많이 받고 있다면 기여자들에게 약간의 사전 작업을 요청하세요. 예를 들면 다음과 같습니다.
* 이슈 혹은 풀 리퀘스트 템플릿/체크리스트 작성
* 풀 리퀘스트 제출 전 이슈 열기
규칙을 따르지 않는다면 바로 이슈를 닫고 관련 문서로 안내하세요.
이런 접근 방식이 처음에는 불친절하게 느껴질 수도 있지만, 사전에 대비하는 태도는 양쪽 모두에게 좋습니다. 이는 여러분이 어차피 받아들이지 않을 풀 리퀘스트에 누군가 많은 시간을 낭비하는 사태를 방지합니다. 그리고 여러분의 작업 목록을 관리하기 쉽게 만들어 줍니다.
가끔 잠재적 기여자가 여러분의 거부 의사를 기분 나빠하거나 비판할 수 있습니다. 그들의 행동이 적대적으로 변한다면 [상황을 완화시키기 위한 조치](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items)를 취하거나, 그들이 건설적으로 협조하려 하지 않는다면 커뮤니티에서 배제하세요.
### 조언을 아끼지 마세요
커뮤니티의 누군가가 주기적으로 프로젝트의 기준을 충족하지 않는 기여를 제출하는 경우가 있습니다. 그런 기여와 기각이 반복되는 것은 어느 쪽에게든 좌절감을 줍니다.
누군가 여러분의 프로젝트에 열성적이지만 약간의 개선이 필요해 보인다면, 인내심을 가지세요. 매 상황마다 기여가 왜 프로젝트의 기대를 채우지 못하는지 구체적으로 설명하세요. 뭔가 할 수 있는 일을 주기 위해 _"good first issue"_ 라벨이 달린 이슈처럼 더 쉽고 명료한 작업을 맡기세요. 시간이 있다면 그들의 첫 기여 과정을 직접 멘토링하거나, 커뮤니티에서 적절한 멘토를 구해주는 것도 고려해 보세요.
## 커뮤니티 활용하기
혼자서 모든 일을 맡을 필요는 없습니다. 프로젝트 커뮤니티가 존재하는 이유가 있습니다! 기여자 커뮤니티가 아직 활성화되어 있지 않더라도, 사용자가 많다면 그들을 작업에 이끌어 보세요.
### 일을 분담하세요
함께 일할 사람이 필요하다면 주위에 부탁하는 것에서부터 시작하세요.
반복적으로 기여하고 있는 사람을 찾았다면 그들에게 더 많은 권한을 주며 그들의 공로를 인정하세요. 그들이 원한다면 관리자 자리까지 맡게 되는 모범적인 경우를 더 많은 사람들에게 보일 수도 있습니다.
@lmccart가 프로젝트 [p5.js](https://github.com/processing/p5.js)에서 발견한 대로 사람들이 [프로젝트의 소유감을 나눌 수 있도록](../building-community/#프로젝트를-공동으로-소유하세요) 독려하면 여러분이 맡는 일의 양을 현저히 줄일 수 있습니다.
잠깐이든 영원히든 여러분의 프로젝트를 떠나야 한다면 누군가에게 여러분의 역할을 대신해 달라고 부탁하는 것을 부끄럽게 생각하지 마세요.
프로젝트 방침에 열성적인 사람이 있다면 커밋이나 커뮤니티 관리 권한을 부여하세요. 여러분의 프로젝트를 포크해서 활동적으로 유지보수하는 사람이 있다면 여러분의 원본 프로젝트에서 링크를 제공하는 것도 고려해보세요. 여러분의 프로젝트가 계속 발전하길 바라는 사람이 많다는 것은 좋은 일입니다!
@progrium은 그의 프로젝트 [Dokku](https://github.com/dokku/dokku)에 비전을 적어둔 것이 그가 프로젝트 관리에서 물러나고서도 [원래 목표를 향해 나아가는 데 도움](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/)이 되었다는 사실을 알았습니다.
> 저는 제가 원했던 것과 왜 그걸 원했는지에 대해 위키 페이지를 만들어 설명했어요. 관리자들이 프로젝트를 제가 의도한 대로 움직이기 시작한 것을 보고 놀라지 않을 수 없었습니다! 항상 정확히 제가 의도한 대로 되지는 않았지만, 기록해둔 것과는 가까웠지요.
### 각자에게 필요한 솔루션을 구축하게 하세요
잠재적 기여자가 여러분의 프로젝트가 나아갈 방향에 대해 다른 견해를 가지고 있다면 그들이 따로 만든 포크에서 작업하도록 정중하게 권할 수 있습니다.
프로젝트를 포크하는 것은 나쁜 일이 아닙니다. 온갖 프로젝트를 복사하고 수정할 수 있다는 것은 오픈소스의 최고 장점 중 하나입니다. 커뮤니티 구성원들이 포크해서 작업할 수 있게 권장하면 프로젝트 비전과 충돌하는 일 없이 그들의 상상력을 표출할 곳을 마련해줄 수 있습니다.
여러분의 대역폭이 닿지 않는 기능을 간절히 원하는 사용자가 있을 때도 같은 방법이 적용됩니다. API와 사용자 정의 후크를 제공하면 사용자들이 소스를 직접 수정하지 않고서도 필요한 것을 구현하는 데 도움이 됩니다. @orta는 CocoaPods에서 플러그인 제작을 권장한 덕분에 몇몇 흥미로운 아이디어를 [얻기도 했습니다](https://artsy.github.io/blog/2016/07/03/handling-big-projects/).
> 프로젝트가 커지면 관리자들이 새 코드에 보수적이게 되는 것은 거의 피할 수 없는 일입니다. 거절하는 데에는 익숙해지지만, 여전히 많은 사람들이 합리적인 수요를 가지고 있지요. 그래서 툴로서 개발했던 것을 대신 플랫폼으로 바꾸게 되었습니다.
## 봇 활용하기
남들이 도와줄 수 있는 일이 있는 것처럼, 굳이 사람이 할 필요가 없는 일도 있습니다. 로봇은 여러분의 친구입니다. 관리자로서의 삶을 더 쉽게 만들기 위해 로봇을 이용하세요.
### 코드의 질을 개선하기 위해 테스트를 거치도록 하세요
여러분의 프로젝트를 자동화하는 가장 중요한 방법 중 하나는 테스트를 추가하는 것입니다.
테스트는 기여자가 아무것도 망가트리지 않았다는 확신을 가질 수 있게 해줍니다. 여러분이 기여를 더 빨리 검토하고 적용하기에도 좋습니다. 여러분이 더 적극적으로 반응한다면 커뮤니티의 모두도 더 적극적으로 참여할 것입니다.
들어오는 기여를 대상으로 자동으로 수행되는 테스트를 작성하고, 기여자들이 테스트를 로컬에서도 쉽게 수행할 수 있게 구성하세요. 모든 코드 기여는 제출되기 전에 테스트를 통과하도록 하세요. 모든 제출물에 대해 최소한의 수준을 확보할 수 있을 것입니다. GitHub의 [Required status checks](https://help.github.com/articles/about-required-status-checks/) 기능은 어떤 커밋도 테스트를 통과하지 않고서는 병합되지 않도록 도와줍니다.
테스트를 추가할 때는 반드시 CONTRIBUTING 파일에 어떻게 테스트가 동작하는지 설명하세요.
### 기본적인 유지보수에는 툴을 이용하세요
인기 있는 프로젝트를 관리하는 사람들에게 좋은 소식은, 다른 관리자들이 이미 비슷한 상황을 겪어 그에 대한 해결책을 마련해두었다는 점입니다.
유지보수 작업의 몇몇 사항을 자동화해주는 [다양한 툴](https://github.com/showcases/tools-for-open-source)이 있습니다. 이하는 약간의 예시입니다.
* [semantic-release](https://github.com/semantic-release/semantic-release)는 배포를 자동화합니다.
* [mention-bot](https://github.com/facebook/mention-bot)은 풀 리퀘스트의 잠재적 검토자를 호출합니다.
* [Danger](https://github.com/danger/danger)는 코드 검토의 자동화를 지원합니다.
GitHub에서는 버그 제보나 기타 평범한 기여에 사용할 [이슈 템플릿과 풀 리퀘스트 템플릿](https://github.com/blog/2111-issue-and-pull-request-templates)을 제공합니다. 이를 활용하면 의사소통을 능률적으로 진행할 수 있습니다. @TalAter는 여러분의 이슈와 풀 리퀘스트 템플릿 작성을 돕기 위해 [Choose Your Own Adventure](https://www.talater.com/open-source-templates/#/) 가이드를 만들었습니다.
이메일 알림 관리에는 우선순위별로 이메일을 분류하는 [이메일 필터](https://github.com/blog/2203-email-updates-about-your-own-activity)를 설정하는 방법이 있습니다.
여기에 더하고 싶다면 스타일 가이드와 린터(linter)를 이용해 프로젝트에의 기여를 표준화하고, 검토하거나 적용하기 더 쉽게 만들 수 있습니다.
하지만 너무 복잡한 기준은 기여까지의 장벽을 높입니다. 모두의 삶을 편하게 해줄 수 있는 필요한 규칙만 추가하세요.
어떤 툴을 사용할지 잘 모르겠다면 다른 유명한 프로젝트들은 어떻게 하고 있는지 살펴보세요. 특히 여러분의 프로젝트와 비슷한 분야를 찾아보세요. 예컨대, 다른 Node 모듈은 어떤 기여 과정을 가지고 있나요? 다른 프로젝트들과 비슷한 툴과 접근 방식을 적용하면 잠재적 기여자들에게 과정이 익숙하다는 장점도 있습니다.
## 잠시 멈춰도 괜찮습니다
오픈소스는 즐겨야만 의미가 있습니다. 혹시 오픈소스가 여러분에게 부담감이나 죄책감을 가져다주고 있지는 않나요?
어쩌면 여러분은 여러분이 맡은 프로젝트를 생각할 때마다 의지가 꺾이거나 두려움을 느낄지도 모릅니다. 게다가 그러는 동안에도 이슈와 풀 리퀘스트는 쌓이고 있고요.
신경쇠약은 오픈소스 관리자들이 실제로 직면하는 보편적인 문제입니다. 관리자로서 여러분의 행복은 그 어떤 오픈소스 프로젝트의 생존과도 타협하고 포기해야 하는 것이 아닙니다.
말할 것도 없지만, 쉬면서 하세요! 완전히 지쳤을 때에만 휴가를 낼 필요는 없습니다. Python 핵심 개발자인 @brettcannon은 14년간의 자발적인 오픈소스 기여 후 [한 달간의 휴가](http://www.snarky.ca/why-i-took-october-off-from-oss-volunteering)를 떠나기로 결정했습니다.
다른 일들이 그렇듯, 정기적으로 휴식을 취하면 상쾌함과 행복감을 유지할 수 있고 여러분의 업무가 즐거울 것입니다.
가끔, 모두가 여러분을 필요로 하는 것처럼 느껴져 쉬기 곤란할 때가 있습니다. 심지어 사람들이 여러분이 업무를 멈추지 못하게 하려고 부담을 줄 수도 있습니다.
여러분이 프로젝트를 떠나 있는 동안 커뮤니티를 관리할 사람을 찾는 데 최선을 다하세요. 필요한 도움을 구하지 못했어도 하여튼 쉴 때는 쉬어야 합니다. 사람들이 여러분의 무반응에 혼란스러워하지 않도록, 작업을 맡지 않고 있을 때에도 의사소통은 잊지 마세요.
휴식을 취한다는 것은 단순히 휴가를 말하는 것이 아닙니다. 주말 혹은 근무 시간 중에는 오픈소스 작업을 하고 싶지 않다면 사람들이 여러분을 번거롭게 하지 않도록 그 사실을 알리세요.
## 여러분이 최우선입니다
인기 있는 프로젝트의 관리는 초기 성장 단계와 다른 기술을 필요로 하지만 그만큼 보람 있는 일입니다. 관리자로서 여러분은 소수의 사람들만이 경험할 수 있는 수준에서 리더십과 개인 기술을 연마할 수 있습니다. 관리가 항상 쉬운 것은 아니지만, 명확한 경계를 설정하고 여러분이 편하게 느끼는 일을 맡아 하며 행복과 신선함과 생산성을 유지하세요.
================================================
FILE: _articles/ko/building-community.md
================================================
---
lang: ko
title: 마음을 끄는 커뮤니티 만들기
description: 사람들이 프로젝트를 사용하고, 기여하고, 전파하도록 격려하는 커뮤니티를 만드세요.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## 프로젝트의 성공을 위해 준비하기
여러분의 프로젝트가 공개되었습니다. 홍보를 하니 찾아오는 사람들도 생겼습니다. 멋지군요! 그들을 곁에 머물게 하려면 이제 어떻게 해야 할까요?
마음을 끄는 커뮤니티를 만드는 것은 프로젝트의 미래와 평판을 위한 투자입니다. 여러분의 프로젝트가 이제 막 첫 기여를 받는 시점이라면, 기여자들에게 좋은 경험을 안겨 주고 계속 다시 돌아오게 만드세요.
### 사람들이 환영받는다고 느끼게 하세요
@MikeMcQuaid가 [contributor funnel](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/)(기여자 깔때기)이라고 부르는 것을 통해 프로젝트 커뮤니티에 대해 생각해 볼 수 있습니다.

커뮤니티가 성장함에 따라 깔때기 맨 위에 있는 누군가(잠재 사용자)가 맨 아래(활동적인 유지관리자)까지 나아갈 수 있는 방법을 생각해 보세요. 여러분의 목표는 기여 경험의 각 단계에서 발생하는 마찰력을 최소화하는 것입니다. 사람들은 쉽게 보답을 받을수록 더 많은 일을 할 동기를 받습니다.
문서화에서부터 시작하세요.
* **프로젝트를 사용하기 쉽게 만드세요.** [친절한 README](../starting-a-project/#readme-파일-작성하기)와 명료한 코드 예제를 사용한다면 프로젝트에 막 착수한 사람도 쉽게 시작할 수 있습니다.
* **기여 방법을 명확하게 설명하세요.**, [CONTRIBUTING 파일](../starting-a-project/#기여-가이드라인-작성하기)을 관리하고 이슈를 최신 상태로 유지하세요.
[GitHub의 2017 오픈소스 설문조사](http://opensourcesurvey.org/2017/)에 따르면 오픈소스 사용자들에게 가장 큰 문제는 불완전하거나 애매한 문서화라고 합니다. 좋은 문서화는 사람들이 여러분의 프로젝트에 관심을 갖게 합니다. 결국 누군가 이슈나 풀 리퀘스트를 열 것입니다. 다음과 같은 방법을 사용해 사람들을 깔때기 아래까지 이끌어 보세요.
* **새로운 사람이 프로젝트에 찾아오면 그들의 관심에 감사를 표하세요!** 처음 온 사람은 단 한 번의 부정적인 경험으로도 다시 프로젝트에 돌아오지 않게 될 수 있습니다.
* **적극적으로 반응하세요.** 이슈에 한 달 이상 반응하지 않았다면 이슈를 올린 사람은 이미 여러분의 프로젝트를 잊었을지도 모릅니다.
* **열린 마음을 가지고 다양한 유형의 기여를 받아들이세요.** 많은 기여자들이 처음에는 버그 제보나 작은 수정에서부터 시작합니다. 프로젝트에 기여하는 데에는 [다양한 방법](../how-to-contribute/#기여한다는-것의-의미)이 있습니다. 그들이 원하는 방식으로 여러분을 도울 수 있게 하세요.
* **받아들일 수 없는 기여가 있다면,** 먼저 그들의 아이디어에 감사하고, 왜 그 기여가 프로젝트의 의도에 맞지 않는지 [이유를 설명](../best-practices/#거절하는-법-배우기)하세요. 관련 문서가 있다면 링크를 첨부하는 것이 좋습니다.
오픈소스 제공자의 대다수는 이따금씩만 프로젝트에 기여하는 "임시 기여자"입니다. 임시 기여자들은 프로젝트의 진도를 따라갈 시간이 없을 수도 있습니다. 즉 그들이 기여하기 쉬운 환경을 만들어두는 것은 여러분의 역할입니다.
사람들의 기여를 장려하는 것은 여러분 스스로를 위한 투자이기도 합니다. 여러분의 프로젝트를 가장 좋아하는 사람에게 그들이 좋아하는 일을 할 수 있는 권한을 준다면, 모든 것을 혼자 해야 하는 부담감을 덜 수 있습니다.
### 모든 것을 문서화하세요
새로운 프로젝트를 시작하면 작업 내용을 공개하고 싶지 않을 수도 있습니다. 하지만 오픈소스 프로젝트는 여러분의 작업 과정을 공개해야 번창할 수 있습니다.
여러분이 하고 있는 일을 기록해 두면 더 많은 사람들이 각 단계에서 프로젝트에 참여할 수 있습니다. 여러분이 생각지도 못한 부분에서 도움을 얻을 수도 있습니다.
작업 내용을 적는다는 것은 단순한 기술적 문서화 이상의 것을 의미합니다. 뭔가 기록하거나 사적으로 프로젝트에 대해 토론하고 싶다는 생각이 들면 이를 공개할 수 있을지 자문해 보세요.
프로젝트 로드맵, 원하는 기여 유형, 기여를 검토하는 방식, 특정 결정을 내린 이유 등을 분명하게 밝히세요.
여러 사용자가 같은 문제를 겪는 것을 알게 됐다면 그 해결책을 README에 문서화하세요.
회의의 경우, 관련 이슈에 메모나 테이크아웃을 게시해 보세요. 이 투명성 수준에서 얻을 수 있는 피드백은 당신을 놀라게 할 수 있습니다.
모든 것의 문서화는 여러분이 진행 중인 작업에도 해당됩니다. 여러분이 프로젝트의 큰 업데이트 작업을 하고 있다면 이를 풀 리퀘스트로 열고 WIP(Work In Progress; 작업 중)로 표시하세요. 그렇게 하면 일찍부터 사람들이 과정에 참여할 수 있습니다.
### 적극적으로 반응하세요
[프로젝트를 홍보](../finding-users)하다 보면 사람들이 여러분에게 피드백을 제공할 것입니다. 어떤 부분이 어떻게 동작하는지 알고 싶어할 수도 있고, 처음 접하는 데 도움이 필요할 수도 있습니다.
누군가 이슈를 열거나 풀 리퀘스트를 제출하거나 질문을 하면 적극적으로 반응할 수 있도록 노력하세요. 제때 피드백에 반응하면 사람들은 대화에 참여하고 있다는 느낌을 받고, 더 열정적으로 기여할 것입니다.
즉시 반응하기 힘들더라도 그 사실을 알려두는 것이 참여율을 높이기 좋습니다. @tdreyno가 [Middleman](https://github.com/middleman/middleman/pull/1466)에서 풀 리퀘스트에 어떻게 대응했는지 참고하세요.

[Mozilla에서의 조사](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177)에 따르면 48시간 안에 코드 리뷰를 받은 기여자는 추가 기여를 할 확률이 훨씬 높다고 합니다.
여러분의 프로젝트에 대한 대화는 Stack Overflow나 Twitter, Reddit처럼 인터넷상의 다른 곳에서 이루어지고 있을 수도 있습니다. 이러한 사이트에서 여러분의 프로젝트가 언급되었을 때 알 수 있도록 알림을 설정할 수 있습니다.
### 커뮤니티가 모일 장소를 제공하세요
커뮤니티가 모일 장소를 제공해야 하는 데에는 두 가지 이유가 있습니다.
첫 번째 이유는 커뮤니티 구성원들을 위해서입니다. 사람들이 서로 알아갈 수 있도록 도우세요. 같은 분야에 흥미가 있는 사람들은 그것에 대해 이야기 나눌 곳을 원하기 마련입니다. 그리고 의사소통이 접근성 있는 장소에서 공개적으로 이루어져야 누구나 대화 내역을 읽고 현재 상황을 따라잡아 프로젝트에 빠르게 참여할 수 있습니다.
두 번째 이유는 여러분을 위해서입니다. 프로젝트에 대해 이야기할 공개된 장소가 없다면 사람들은 여러분에게 직접 연락할 것입니다. 처음에는 이런 개인 메시지에 답하는 방식이 "일단은" 충분히 편하게 느껴질 수 있습니다. 하지만 시간이 지나 프로젝트가 유명해지면 결국 지치고 말 것입니다. 여러분의 프로젝트에 대해 비공개적으로 이야기하고 싶은 유혹을 참고 공개된 채널로 사람들을 안내하세요.
공개적인 의사소통은 사람들이 여러분에게 직접 메일을 보내거나 블로그에 댓글을 다는 대신 이슈를 열게 하는 것처럼 간단하게 이룰 수 있습니다. 프로젝트 관련 대화를 위해 메일링 리스트, Twitter 계정, Slack이나 IRC 채널을 만드는 방법도 있습니다. 물론 전부 다 할 수도 있습니다!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved)는 격주마다 커뮤니티 구성원들을 돕기 위해 일과 중 시간을 마련했습니다.
> 또한 Kops는 커뮤니티에 대한 도움과 안내를 제공하기 위해 격주마다 시간을 마련했다. Kops 관리자들은 신입을 돕거나, 풀 리퀘스트에 협조하거나, 새 기능에 대해 토론하기 위한 시간을 할당하는 데 찬성했다.
공개적인 의사소통은 중요하지만 예외도 있습니다. 보안 관련 이슈나 민감한 행동 강령 위반 사항이 바로 그것입니다. 이러한 문제는 비공개적으로 보고될 수 있어야 합니다. 개인 이메일을 사용하기 꺼려진다면 프로젝트를 위한 이메일 주소를 준비하세요.
## 커뮤니티 성장시키기
커뮤니티는 아주 강력한 힘을 지니고 있습니다. 그 힘은 어떻게 다루느냐에 따라 축복이 될 수도, 저주가 될 수도 있습니다. 성장하는 커뮤니티를 파괴의 힘이 아닌 창조의 힘으로 이끄는 방법을 알아봅시다.
### 악당에게 관용을 베풀지 마세요
인기 있는 프로젝트라면 커뮤니티를 돕기는커녕 해치는 사람들이 나타나기 마련입니다. 불필요한 논쟁을 일으키고, 사소한 기능에 트집을 잡고, 남을 괴롭히는 사람들입니다.
이런 유형의 사람들에 대해서는 즉각적인 조치를 취해야 합니다. 그냥 넘어간다면 부정적인 사람들이 커뮤니티의 다른 사람들을 불쾌하게, 떠나게까지 만들 수 있습니다.
프로젝트의 사소한 면에 대한 반복적인 논쟁은 여러분을 포함한 구성원이 보다 중요한 일에 집중하는 것을 방해합니다. 여러분의 프로젝트에 새로 찾아온 사람들이 이런 논쟁을 보면 프로젝트에 참여하고 싶지 않을 것입니다.
여러분의 프로젝트에서 행해지는 옳지 않은 행동을 발견한다면, 친절하지만 완고하게 어째서 그런 행동이 용납될 수 없는지 공적으로 설명하세요. 문제가 지속된다면 [그들을 떠나보내야 할 수도 있습니다](../code-of-conduct/#행동강령을-시행하기). 프로젝트 [행동 강령](../code-of-conduct/)이 이런 대화의 적절한 지침이 될 것입니다.
### 기여자에게 먼저 다가가세요
커뮤니티가 성장할수록 좋은 문서화는 더욱 중요해집니다. 여러분의 프로젝트를 잘 몰랐을 평범한 기여자들도 문서를 읽고 빠르게 필요한 맥락을 파악할 수 있기 때문입니다.
CONTRIBUTING 파일에 새 기여자들이 시작할 방법을 자세히 설명하세요. 이를 위한 파트를 따로 마련해도 좋습니다. 예컨대 [Django](https://github.com/django/django)는 새 기여자를 환영하기 위한 특별한 페이지를 가지고 있습니다.

이슈 목록에 다양한 유형의 기여자들을 위한 라벨을 표시하세요. [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, _"documentation"_ 같은 예가 있습니다. [이러한 라벨은](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14)
프로젝트에 새로 온 사람들이 빠르게 이슈를 확인하고 기여를 시작하기 쉽게 만들어 줍니다.
마지막으로, 기여의 모든 단계에서 사람들이 좋은 기분을 유지할 수 있도록 문서를 활용하세요.
여러분의 프로젝트에서 작업하는 대부분의 사람과는 직접 의사소통할 기회가 없을 것입니다. 누군가 자신이 없거나 어디서 시작할지 갈피를 잡지 못해서, 결국 하지 못한 기여 또한 있을 것입니다. 친절함을 담은 몇 마디면 사람들이 실망한 채 프로젝트를 떠나는 것을 예방할 수 있습니다.
[Rubinius](https://github.com/rubinius/rubinius/)의 [기여 가이드](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md)는 어떻게 시작하는지 참조하세요.
> Rubinius를 사용해 주시는 것에 대해 먼저 감사의 말씀을 드리고 싶습니다. 이 프로젝트는 여러분의 사랑의 산출물이며, 저희는 버그를 잡고, 성능을 개선하고, 문서화를 돕는 모든 여러분께 고마움을 느낍니다. 모든 기여는 의미가 있습니다. 프로젝트에 참여해 주셔서 감사합니다. 다만, 저희가 여러분의 이슈를 받아들이기 위해 필요로 하는 몇 가지 지침이 있으니 참고해 주세요.
### 프로젝트를 공동으로 소유하세요
사람들은 프로젝트에 대한 일종의 소유감을 느낄 때 더 열심히 기여합니다. 프로젝트의 비전을 바꾸거나 원치 않는 기여를 받아들이라는 뜻이 아닙니다. 하지만 사람들에게 공적을 돌릴수록 그들은 더 오래 여러분과 함께할 것입니다.
커뮤니티와 프로젝트의 소유감을 최대한 나눌 수 있는 방법에는 무엇이 있는지 알아봅시다.
* **(사소하고) 쉬운 버그는 직접 해결하지 말고** 새로운 기여자를 위해 남겨 두거나, 기여하려는 사람에게 멘토링하는 데 활용하세요. 처음에는 부자연스럽게 느껴질 수 있지만, 시간이 지나면서 여러분의 투자가 결실을 맺게 될 것입니다. [Cookiecutter](https://github.com/audreyr/cookiecutter)의 @michaeljoseph은 아래 이슈를 직접 고치는 대신 기여자에게 새 풀 리퀘스트를 제출해 달라고 했습니다.

* [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md)가 사용하는 방법처럼 **CONTRIBUTORS 혹은 AUTHORS 파일**을 만들어 모든 프로젝트 기여자를 담은 하나의 목록을 작성하세요.
* 어느 정도 규모의 커뮤니티가 형성됐다면 기여자들에 대한 감사를 담은 **뉴스 레터를 보내거나 블로그 포스트를 게시하세요**. Rust의 [This Week in Rust](https://this-week-in-rust.org/)와 Hoodie의 [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html)가 좋은 예입니다.
* **모든 참여자에게 커밋 권한을 부여하세요.** @felixge는 이 방법이 사람들이 [더 열심히 패치를 개선하게 한다는 사실](http://felixge.de/2013/03/11/the-pull-request-hack.html)을 알았고, 그가 자리에 없는 동안 프로젝트 관리자 일을 맡아 주는 사람들을 발견하기도 했습니다.
* 여러분의 프로젝트가 GitHub에서 진행되고 있다면 **프로젝트를 개인 계정에서 [조직 계정](https://help.github.com/articles/creating-a-new-organization-account/)으로 옮기고** 예비 관리자를 등록하세요. 조직 계정을 활용하면 외부의 협력자들과 함께 일하기 더 쉽습니다.
현실에서 [대부분의 프로젝트](https://peerj.com/preprints/1233/)는 한두 명의 관리자가 거의 모든 일을 담당합니다. 여러분의 프로젝트와 커뮤니티가 성장할수록 위 방법이 도움을 구하기 좋습니다.
항상 도움을 줄 수 있는 사람을 찾을 수 있는 것은 아니지만, 신호를 보내는 것은 그럴 확률을 높입니다. 여러분이 일찍 시작할수록 사람들은 더 빨리 도울 수 있습니다.
## 갈등 해결하기
프로젝트 초기에는 결정을 내리기 쉽습니다. 하고 싶은 일이 있다면, 얼마든 그렇게 하세요.
여러분의 프로젝트가 유명해질수록 사람들은 여러분이 내리는 결정에 관심을 가지게 될 것입니다. 기여자가 많은 것이 아니더라도 유저가 많다면 사람들이 이슈 제보나 여러분의 결정을 중요하게 생각하고 있다는 것을 알 수 있습니다.
친근하면서도 정중한 커뮤니티를 일구고 작업을 공개적으로 기록하며 진행했다면 여러분의 커뮤니티는 대부분의 경우 해결책을 찾을 수 있을 것입니다. 하지만 가끔은 다루기 어려운 문제에 당면할 때도 있습니다.
### 친절에 대한 기준을 세우세요
복잡한 이슈를 두고 접전을 벌이면 커뮤니티 분위기가 팽팽해질 수 있습니다. 사람들이 화를 내거나 실망하고 이를 다른 사람이나 여러분에게 표출할 수도 있습니다.
관리자로서 상황이 심각해지지 않도록 조정하는 것이 여러분의 역할입니다. 해당 주제에 관해 뚜렷한 주장을 가지고 있더라도, 싸움에 뛰어들어 여러분의 의견을 밀어붙이지 말고 의장 혹은 사회자로서의 역할을 맡을 수 있도록 하세요. 누군가 불친절하게 행동하거나 발언권을 독차지하려 한다면 정중하고 생산성 있는 토론이 유지될 수 있도록 [즉각 대응](../building-community/#악당에게-관용을-베풀지-마세요)하세요.
여러분의 본보기를 기다리는 사람들도 있습니다. 모범을 보이세요. 실망감이나 불만, 걱정을 표현할 수도 있습니다. 하지만 침착함을 유지하세요.
이성을 유지하는 것은 쉽지 않습니다. 하지만 리더십을 보여야 커뮤니티를 더 건전하게 유지할 수 있습니다. 온 인터넷이 여러분에게 고마워할 것입니다.
### README 파일을 골자로 다루세요
README 파일은 [단순한 안내서 이상](../starting-a-project/#readme-파일-작성하기)의 것입니다. 여러분의 목표, 프로젝트 비전, 로드맵에 대해서도 적을 수 있습니다. 사람들이 특정 기능의 유용성을 토론하는 데에만 과도하게 몰입해 있을 때, README 파일을 다시 읽고 프로젝트의 더 높은 비전에 대해 이야기하면 도움이 될 것입니다. 또한 README 파일에 집중하면 대화를 객관화하여 건설적인 토론을 할 수 있습니다.
### 목적지가 아닌 여정에 초점을 맞추세요
몇몇 프로젝트는 중요한 결정을 투표를 통해 결정합니다. 척 보기에는 실용적이지만, 투표는 '정답'을 찾는 데 집중하지 서로 의견을 교환하고 고려하는 방식으로는 적합하지 않습니다.
투표 제도는 자칫 정치적인 성향을 띠게 될 수 있습니다. 커뮤니티 구성원들이 특정한 방향으로 투표하도록 압박감을 느낄 수 있기 떄문입니다. 모든 사람이 투표를 하는 것도 아닙니다. 커뮤니티를 [조용히 지켜보는 대다수](http://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users), 혹은 투표의 존재조차 모르는 사용자도 있습니다.
가끔은 투표로 결정을 내려야 할 때도 있습니다. 하지만 가능한 한 합의점 자체보다 ['합의점을 찾는 과정'](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making)에 강세를 두세요.
합의점을 찾는 과정에서, 커뮤니티 구성원들은 본인의 발언이 충분히 귀담아들어졌다고 생각될 때까지 주요 의견을 피력할 것입니다. 사소한 걱정거리만 남았을 때에야 커뮤니티는 앞으로 나아갑니다. '합의점을 찾는다'는 표현은 커뮤니티가 하나의 완벽한 정답에 도달하지는 못할 수도 있다는 것을 나타냅니다. 대신 의견을 듣고 토론하는 데 집중할 뿐입니다.
반드시 합의점을 찾는 과정을 문제 해결에 적용하지 않더라도, 여러분이 프로젝트 관리자로서 모두의 이야기를 듣고 있음을 알려주는 것이 중요합니다. 사람들의 이야기를 귀담아듣고, 문제를 해결해 주기 위해 전념하는 것은 시간과 노력이 들지만 민감한 상황을 피할 수 있습니다. 여러분의 말을 행동으로 책임지세요.
해결책을 찾으려고 섣부른 결정을 내리지 마세요. 모두의 의견을 듣고 모든 정보를 공개한 다음 해결책을 향해 나아가야 합니다.
### 행동에 중점을 둔 대화를 이어가세요
토론은 중요합니다. 하지만 생산적인 토론과 비생산적인 토론에는 차이가 있습니다.
해결책을 향해 실질적으로 나아가는 토론을 장려하세요. 이야기가 침체되거나, 주제에서 벗어나거나, 대화에 감정이 실리기 시작하거나, 사람들이 사소한 사항으로 트집을 잡고 있다면 멈춰야 합니다.
이런 토론이 지속되도록 내버려두는 것은 해결해야 할 이슈뿐 아니라 커뮤니티의 건강에도 나쁜 영향을 줄 수 있습니다. 사람들은 이런 식의 토론이 허락되거나 심지어 장려된다고까지 생각할 수 있으며, 장래의 이슈를 발의하거나 해결하지 못하게 될 수 있습니다.
여러분 혹은 누군가가 만든 모든 논점에 대해 자문해 보세요. "이 대화가 어떻게 우리를 해결책으로 이끌어줄 수 있을까?"
대화가 풀리기 시작했다면 다시 집중하기 위해 사람들에게 물어보세요. "이제 어떻게 할까요?"
대화가 진전되지 않는다면 마땅히 취할 조치가 없거나 이미 적절한 조치가 취해진 것입니다. 이슈를 닫고 그 이유를 설명하세요.
### 전장은 현명하게 선택하세요
문맥 역시 중요합니다. 토론에 누가 참여하고 있는지, 그들이 커뮤니티의 나머지를 어떻게 대표하는지 고려하세요.
커뮤니티의 모두가 이 이슈에 대해 관심이나 불만을 가지고 있나요? 아니면 한 명이 문제를 일으키고 있는 것인가요? 직접 발언하는 대신 지켜보고 있는 커뮤니티 구성원들이 있음을 잊지 마세요.
이슈가 커뮤니티의 전반적인 수요를 충족시키지 않는 것이라면 소수의 걱정을 인정하는 것으로 충분할 수 있습니다. 해당 주제에 관한 기존 토론으로 안내하고 이슈를 닫으세요.
### 커뮤니티 해결사를 선정하세요
좋은 태도와 명확한 의사소통으로 대부분의 어려운 상황은 해결할 수 있습니다. 그러나 생산적인 대화에서도 어떻게 진행해야 하는가에 대한 의견 차이는 있을 수 있습니다. 이럴 때는 해결사 역할을 할 수 있는 개인이나 집단을 선정하세요.
해결사는 프로젝트 대표 관리자일 수도 있고, 투표를 기반으로 결정을 내리는 집단일 수도 있습니다. 해결사를 활용할 일이 생기기 전에 GOVERNANCE 파일에 해결사와 관련 절차를 명시해 두는 것이 이상적입니다.
해결사는 마지막 방책으로서 쓰여야 합니다. 의견이 엇갈리는 이슈는 여러분의 커뮤니티가 배우고 성장할 기회입니다. 이러한 기회를 놓치지 말고 협력적인 과정을 통해 가능한 해결책을 향해 나아가세요.
## 커뮤니티는 오픈소스의 ❤️으로
건강하고 번성하는 커뮤니티는 매주 오픈소스에 채워지는 수천 시간의 연료가 됩니다. 많은 기여자들이 오픈소스에 기여하(거나 하지 않)는 이유로서 다른 기여자들을 꼽습니다. 커뮤니티의 힘을 건설적으로 다루는 법을 배움으로써 여러분은 누군가가 잊을 수 없는 오픈소스 경험을 가질 수 있도록 도울 것입니다.
================================================
FILE: _articles/ko/code-of-conduct.md
================================================
---
lang: ko
title: 귀하의 행동강령
description: 행동강령을 채택하고 시행함으로써 건강하고 건설적인 커뮤니티 행동을 촉진하십시오.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## 행동강령이 왜 필요할까요?
행동강령은 프로젝트 참가자의 행동에 대한 기대치를 설정하는 문서입니다. 행동강령을 채택하고, 시행하면 커뮤니티에 긍정적인 사회적 분위기를 조성하는데 도움이 될 수 있습니다.
행동강령은 참가자뿐만 아니라, 자신을 보호하는 데 도움이 됩니다. 프로젝트를 유지하다 보면, 다른 참가자의 비생산적인 태도로 인해 시간이 지남에 따라 업무가 없어지거나 불편해질 수 있습니다.
행동강령은 건강하고, 건설적인 커뮤니티 행동을 촉진할 수 있도록 해줍니다. 능동적으로 행동하면 자신이나 다른 사람들이 프로젝트에 피로를 느끼게 될 가능성을 낮추고, 누군가가 동의하지 않을 때 조치를 취할 수 있도록 도와줍니다.
## 행동강령 수립하기
가능한 빨리 행동강령을 수립하십시오: 이상적으로, 처음 프로젝트를 만들 때입니다.
귀하의 기대에 대한 의사 소통 이외에도, 행동강령은 다음을 설명합니다:
* 행동강령이 효력을 발생하는 곳 _(이슈 및 pull requests, 또는 이벤트와 같은 커뮤니티 활동에만 필요합니까?)_
* 행동강령이 누구에게 적용되는지 _(커뮤니티 맴버와 메인테이너, 하지만 스폰서는 어떻게?)_
* 누군가가 행동강령을 위반하면 어떻게되는가
* 누군가가 위반 사례를 신고 할 수 있는 방법
가능한 모든 곳에서 이전 기술을 사용하십시오. [기여자 규약](https://www.contributor-covenant.org/)은 Kubernetes, Rails 및 Swift를 포함하여 40,000 개 이상의 오픈소스 프로젝트에서 사용되는 행동강령입니다.
[Django 행동강령](https://www.djangoproject.com/conduct/)과 [Citizen 행동강령](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/)은 두가지 훌륭한 행동강령입니다.
프로젝트의 최상단 디렉토리에 CODE_OF_CONDUCT 파일을 놓고 CONTRIBUTING 또는 README 파일에서 링크하여 커뮤니티에 표시되게 하십시오.
## 행동강령을 어떻게 시행할 것인지 결정하기
위반이 발생하기 **_전에_** 귀하의 행동강령이 어떻게 시행되는지 설명해야합니다. 이렇게해야 할 몇 가지 이유가 있습니다:
* 필요한 때에 행동을 취하는 것에 대해 진지하다는 것을 보여줍니다.
* 커뮤니티는 불만 사항이 실제로 검토 될 것이라는 것에 확신합니다.
* 검토 진행과정이 공정하고 투명하다는 사실을 커뮤니티에 확신시켜 줄겁니다.
행동강령을 보고하고 누가 그 보고서를 받았는지 설명하기 위해 사람들에게 사적인 (이메일 주소같은) 방법을 제공해야합니다. 메인테이너, 그룹 메인테이너 또는 행동강령 그룹이 될 수 있습니다.
누군가 그 보고서를 받는 사람에 대한 위반 사항을 보고하기를 원할 수도 있다는 것을 잊지 마십시오. 이 경우, 위반 사항을 다른 사람에게 보고 할 수있는 옵션을 제공하십시오. 예시로, @ctb와 @mr-c는 [그 프로젝트에 설명하고](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer)하고 있습니다:
> 학대, 괴롭힘 또는 기타 용납 될 수없는 행동의 사례는 C.kidman Brown과 Michael R. Crusoe에게만 보내지는 **khmer-project@idyll.org** 로 이메일을 보내서 신고할 수 있습니다. 두 가지 중 하나와 관련된 문제를 신고하려면 BEACON 행동 과학 연구 센터 (NSF Center for Science and Technology)의 다양성 책임자 (Diversity Director)인 **Judi Brown Clarke 박사**에게 이메일을 보내 주시기 바랍니다
영감을 얻으려면, Django의 [enforcement manual](https://www.djangoproject.com/conduct/enforcement-manual/)를 확인해봅시다(프로젝트의 크기에 따라 이 포괄적인 것을 필요로 하지 않을 수도 있습니다).
## 행동강령을 시행하기
때로는, 최선의 노력에도 불구하고, 누군가 이 코드를 위반하는 행동을 취할 때가 있습니다. 부정적인 행동이나 유해한 행동을 해결할 수 있는 몇 가지 방법이 있습니다.
### 상황에 대한 정보 수집하기
각 커뮤니티 회원의 목소리를 자신의 목소리만큼 중요하게 생각하십시오. 누군가 행동강령을 위반했다는 보고를 받으면, 그 사람과 자신의 경험이 일치하지 않더라도, 진지하게 조사하여 문제를 조사하십시오. 그렇게함으로써 커뮤니티에 자신의 관점을 소중히 여기며 자신의 판단을 신뢰하게됩니다.
문제의 공동체 구성원은 일관되게 다른 사람들을 불편하게하는 반복적인 범죄자일 수도 있고, 한번만 말하거나 했을 수도 있습니다. 두 가지 모두 상황에 따라 조치를 취할 근거가 될 수 있습니다.
응답하기 전에, 일어난 일을 이해할 시간을 주십시오. 그 사람의 과거 의견과 대화를 통해 그들이 누구인지 이해하고 그런 행동을 한 이유에 대해 알아보십시오. 이 사람과 그들의 행동에 관해 자신의 관점 이외의 관점을 모아보십시오.
### 적절한 행동을 취하기
충분한 정보를 수집하고 처리한 후에는, 무엇을 해야 할 지 결정해야 합니다. 다음 단계를 고려할 때, 모더레이터로서의 목표는 안전하고 존중받으며 협력적인 환경을 조성하는 것임을 기억하십시오. 문제의 상황을 다루는 방법뿐만 아니라 응답이 커뮤니티의 행동 및 기대 사항의 나머지 부분에 어떻게 영향을 미치는지 고려하십시오.
누군가가 행동강령을 위반했다는 사실을 보고하면, 그것을 처리하는 것은 당신의 영역이 아닙니다. 때로는 기자가 자신의 경력, 평판 또는 신체적 안전에 큰 위험을 안고 정보를 공개하는 경우가 있습니다. 그들이 괴롭힘에 맞서도록 강요하면 기자를 타협의 입장에 놓을 수 있습니다. 기자가 명시적으로 달리 요구하지 않는 한, 문제의 사람과 직접 대화를 해야합니다.
행동강령 위반에 대응할 수 있는 몇 가지 방법이 있습니다:
* **문제의 사람에게 공개적으로 경고를 제공**하고 자신의 행동이 다른 사람, 바람직하게는 발생한 채널의 부정적인 영향을 설명합니다. 가능하다면 공개 통신은 나머지 커뮤니티에 당신이 행동 강령을 진지하게 받아 들일 수 있도록 전달합니다. 귀하의 의사 소통은 친절하지만 확고해야합니다.
* 자신의 행동이 다른 사람들에게 어떻게 부정적 영향을 주었는지 설명하기 위해 문제의 **사람에게 개인적으로 연락**하십시오. 상황에 민감한 개인 정보가 관련된 경우, 개인 통신 채널을 사용할 수 있습니다. 사적으로 누군가와 의견을 나누는 경우, 처음 상황을 보고한 사람들을 참조하면 행동을 취한 것입니다. 보고자에게 CC를 보내기 전에 동의 여부를 묻습니다.
경우에 따라, 해결 방법에 도달할 수 없습니다. 문제의 사람은 대면 할 때 공격적이거나 적대적이되거나 행동을 바꾸지 않을 수 있습니다. 이 상황에서 더 강한 행동을 취하는 것이 좋습니다. 예시입니다:
* 프로젝트의 모든 측면에 대한 참여를 일시적으로 금지함으로써, 시행된 문제의 **사람을 일시 중지**합니다.
* 프로젝트에서 이 사람을 **영구적으로 금지**합니다.
금지 회원은 영구적이고 회피 할 수 없는 관점의 차이를 나타나기 때문에 가볍게 생각해서는 안됩니다. 해결 방법에 도달할 수 없다는 것이 명백 할 때만 이러한 조치를 취해야합니다.
## 메인테이너로서의 책임
행동강령은 임의적으로 집행되는 법이 아닙니다. 귀하는 행동강령의 집행자이며 행동강령이 정하는 규칙을 준수하는 것은 귀하의 책임입니다.
메인테이너로서 귀하는 커뮤니티를 위한 지침을 수립하고 귀하의 행동강령에 명시된 규칙에 따라 지침을 시행하십시오. 이것은 행동강령 위반 신고를 심각하게 받아들이는 것을 의미합니다. 기자는 자신의 불만을 철저하고 공정하게 검토해야합니다. 그들이 보고한 행동이 위반 사항이 아니라고 판단되면, 그 내용을 명확하게 전달하고 그에 대한 조치를 취하지 않을 이유를 설명하십시오. 그들이 하는 일은 그들에게 달린 것입니다: 문제가 있는 행동을 용인하거나 커뮤니티 참여를 중단하십시오.
_기술적인_ 행동강령을 위반하지 않는 행동 보고서는 여전히 커뮤니티에 문제가 있음을 나타낼 수 있으므로, 이 잠재적인 문제를 조사하고 그에 따라 행동해야합니다. 여기에는 수용 가능한 행동을 명확히하고 행동이 신고된 사람과 이야기하고, 행동강령을 위반하지 않았지만 예상되는 것의 가장자리를 뛰어 넘고 있으며 특정 행동을 취하는 것으로 나타남으로써 행동강령을 개정하는 것이 참가자들은 불편함을 느끼는 것에 포함될 수 있습니다.
결국, 메인테이너로서, 당신은 수용 가능한 행동에 대한 기준을 설정하고 시행합니다. 프로젝트의 커뮤니티 가치를 형성 할 수 있는 능력이 있으며, 참여자는 이러한 가치를 공정하고 균등하게 적용할 것을 기대합니다.
## 당신이 이 세상에서 보고 싶은 행동을 장려하기 🌎
프로젝트가 적대적이거나 환영받지 못하는 것처럼 보일 때, 다른 사람이 행동을 용인하는 사람이 한 명이라도 더 많은 기여자를 잃을 위험이 있으며, 그 중 일부는 절대 만나지 못할 수도 있습니다. 행동강령을 채택하거나 시행하는 것이 항상 쉬운 것은 아니지만, 친숙한 환경 조성은 커뮤니티 성장을 도울 것입니다.
================================================
FILE: _articles/ko/finding-users.md
================================================
---
lang: ko
title: 프로젝트에 기여할 사람 찾기
description: 당신의 오픈소스 프로젝트가 행복한 사용자들의 손길 아래 성장할 수 있게 만드세요.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## 소문내기
시작할 때부터 오픈소스 프로젝트를 홍보해야 한다는 규칙은 없습니다. 오픈소스에 기여하는 데는 인기와 무관한 많은 이유가 있습니다. 사람들이 여러분의 오픈소스 프로젝트를 찾고 이용해주기를 기대하지만 말고 여러분의 노력에 대한 이야기를 퍼뜨려야 합니다!
## 메시지 생각해 내기
프로젝트를 홍보하기 위한 실질적인 작업을 시작하기 전에 프로젝트가 무엇을 하고 왜 중요한지 설명할 수 있어야 합니다.
무엇이 여러분의 프로젝트를 색다르고 흥미롭게 만드나요? 왜 프로젝트를 시작했나요? 이러한 질문에 직접 답하면 프로젝트의 중요성을 알리는 데 도움이 됩니다.
여러분의 프로젝트가 사람들의 문제를 해결해주기 때문에 사람들은 사용자가 되고 기여자가 될 것이라는 점을 기억하세요. 프로젝트의 메시지와 가치에 대해 생각할 때 사용자와 기여자의 관점으로 바라보세요.
예를 들어 @robb는 코드 예제를 사용해 그의 프로젝트 [Cartography](https://github.com/robb/Cartography)가 왜 유용한지 명확하게 알려줍니다.

메시지 전달에 대해 더 알아보고 싶다면 사용자 페르소나 개발을 위한 Mozilla의 ["Personas and Pathways"](http://mozillascience.github.io/working-open-workshop/personas_pathways/)를 참조하세요.
## 사람들이 당신의 프로젝트를 찾고 팔로우하도록 돕기
정보를 한 곳에 집중시켜 사람들이 여러분의 프로젝트를 찾고 기억하기 더 쉽게 만드세요.
**여러분의 작업을 홍보하기 위한 핸들을 정하세요.** 트위터 계정, GitHub URL, IRC 채널 등은 사람들을 여러분의 프로젝트에 끌어들이는 쉬운 방법입니다. 이런 바깥 연락망은 성장하는 프로젝트 커뮤니티가 모일 장소를 제공해 줍니다.
아직 프로젝트 계정이나 사이트 등을 만들고 싶지 않다면, 대신 여러분이 하는 모든 일에서 여러분 스스로의 트위터 혹은 GitHub 계정을 홍보하세요. 사람들이 여러분에게 연락하거나 여러분의 프로젝트에 관심을 가질 수 있게 할 것입니다. 모임이나 행사에서 발표를 한다면 약력이나 슬라이드에 꼭 연락처를 적어 두세요.
**프로젝트 웹사이트 작성을 고려하세요.** 깔끔한 문서와 튜토리얼을 담은 웹사이트는 여러분의 프로젝트를 더 친근하고 탐색하기 쉽게 만듭니다. 웹사이트가 있으면 프로젝트가 더 활성화되어 있다는 느낌을 주고, 이는 방문자들이 프로젝트를 더 편한 마음으로 사용할 수 있게 할 것입니다. 사람들에게 아이디어를 주기 위해 여러분의 프로젝트를 유용하게 사용할 수 있는 예시를 제공하세요.
Django의 공동 크리에이터인 [@adrianholovaty](https://news.ycombinator.com/item?id=7531689)는 웹사이트 운영이 "우리가 Django 개발 초반에 했던 일들 중 가장 잘한 일"이었다고 말했습니다.
여러분의 프로젝트가 GitHub에서 호스팅된다면 [GitHub Pages](https://pages.github.com/)를 이용해 쉽게 웹사이트를 만들 수 있습니다. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), [Middleman](https://middlemanapp.com/) 같은 포괄적 웹사이트의 훌륭한 [예시](https://github.com/showcases/github-pages-examples)를 참조하세요.

이제 여러분은 프로젝트에 대한 메시지와 사람들이 프로젝트를 쉽게 찾아올 수 있는 길을 마련했습니다. 세상으로 나가서 사람들에게 널리 알리세요!
## 프로젝트의 청중이 있는 곳으로 가기 (온라인)
온라인에서의 활동은 이야기를 빠르게 퍼트리는 훌륭한 방법입니다. 온라인 채널을 이용하면 아주 넓은 층의 잠재 사용자 혹은 기여자와 닿을 수 있습니다.
기존의 온라인 커뮤니티나 플랫폼을 이용해 청중에게 다가가세요. 여러분의 오픈소스 프로젝트가 소프트웨어 프로젝트라면 [Stack Overflow](http://stackoverflow.com/), [Reddit](http://www.reddit.com), [Hacker News](https://news.ycombinator.com/), [Quora](https://www.quora.com/) 같은 곳에서 관심 있는 사람을 찾을 수 있을 것입니다. 여러분의 작품을 가장 유용하게 쓰거나 반가워할 것 같은 사람들이 모인 채널을 찾으세요.
어떻게 여러분의 프로젝트를 공유할 수 있을지 더 알아봅시다.
* **관련된 오픈소스 프로젝트와 커뮤니티를 찾으세요.** 프로젝트를 직접 홍보할 필요가 없을 때도 있습니다. 예컨대 여러분의 프로젝트가 파이썬을 사용하는 데이터 사이언티스트에게 딱 맞는다면 파이썬 데이터 사이언티스트 커뮤니티를 찾아가세요. 그곳의 사람들이 여러분을 잘 알게 되면, 여러분의 프로젝트에 대해 이야기할 기회도 자연스럽게 늘어날 것입니다.
* **여러분의 프로젝트가 해결할 수 있는 문제를 겪고 있는 사람을 찾으세요.** 관련 포럼에서의 검색을 통해 프로젝트의 목표 사용자층을 찾고, 그들의 질문에 답해주며 적절한 때에 재치 있게 여러분의 프로젝트를 해결책으로서 제시하는 방법도 있습니다.
* **피드백을 요청하세요.** 관심과 흥미를 가질 만한 사람들에게 여러분과 여러분의 프로젝트를 소개하세요. 프로젝트를 어떤 사람들이 유용하게 사용할 수 있을지에 대한 여러분의 생각을 구체적으로 말하세요. 문장은 이런 식으로 끝내는 것이 좋습니다. "제 프로젝트가 X를 하려는 Y 여러분들에게 분명 큰 도움이 될 거라고 생각해요." 프로젝트를 홍보하기만 하지 말고 사람들의 피드백에 귀 기울이고 답변하세요.
사람들로부터 무언가를 받고자 한다면 그 전에 그들을 도와주는 데 집중하세요. 프로젝트를 온라인에서 홍보하는 것은 누구나 할 수 있는 쉬운 일이기 때문에 아주 많은 경쟁이 있는 셈입니다. 그 사이에서 눈에 띄려면 사람들에게 여러분이 무엇을 원하는가가 아닌 여러분이 어떤 사람인가를 알려야 합니다.
여러분의 노력에도 불구하고 아무도 관심을 가지지 않는다면, 너무 실망하지 마세요! 대부분의 프로젝트는 초기 단계에 수 개월부터 수 년의 시간을 필요로 합니다. 처음 시도에 반응을 얻지 못한다면, 다른 전략을 시도하거나 다른 사람의 프로젝트에 가치를 제공할 방법을 찾아보세요. 프로젝트를 홍보하고 본궤도에 올리는 데에는 충분한 시간과 노력이 필요합니다.
## 프로젝트의 청중이 있는 곳으로 가기 (오프라인)

오프라인 행사는 새로운 프로젝트를 홍보하는 인기 있는 수단입니다. 오프라인 행사는 분야에서 활동 중인 사람들과 만나고 그들과 인간관계를 쌓을 절호의 기회입니다. 특히 개발자들과 친해지는 데 관심이 있다면 더욱 그렇습니다.
사람들 앞에서 [발표](http://speaking.io/)하는 것이 익숙하지 않다면 여러분의 프로젝트가 사용하는 언어나 시스템에 관련된 지역 모임을 찾는 것부터 시작하세요.
행사에서의 발표가 처음이라면 긴장되는 것은 당연한 일입니다! 청중들이 모인 이유는 여러분의 프로젝트에 대해 듣고 싶어서라는 사실을 기억하세요.
이야기를 풀어나가면서 청중들이 어떤 부분에 흥미를 느끼고 있는지, 그리고 어떤 부분에서 가치를 얻을 수 있을지에 집중하세요. 친절하고 상냥한 말투를 사용하세요. 미소 짓고, 호흡하고, 즐기면 됩니다.
준비가 되었다면 프로젝트 홍보를 위해 컨퍼런스에서 발표하는 것도 고려해 보세요. 컨퍼런스는 온 세상의 다양한 사람들을 만날 기회를 제공합니다.
여러분이 사용하는 언어와 시스템에 관한 컨퍼런스를 찾으세요. 발표 신청서를 제출하기 전에 컨퍼런스를 조사한 뒤, 발표 내용을 청중의 상황에 맞게 다듬어 신청이 받아들여질 가능성을 높이세요. 컨퍼런스의 발표자들에 대해 알아보면 전반적인 청중의 성향을 파악할 수 있습니다.
## 평판 쌓기
지금까지 다루어진 전략에 더해서, 여러분의 프로젝트에 기여할 사람들을 초대하는 가장 좋은 방법은 바로 그들의 프로젝트에 기여하는 것입니다.
신입을 돕고, 자원을 공유하고, 다른사람들의 프로젝트에 사려 깊은 기여를 하는 것은 긍정적인 평판을 쌓는 데 도움이 됩니다. 오픈소스 커뮤니티에서 적극적으로 활동하는 회원이 되면 다른 회원들이 여러분이 하는 일에 대한 맥락을 얻게 되고, 여러분의 프로젝트에 관심을 갖고 프로젝트를 공유해 줄 가능성이 높아집니다. 타 오픈소스 프로젝트와의 관계가 발전하면 공식적인 파트너십으로 연결될 수도 있습니다.
어느 순간도 평판을 쌓기에는 너무 늦거나 이르지 않습니다. 이미 여러분의 프로젝트를 공개했더라도 사람들을 도울 방법을 항상 찾아 다니세요.
하룻밤 사이에 청중을 확보하는 비법 같은 것은 없습니다. 사람들의 신뢰와 존경심을 얻는 데에는 시간이 필요하고, 평판은 아무리 오래 관리해도 그 끝이 없습니다.
## 계속해 나가세요!
사람들이 여러분의 프로젝트에 관심을 갖는 데 오랜 시간이 걸릴 수도 있지만 괜찮습니다! 유명한 프로젝트 중 몇몇은 지금의 경지에 다다르기 위해 몇 년이 들었습니다. 프로젝트가 갑자기 유명해지기를 바라는 대신 관계를 쌓는 데 집중하세요. 인내심을 가지고, 여러분의 노력에 고마워하는 사람들과 작업을 계속 공유하세요.
================================================
FILE: _articles/ko/getting-paid.md
================================================
---
lang: ko
title: 오픈소스 작업에 대한 비용 지불하기
description: 시간이나 프로젝트에 대한 재정적 지원을 받음으로써 오픈소스에서의 작업을 지속합니다.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## 왜 누군가는 재정적 지원을 찾을까
대부분의 오픈소스 작업은 자원봉사입니다. 예를 들어, 누군가가 사용하는 프로젝트에서 버그를 발견하고 빠른 버그픽스를 제출하거나, 여가 시간에 오픈소스 프로젝트를 사용하여 재미있는 작업을 할 수 있습니다.
사람들이 오픈소스 작업을 위해 돈을 내고 싶어하지 않는 데에는 여러 가지 이유가 있습니다.
* **그들은 이미 좋아하는 정규직 직업을 가질 예정이여서,** 여유 시간에 오픈소스에 기여할 수 있습니다.
* **그들은 오픈소스를 취미** 또는 창조적인 탈출구로 생각하고 프로젝트에 대한 재정적 의무를 느끼고 싶지 않습니다.
* **그들은 오픈소스에 기여함으로써 사적인 이익을 얻고,** 자신의 평판이나 포트폴리오를 구축하고, 새로운 기술을 배우며, 커뮤니티에 더 가까이 다가가는 느낌을 주는 일을 합니다.
다른 사람들에게, 특히 기여가 진행 중이거나 상당한 시간이 필요한 경우, 프로젝트가 요구하거나 개인적인 이유로 참여할 수 있는 유일한 방법은 오픈소스에 기여하기 위해 값을 지불하는 것입니다.
대중적인 프로젝트를 유지하는 것은 한 달에 몇 시간이라 하기보다는 주당 10-20시간을 소비하는 중요한 책임입니다.
또한 유료 작업을 통해 여러 계층의 사람들이 의미있는 기여를 할 수 있습니다. 어떤 사람들은 현재 재무 상태, 부채, 또는 가족 또는 다른 보살필 의무를 다하지않고 오픈소스 프로젝트에 시간을 보낼 여력이 없습니다. 즉, 세상은 자신의 시간을 자원봉사할 여력이없는 재능있는 사람들에게서 기여를 결코 볼 수 없다는 것을 의미합니다. @ashedryden이 [설명한대로](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community) 윤리적 함의가 있습니다. 이미 인생에 여유가 있는 사람들에게 치우친다는 것은, 자원 봉사자들의 기여에 기초하여 추가적인 이점을 얻는 반면, 자원봉사를 할 수 없는 사람들에게는 나중에 기회를 얻지 못하여, 더더욱 오픈소스의 다양성이 부족해집니다.
재정 지원을 찾고 있다면, 고려해야 할 두 가지 경로가 있습니다. 기여자로서 자신의 시간을 투자하거나, 프로젝트에 대한 조직 자금을 찾을 수 있습니다.
## 당신이 들인 시간에 대한 펀딩을 받기
오늘날, 많은 사람들이 오픈소스에서 파트 타임 또는 풀 타임으로 일하기 위해 돈을 받습니다. 당신의 시간에 대한 대금을 받는 가장 일반적인 방법은 고용주와 상담하는 것입니다.
고용주가 프로젝트를 실제로 사용하고 오픈소스 작업에 대한 사례를 만드는 것이 더 쉽지만, 자신의 계획대로 창의력을 발휘하십시오. 어쩌면 고용주가 프로젝트를 사용하지 않고 파이썬을 이용한 인기있는 파이썬 프로젝트를 유지한다면, 새로운 파이썬 개발자를 유치할 수 있습니다. 어쩌면 고용주가 일반적으로 더 개발자 친화적인 것처럼 보일 수도 있습니다.
기존의 오픈소스 프로젝트가 없지만 현재 작업 결과물이 오픈소스인 경우, 고용주가 내부 소프트웨어의 일부를 스스로 오픈할 수 있는 사례를 작성하십시오.
많은 기업들이 브랜드를 구축하고 우수한 인재를 영입하기 위해 오픈소스 프로그램을 개발하고 있습니다.
예를 들어 @hueniverse는, [Walmart의 오픈소스에 대한 투자](http://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html)를 정당화 할 재정적인 이유가 있음을 발견했습니다. 그리고 @jamesgpearce는 Facebook의 오픈소스 프로그램이 채용에서 [차이를 만들었다](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon)는 사실을 발견했습니다:
> 이는 해커 문화와 밀접하게 연계되어 있으며, 조직이 어떻게 인식되었는지를 보여줍니다. 우리는 직원들에게 "페이스북에서 쓰이는 오픈소스 소프트웨어 프로그램에 대해 알고 있었습니까?"라고 물었습니다. 3분의2가 "그렇다"고 답했습니다. 절반정도는 이 프로그램이 우리를 위해 일하기로 한 결정에 긍정적으로 기여했다고 전했습니다. 이것들은 한계적인 숫자가 아니며 희망을 말합니다.
회사가 이 경로를 따라 간다면, 커뮤니티와 기업 활동의 경계를 분명하게 유지하는 것이 중요합니다. 궁극적으로 오픈소스는 전 세계 모든 사람들의 공헌을 통해 스스로를 유지하며, 이는 어느 회사의 위치보다 큽니다.
현 고용주가 오픈소스 업무의 우선 순위를 결정할 수 없다면, 직원의 오픈소스 기여도를 높이는 새로운 고용주를 찾는 것이 좋습니다. 오픈소스 작업에 대한 헌신을 분명히 하는 회사를 찾아보십시오. 예시입니다 :
* 일부 회사는, [넷플릭스](https://netflix.github.io/), 오픈소스에 대한 그들의 참여를 강조하는 웹 사이트를 가지고있습니다
[Go](https://github.com/golang)또는 [React](https://github.com/facebook/react)와 같은 대기업에서 시작된 프로젝트도, 오픈소스 작업에 사람들을 고용 할 가능성이 높습니다.
마지막으로, 개인적인 상황에 따라, 오픈소스 작업을 위해 독립적으로 돈을 모으는 노력을 할 수 있습니다. 예시:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon은 [Patreon crowdfunding campaign](https://redux.js.org/)을 통해 [Redux](https://github.com/reactjs/redux)에 대한 그의 작업에 펀드했습니다.
* @andrewgodwin은 Django 스키마 마이그레이션 작업을 [Kickstarter 캠페인을 통해](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django) 펀드했습니다.
## 당신의 프로젝트에 대한 펀딩을 찾기
개인 기여자를 위한 준비 외에도, 때로는 프로젝트가 회사, 개인 또는 다른 사람들로부터 지속적인 자금 마련을 위해 펀드를 모으는 경우가 있습니다.
조직 펀딩은 현재 참여자에게 비용을 지불하거나, 프로젝트 수행 비용(호스팅 비용 등)을 충당하거나, 새로운 기능이나 아이디어에 투자하는 쪽으로 갈 수 있습니다.
오픈소스의 대중성이 높아짐에 따라, 프로젝트 펀딩은 아직 실험적이지만, 몇가지 공통적인 옵션이 있습니다.
### 크라우드 펀딩(crowdfunding) 캠페인이나 스폰서십을 통해 당신의 업무에 돈을 모으기
스폰서십을 찾는 것은 이미 강력한 잠재 고객이나 평판이 있거나, 프로젝트의 인기가 있는 경우에 효과적입니다.
스폰서 프로젝트의 몇 가지 예는 다음과 같습니다.
* **[webpack](https://github.com/webpack)** 는 [OpenCollective를 통해](https://opencollective.com/webpack) 회사와 개인에게 돈을 모읍니다
* **[Ruby Together](https://rubytogether.org/)는,** [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems) 및 기타 Ruby 인프라 프로젝트에 대한 비용을 지불하는 비영리 단체입니다.
### 수입원 만들기
프로젝트에 따라 상업적 지원, 호스팅 옵션 또는 추가 기능에 대해 요금을 부과할 수 있습니다. 몇 가지 예는 다음과 같습니다:
* **[Sidekiq](https://github.com/mperham/sidekiq)** 은 추가 지원을 위해 유료 버전을 제공합니다
* **[Travis CI](https://github.com/travis-ci)** 는 제품의 유료 버전을 제공합니다
* **[Ghost](https://github.com/TryGhost/Ghost)** 는 유료 관리 서비스가 있는 비영리 단체입니다
[npm](https://github.com/npm/cli) 및 [Docker](https://github.com/docker/docker)와 같은 일부 인기있는 프로젝트는, 사업 성장을 지원하기 위해 벤처 캐피탈을 조성하기까지 합니다.
### 보조금 신청하기
일부 소프트웨어 재단 및 회사는 오픈소스 작업에 대한 보조금을 제공합니다. 때로는 프로젝트에 대한 법적 주체를 설정하지 않고 개인에게 보조금을 지급할 수 있습니다.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)**는 [Mozilla 오픈소스 지원](https://www.mozilla.org/en-US/grants/)으로부터 보조금을 받았습니다
* **[OpenMRS](https://github.com/openmrs)** work는 [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)으로부터 펀드받았습니다
* **[Libraries.io](https://github.com/librariesio)**는 [Sloan 재단](https://sloan.org/programs/digital-technology)으로부터 보조금을 받았습니다
* **[Python 소프트웨어 재단](https://www.python.org/psf/grants/)**은 파이썬 관련 작업에 대한 보조금을 제공합니다
보다 자세한 옵션과 사례 연구를 원할 경우, @nayafia [가이드 작성](https://github.com/nayafia/lemonade-stand)을 통해 오픈소스 저작물에 대한 대가를 받을 수 있습니다. 다른 유형의 기금에는 여러 가지 기술이 필요하기 때문에 어떤 옵션이 가장 적합한 지 알아 내려면 장점을 고려하십시오.
## 재정적 지원을 받기 위한 근거를 갖추기
프로젝트가 새로운 아이디어이든, 수년간 지속되어 왔든 타겟 기금 제공자를 파악하고 중요한 사건을 만드는데 중요하게 고려되야합니다.
자신의 시간에 돈을 내거나, 프로젝트 기금 모금을 원하는 경우 다음 질문에 답할 수 있어야합니다.
### 임펙트
이 프로젝트가 왜 유용한가요? 사용자 또는 잠재적 사용자가 그렇게 좋아하는 이유는 무엇입니까? 5년후에는 어디에 있을까요?
### 끌어주기
메트릭, 일화 또는 고객의 견해와 상관없이 프로젝트가 중요하다는 증거를 수집하십시오. 현재 귀사의 프로젝트를 사용하고 있는 회사나, 주목할만한 사람들이 있습니까? 그렇지 않다면 저명한 사람이 그것을 지지합니까?
### 자금 제공자에 주는 가치
기금 제공자는 고용주 또는 보조금 재단에 관계없이 자주 기회를 제공받습니다. 다른 어떤 기회보다 프로젝트를 지원해야하는 이유는 무엇입니까? 그들은 개인적으로 어떻게 이익을 얻습니까?
### 펀드 사용
제안된 자금으로 정확히 무엇을 달성할 수 있습니까? 급여를 지급하기보다는 프로젝트 이정표 또는 결과에 중점을 둡니다.
### 펀드로 송금하기
기금 제공자의 관련 요구 사항이 있습니까? 예를 들어 비영리 단체 또는 비영리 단체 재정 보증인이 필요할 수 있습니다. 또는 자금을 조직이 아닌 개별 계약자에게 제공해야합니다. 이러한 요구 사항은 자금 제공자마다 다르므로 사전에 연구해야합니다.
## 시도해 보고 포기하지 마세요!
오픈소스 프로젝트, 비영리 단체, 소프트웨어 스타트업 등 많은 돈을 모으는 것은 쉽지 않습니다. 대부분의 경우 창의력을 발휘해야합니다. 어떻게 돈을 받고, 연구를 하고, 재밌는 사람의 신발에 몸을 두는지를 확인하면 자금 지원에 대한 설득력있는 사례를 구축하는 데 도움이됩니다.
================================================
FILE: _articles/ko/how-to-contribute.md
================================================
---
lang: ko
title: 오픈소스에 기여하는 방법
description: 오픈소스에 기여하고 싶으세요? 초보자와 숙련자를 위한 오픈소스 기여 가이드입니다.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## 왜 오픈소스에 기여할까요?
오픈소스에 기여하는 것은 여러분이 상상할 수 있는 모든 기술을 배우고, 가르치고, 구현하는 보람찬 방법이 될 수 있습니다.
왜 사람들은 오픈소스에 기여할까요? 많은 이유가 있습니다!
### 기존 기술을 향상시키세요
코딩, 사용자 인터페이스 디자인, 그래픽 디자인, 글쓰기 또는 조직화 등의 실습을 원한다면 여러분이 맡을 수 있는 오픈소스 프로젝트 작업이 기다리고 있습니다.
### 비슷한 것에 관심 있는 사람들을 만나세요
따뜻한 커뮤니티가 있는 오픈소스 프로젝트는 사람들은 오래 머물게 합니다. 많은 사람들이 오픈소스에 참여하며 평생의 우정을 다지고 있습니다. 그게 회의에서 서로를 마주치는 것이든 한밤중에 부리토에 관해 채팅을 하는 것이든 상관없이요.
### 멘토를 찾고 사람들과 배움을 주고받으세요
공유 프로젝트에서 다른 사람들과 함께 일한다는 것은 여러분이 무엇을 어떻게 하는지 설명하고, 다른 사람들에게 도움을 요청해야 함을 의미합니다. 학습하고 가르치는 행위는 관련된 모든 사람들에게 성취감 있는 활동이 될 수 있습니다.
### 평판(과 경력)을 쌓는 데 도움이 되는 예제를 만드세요
정의에 따라 모든 오픈소스 저작물은 공개되어 있으므로, 당신이 할 수 있는 것을 보여줄 예제를 가질 수 있는 셈입니다.
### 사람을 대하는 기술을 습득하세요
오픈소스는 충돌 해결, 팀 구성, 작업 우선순위 지정과 같은 리더십 및 관리 기술을 연습할 수 있는 기회를 제공합니다.
### 작은 것조차도 바꿀 수 있는 힘이 있습니다
오픈소스에 참여하는 것을 즐기는 평생 기여자가 될 필요는 없습니다. 웹 사이트에서 오타를 발견하고 누군가가 고쳐주길 바란 적 있나요? 오픈소스 프로젝트에서 여러분은 그렇게 할 수 있습니다. 오픈소스는 사람들이 삶에 대해 어떻게 대처하고 그들이 세상을 경험하는지를 느끼도록 도와줍니다.
## 기여한다는 것의 의미
새로운 오픈소스 기여자라면, 기여하는 과정이 겁날 수도 있습니다. 알맞은 프로젝트를 어떻게 찾아야 할까요? 코딩을 할 줄 모른다면요? 뭔가 잘못되면 어떡하죠?
걱정 마세요! 오픈소스 프로젝트에 참여하는 데는 여러 가지 방법이 있으며, 몇 가지 팁을 통해 경험을 최대한 활용할 수 있습니다.
### 코드를 제공할 필요가 없습니다
오픈소스에 기여하는 것에 대한 일반적인 오해는 코드를 작성해야 한다는 것입니다. 사실, 프로젝트의 다른 부분이 [무시되거나 간과되는 경우](https://github.com/blog/2195-the-shape-of-open-source)가 더 많습니다. 이러한 유형의 기여에 동참하겠다고 제안하면 프로젝트에 큰 도움이 될 것입니다.
코드를 작성하는 것을 좋아해도, 다른 유형의 기여는 프로젝트에 참여하고 다른 커뮤니티 구성원을 만날 수 있는 좋은 방법입니다. 이러한 관계를 구축하면 프로젝트의 다른 부분에서 작업할 기회를 얻을 수 있습니다.
### 행사 계획 짜는 걸 좋아하세요?
* [NodeSchool을 위해 @fzamperin이 했던 것처럼](https://github.com/nodeschool/organizers/issues/406), 프로젝트에 관한 워크샵이나 미팅 조직하기
* 프로젝트 컨퍼런스 구성하기 (있는 경우)
* 커뮤니티 구성원이 적합한 컨퍼런스를 찾고 발언을 위한 제안서를 제출할 수 있도록 지원하기
### 디자인을 하고 싶으세요?
* 프로젝트의 유용성을 높이기 위해 레이아웃 재구성하기
* [Drupal의 제안](https://www.drupal.org/community-initiatives/drupal-core/usability)처럼, 사용자 조사를 통해 프로젝트의 네비게이션 또는 메뉴를 재구성하고 개선하기
* 프로젝트가 일관성 있는 시각적 디자인을 가질 수 있도록 스타일 가이드 작성하기
* [hapi.js의 기여](https://github.com/hapijs/contrib/issues/68)처럼, 티셔츠 혹은 새로운 로고를 위한 예술 작품 만들기
### 글을 쓰고 싶으신가요?
* 프로젝트 문서 작성 및 개선하기
* 프로젝트 사용법을 보여주는 예제 폴더 선별하기
* 프로젝트의 뉴스레터 발행을 시작하거나 메일링 리스트의 하이라이트를 관리하기
* [PyPA의 기여처럼](https://packaging.python.org/), 프로젝트 튜토리얼 작성하기
* 프로젝트 문서 번역 작성하기
### 조직하는 것을 좋아하세요?
* 중복된 이슈에 대한 링크 및 새로운 이슈 라벨 제안, 정리된 상태 유지하기
* [ESLint의 @nzakas](https://github.com/eslint/eslint/issues/6765)처럼, 열려있는 이슈를 검토하고 오래된 이슈를 닫을 것을 제안하기
* 최근 열린 이슈에 대한 질문을 명확히 하여 토론으로 나아가게 하기
### 코드를 작성하고 싶으세요?
* [Leaflet의 @dianjin처럼](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560), 해결할 문제를 찾기
* 새로운 기능을 작성하는 데 도움을 줄 수 있는지 물어보기
* 프로젝트 설정 자동화하기
* 툴링 및 테스트 개선하기
### 사람들을 돕는 것을 좋아하세요?
* Stack Overflow([Postgres 예시](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) 혹은 Reddit에서 프로젝트에 관련된 질문에 답변하기
* 열린 이슈에서 사람들의 질문에 답변하기
* 토론 게시판이나 대화 채널 관리 돕기
### 사람들의 코드 작성을 돕고 싶으세요?
* 사람들이 제출한 코드 리뷰하기
* 프로젝트를 어떻게 이용하는가에 대한 튜토리얼 작성하기
* [Rust의 @ereichert가 @bronzdoc에게 해준 것처럼](https://github.com/rust-lang/book/issues/123#issuecomment-238049666), 다른 기여자의 멘토가 되는 것을 제안하기
### 꼭 소프트웨어 프로젝트에서 작업할 필요는 없습니다!
"오픈소스"는 보통 소프트웨어를 의미하지만, 무엇이든 간에 거의 협력할 수 있습니다. 오픈소스 프로젝트로 개발되는 책, 요리법, 리스트 및 수업도 있습니다.
예를 들면:
* @sindresorhus는 [list of "awesome" lists](https://github.com/sindresorhus/awesome)를 만들었습니다
* @h5bp는 프론트엔드 개발자 후보군용 [list of potential interview questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions)을 관리하고 있습니다
* @stuartlynn과 @nicole-a-tesla는 [collection of fun facts about puffins](https://github.com/stuartlynn/puffin_facts)를 만들었습니다
비록 당신이 소프트웨어 개발자일지라도, 문서 프로젝트 작업은 오픈소스에서 시작하는 데 도움이 될 수 있습니다. 코드를 포함하지 않는 프로젝트에서 작업하는 것은 보통 어렵지 않으며, 협력하는 과정에서 여러분의 자신감과 경험을 쌓을 수 있을 것입니다.
## 새 프로젝트로 향하기
오타를 수정하는 것 이상으로 오픈소스에 기여하는 것은 파티에서 낯선 사람들에게 다가가는 것과 같습니다. 사람들이 금붕어에 대한 깊은 토론에 빠져 있을 때 라마에 대해 이야기한다면 그들은 아마 여러분을 약간 이상하게 볼 겁니다.
맹목적으로 여러분의 제안을 펼치기 전에, 방의 분위기를 읽는 법을 배우는 것부터 시작하세요. 그러면 여러분의 아이디어에 귀 기울여 줄 가능성이 높아집니다.
### 오픈소스 프로젝트의 해부학
모든 오픈소스 커뮤니티는 서로 다릅니다.
여러 해 동안 한 오픈소스 프로젝트에 투자했다면 그 프로젝트를 잘 알게 됐을 것입니다. 다른 프로젝트로 넘어가면 어휘, 표준, 커뮤니케이션 스타일이 완전히 다르다는 것을 알 수 있습니다.
많은 오픈소스 프로젝트는 비슷한 조직 구조를 따릅니다. 다양한 커뮤니티 역할과 전반적인 프로세스를 이해하면 새로운 프로젝트에 빠르게 적응할 수 있습니다.
일반적인 오픈소스 프로젝트에서 사람들은 다음과 같은 유형으로 나뉩니다.
* **작성자:** 이 프로젝트를 만든 사람 혹은 조직
* **소유자:** 조직 또는 저장소에 대한 관리 권한을 가진 사람 (항상 원래 작성자와 동일하지는 않음)
* **메인테이너:** 비전을 주도하고 프로젝트의 조직 측면을 관리하는 책임이 있는 기여자 (그들은 프로젝트의 저자 또는 소유자일 수도 있습니다.)
* **기여자:** 프로젝트에 기여한 모든 사람.
* **커뮤니티 맴버:** 프로젝트를 사용하는 사람들. 적극적으로 대화에 참여하거나 프로젝트 방향에 대한 의견을 제시할 수도 있습니다.
더 큰 프로젝트에는 툴링, 선별, 커뮤니티 중재 및 이벤트 조직과 같은 다양한 업무에 초점을 둔 소위원회 또는 실무 그룹이 있을 수도 있습니다. 프로젝트 웹 사이트에서 "팀" 페이지를 찾거나 거버넌스 문서 저장소에서 정보를 찾아보세요.
프로젝트에도 문서가 있습니다. 이러한 파일은 대개 저장소의 최상위 레벨에 나열됩니다.
* **LICENSE:** 정의에 의해, 모든 오픈소스 프로젝트는 반드시 [오픈소스 라이선스를 가져야 합니다](https://choosealicense.com). 만약 프로젝트가 라이선스를 가지지 않는다면, 이건 오픈소스가 아닙니다.
* **README:** README는 새로운 커뮤니티 구성원을 프로젝트에 환영하는 지침서입니다. 왜 프로젝트가 유용한지, 어떻게 시작해야 할지 설명합니다.
* **CONTRIBUTING:** README는 사람들이 프로젝트를 사용하는 데 도움이되지만, CONTRIBUTING 문서는 사람들이 프로젝트에 _기여_하는 데 도움이 됩니다. 필요한 기여 유형과 프로세스 작동 방식을 설명합니다. 모든 프로젝트가 CONTRIBUTING 파일을 갖고 있는 것은 아니지만, 이 파일이 있다면 여러분의 기여를 환영한다는 뜻입니다.
* **CODE_OF_CONDUCT:** Code of Conduct(윤리 강령)는 참가자의 행동에 대한 기본 원칙을 정하고, 친절하고 따뜻한 환경을 조성하는 데 도움이 됩니다. 마찬가지로 모든 프로젝트가 CODE_OF_CONDUCT 파일을 가지고 있지는 않지만, 이 파일이 있다면 여러분의 기여를 환영한다는 뜻입니다.
* **다른 문서:** (특히 큰 프로젝트의 경우) 튜토리얼, 연습장 또는 거버넌스 정책과 같은 추가 문서가 있을 수 있습니다.
마지막으로 오픈소스 프로젝트는 다음 도구를 사용하여 토론을 구성합니다. 기록 보관소를 읽으면 커뮤니티가 어떻게 사고하고 작동하는지 잘 알 수 있습니다.
* **Issue tracker:** 프로젝트와 관련된 이슈를 토론하는 공간입니다.
* **Pull requests:** 지금 진행 중인 변경 사항에 대해 논의하고 검토하는 공간입니다.
* **토론 포럼 혹은 메일링 리스트:** 일부 프로젝트는 회화성 주제(버그 제보나 기능 요구 대신 _"...하려면 어떻게 하나요?"_ 또는 _"...에 대해 어떻게 생각하세요?"_ 같은 주제)에 대해 이러한 채널을 사용할 수 있습니다. 나머지 프로젝트는 모든 대화에 이슈 트래커를 사용합니다.
* **채팅 채널:** 일부 프로젝트에서는 일상 대화, 협업 및 빠른 의사소통을 위해 Slack이나 IRC 같은 채팅 채널을 사용합니다.
## 기여할 프로젝트 찾기
오픈소스 프로젝트가 어떻게 작동하는지 알았으니, 이제 기여할 프로젝트를 찾아야 합니다!
이전에 오픈 소스에 기여한 적이 없다면, 미국 존 케네디 대통령의 명언을 떠올려보세요.
_"Ask not what your country can do for you - ask what you can do for your country."_
_"국가가 나를 위해 무엇을 해줄 것을 바라기에 앞서, 내가 국가를 위해 무엇을 할 것인가를 생각해야 한다."_
오픈소스에 기여하는 것은 프로젝트 전반에 걸쳐 모든 수준에서 발생합니다. 여러분의 첫 번째 기여가 정확히 무엇이고 어떻게 보일지 생각할 필요가 없습니다.
대신, 이미 사용하고 있거나 사용하고 싶은 프로젝트에 대해 생각하는 것으로 시작하세요. 여러분이 적극적으로 기여하게 될 프로젝트는 여러분이 계속 사용하게 되는 프로젝트입니다.
그 프로젝트에서, 뭔가가 더 좋거나 다를 수 있다고 생각할 때마다 본능에 따라 행동하세요.
오픈소스는 독점적인 클럽이 아닙니다. 여러분과 같은 사람들에 의해 만들어졌습니다. "오픈소스"는 전세계의 문제들을 유연하게 해결할 수 있는 멋진 용어입니다.
README를 스캔하여 깨진 링크나 오타를 찾을 수 있습니다. 또는 여러분이 새로운 사용자로서 제대로 동작하지 않거나 문서에서 다뤄져야 할 이슈를 발견할 수도 있습니다. 그것을 무시하거나 다른 사람에게 그것을 고쳐달라고 하는 대신, 여러분이 직접 도움을 줄 수 있는지 알아보세요. 그것이 바로 오픈소스입니다!
> [일반적인 기여의 28%](http://www.igor.pro.br/publica/papers/saner2016.pdf)는 오타 수정, 서식 재지정 또는 번역 작성과 같은 문서입니다.
다음 리소스 중 하나를 사용하여 새 프로젝트를 찾고 기여할 수 있습니다.
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### 기여하기 전 확인할 사항
기여하고 싶은 프로젝트를 찾았으면, 프로젝트가 기여를 받기에 적합한지 빠르게 확인하세요. 그렇지 않으면, 노력이 영원히 응답을 받지 못할 수도 있습니다.
다음은 프로젝트가 새로운 기여자에게 적합한지 평가할 수 있는 편리한 체크리스트입니다.
**오픈소스의 정의를 충족시킬 것**
**프로젝트가 적극적으로 기여를 받아들일 것**
마스터 브랜치에서 커밋 활동을 살펴보세요. GitHub에서는 이 정보를 저장소의 홈페이지에서 볼 수 있습니다.
다음으로, 프로젝트의 이슈를 보세요.
이번엔 프로젝트의 풀 리퀘스트(PR)를 확인하세요.
**프로젝트가 기여자를 환영할 것**
친근하고 환영하는 분위기의 프로젝트는 새로운 기여자를 기꺼이 맞이합니다.
## 기여하는 방법
기여하고 싶은 프로젝트를 찾았나요? 드디어! 기여하는 올바른 방법은 다음과 같습니다.
### 효과적으로 의사소통하기
하나의 기여를 하든 커뮤니티에 참여하려고 하든, 관계없이 다른 사람들과 협력하는 것은 오픈소스에서 개발할 가장 중요한 기술 중 하나입니다.
이슈나 PR을 열거나 채팅에서 질문을 하기 전에 아이디어를 효과적으로 전달할 수 있도록 아래와 같은 사항을 명심하세요.
**맥락을 제공하세요.** 다른 사람들이 빨리 속도를 낼 수 있도록 도와주세요. 오류가 발생하면 수행하려는 작업과 오류를 재현하는 방법을 설명하세요. 새로운 아이디어를 제안하는 경우 그것이 (여러분이 아닌) 프로젝트에 유용하다고 생각하는 이유를 설명하세요.
> 😇 _"Y를 할 때 X가 안 돼요."_
>
> 😢 _"X가 안 돼요! 이거 고쳐주세요."_
**과제를 미리 하세요.** 이해하지는 못하지만 시도해봤다는 것을 보여주세요. 도움을 요청하기 전에 프로젝트의 README, 문서, (열린 혹은 닫힌) 이슈, 메일링 리스트를 확인하고 인터넷에서 해결책을 검색해보세요. 당신이 배우려는 자세를 보이면 사람들은 존중할 것입니다.
> 😇 _"X를 구현하는 방법을 잘 모르겠어요. 도움말 문서를 확인했지만 관련 언급을 찾지 못했어요."_
>
> 😢 _"X는 어떻게 해요?"_
**짧고 직접적으로 요청하세요.** 이메일을 보내는 것과 마찬가지로, 모든 기여는 아무리 간단하거나 도움이 된다 하더라도 다른 사람의 검토가 필요합니다. 많은 프로젝트가 사람들이 도울 수 있는 것보다 많은 요청을 받고 있습니다. 간결하게 적으세요. 누군가 당신을 도울 가능성이 늘어날 것입니다.
> 😇 _"API 튜토리얼을 작성하고 싶어요."_
>
> 😢 _"요전날 고속도로를 따라 차를 몰고 가다가 주유소에 들렀는데, 우리가 해야 할 일에 대한 놀라운 아이디어가 떠올랐어요. 하지만 설명해드리기 전에 보셔야 할 게 있는데요…"_
**모든 의사소통을 공개하세요.** 매혹적이긴 하지만 보안 문제나 심각한 규칙 위반 같은 중요한 정보를 공유해야 하는 경우가 아니면 관리자에게 개인적으로 연락하지 마세요. 대화를 공개해야 더 많은 사람들이 여러분의 교류를 통해 배우고 이익을 얻을 수 있습니다. 토론은 그 자체로 기여가 됩니다.
> 😇 _(댓글로) "@-관리자 안녕하세요! 이 PR은 어떻게 진행되고 있나요?"_
>
> 😢 _(이메일로) "안녕하세요, 메일로 귀찮게 해서 죄송합니다만 제 PR을 검토해보셨는가 해서요."_
**질문하는 것은 좋지만 참을성을 가지세요.** 누구나 프로젝트를 처음 접했을 때가 있으며 경험 많은 기여자도 새로운 프로젝트에는 가속이 필요합니다. 마찬가지로 오랜 관리자도 프로젝트의 모든 부분을 항상 잘 알고 있는 것은 아닙니다. 여러분이 기대하는 만큼의 인내심을 사람들에게 보여주세요.
> 😇 _"이 오류를 알아봐 주셔서 감사합니다. 제안을 따라 고쳐 봤어요. 이렇게 출력되네요."_
>
> 😢 _"왜 이 문제를 해결할 수 없는 거죠? 이 프로젝트는 관리자님이 만든 게 아닌가요?"_
**커뮤니티의 결정을 존중하세요.** 여러분의 아이디어는 커뮤니티의 우선순위나 비전과 다를 수 있습니다. 그들은 개선점을 제시하거나 여러분의 아이디어를 도입하지 않기로 결정할 수 있습니다. 절충안을 논의하는 동안 관리자는 여러분보다 오래 여러분의 결정을 고려해야 합니다. 여러분이 커뮤니티의 비전에 동의하지 않는다면 여러분의 포크에서 작업하거나 따로 프로젝트를 시작하는 방법도 있습니다.
> 😇 _"제 유즈케이스를 지원할 수 없다는 점은 아쉽지만 일부 사용자에게만 영향을 미친다는 관리자님의 설명은 이해가 되네요. 들어주셔서 감사합니다."_
>
> 😢 _"왜 제 유즈케이스를 지원하지 않나요? 납득할 수가 없네요!"_
**무엇보다도 세련된 자세를 유지하세요.** 오픈소스는 전 세계의 협력자로 구성되어 있습니다. 맥락은 언어, 문화, 지역, 시간대에 걸쳐 점점 손실됩니다. 게다가 글을 통한 의사소통은 말투나 분위기를 전달하기가 어렵습니다. 대화에 좋은 의도를 가지고 참여한다고 생각하세요. 예의를 갖추면 아이디어를 밀어붙여도, 더 자세한 설명을 요구해도, 여러분의 입장을 명확히 해도 좋습니다. 다만 인터넷 세계를 여러분의 첫인상보다 좋은 곳으로 만들어 주세요.
### 정보 수집
무언가 시작하기 전에, 여러분의 아이디어가 다른 곳에서 논의되지 않았는지 빠르게 확인해 보세요. 프로젝트의 README, 이슈, 메일링 리스트 및 스택 오버플로우를 훑어보세요. 모든 것을 찾아보는 데 몇 시간을 투자할 필요는 없지만, 몇 가지 핵심 용어에 대한 검색이면 충분할 것입니다.
다른 곳에서 여러분의 아이디어를 찾을 수 없다면, 움직일 때가 되었습니다. 프로젝트가 GitHub에 있는 경우 다음과 같이 이슈나 PR을 열어 소통할 수 있습니다.
* **이슈**는 대화나 토론을 시작하는 것과 같습니다.
* **풀 리퀘스트**는 솔루션에 대한 작업을 시작하기 위한 것입니다.
* 명확한 질문이나 방법 질문과 같은 **간단한 커뮤니케이션**은 스택 오버플로우 또는 IRC, 슬랙 같은 프로젝트 채팅 채널에 물어보세요.
이슈나 PR을 열기 전에 프로젝트의 기여 문서(일반적으로 CONTRIBUTING 또는 README 파일)에서 뭔가 구체적인 내용을 포함해야 하는지 확인하세요. 프로젝트에서 여러분에게 특정 템플릿을 따르거나 테스트를 사용하도록 요구할 수 있습니다.
실질적인 기여를 하고 싶다면, 작업하기 전에 이슈를 열고 물어보세요. 승인되지 않을 수도 있는 작업을 하기 전에(깃허브에서는, ["Watch"를 클릭](https://help.github.com/articles/watching-repositories/)해서 토론을 알림 받을 수 있습니다), 커뮤니티 구성원들을 알게 되면 도움이 됩니다.
### 이슈 열기
일반적으로 다음 상황에서 이슈를 열어야 합니다.
* 스스로 해결할 수 없는 오류 보고
* 커뮤니티, 비전, 정책 등 높은 수준의 주제 또는 아이디어 토론
* 새로운 기능이나 다른 프로젝트 아이디어 제안
이슈에서 소통할 때의 팁은 다음과 같습니다.
* **열린 이슈에 대해 작업하려고 한다면** 사람들이 알 수 있게 댓글을 달아두세요. 그렇게 하면 다른 사람과 같은 부분을 작업할 가능성이 줄어듭니다.
* **이슈가 오래 전부터 열려 있었다면** 내용이 다른 곳에서 논의되고 있거나 이미 해결됐을 수도 있으므로 작업을 시작하기 전에 확인을 요청하세요.
* **이슈를 열었지만 나중에 해결법을 알아냈다면** 이슈에 댓글을 달아 사람들에게 알리고 이슈를 닫으세요. 그 결과에 대한 문서화도 프로젝트에의 기여가 됩니다.
### PR 열기
일반적으로 다음 상황에서 PR을 열어야 합니다.
* 오타, 깨진 링크, 명백한 오류 등 사소한 수정 사항 제출
* 요구되고 있거나 이슈에서 논의한 내용에 대한 작업 시작
PR이 반드시 완료된 작업을 포함할 필요는 없습니다. 보통 다른 사람들이 여러분의 진행 상황을 확인하거나 피드백을 줄 수 있도록 PR을 일찍 여는 것이 좋습니다. 제목 줄에 "WIP"(Work In Progress; 진행 중인 작업)라고 표시하세요. 나중에 얼마든지 커밋을 더 추가해도 됩니다.
프로젝트가 GitHub에 있는 경우 PR을 제출하는 방법은 다음과 같습니다.
* **[저장소를 포크](https://guides.github.com/activities/forking/)**하고 로컬에 복제(Clone)합니다. 리모트로 추가하여 로컬을 원래의 "업스트림" 저장소에 연결하세요. PR을 제출할 때 충돌이 발생할 가능성을 낮추기 위해 "업스트림"의 변경 사항을 자주 가져 와서 최신 상태로 유지하세요. (자세한 내용은 [여기](https://help.github.com/articles/syncing-a-fork/)를 참조하세요.)
* 수정을 위한 **[브랜치를 생성](https://guides.github.com/introduction/flow/)**하세요.
* **모든 관련 이슈** 혹은 지원 문서를 참조하세요. (ex. "Closes #37.")
* 변경 사항에 HTML/CSS가 포함되어 있는 경우 **적용 전/후 스크린샷을 첨부**하세요. PR의 본문에 이미지를 끌어다 놓으면 됩니다.
* **변경 사항을 테스트**하세요! 변경 사항에 대해 이미 있는 테스트를 수행하고 필요한 경우 새 테스트를 작성하세요. 테스트의 존재 여부와 상관없이 변경 사항이 기존 프로젝트를 손상시키지 않는지 확인하세요.
* 최선을 다해 **프로젝트 스타일에 기여**하세요. 들여쓰기, 세미콜론 또는 주석을 여러분의 평소 스타일과 다르게 사용해야 할 수도 있지만, 관리자가 PR을 병합하기 더 용이하고 향후의 유지보수가 쉬워질 것입니다.
만약 첫 PR을 열려고 한다면 @kentcdodds가 무료 영상 튜토리얼로 공개한 [Make a Pull Request](http://makeapullrequest.com/)를 참조하세요. @Roshanjossey의 [First Contributions](https://github.com/Roshanjossey/first-contributions) 저장소에서 연습해볼 수도 있습니다.
## 기여한 후에 일어나는 일
해내셨군요! 오픈소스 기여자가 되신 것을 축하드립니다. 앞으로도 많이 기여하실 수 있기를 바랍니다.
기여를 제출하면 다음 중 하나의 일이 일어날 것입니다.
### 😭 답변을 받지 못했어요.
기여하기 전에 [활동의 징조가 있는지 프로젝트를 확인](#기여하기-전-확인할-사항)했기를 바랍니다. 그러나 활발한 프로젝트에서도 기여가 반응을 얻지 못할 수도 있습니다.
일주일 넘게 답변을 받지 못했다면 누군가에게 검토를 부탁하며 공손하게 대응하는 것이 좋습니다. 여러분의 기여를 검토할 수 있는 적절한 사람의 이름을 안다면 골뱅이표(@)를 이용한 멘션으로 리뷰를 요청할 수 있습니다.
**절대** 그 사람에게 개인적으로 연락하지 마세요. 공개적인 의사소통은 오픈소스 프로젝트에서 필수적이라는 것을 기억하세요.
여러분이 예의 있게 행동했음에도 아무도 답변을 주지 않을 수도 있습니다. 기분이 좋지는 않겠지만 너무 낙담하지 마세요. 누구나 겪는 일입니다! 답변을 받지 못하는 데에는 어쩔 수 없는 개인적인 사정 등 다양한 이유가 있을 수 있습니다. 기여할 다른 방법이나 프로젝트를 찾아보세요. 다른 커뮤니티 구성원들이 참여하고 반응하기 전에 기여에 너무 많은 시간을 투자하지 않는 게 오히려 좋습니다.
### 🚧 기여에 대한 수정을 요청받았어요.
아이디어에 대한 피드백이든 코드의 수정이든 기여 내용을 수정해 달라는 요청을 받는 경우가 많습니다.
누군가 수정을 요청하면 적극적으로 그에 응답하세요. 그들은 여러분의 기여를 리뷰하기 위해 기꺼이 시간을 들였습니다. PR을 열고 내버려 두는 것은 좋지 않습니다. 어떻게 수정해야 할지 모르겠다면 문제에 대해 조사하고 필요한 경우 도움을 요청하세요.
대화가 몇 달 동안 진행되다가 상황이 변한 경우처럼, 더 이상 문제를 해결할 시간이 없다면 관리자에게 알리세요. 누군가 다른 사람이 기꺼이 작업을 맡아줄 지도 모릅니다.
### 👎 기여가 받아들여지지 않았어요.
여러분의 기여는 받아들여질 수도 있고 그렇지 않을 수도 있습니다. 이미 너무 많은 작업을 하지 않았으면 합니다. 왜 그것이 받아들여지지 않았는지 잘 모르겠다면 관리자에게 피드백과 설명을 요청하는 것이 합리적입니다. 그러나 궁극적으로는 이것이 그들의 결정이라는 것을 존중할 필요가 있습니다. 논쟁하거나 적대적인 태도를 취하지 마세요. 동의하지 않으면 언제든 여러분의 버전을 포크하고 따로 작업할 수 있습니다!
### 🎉 기여가 받아들여졌어요.
만세! 오픈소스에 기여하는 데 성공했습니다!
## 해냈어요!
처음으로 오픈소스에 기여한 사람이든, 기여할 새로운 방법을 찾고 있든, 이 문서가 그것을 행동에 옮길 수 있는 계기가 되었길 바랍니다. 비록 기여가 받아들여지지 않더라도, 관리자가 당신을 도우려 할 때 감사의 말을 하는 것을 잊지 마세요. 오픈소스의 이슈, PR, 댓글 하나하나는 여러분에 의해 만들어집니다.
================================================
FILE: _articles/ko/index.html
================================================
---
layout: index
title: 오픈 소스 가이드
lang: ko
permalink: /ko/
---
================================================
FILE: _articles/ko/leadership-and-governance.md
================================================
---
lang: ko
title: 리더십과 관리
description: 결정을 위한 공식적인 규칙을 정하면 오픈소스 프로젝트의 성장에 이익을 얻을 수 있습니다.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## 성장하는 프로젝트 관리 이해하기
프로젝트는 성장하고, 사람들은 바쁘게 활동하고, 여러분은 계속 이끌어 나가고 싶습니다. 이 단계에서 여러분은 어떻게 일의 흐름에 기여자들을 모을지 알고자 합니다. 누군가에게 커밋 권한을 주거나 커뮤니티 토론을 해결하는 식으로 말입니다. 질문이 있다면 대답해드리겠습니다.
## 오픈소스 프로젝트에서 공식적인 역할은 어떤 식으로 적용되나요?
대부분 프로젝트는 비슷한 기여자 역할 구조를 갖습니다.
역할이 실제로 의미하는 것이 무엇인지는 전적으로 여러분에게 달렸습니다. 여러분이 이미 아실 만한 역할은 다음과 같습니다.
* **관리자(Maintainer)**
* **기여자(Contributor)**
* **커미터(Committer)**
**몇몇 프로젝트에서 "관리자"**는 커밋 권한을 가진 사람들만을 의미하지만, 어떤 프로젝트에서는 단순히 README 파일에 관리자로서 나열되어 있는 사람들을 가리킵니다.
관리자가 반드시 코드를 작성하는 사람일 필요는 없습니다. 프로젝트를 홍보하는 데 큰 몫을 한 사람일 수도 있고, 프로젝트 접근성을 높이기 위해 문서화를 맡은 사람일 수도 있습니다. 그들이 무슨 일을 하든, 관리자는 보통 프로젝트의 방향에 책임감을 가지고 이를 개선하고자 노력하는 사람일 것입니다.
**"기여자"**는 이슈나 풀 리퀘스트에 댓글을 작성하는 모든 사람이라고 볼 수 있습니다. 이슈에 우선 순위를 매기는 사람, 코드를 작성하는 사람, 행사를 조율하는 사람에서부터 (가장 좁은 의미로는) 병합된 풀 리퀘스트를 가진 사람까지 모두가 기여자인 셈입니다.
**"커미터"**라는 용어는 다른 기여 유형에 대비해 커밋이라는 특정 권한과 책임을 가진 사람을 구분하고자 사용합니다.
프로젝트 역할은 여러분이 원하는 대로 정의할 수 있지만, 다양한 유형의 기여를 이끌어내기 위해 되도록 [넓은 정의를 사용하세요](../how-to-contribute/#기여한다는-것의-의미). 전문적인 기술 수준과 별개로 프로젝트에 대단한 기여를 한 사람들에게 리더십 역할을 부여하며 그들에게 답례를 표할 수 있습니다.
## 어떻게 리더십 역할을 구성해야 할까요?
리더십 역할을 잘 갖추고 형식화하면 사람들이 소유감을 느끼고, 다른 커뮤니티 구성원들에게 도움을 줄 수 있습니다.
작은 프로젝트에서는 README 파일이나 CONTRIBUTORS 파일에 이름을 추가하는 것 정도로 간단하게 리더를 지정할 수 있습니다.
큰 프로젝트에서는, 웹사이트가 있다면 팀 페이지를 만들거나 프로젝트 리더들을 사이트에 나열하세요. [Postgres](https://github.com/postgres/postgres/)는 각 기여자의 짧은 프로필을 담은 [팀 페이지](https://www.postgresql.org/community/contributors/)를 가지고 있습니다.
매우 활성화된 기여자 커뮤니티를 가진 프로젝트라면 관리자들이나 각 분야(보안, 이슈 분류, 커뮤니티 관리 등)의 기여자들로 "핵심 팀"을 구성하는 방법이 있습니다. 사람들에게 역할을 부여하기보다 사람들이 스스로 역할을 구성하고 자원할 수 있게 하세요.
리더 팀은 IRC 등 지정된 채널을 만들거나 Gitter나 Google Hangout 등에서 정기적으로 프로젝트 토론 시간을 가지는 것이 좋습니다. 다른 사람들도 참관할 수 있게 채널이나 토론을 공개해도 됩니다. 예컨대 [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby)는 [매주 토론 시간을 갖습니다](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
리더십 역할을 구성한 후에는 사람들이 어떻게 그 역할을 부여받을 수 있는지 문서화하는 것을 잊지 마세요! 관리자나 특정 분야 전문 기여자가 되는 방법을 명확하게 정하고 GOVERNANCE 파일에 기록하세요.
누가 프로젝트에 기여하고 누가 그렇지 않은지 공개적으로 파악하는 데 [Vossibility](https://github.com/icecrime/vossibility-stack) 같은 툴이 도움을 줍니다. 이런 정보를 문서화하면 관리자들이 불공평한 결정을 내린다는 인식을 피할 수 있습니다.
마지막으로, 여러분의 프로젝트가 GitHub에서 진행되고 있다면 프로젝트를 여러분의 개인 계정에서 조직 계정으로 이동하는 것을 고려해 보세요. [조직 계정](https://help.github.com/articles/creating-a-new-organization-account/) 기능이 여러 저장소의 권한 관리, [공동 소유](../building-community/#프로젝트를-공동으로-소유하세요)를 통한 프로젝트 정책 보호를 쉽게 만들어 줍니다.
## 커밋 권한은 언제 부여해야 하나요?
몇몇 사람들은 여러분이 모든 기여자에게 커밋 권한을 줘야 한다고 생각합니다. 그렇게 한다면 더 많은 사람들이 프로젝트 소유감을 느끼게 할 수 있을 것입니다.
반면, 특히 크고 복잡한 프로젝트에서는 노력을 보인 사람들에게만 커밋 권한을 부여할 수도 있습니다. 정해진 방법은 없습니다. 가장 편한 방법을 선택하세요!
여러분의 프로젝트가 GitHub에서 진행되고 있다면 [보호 브랜치](https://help.github.com/articles/about-protected-branches/) 기능을 사용해 누가 어떠한 상황에 특정 브랜치에 푸시할 수 있는지 지정할 수 있습니다.
## 오픈소스의 관리 구조로는 어떤 것이 있나요?
오픈소스 프로젝트에서 적용되는 세 가지 일반적인 관리 구조가 있습니다.
* **BDFL:** BDFL은 "자비로운 종신독재자"(Benevolent Dictator for Life)의 약자입니다. 이 구조 아래에서는 (주로 프로젝트 창시자) 한 사람이 주요 사안의 최종 결정권을 갖습니다. [Python](https://github.com/python)이 그 대표적인 예입니다. 작은 프로젝트는 한두 명의 관리자만이 존재하므로 BDFL이라 할 수 있습니다. 기업에 의해 시작된 프로젝트도 보통 BDFL의 범주에 들어갑니다.
* **능력주의(Meritocracy):** **(참고: "능력주의"라는 용어는 일부 커뮤니티에서는 부정적 의미를 내포하며, [복잡한 사회·정치적 역사](http://geekfeminism.wikia.com/wiki/Meritocracy)를 가지고 있습니다.)** 능력주의 구조 아래에서는 ("능력"을 보이는) 활동적인 프로젝트 기여자들이 공식 결정권을 갖습니다. 사안 결정은 주로 투표를 통한 합의로 이루어집니다. 능력주의라는 개념은 [Apache Foundation](https://www.apache.org/)에 의해 만들어졌습니다. [모든 Apache 프로젝트](https://www.apache.org/index.html#projects-list)가 능력주의 구조입니다. 기여는 반드시 기업이 아닌 각각의 개인에 의해 이루어집니다.
* **자유주의 기여(Liberal contribution):** 자유주의 기여 구조에서는 가장 많은 일을 하는 사람이 가장 영향력 있는 사람으로 받아들여집니다. 하지만 이는 과거의 기여가 아닌 현재 작업 내용에 따라 판단합니다. 주요 사안은 투표보다는 (불만 사항에 대해 토론하는) 합의 도출 과정을 기반으로 하며, 가능한 많은 관점을 포함하려 합니다. 자유주의 기여 구조의 유명한 프로젝트로는 [Node.js](https://foundation.nodejs.org/)와 [Rust](https://www.rust-lang.org/)가 있습니다.
어느 구조를 채택해야 할까요? 그건 여러분의 손에 달려 있습니다! 모든 구조는 각각의 장단점을 가지고 있습니다. 그리고 얼핏 보기에는 제법 달라 보여도 세 구조 모두 실제로는 보기보다 비슷합니다. 위 구조들 중 하나를 도입하고자 한다면 아래 템플릿을 참조하세요.
* [BDFL 구조 템플릿](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [능력주의 구조 템플릿](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js의 자유주의 기여 정책](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## 프로젝트를 출시하려면 관리 문서가 있어야 하나요?
프로젝트 관리 문서를 작성하는 데에 정해진 시기는 없습니다. 하지만 커뮤니티의 역학이 작용하는 모습을 직접 보고 나서 작성하면 더 쉽습니다. 오픈소스 관리의 가장 좋은 (그리고 어려운) 점은 그것이 커뮤니티에 의해 형성된다는 점입니다!
하지만 이른 문서화는 프로젝트 관리에 필연적으로 도움이 됩니다. 그러니 적을 수 있는 것부터 적으며 시작하세요. 프로젝트 출시 단계에서도 어떤 기여를 기대하는지 명시하거나 기여 과정이 어떻게 되는지 등을 정의할 수 있습니다.
여러분이 오픈소스 프로젝트를 출시하는 기업의 일원이라면, 출시 전에 앞으로 어떻게 프로젝트를 유지하고 사안을 결정할지에 대한 내부 토론 시간을 가지세요. 또한 기업이 프로젝트에 어떤 식으로 관여할지 (또는 관여하지 않을지!) 공개적으로 설명하는 것이 좋습니다.
## 기업 직원들이 기여하기 시작하면 어떤 일이 일어나나요?
성공적인 오픈소스 프로젝트는 많은 사람과 기업에서 사용됩니다. 그러다 보면 어떤 기업의 수익 흐름이 프로젝트와 엮이기도 합니다. 예컨대, 기업이 상업적 서비스 제공을 위한 한 요소로서 프로젝트 코드를 사용하는 경우가 있습니다.
프로젝트가 널리 쓰이면 해당 프로젝트에 전문적인 사람들(여러분일 수도 있습니다!)의 수요도 증가합니다. 때로는 프로젝트에서 맡는 작업에 대한 보수를 받기도 합니다.
영리 활동을 다른 개발 원동력과 같이 평범하게 여기는 것이 중요합니다. 보수를 받는 개발자들은 그렇지 않은 개발자들에 비해 특별한 대우를 받아서는 안 됩니다. 물론 그들이 만드는 기여는 기술적인 가치에 따라 평가받아야 하겠지만 말입니다. 사람들은 영리 활동에 대해 이야기하거나, 특정 기능 개선이 필요하다고 주장하며 용례를 다루는 데 불편이 없어야 합니다.
"영리" 또는 "상용"이라는 단어는 "오픈소스"와 완벽히 어울리는 단어입니다. "영리"는 그저 어딘가에 돈이 연관되어 있다는 뜻입니다. 소프트웨어가 시장에서 사용되면 자연스럽게 프로젝트 채용률도 오릅니다. (오픈소스 소프트웨어가 비공개 소프트웨어의 일부분에 사용된다면 전체 소프트웨어는 여전히 "독점" 소프트웨어입니다. 이는 오픈소스처럼 영리적 용도로든 비영리적 용도로든 사용될 수 있습니다.)
다른 누구나와 마찬가지로, 이윤을 얻는 개발자들은 기여의 양과 질을 통해 프로젝트에서 영향력을 얻습니다. 투자한 시간에 대한 보상을 받는 개발자가 그렇지 않은 이들보다 많은 일을 할 수 있는 것은 분명한 사실이지만, 괜찮습니다. 보수는 누군가의 역량에 영향을 미치는 여러 요인 중 하나일 뿐입니다. 사람들이 기여하게 만들기 위한 외적 요인이 아닌 기여 자체에 토론을 집중하세요.
## 제 프로젝트를 지원하려면 법인이 필요한가요?
금전을 다루는 게 아니라면 오픈소스 프로젝트를 지원하는 데 법인은 필요하지 않습니다.
예컨대 영리 사업을 하고 싶다면 (미국 기준) C Corp이나 LLC를 설립해야 할 것입니다. 오픈소스 프로젝트에 관한 계약만 받고 있는 것이라면 독점 대표로서 돈을 수령하거나, 역시 (미국 기준) LLC를 설립할 수 있습니다.
오픈소스 프로젝트에 대한 기부를 받고 싶다면 PayPal이나 Stripe 등을 이용해 기부 버튼을 마련해둘 수 있습니다. 하지만 여러분이 비영리(미국 기준 501c3)를 증명하지 못한다면 세금 공제는 받지 못합니다.
대부분 프로젝트는 비영리 단체를 설립하는 번거로운 절차를 따르고 싶어하지 않습니다. 대신 비영리 회계 스폰서를 찾는 방법을 택합니다. 회계 스폰서는 보통 기부금의 일정 비율을 대가로 여러분을 대신하여 기부금을 수령합니다. 오픈소스 프로젝트를 위한 회계 스폰서 역할을 하는 조직은 [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects), [Open Collective](https://opencollective.com/opensource) 등이 있습니다.
여러분의 프로젝트가 특정 언어 또는 생태계와 밀접하게 관련되어 있다면 협업할 수 있는 관련 소프트웨어 재단 또한 있을 것입니다. 예를 들어 [Python Software Foundation](https://www.python.org/psf/)은 Python 패키지 관리자인 [PyPI](https://pypi.org/) 프로젝트를 지원하고, [Node.js Foundation](https://foundation.nodejs.org/)은 Node 기반 프레임워크인 [Express.js](https://expressjs.com/) 프로젝트를 지원합니다.
================================================
FILE: _articles/ko/legal.md
================================================
---
lang: ko
title: 오픈소스의 법적 측면
description: 오픈소스의 법적 측면과 당신이 하지 않은 몇가지 사항에 대해 궁금해하는 모든 것입니다.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## 오픈소스의 법적 함의를 이해하기
세계와 창의적인 작업을 공유하는 것은 흥미롭고 보람있는 경험이 될 수 있습니다. 그것은 또한 당신이 걱정해야 했지만 잘 몰랐던 여러 법적 문제를 의미할 수도 있습니다. 고맙게도 처음부터 다시 시작할 필요는 없습니다. 귀하의 법적 요구 사항이 있습니다. (이 내용을 파기전에, [면책조항](/notices/)을 읽으십시오.)
## 왜 사람들은 오픈소스의 법적 측면에 신경을 많이 쓸까요?
물어봤다는건 다행입니다! 창의적인 작업(작성, 그래픽 또는 코드)을 할 때, 그 저작물은 기본적으로 독점적인 저작권 하에 있습니다. 즉, 법은 귀하를 저작물의 작성자로서 다른 사람들이 할 수 있는 것에 대해 귀하가 말하고 있는 것으로 간주합니다.
일반적으로, 이는 타인이 인계, 훼손 또는 소송의 위험이 없이 작업을 사용, 복사, 배포 또는 수정할 수 없음을 의미합니다.
그러나 오픈소스는 다른 사람들이 작업을 사용, 수정 및 공유하기를 기대하기 때문에 드문 경우입니다. 그러나 법적 기본값은 독점적인 저작권이므로 명시적으로 이러한 사용 권한을 명시한 사용권이 필요합니다.
오픈소스 라이선스를 적용하지 않으면, 프로젝트에 기여한 모든 사람도 자신의 저작물의 독점적인 저작권자가 됩니다. 즉, 아무도 자신의 기여를 사용, 복사, 배포 또는 수정할 수 없으며 "아무도"에서는 귀하를 포함하지 않는다는 의미입니다.
마지막으로, 프로젝트는 사용자가 알지 못하는 라이선스 요구 사항과의 종속성을 가질 수 있습니다. 프로젝트의 커뮤니티 또는 고용주의 정책에 따라 프로젝트에서 특정 오픈소스 라이선스를 사용해야 할 수도 있습니다. 아래에서 이러한 상황을 다룰 것입니다.
## 깃허브의 공개 프로젝트는 오픈소스인가요?
깃허브에서 [새로운 프로젝트를 만들려고](https://help.github.com/articles/creating-a-new-repository/) 할 때, **비공개** 또는 **공개** 저장소로 만드는 옵션을 선택할 수 있습니다.

**GitHub 프로젝트를 공개하는 것은 프로젝트 라이센싱과 동일하지 않습니다.** 공개 프로젝트는 [GitHub의 서비스 약관](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants)에 명시되어 있으며, 다른 사람들이 프로젝트를 보거나 포크할 수는 있지만, 다른 권한은 없습니다.
다른 사람들이 프로젝트를 사용, 복사, 수정 또는 다시 사용할 수 있게 하려면, 오픈소스 라이선스를 포함해야 합니다. 예를 들어, GitHub 프로젝트가 공개되어 있다 하더라도 명시적으로 권한을 부여하지 않는다면, 그 코드의 어느 부분도 사용할 수 없습니다.
## 너무 기니까 그냥 내 프로젝트를 보호하는 데 필요한 점을 요약해 주세요.
운이 좋았습니다. 오늘날 오픈소스 라이선스는 표준화되어 있고 사용하기 쉽기 때문입니다. 기존 라이선스를 프로젝트에 직접 복사하여 붙여넣을 수 있습니다.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), 그리고 [GPLv3](https://choosealicense.com/licenses/gpl-3.0/)는 가장 인기있는 오픈소스 라이선스입니다. 그러나 선택할 수 있는 다른 옵션도 있습니다. [choosealicense.com](https://choosealicense.com/)에서 이러한 라이선스의 전체 텍스트 및 사용 방법에 대한 지침을 찾을 수 있습니다.
GitHub에서 새로운 프로젝트를 만들 때, [라이선스를 추가할 것인지 물어봅니다](https://help.github.com/articles/open-source-licensing/).
## 내 프로젝트에는 어떤 라이선스가 적합할까요?
빈 슬레이트에서 시작한다면, [MIT 라이선스](https://choosealicense.com/licenses/mit/)를 잘못 읽는 것은 어렵습니다. MIT 라이선스는 짧고 이해하기 쉬우며, 저작권 고지를 포함하여 라이선스 사본을 보관하는 한 누구나 모든 것을 할 수 있도록 허락합니다. 필요한 경우 다른 라이선스로 프로젝트를 릴리스 할 수 있습니다.
그렇지 않으면 프로젝트에 적합한 오픈소스 라이선스를 선택하는 것은 목적에 달려 있습니다.
프로젝트에 **의존성**이 있을 가능성이 큽니다. 예를 들어, Node.js 프로젝트를 오픈소스로 사용하는 경우 노드 패키지 관리자(npm)의 라이브러리를 사용할 수 있습니다. 의존하는 각 라이브러리에는 자체 오픈소스 라이선스가 있습니다. 각 라이선스가 "허용"(다운스트림 라이선스의 조건없이 공용 사용, 수정 및 공유할 수 있는 권한 부여)되어 있으면, 원하는 라이선스를 사용할 수 있습니다. 일반적인 허용 라이선스에는 MIT, Apache 2.0, ISC 및 BSD가 포함됩니다.
반대로, 의존하는 라이선스가 "강력한 카피레프트"(동일한 라이선스를 다운스트림으로 사용하는 조건 하에 동일한 권한을 부여하는 경우)인 경우, 프로젝트는 동일한 라이선스를 사용해야 합니다. 일반적인 강력한 카피레프트 라이선스에는 GPLv2, GPLv3 및 AGPLv3이 포함됩니다.
프로젝트를 사용하고 기여할 수 있는 **커뮤니티**를 고려해보십시오:
* **프로젝트를 다른 프로젝트의 종속성으로 사용 하시겠습니까?** 관련 커뮤니티에서 가장 많이 사용되는 라이선스를 사용하는 것이 가장 좋습니다. 예시로, [MIT](https://choosealicense.com/licenses/mit/)는 [npm libraries](https://libraries.io/search?platforms=NPM)에서 가장 인기있는 라이선스입니다.
* **프로젝트를 대기업에 어필하고 싶습니까?** 대기업은 모든 참여자의 명시적인 특허 라이선스를 원할 것입니다. 이 경우, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)는 귀하(그리고 그들)을 커버해 줄것 입니다.
* **독점 소스 소프트웨어에 기여를 하고 싶지 않은 기여자에게 프로젝트를 어필하고 싶습니까?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) 혹은 (또한 독점 소스 서비스에 기여하지 않으려는 경우) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/)은 잘될 것입니다.
귀하의 **회사**는 오픈소스 프로젝트에 대한 특정 라이선스 요구 사항을 가지고 있을 수 있습니다. 예를 들어, 회사에서 회사의 독점 소스 제품에서 프로젝트를 사용할 수 있도록 허용 라이선스가 필요할 수 있습니다. 또는 귀사만 독점 소스 소프트웨어에서 프로젝트를 사용할 수 있도록 강력한 카피 레프트 라이선스와 추가 기여자 계약(아래 참조)이 필요할 수 있습니다. 또는 표준, 사회적 책임 또는 투명성과 관련된 특정 요구 사항이 있을 수 있습니다. 이러한 요구 사항에는 특정 라이선스 전략이 필요할 수 있습니다. 귀하의 [회사 법률 부서](#회사의-법무팀은-무엇을-알아야-할까요)에 이야기하십시오.
GitHub에서 새 프로젝트를 만들면, 라이선스를 선택할 수 있는 옵션이 제공됩니다. 위에서 언급한 라이선스 중 하나를 포함하면 GitHub 프로젝트가 오픈소스로 됩니다. 다른 옵션을 보려면 [choosealicense.com](https://choosealicense.com)에서 [소프트웨어가 아닌 프로젝트](https://choosealicense.com/non-software/)에 적합한 라이선스를 찾으십시오.
## 내 프로젝트의 라이선스를 바꾸고 싶다면 어쩌죠?
대부분의 프로젝트는 라이선스를 변경할 필요가 없습니다. 그러나 때때로 상황이 바뀝니다.
예를 들어, 프로젝트가 커짐에 따라 종속성이나 사용자가 추가되거나 회사에서 전략을 변경합니다. 전략 중 하나는 다른 라이선스를 요구하거나 원할 수 있습니다. 또한 처음부터 프로젝트 라이선스를 소홀히 했다면, 라이선스를 추가하는 것은 사실상 라이선스를 변경하는 것과 같습니다. 프로젝트 라이선스를 추가하거나 변경할 때 고려해야 할 세 가지 기본 사항이 있습니다.
**복잡합니다.** 라이선스 호환성 및 규정 준수 여부를 결정하고 저작권을 보유한 사람은 매우 복잡하고 혼란스러울 수 있습니다. 새로운 릴리즈 및 기여용으로 새롭지만 호환되는 라이선스로 전환하는 것은 기존 기여를 모두 재 라이선스하는 것과 다릅니다. 법률팀에 라이선스 변경 희망의 첫 번째 힌트를 포함시키십시오. 프로젝트의 저작권 소유자로부터 라이선스 변경에 대한 허가를 받았거나 취득할 수있는 경우에도 변경 사항이 프로젝트의 다른 사용자 및 제공자에게 미치는 영향을 고려하십시오. 라이선스 변경은 프로젝트의 이해 관계자와 명확한 커뮤니케이션 및 협의를 통해 원활하게 진행될 수 있는 프로젝트의 "거버넌스 이벤트"라고 생각하십시오. 프로젝트를 시작할 때부터 적절한 라이선스를 선택하여 사용하는데는 더 많은 이유가 있습니다!
**프로젝트의 기존 라이선스가 있습니다.** 프로젝트의 기존 라이선스가 변경하려는 라이선스와 호환되는 경우, 새 라이선스를 사용하기만 하면 됩니다. 라이선스 A가 라이선스 B와 호환되면 B의 조건을 준수하면서 A의 조건을 준수하게 됩니다(반대의 경우도 가능). 따라서 현재 MIT와 같은 허가된 라이선스를 사용하고 있다면 MIT 라이선스 사본 및 관련 저작권 고지를 보유하는 한 더 많은 조건으로 라이선스로 변경할 수 있습니다(즉, 계속해서 MIT 라이선스의 최소 조건 준수). 그러나 현재 라이선스가 허용되지 않는 경우(예:카피 레프트 또는 라이선스가 없는 경우), 저작권자가 유일하지 않은 경우, 프로젝트 라이선스를 MIT로 변경할 수 없습니다. 근본적으로 허가된 라이선스로 프로젝트의 저작권 소유자는 라이선스 변경을 사전 허가합니다.
**프로젝트의 기존 저작권 보유자가 있습니다.** 귀하가 프로젝트에 단독으로 기여한 경우, 귀하 또는 귀하의 회사는 프로젝트의 유일한 저작권자입니다. 귀하 또는 귀하의 회사에서 원하는 모든 라이선스를 추가하거나 변경할 수 있습니다. 그렇지 않으면 라이선스를 변경하기 위해 동의해야하는 다른 저작권 소유자가 있을 수 있습니다. 그들은 누구입니까? 프로젝트에 커밋을 한 사람은 시작하기 좋은 곳입니다. 그러나 어떤 경우, 저작권은 해당 사용자의 고용주가 보유하게 됩니다. 어떤 경우에는 사람들이 최소한의 기여를 했을 뿐이지만, 몇 줄의 코드가 저작권의 대상이 되지 않는다는 단호하고 신속한 규칙은 없습니다. 그럼 무엇을 해야합니까? 상대적으로 규모가 작고 젊은 프로젝트의 경우에는, 기존의 모든 기여자가 문제의 라이선스 변경에 동의하거나 이슈 혹은 pull request할 수 있습니다. 크고 수명이 긴 프로젝트의 경우, 많은 기여자와 상속인을 찾아야 할 수도 있습니다. 모질라는 파이어폭스, 썬더버드 및 관련 소프트웨어를 재 라이선스하기 위해 수년(2001-2006)을 보냈습니다.
또는 기여자가 기존 오픈소스 라이선스에서 허용하는 것 이상으로 특정 조건하에서 특정 라이선스 변경 사항에 대해 사전에 동의할 수 있습니다 (추가 기여자 계약 - 아래 참조). 이렇게하면 라이선스 변경의 복잡성이 조금씩 바뀝니다. 변호사의 도움이 더 필요합니다. 라이선스 변경을 수행할 때는, 프로젝트의 이해 관계자와 명확하게 의견을 나눌 수 있습니다.
## 내 프로젝트에 추가 기여자 계약이 필요한가요?
아마도 그렇지 않습니다. 대다수의 오픈소스 프로젝트에서 공개 소스 라이선스는 인바운드(기여자)와 아웃바운드(다른 참여자 및 사용자) 라이선스로 암묵적으로 사용됩니다. 프로젝트가 GitHub에 있는 경우, GitHub 서비스 약관은 "인바운드 = 아웃 바운드" [명시적 기본값](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license)으로 지정합니다.
기여자 라이선스 계약(CLA)이라고도 부르는 추가 기여자 계약은 프로젝트 메인테이너를 위한 관리 작업을 생성할 수 있습니다. 계약서에 얼마나 많은 작업을 추가할지는 프로젝트와 구현에 달려 있습니다. 간단한 동의는 프로젝트 참여자가 프로젝트 오픈소스 라이선스 하에 기여할 수 있는 권리를 클릭으로 확인해야 할 수도 있습니다. 보다 복잡한 합의는 법적 검토와 기여자 고용주의 서명을 요구할 수 있습니다.
또한 일부 사람들은 불필요하거나 이해하기 힘들거나 불공정하다고 생각되는 "서류 작업"을 추가함으로써 (계약 수령자가 프로젝트 참여자보다 더 많은 권리를 얻거나 일반인이 프로젝트의 오픈소스 라이선스를 통해 수행 할 때) 추가 기여자 계약이 프로젝트의 커뮤니티에 비우호적이라고 인식될 수 있습니다.
프로젝트에 대한 추가 기여자 계약을 고려할 수 있는 몇 가지 상황은 다음과 같습니다:
* 변호사는 기여자가 오픈소스 라이선스 자체가 충분하지 않다고 생각하기 때문에 모든 기여자가 기여 조항을 명시적으로 (_sign_, 온라인 또는 오프라인) 받아들이기를 원합니다. 이것이 유일한 관심사라면, 프로젝트의 오픈소스 라이선스를 인정하는 기여자 계약만으로 충분할 것입니다. [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/)는 경량 추가 제공자 계약의 좋은 예입니다. 일부 프로젝트의 경우, [개발자 인증서 발급](https://github.com/probot/dco)을 사용할 수 있습니다.
* 귀하의 프로젝트는 익스프레스 특허 부여 (MIT 등)가 포함되지 않은 오픈소스 라이선스를 사용하며, 모든 기여자의 특허 허여가 필요합니다. 그 중 일부는 귀하를 타겟으로 삼을 수 있는 대규모 특허 포트폴리오를 보유한 회사 또는 프로젝트의 다른 참여자 및 사용자가 사용할 수 있습니다. [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf)는 일반적으로 사용되는 추가 기여자 계약으로 Apache License 2.0에서 발견된 특허권 부여를 미러링합니다.
* 프로젝트에 카피레프트 라이선스가 있지만, 프로젝트의 독점 버전을 배포해야 합니다. 모든 저작권자가 저작권을 양도하거나 관할권을 부여할 수 있는 허가권을 사용자에게 부여해야합니다. [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement)는 이러한 유형의 계약입니다.
* 평생동안 프로젝트를 변경하고 기여자가 그러한 변경 사항에 동의하기를 원한다고 생각하십시오.
프로젝트에 기여자 계약을 추가로 사용해야하는 경우 기여자 산만을 최소화하기 위해 [CLA 어시스턴트](https://github.com/cla-assistant/cla-assistant)와 같은 통합 사용을 고려하십시오.
## 회사의 법무팀은 무엇을 알아야 할까요?
오픈소스 프로젝트를 회사 직원으로 공개하는 경우, 먼저 법률팀이 오픈소스 프로젝트임을 알고 있어야 합니다.
더 좋든 나쁘든, 개인 프로젝트일지라도 알려주도록 하십시오. 특히 회사의 비즈니스와 관련이 있거나 프로젝트를 개발하기 위해 회사 자원을 사용하는 경우, 프로젝트 관리를 제공하는 회사와 "직원 IP 계약"을 체결했을 수도 있습니다. 귀사는 귀사에게 쉽게 허가권을 부여해야하며, 직원 친화적인 IP 계약 또는 회사 방침을 이미 거쳐야 할 수도 있습니다. 그렇지 않은 경우, 협상을 통해 (예 : 프로젝트가 회사의 전문 학습 및 개발 목표를 제공한다고 설명), 또는 더 나은 회사를 찾을 때까지 프로젝트 작업을 하지 않을 수 있습니다.
**당신이 회사를 위해 프로젝트를 오픈소스화하고 있다면,** 분명히 알려주십시오. 법무팀은 이미 귀사의 비즈니스 요구 사항 및 전문성을 토대로 프로젝트가 종속성의 라이선스를 준수하는지 확인하기 위해 오픈 소스 라이선스 (및 추가로 제공되는 계약자 계약)에 대한 정책을 이미 가지고 있습니다. 그렇지 않다면, 당신과 그들은 운에 따라야 합니다! 귀하의 법률팀은 당신과 함께 이 일을 이해하기 위해 열심히 노력해야 합니다. 생각해야될 몇 가지 사항이 있습니다:
* **서드파티 부속** 프로젝트에 다른 사람이 만든 종속성이 있거나 다른 사람의 코드를 포함하거나 사용합니까? 오픈소스인 경우, 자료의 오픈소스 라이선스를 준수해야합니다. 먼저 타사 오픈소스 라이선스 (위 참조)와 함께 작동하는 라이선스를 선택하십시오. 프로젝트가 제 3자 오픈소스 자료를 수정 또는 배포하는 경우, 법률팀은 저작권 침해와 같은 제 3자 오픈소스 라이선스의 다른 조건을 충족하고 있음을 알고 싶어합니다. 프로젝트에서 오픈소스 라이선스가 없는 다른 사용자의 코드를 사용하는 경우, 타사 관리자에게 [오픈소스 라이선스 추가](https://choosealicense.com/no-license/#for-users)를 요청해야합니다. 얻을 수 없다면 프로젝트에서 코드 사용을 중단하십시오.
* **영업 기밀:** 프로젝트에서 회사가 일반 대중에게 공개하기를 원하지 않는 것이 있는지 여부를 고려하십시오. 그렇다면 비공개로 유지하려는 자료를 추출한 후, 프로젝트의 나머지 부분을 소스로 열 수 있습니다.
* **특허:** 귀하의 회사가 귀하의 프로젝트를 [공개](https://en.wikipedia.org/wiki/Public_disclosure)하여 특허를 신청할 계획입니까? 안타깝게도, 기다려달라는 요청을 받을 수 있습니다 (또는 회사에서 애플리케이션의 지혜를 재고 할 수도 있음). 대규모 특허 포트폴리오를 보유한 회사의 직원으로부터 프로젝트에 대한 기여가 기대되는 경우, 법무팀은 기여자(Apache 2.0 또는 GPLv3 등)의 명시적인 특허 지원 또는 추가 기부자 동의서를 사용하여 라이선스를 사용하기를 원할 수 있습니다(위 참조).
* **상표:** 프로젝트 이름이 [기존 상표와 충돌하지 않는지](../starting-a-project/#이름-중복-피하기) 다시 확인하십시오. 만약 프로젝트에서 자신의 회사 상표를 사용하는 경우에 충돌이 발생하지 않는지도 확인하십시오. [FOSSmarks](http://fossmarks.org/)는 무료 및 오픈소스 프로젝트의 맥락에서 상표를 이해하는 실질적인 가이드입니다.
* **개인 정보:** 프로젝트가 사용자에 대한 데이터를 수집합니까? 법률팀은 회사 정책 및 외부 규정을 준수하도록 도울 수 있습니다.
만약 회사의 첫번째 오픈소스 프로젝트를 릴리스하는 경우, 위의 내용만으로도 충분합니다 (걱정하지 마십시오. 대부분의 프로젝트가 큰 우려를 제기해서는 안됩니다).
장기적으로, 법률팀은 오픈소스에 대한 참여를 통해 더 많은 것을 얻고, 안전을 유지할 수 있도록 더 많은 일을 할 수 있습니다:
* **직원 기여 정책:** 직원이 오픈소스 프로젝트에 기여하는 방법을 지정하는 기업 정책을 개발하는 것을 고려하십시오. 분명한 정책은 직원들 사이의 혼란을 줄이고 작업의 일부 또는 자유 시간에 상관없이, 회사의 이익을 최대한 활용하여 오픈소스 프로젝트에 기여할 수 있도록 지원합니다. 좋은 예시는 Rackspace의 [모델 IP 및 오픈소스 기여 정책](https://ospo.co/blog/crafting-your-open-source-contribution-policy/)입니다.
* **공개 할 내용:** [(거의) 다?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) 귀하의 법무팀이 귀하의 회사 오픈소스 전략을 이해하고 투자한다면, 귀하의 노력을 방해하는 것보다 최선을 다 할 수 있습니다.
* **준수:** 회사가 오픈소스 프로젝트를 공개하지 않더라도, 다른 회사의 오픈 소스 소프트웨어를 사용합니다. [Awareness and process](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/)는 두통, 제품 지연 및 법적 소송을 예방할 수 있습니다.
* **특허:** 귀사는 회원사의 주요 오픈소스 프로젝트 사용을 보호하거나 다른 대체 특허 라이센싱을 모색하기 위해, [Open Invention Network](http://www.openinventionnetwork.com/)에 가입 할 수 있습니다.
* **가버넌스:** 특히 프로젝트를 [회사 외부의 법인](../leadership-and-governance/#제-프로젝트를-지원하려면-법인이-필요한가요)으로 옮기는 것이 이치에 맞을 경우에 할 수 있습니다.
================================================
FILE: _articles/ko/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: ko
title: 오픈 소스 메인테이너를 위한 균형 유지
description: 메인테이너를 위한 자기 관리 및 번아웃 방지 팁
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
오픈 소스 프로젝트의 인기가 높아질수록, 장기적으로 신선함과 생산성을 유지하려면 명확한 경계를 설정하는 것이 중요합니다.
메인테이너들의 경험과 그들이 균형을 찾는 전략을 더 깊이 이해하기 위해, 우리는 메인테이너 커뮤니티의 40명과 워크숍을 진행했으며, 이를 통해 오픈 소스에서 번아웃을 경험한 사례와, 그들이 균형을 유지하는 데 도움이 된 실천 방법을 직접 배울 수 있었습니다. 여기서 개인 생태계(personal ecology)라는 개념이 중요한 역할을 합니다.
그렇다면 개인 생태계란 무엇일까요? Rockwood Leadership Institute의 설명에 따르면, 여기에는 "우리의 에너지를 평생 동안 지속하기 위해 균형, 속도 그리고 효율성을 유지하는 것"이 포함됩니다.
이는 메인테이너들이 시간이 흐르면서 변화하는 더 큰 생태계의 일부로서 자신의 역할과 기여를 인식하는 데 도움을 주는 개념이 되었습니다. 번아웃은 [세계보건기구(WHO)가 정의](https://icd.who.int/browse/2025-01/foundation/en#129180281)한 바와 같이 만성적인 업무 스트레스로 인해 발생하는 증후군이며, 메인테이너들 사이에서도 흔히 나타납니다. 이는 종종 동기 상실, 집중력 저하, 그리고 기여자 및 커뮤니티에 대한 공감 부족으로 이어집니다.
이 개인 생태계 개념을 수용함으로써, 메인테이너들은 번아웃을 사전에 방지하고, 자기 관리를 우선하며, 균형을 유지하여 최상의 작업을 수행할 수 있습니다.
## 메인테이너를 위한 자기 관리 및 번아웃 방지 팁:
### 오픈 소스에서 작업하는 동기(motivation)를 확인하기
오픈 소스 유지보수의 어떤 부분이 여러분에게 활력을 주는지 생각해 보세요. 자신의 동기를 이해하면, 지속적으로 참여하면서 새로운 도전에 대비할 수 있도록 작업의 우선순위를 정하는 데 도움이 됩니다. 사용자의 긍정적인 피드백이든, 커뮤니티와 협업하고 교제하는 기쁨이든, 코드에 깊이 몰입하는 만족감이든, 자신의 동기를 인식하는 것이 집중 방향을 설정하는 데 도움이 될 수 있습니다.
### 균형을 잃고 스트레스 받는 원인을 되돌아보기
번아웃이 발생하는 원인을 이해하는 것이 중요합니다. 오픈 소스 메인테이너들 사이에서 공통적으로 나타나는 몇 가지 주요 원인은 다음과 같습니다:
* **긍정적인 피드백 부족:** 사용자들은 불만이 있을 때 연락을 취할 가능성이 훨씬 더 높습니다. 모든 것이 원활하게 작동하면 그들은 조용히 있는 경우가 많지요. 당신의 기여가 어떤 변화를 가져오는지 보여주는 긍정적인 피드백 없이 그저 늘어나는 문제(issue) 목록을 지켜보는 것은 좌절감을 불러올 수 있습니다.
* **'아니오'라고 말하지 않기:** 오픈 소스 프로젝트에서는 생각보다 많은 책임을 맡게 되기 쉽습니다. 사용자, 기여자 또는 다른 메인테이너로부터든, 우리는 항상 그들의 기대에 부응할 수는 없습니다.
* **혼자 일하기:** 메인테이너가 된다는 것은 엄청나게 외로울 수 있습니다. 심지어 여러 명의 메인테이너와 함께 일하더라도 지난 몇 년 동안은 분산된 팀을 직접 소집하는 것은 어려웠습니다.
* **부족한 시간 혹은 자원:** 이는 특히 프로젝트를 진행하기 위해 여가 시간을 희생해야 하는 자원봉사자 메인테이너들이 해당됩니다.
* **상충되는 기대:** 오픈 소스는 서로 다른 동기를 가진 여러 그룹으로 가득 차 있어, 이를 조정하는 것이 어려울 수 있습니다. 오픈 소스를 유료로 진행하는 경우, 때때로 당신 고용주의 관심사와 커뮤니티의 이익이 충돌할 수도 있습니다.
### 번아웃 징후를 주의하기
지금처럼 10주 동안 일을 할 수 있겠습니까? 10달은요? 10년은요?
[@shaunagm](https://github.com/shaunagm)의 [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html)와 같은 도구들이 현재 속도를 되돌아보고 조정할 부분이 있는지 확인하는 데 도움을 줄 수 있습니다. 일부 메인테이너는 웨어러블 기술을 사용해 수면 질이나 심박수 변동성 (둘 다 스트레스와 관련 있음)과 같은 지표를 추적하기도 합니다.
### 자기 자신과 커뮤니티를 계속 유지하려면 무엇이 필요할까?
이것은 각 메인테이너마다 다르게 나타나며, 인생의 단계와 다른 외부 요인에 따라 달라질 수 있습니다. 하지만 우리가 들은 몇 가지 주요 주제는 다음과 같습니다:
* **커뮤니티에 의지하기:** 업무 위임과 기여자를 찾는 것은 업무 부담을 덜어줄 수 있습니다. 프로젝트에 여러 접점을 두면 걱정 없이 휴식을 취할 수 있습니다. 다른 메인테이너 및 더 넓은 커뮤니티와 연결하세요, [메인테이너 커뮤니티](http://maintainers.github.com/)같은 곳이요. 이는 동료 지원 및 학습을 위한 훌륭한 리소스가 될 수 있습니다.
사용자 커뮤니티와 소통할 수 있는 방법을 찾을 수도 있습니다. 이를 통해 정기적으로 피드백을 듣고 당신의 오픈 소스 작업의 영향을 파악할 수 있습니다.
* **자금 확보 탐색:** 피자값 정도의 지원이든, 오픈 소스를 전업으로 하려고 하든, 도움을 위한 리소스는 있습니다! 첫 단계로 [GitHub Sponsors](https://github.com/sponsors)를 켜서 다른 사람들이 당신의 오픈 소스 작업을 후원할 수 있게 고려해보세요. 만약 전업으로 전환하려고 생각한다면, [GitHub Accelerator](http://accelerator.github.com/)의 다음 라운드에 지원하세요.
* **도구 사용하기:** [GitHub Copilot](https://github.com/features/copilot/)이나 [GitHub Actions](https://github.com/features/actions) 같은 도구를 탐구하여 반복적인 작업을 자동화하고 더 의미 있는 기여를 할 수 있는 시간을 확보하세요.
* **휴식과 재충전:** 오픈 소스 외에도 취미와 관심사에 시간을 할애하세요. 주말에는 쉬면서 재충전하고, [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status)를 설정하여 언제 일할 수 있는지를 나타내보세요! 숙면은 장기적인 노력 지속 능력에 큰 차이를 만들 수 있습니다.
프로젝트에서 특히 즐기는 부분이 있다면, 그 부분을 경험할 수 있도록 작업을 구성해 보세요.
* **경계를 설정하기:** 모든 요청에 '예(yes)'라고 답할 수는 없습니다. "지금은 그 일을 할 수 없고, 앞으로도 할 계획이 없다"고 간단히 말하거나, README에 내가 하고 싶은 일과 하지 않을 일을 나열하는 방식으로도 충분히 할 수 있습니다. 예를 들어 다음과 같이 말할 수 있습니다: "나는 PR을 만든 이유가 명확하게 나열된 PR만 병합합니다." 또는 "나는 매주 목요일 6시부터 7시까지만 이슈를 리뷰합니다". 이렇게 하면 다른 사람들이 당신의 기대치를 알게 되고, 나중에 기여자나 사용자들이 시간에 대해 무리한 요구를 할 때, 이를 완화할 수 있는 기준을 제시할 수 있게 됩니다.
유독한(toxic) 행동과 부정적인 상호작용을 단호하게 차단하는 법을 배우세요. 관심 없는 일에 에너지를 쏟지 않아도 괜찮습니다.
개인 생태학은 당신의 오픈 소스 여정을 진행하면서 발전하는 지속적인 실천이라는 점을 기억하세요. 자기 관리를 우선시하고 균형 감각을 유지함으로써, 당신은 오픈 소스 커뮤니티에 효과적이고 지속 가능하게 기여할 수 있고, 이는 장기적으로 웰빙과 프로젝트의 성공을 함께 보장할 수 있습니다.
## 추가 자료
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](https://governingopen.com/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## 기여자
이 가이드를 위해 자신의 경험과 팁을 공유해 주신 모든 메인테이너분들께 진심으로 감사드립니다!
이 가이드는 [@abbycabs](https://github.com/abbycabs)가 작성했으며, 아래 기여자들의 기여가 있었습니다.
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + 이외의 다른 많은 사람들!
================================================
FILE: _articles/ko/metrics.md
================================================
---
lang: ko
title: 오픈소스 측정항목
description: 성공을 측정하고 추적함으로써 오픈소스 프로젝트가 성공할 수 있도록 정보에 입각한 의사 결정을 하십시오.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## 왜 측정할까요?
데이터를 현명하게 사용하면, 오픈소스 메인테이너로서 더 나은 의사 결정을 내릴 수 있습니다.
자세한 정보를 통해 다음을 수행할 수 있습니다:
* 사용자가 새로운 기능에 어떻게 반응하는지 이해하기
* 새로운 사용자가 어디서 왔는지 파악하기
* 이상한 사용 사례 또는 기능을 식별하거나 지원할지 여부를 결정하기
* 프로젝트의 인기를 정량화하기
* 프로젝트 사용 방법 이해하기
* 스폰서십과 보조금을 통해 돈을 모으기
예시로, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md)는 Google 웹 로그 분석으로 우선순위를 결정하는 데 도움이 되는 것으로 나타났습니다:
> Homebrew는 무료로 제공되며, 여가 시간에 자원 봉사자들에 의해 전적으로 운영됩니다. 결과적으로, 우리는 미래의 기능을 설계하고 현재 작업의 우선순위를 정하는 최선의 방법을 결정하기 위해 Homebrew 사용자에 대한 상세한 사용자 연구를 할 수 있는 자원이 없습니다. 익명 집계 사용자 분석을 사용하면 사람들이 Homebrew를 사용하는 방법, 장소 및 시기에 따라 수정 및 기능의 우선순위를 지정할 수 있습니다.
인기가 모든 것이 아닙니다. 누구나 다른 이유로 오픈소스를 사용합니다. 오픈소스 메인테이너로서의 목표가 업무를 과시하거나, 코드에 대해 투명하게 표현하거나, 재미있게 만나는 것이라면, 측정이 중요하지 않을 수도 있습니다.
If you _are_ interested in understanding your project on a deeper level, read on for ways to analyze your project's activity.
## 발견
누구든지 프로젝트를 사용하거나 기여할 수 있게 하기 전에, 이것이 존재하는 지를 알아야 합니다. 자신에게 물어보십시오: _이 프로젝트를 찾는 사람들입니까?_

얼마나 많은 사람들이 당신의 프로젝트에 도착했는지, 어디에서 왔는지를 볼 수 있습니다. 프로젝트 페이지에서 "그래프"를 클릭 한 다음, "트래픽"을 클릭하십시오. 이 페이지에서 다음을 볼 수 있습니다:
* **총 페이지 뷰:** 얼마나 많은 조회 횟수로 프로젝트를 보았는지 알려줍니다
* **총 고유 방문자수:** 얼마나 많은 사람들이 프로젝트를 보았는지 알려줍니다
* **참고한 사이트:** 방문자가 어디에서 왔는지 알려줍니다. 이 통계는 잠재 고객에게 도달할 수 있는 위치와 홍보 활동의 효과를 파악하는 데 도움이 됩니다.
* **인기 콘텐츠:** 방문자가 프로젝트에서 어디로 이동했는지 알려주며, 페이지 뷰와 고유 방문자별로 세분화됩니다.
[GitHub stars](https://help.github.com/articles/about-stars/)는 또한 인기의 기준치 측정을 제공하는 데 도움이 될 수 있습니다. GitHub star는 반드시 다운로드 및 사용량과 상관관계가 있는 것은 아니지만, 얼마나 많은 사람들이 귀하의 작업에 주의를 기울이고 있는지 말해 줄 수 있습니다.
[특정 장소에서 검색 가능성을 추적](https://opensource.com/business/16/6/pirate-metrics) 할 수도 있습니다: 예를 들어, Google 페이지랭크, 프로젝트 웹 사이트의 추천 트래픽 또는 다른 오픈소스 프로젝트 또는 웹 사이트의 추천을 포함할 수 있습니다.
## 사용
사람들은 우리가 인터넷이라고 부르는 이 거칠고 미친 일로 프로젝트를 찾고 있습니다. 이상적으로는, 프로젝트를 보았을 때 뭔가 할 것을 강요당할 것입니다. 두 번째 질문은 다음과 같습니다: _이 프로젝트를 사용하는 사람들입니까?_
npm 또는 RubyGems.org와 같은 패키지 관리자를 사용하여 프로젝트를 배포하는 경우 프로젝트 다운로드를 추적할 수 있습니다.
각 패키지 매니저는 "다운로드"와 약간 다른 정의를 사용할 수 있으며, 다운로드가 반드시 설치 또는 사용과 관련이 있는 것은 아니지만 비교를 위한 기준을 제공합니다. [Libraries.io](https://libraries.io/)를 사용해 많은 인기 있는 패키지 매니저의 사용 통계를 추적해보십시오.
만약 프로젝트가 깃허브에 있다면, "Traffic"페이지로 다시 이동해 보십시오. [clone graph](https://github.com/blog/1873-clone-graphs)를 사용하여 주어진 날에 프로젝트가 복제된 횟수를 전체 클론 및 클론 받은 사람으로 세분화할 수 있습니다.

프로젝트를 발견한 사람의 수에 비해 사용량이 적을 경우, 고려해야 할 두 가지 문제가 있습니다. 어느 한쪽으로는:
* 프로젝트가 잠재 고객을 성공적으로 전환하지 못했거나, 또는
* 틀린 지지자를 끌어들이고 있습니다.
예를 들어, 프로젝트가 Hacker News의 첫 페이지에 있는 경우, Hacker News의 모든 사용자에게 도달했기 때문에 발견(트래픽)은 증가하지만 전환율은 낮아질 수 있습니다. 그러나 Ruby 프로젝트가 Ruby 컨퍼런스에 등장한다면 타겟 잠재 고객의 전환율이 높아질 가능성이 큽니다.
잠재 고객이 어디에서 왔는지 파악하고 프로젝트 페이지에서 다른 사람들에게 당신이 직면한 두 가지 문제점을 파악하도록 요청하십시오.
사람들이 프로젝트를 사용하고 있다는 것을 알게 되면, 사람들이 프로젝트를 통해 무엇을 하고 있는지 파악하려고 할 수 있습니다. 그들은 당신의 코드를 포크하고 기능을 추가함으로써 그것을 구축하고 있습니까? 그들은 과학이나 비즈니스를 위해 그것을 사용하고 있습니까?
## 유지
사람들이 프로젝트를 찾고 있으며 프로젝트를 사용하고 있습니다. 다음 질문은 스스로에게 물어볼 것입니다: _이 프로젝트에 다시 기여한 사람들입니까?_
기여자를 생각하는 것은 너무 이릅니다. 다른 사람이 참여하지 않으면 프로젝트가 _인기 있고_(많은 사람들이 그것을 사용하지만) _지원_되지 않는(요구 사항을 충족시키는 데 필요한 유지 보수 시간이 충분하지 않음) 좋지 못한 상황에 처할 위험이 있습니다.
보유자는 이전에 활동적인 기여자가 결국 다른 것들로 이동하기 때문에 [새로운 기여자가 유입](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2)되어야합니다.
정기적으로 추적할 수 있는 커뮤니티 측정 항목의 예는 다음과 같습니다:
* **기여자 중 총 기여 수 및 커밋 수 :** 얼마나 많은 기여자가 있고, 누가 더 많이 또는 적게 활동하는지를 알려줍니다. GitHub에서는 "Graphs"-> "Contributors"에서 볼 수 있습니다. 현재 이 그래프는 저장소의 기본 브랜치에 작성한 기여자만 계산합니다.

* **처음, 캐주얼, 그리고 다시 기여한 사람:** 새로운 참여자를 얻었는지 여부와 그들이 다시 돌아왔는지 여부를 추적하는 데 도움이됩니다. (캐주얼 기여자는 커밋 수가 적고 커밋 수가 5회 이하이거나, 또 다른 기준은 당신에게 달려 있습니다.) 새로운 참여자가 없으면 프로젝트 커뮤니티가 정체될 수 있습니다.
* **열린 이슈와 pull requests의 수:** 수치가 너무 높으면 이슈 검토 및 코드 검토에 대한 도움이 필요할 수 있습니다.
* **_열렸던_ 이슈와 _열렸던_ pull requests의 수:** 열렸던 이슈는 누군가가 프로젝트의 이슈를 열어 신청할 수 있음을 의미합니다. 그 숫자가 시간이 지남에 따라 증가하면 사람들이 귀하의 프로젝트에 관심을 보였다고 나타낼 수 있습니다.
* **기여 유형:** 예시로, 커밋, 오타 혹은 버그 수정, 또는 이슈에 답변하기가 있습니다.
## 메인테이너의 활동
마지막으로, 프로젝트 메인테이너가 받은 기여 분량을 처리할 수 있는지 확인하여 루프를 닫으십시오. 자신에게 묻고 싶은 마지막 질문은 다음과 같습니다: _나는 (또는 우리가) 우리 커뮤니티에 반응하고 있습니까?_
응답이 없는 메인테이너는 오픈소스 프로젝트의 병목 현상이 됩니다. 누군가 기여를 제출했지만 메인테이너가 듣지 못하면 기분이 나빠져서 떠나기도 합니다.
[Mozilla의 연구](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177)는 관리자의 응답성이 반복 기여도를 장려하는 중요한 요소임을 시사합니다.
당사자(또는 다른 메인테이너)가 이슈 또는 pull request 여부에 관계없이 기여에 응답하는 데 걸리는 시간을 고려하십시오. 응답은 조치를 취할 필요가 없습니다. 다음과 같이 간단하게 말할 수 있습니다: _"제출해 주셔서 감사합니다. 저는 다음 주에 이것을 검토할 것입니다."_
다음과 같이 기여 프로세스의 단계 간에 이동하는 데 걸리는 시간을 측정할 수도 있습니다:
* 이슈가 열려있는 평균 시간
* 이슈가 PR에 의해 폐쇄되는지 여부
* 부실 이슈가 종결되는지 여부
* pull request을 병합하는 평균 시간
## 사람들에 대해 배우려면 📊를 사용하세요
측정 기준을 이해하면 적극적으로 성장하는 오픈소스 프로젝트를 구축하는 데 도움이 됩니다. 대시 보드의 모든 측정치를 추적하지 않더라도, 위의 프레임워크를 사용하여 프로젝트가 성공하는 데 도움이 되는 동작 유형에 주의를 기울이십시오.
================================================
FILE: _articles/ko/security-best-practices-for-your-project.md
================================================
---
lang: ko
title: 프로젝트를 위한 보안 모범 사례
description: MFA, 코드 스캐닝, 안전한 의존성 관리, 비공개 취약점 신고까지 — 필수적인 보안 실천을 통해 신뢰를 구축하고 프로젝트의 미래를 강화하세요.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
버그 수정과 새로운 기능도 중요하지만, 프로젝트의 장기적인 지속 가능성은 유용성뿐만 아니라 사용자로부터 얻는 신뢰에 달려 있습니다. 이 신뢰를 유지하기 위해서는 강력한 보안 조치가 중요합니다. 아래는 프로젝트의 보안 수준을 크게 향상시킬 수 있는 중요한 실천 사항들입니다.
## 권한 있는 모든 기여자가 다중 요소 인증(MFA)을 활성화했는지 확인하세요
### 프로젝트의 권한 있는 기여자를 사칭하는 공격자가 발생하면 치명적인 피해를 초래할 수 있습니다.
공격자가 권한을 획득하면, 코드에 원치 않는 동작(예: 암호화폐 채굴)을 추가하거나 사용자 인프라에 악성코드를 배포할 수 있으며, 비공개 코드 저장소에 접근해 지적 재산과 민감한 데이터(다른 서비스의 자격 증명 포함)를 탈취할 수도 있습니다.
MFA는 계정 탈취를 방지하기 위한 추가적인 보안 계층을 제공합니다. MFA를 활성화하면 사용자 이름과 비밀번호로 로그인한 뒤, 본인만 알고 있거나 접근할 수 있는 또 다른 인증 수단을 함께 제공해야 합니다.
## 개발 워크플로우의 일부로 코드 보안을 확보하세요
### 코드의 보안 취약점은 운영 환경에서 사용되기 시작한 뒤보다, 과정 초기에 발견했을 때 수정 비용이 훨씬 적게 듭니다.
정적 애플리케이션 보안 테스트(SAST) 도구를 사용하면 코드 내 보안 취약점을 탐지할 수 있습니다. 이러한 도구는 코드 수준에서 동작하며 실행 환경이 필요 없기 때문에, 과정 초기에 실행할 수 있고 빌드 단계나 코드 리뷰 단계 등 평소 개발 워크플로우에 자연스럽게 통합할 수 있습니다.
이는 마치 숙련된 전문가가 코드 저장소를 훑어보며, 코딩하는 동안 눈앞에 그대로 있는데도 놓치기 쉬운 일반적인 보안 취약점을 찾아주는 것과 같습니다.
어떤 SAST 도구를 선택해야 할까요?
라이선스 확인: 일부 도구는 오픈 소스 프로젝트에 무료로 제공됩니다. 예를 들어 GitHub CodeQL이나 SemGrep이 있습니다.
사용 언어에 대한 지원 범위를 확인하세요.
* 이미 사용 중인 도구와 기존 프로세스에 쉽게 통합되는 것을 선택하세요. 예를 들어, 경고를 확인하기 위해 다른 도구로 이동하기보다, 기존 코드 리뷰 프로세스/도구의 일부로 경고를 확인할 수 있는 편이 더 좋습니다.
* 거짓 양성(False Positive)에 주의하세요! 도구가 아무 이유 없이 작업 속도를 늦추게 하고 싶지는 않으시겠죠!
* 이런 기능들도 확인해보세요: 일부 도구는 매우 강력해 오염 추적(예: GitHub CodeQL)을 수행할 수 있고, 일부는 AI가 생성한 수정안을 제안하며, 일부는 커스텀 쿼리를 더 쉽게 작성할 수 있게 해줍니다(예: SemGrep).
## 비밀 정보를 공유하지 마세요
### API 키, 토큰, 비밀번호와 같은 민감한 정보는 종종 실수로 저장소에 커밋될 수 있습니다.
다음 상황을 상상해 보세요. 전 세계 개발자들이 기여하는 인기 오픈 소스 프로젝트의 메인테이너인 당신의 프로젝트에, 한 기여자가 제3자 서비스의 API 키를 인지하지 못한 채 커밋합니다. 며칠 뒤 누군가 이 키를 발견해 무단으로 서비스를 사용합니다. 서비스는 침해되고, 프로젝트 사용자들은 장애를 겪으며, 프로젝트의 평판은 큰 타격을 받습니다. 메인테이너로서 당신은 노출된 비밀 정보를 폐기하고, 공격자가 이 비밀 정보를 통해 어떤 악의적인 행동을 할 수 있었는지 조사하고, 영향을 받은 사용자에게 알리고, 수정 조치를 구현해야 하는 상황에 직면하게 됩니다.
이러한 사고를 방지하기 위해 코드 내 비밀 정보를 탐지하는 "시크릿 스캐닝(secret scanning)" 솔루션이 존재합니다. GitHub Secret Scanning이나 Truffle Security의 Trufflehog 같은 도구는 비밀 정보가 원격 브랜치로 푸시되기 전에 이를 차단할 수 있으며, 일부 도구는 노출된 비밀 정보를 자동으로 폐기해 주기도 합니다.
## 의존성을 점검하고 업데이트하세요
### 프로젝트의 의존성에는 프로젝트 보안을 훼손할 수 있는 취약점이 포함될 수 있습니다. 의존성을 수동으로 최신 상태로 유지하는 일은 많은 시간이 드는 작업일 수 있습니다.
이런 상황을 생각해 보세요. 널리 사용되는 라이브러리를 튼튼한 기반으로 삼아 구축된 프로젝트가 있습니다. 이후 해당 라이브러리에서 큰 보안 문제가 발견되었지만, 이를 사용해 애플리케이션을 만든 사람들은 이를 알지 못합니다. 공격자는 이 약점을 악용해 민감한 사용자 데이터를 그대로 노출된 상태로 만들어, 그 틈을 타 데이터를 가져갑니다. 이는 가상의 이야기가 아닙니다. 2017년 Equifax에서 정확히 이런 일이 벌어졌습니다. Equifax는 심각한 취약점이 발견되었다는 통지를 받은 뒤에도 Apache Struts 의존성을 업데이트하지 않았습니다. 그 취약점은 악용되었고, 악명 높은 Equifax 침해 사고로 1억 4,400만 명 사용자 데이터가 영향을 받았습니다.
이러한 상황을 방지하기 위해 Dependabot과 Renovate 같은 소프트웨어 구성 분석(SCA) 도구는 NVD나 GitHub Advisory Database 같은 공개 데이터베이스에 게시된 알려진 취약점을 기준으로 의존성을 자동 점검하고, 안전한 버전으로 업데이트하는 풀 리퀘스트를 생성합니다. 최신의 안전한 의존성 버전을 유지하는 것은 프로젝트를 잠재적 위험으로부터 보호합니다.
## 오픈 소스 라이선스 위험을 이해하고 관리하세요
### 오픈 소스 라이선스에는 조건이 있으며, 이를 무시하면 법적·평판상의 위험으로 이어질 수 있습니다.
오픈 소스 의존성을 사용하면 개발 속도를 높일 수 있지만, 각 패키지에는 사용, 수정, 배포 방식을 규정하는 라이선스가 포함되어 있습니다. [일부 라이선스는 허용적(permissive)](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project)인 반면, AGPL이나 SSPL처럼 프로젝트의 목표나 사용자 요구와 호환되지 않을 수 있는 제한을 부과하는 라이선스도 있습니다.
이런 상황을 상상해 보세요. 강력한 라이브러리를 프로젝트에 추가했지만, 해당 라이브러리가 제한적인 라이선스를 사용한다는 사실을 알지 못했습니다. 이후 한 기업이 프로젝트 도입을 원하지만 라이선스 준수에 대한 우려를 제기합니다. 결과적으로 도입이 무산되고, 코드를 리팩터링해야 하며, 프로젝트의 평판도 타격을 입습니다.
이러한 함정을 피하기 위해 개발 워크플로우의 일부로 자동화된 라이선스 검사를 포함하는 것을 고려해 보세요. 이러한 검사는 과정 초기에 호환되지 않는 라이선스를 식별해, 문제가 되는 의존성이 프로젝트에 도입되는 일을 방지할 수 있습니다.
또 다른 강력한 접근 방식은 소프트웨어 자재 명세서(SBOM)를 생성하는 것입니다. SBOM은 모든 구성 요소와 그 메타데이터(라이선스 포함)를 표준화된 형식으로 나열합니다. 이를 통해 소프트웨어 공급망을 명확히 가시화하고, 라이선스 위험을 선제적으로 드러내는 데 도움이 됩니다.
보안 취약점과 마찬가지로, 라이선스 문제도 과정 초기에 발견할수록 수정이 쉽습니다. 이 과정을 자동화하면 프로젝트를 건강하고 안전하게 유지할 수 있습니다.
## 보호된 브랜치를 사용해 원치 않는 변경을 방지하세요
### 메인 브랜치에 대한 무제한 접근은 실수 또는 악의적인 변경으로 이어져 보안 취약점을 도입하거나 프로젝트의 안정성을 해칠 수 있습니다.
새로운 기여자가 메인 브랜치에 쓰기 권한을 얻은 뒤, 테스트되지 않은 변경 사항을 실수로 푸시했다고 가정해 보세요. 그러면 최신 변경 사항 때문에 심각한 보안 결함이 드러날 수도 있습니다. 이러한 문제를 방지하기 위해 브랜치 보호 규칙은 리뷰를 거치고 지정된 상태 검사를 통과하기 전에는 중요한 브랜치로 변경 사항이 푸시되거나 병합되지 않도록 보장합니다. 이 추가 조치를 마련해 두면 훨씬 더 안전하며, 매번 최상의 품질을 보장할 수 있습니다.
## 보안 이슈를 쉽고(그리고 안전하게) 신고할 수 있도록 하세요
### 사용자가 버그를 쉽게 신고할 수 있도록 하는 것은 좋은 관행이지만, 큰 질문은 이것입니다: 이 버그가 보안에 영향을 미칠 때, 악의적인 해커들에게 표적이 되지 않으면서 사용자가 어떻게 안전하게 신고할 수 있을까요?
보안 연구원이 프로젝트에서 취약점을 발견했지만 이를 신고할 명확하거나 안전한 방법을 찾지 못하는 상황을 떠올려 보세요. 지정된 프로세스가 없다면, 공개 이슈를 만들거나 소셜 미디어에서 공개적으로 논의할 수도 있습니다. 선의로 수정안을 제시하더라도, 공개 풀 리퀘스트로 올리면 병합되기 전에 다른 사람들이 이를 보게 됩니다! 이런 공개는 당신이 대응할 기회를 갖기 전에 취약점을 악의적인 행위자에게 노출시키며, 잠재적으로 제로데이 익스플로잇으로 이어져 프로젝트와 사용자에게 공격이 발생할 수 있습니다.
### 보안 정책(Security Policy)
이를 피하려면 보안 정책을 게시하세요. `SECURITY.md` 파일에 정의되는 보안 정책은 보안 우려 사항을 신고하는 단계, 조율된 공개(coordinated disclosure)를 위한 투명한 프로세스, 그리고 보고된 이슈를 처리하기 위한 프로젝트 팀의 책임을 상세히 설명합니다. 이 보안 정책은 "공개 이슈나 PR에 상세 내용을 게시하지 말고 security@example.com으로 비공개 이메일을 보내주세요"처럼 간단할 수도 있지만, 언제쯤 답변을 받을 수 있는지 등 다른 세부 정보를 포함할 수도 있습니다. 공개 과정의 효과성과 효율성을 높이는 데 도움이 되는 내용이라면 무엇이든 좋습니다.
### 비공개 취약점 신고(Private Vulnerability Reporting)
일부 플랫폼에서는 비공개 이슈를 통해 접수에서 공개까지, 취약점 관리 프로세스를 간소화하고 강화할 수 있습니다. GitLab에서는 비공개 이슈로 이를 할 수 있습니다. GitHub에서는 이를 비공개 취약점 신고(PVR)라고 부릅니다. PVR을 사용하면 메인테이너는 GitHub 플랫폼 내에서 취약점 신고를 접수하고 대응할 수 있습니다. GitHub는 자동으로 수정 작업을 작성할 수 있는 비공개 포크와, 초안 보안 권고문을 생성합니다. 이 모든 것은 당신이 이슈를 공개하고 수정 사항을 릴리스하기로 결정할 때까지 기밀로 유지됩니다. 마무리로 보안 권고문이 게시되어, SCA 도구를 통해 모든 사용자를 알리고 보호하게 됩니다.
### 범위를 이해할 수 있도록 위협 모델을 정의해 두세요
보안 연구원이 이슈를 효과적으로 보고하려면, 어떤 위험이 범위에 포함되는지 이해해야 합니다. 가벼운 위협 모델은 프로젝트의 경계, 예상 동작, 그리고 가정 사항을 정의하는 데 도움이 됩니다.
위협 모델은 복잡할 필요가 없습니다. 프로젝트가 무엇을 하는지, 무엇을 신뢰하는지, 그리고 어떻게 오용될 수 있는지를 간단히 문서로 정리하는 것만으로도 큰 도움이 됩니다. 또한 메인테이너로서 잠재적인 함정과 상위 의존성으로부터 상속되는 위험을 생각해 보는 데도 도움이 됩니다.
좋은 예시는 [Node.js 위협 모델](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model)로, 프로젝트 맥락에서 무엇이 취약점으로 간주되고 무엇이 아닌지를 명확히 정의합니다.
처음이라면, [OWASP 위협 모델링 프로세스](https://owasp.org/www-community/Threat_Modeling_Process)가 자체 위협 모델을 구축하는 데 유용한 소개 자료가 될 것입니다.
보안 정책과 함께 기본적인 위협 모델을 게시하면 모두에게 더 명확해집니다.
## 간단한 사고 대응 프로세스를 준비하세요
### 기본적인 사고 대응 계획을 갖고 있으면 침착하게 효율적으로 대응할 수 있어, 사용자와 소비자의 안전을 보장할 수 있습니다.
대부분의 취약점은 연구자에 의해 발견되어 비공개로 보고됩니다. 하지만 때로는 문제가 당신에게 도달하기 전에 이미 실제 환경에서 악용되고 있을 수도 있습니다. 이런 일이 발생하면 위험에 노출되는 것은 하위 소비자들이며, 가볍고 잘 정의된 사고 대응 계획을 갖고 있는 것은 결정적인 차이를 만들 수 있습니다.
취약점이 비공개로 보고되었더라도, 그 다음 단계가 중요합니다. 취약점 보고를 받거나 의심스러운 활동을 감지했을 때, 그 다음에는 무엇이 일어날까요?
기본적인 사고 대응 계획은, 심지어 간단한 체크리스트만으로도, 시간이 중요한 순간에 침착하고 효율적으로 대응하는 데 도움이 됩니다. 또한 사용자와 연구원에게 사고와 보고를 진지하게 다루고 있다는 점을 보여줍니다.
프로세스는 복잡할 필요가 없습니다. 최소한 다음을 정의하세요:
* 보안 보고나 경고를 검토하고 분류하는 주체
* 심각도를 어떻게 평가하고, 완화 조치 결정을 어떻게 내리는지
* 수정 사항을 준비하고 공개를 조율하기 위해 어떤 단계를 밟는지
* 영향을 받은 사용자, 기여자, 하위 소비자에게 어떻게 알리는지
적절히 관리되지 않은 진행 중 사고는 사용자들로부터 프로젝트에 대한 신뢰를 약화시킬 수 있습니다. 이를 `SECURITY.md` 파일에 게시(또는 링크)하면 기대치를 설정하고 신뢰를 구축하는 데 도움이 됩니다.
참고 자료로, [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md)는 간단하지만 효과적인 오픈 소스 사고 대응 계획의 예시를 제공합니다.
이 계획은 프로젝트가 성장함에 따라 발전할 수 있지만, 지금 기본적인 프레임워크를 마련해 두는 것만으로도 실제 사고가 발생했을 때 시간을 절약하고 실수를 줄일 수 있습니다.
## 보안을 팀의 노력으로 다루세요
### 보안은 혼자서 책임질 일이 아닙니다. 프로젝트 커뮤니티 전체가 함께할 때 가장 잘 작동합니다.
도구와 정책이 필수적이긴 하지만, 강력한 보안 태세는 팀과 기여자들이 어떻게 함께 일하느냐에서 나옵니다. 공동 책임의 문화를 구축하면 취약점을 더 빠르고 효과적으로 식별하고, 분류하고, 대응할 수 있습니다.
보안을 팀 스포츠로 만들 수 있는 몇 가지 방법은 다음과 같습니다.
* **명확한 역할을 지정하세요**: 누가 취약점 신고를 처리하는지, 누가 의존성 업데이트를 검토하는지, 누가 보안 패치를 승인하는지 파악하세요.
* **최소 권한 원칙으로 접근을 제한하세요**: 정말로 필요한 사람에게만 쓰기 또는 관리자 권한을 부여하고, 권한을 정기적으로 검토하세요.
* **교육에 투자하세요**: 기여자들이 안전한 코딩 관행, 일반적인 취약점 유형, 그리고 SAST나 시크릿 스캐닝 같은 도구를 사용하는 방법을 학습하도록 장려하세요.
* **다양성과 협업을 장려하세요**: 이질적인 팀은 더 넓은 경험, 위협 인식, 창의적인 문제 해결 능력을 제공합니다. 또한 다른 사람들이 놓칠 수 있는 위험을 발견하는 데 도움이 됩니다.
* **상·하위 생태계와 연결하세요**: 의존성은 보안에 영향을 주고, 프로젝트는 다른 이들에게 영향을 줍니다. 상위 메인테이너와 조율된 공개에 참여하고, 취약점이 수정되면 하위 사용자에게 알리세요.
보안은 일회성 설정이 아니라 지속적인 과정입니다. 커뮤니티를 참여시키고, 안전한 관행을 장려하며, 서로를 지원함으로써 더 강력하고 회복력 있는 프로젝트와 모두에게 더 안전한 생태계를 구축할 수 있습니다.
## 결론: 당신에게는 몇 가지 작은 실천, 사용자에게는 큰 개선
이러한 단계들은 단순하거나 기본적으로 보일 수 있지만, 가장 흔한 문제로부터 보호를 제공하기 때문에 사용자에게 더 안전한 프로젝트를 제공하는 데 큰 도움이 됩니다.
보안은 정적인 것이 아닙니다. 프로젝트가 성장함에 따라 프로세스도, 책임도, 공격 표면도 함께 커집니다. 때때로 프로세스를 다시 점검하세요.
## 기여자
### 이 가이드를 위해 경험과 팁을 공유해 주신 모든 메인테이너 여러분께 감사드립니다!
이 가이드는 [@nanzggits](https://github.com/nanzggits)와 [@xcorail](https://github.com/xcorail)이 작성했으며, 다음 분들의 기여가 있었습니다.
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + 이외의 다른 많은 사람들!
================================================
FILE: _articles/ko/starting-a-project.md
================================================
---
lang: ko
title: 오픈소스 프로젝트 시작하기
description: 오픈소스의 세계에 대해 자세히 알아보고 여러분의 프로젝트를 시작할 준비를 해보세요.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## 오픈소스는 "무엇"이고 "왜" 하는가?
오픈소스를 시작하려고 하시나요? 축하합니다! 세상이 여러분의 기여를 높이 살 것입니다. 오픈소스란 무엇이며, 왜 사람들이 오픈소스를 사용하는지 알아봅시다.
### "오픈소스"란 무엇인가요?
오픈소스 프로젝트에서는 **누구나 어떤 목적으로든 프로젝트를 보고, 사용하고, 수정하고, 배포할 수 있습니다.** 이러한 권한은 [오픈소스 라이선스](https://opensource.org/licenses)를 통해 적용됩니다.
오픈소스는 채택의 장벽을 낮춰 아이디어를 신속하게 퍼뜨릴 수 있기 때문에 강력합니다.
오픈소스가 어떻게 돌아가는지 이해하기 위해, 친구가 솥밥을 먹고 있는데 여러분이 체리 파이를 가지고 간다고 생각해 보세요.
* 모두가 파이를 먹을 수 있습니다. (_사용_)
* 파이가 히트를 쳤습니다! 그들은 여러분이 만들어 공개한 파이의 레시피를 찾아봅니다. (_소스 뷰_)
* 제과점 주방장인 한 친구 알렉스가 설탕을 줄이는 게 좋겠다고 조언합니다. (_수정_)
* 다른 친구인 리사는 다음 주 저녁 식사에 그 파이를 준비하고 싶다고 요청합니다. (_배포_)
비교해 보면, 독점 소스 과정은 레스토랑에 가서 체리 파이 한 조각을 주문할 것과 같습니다. 여러분은 파이를 먹기 위해 요금을 지불해야 하며 레스토랑은 아마 여러분에게 레시피를 알려주지 않을 것입니다. 만약 파이를 똑같이 베껴 여러분의 이름을 달고 판다면 레스토랑에서 여러분을 고소할 지도 모르죠.
### 왜 사람들은 자기 작업을 오픈소스로 공개하나요?
사람이나 조직이 프로젝트 소스를 공개하려는 데에는 [여러 가지 이유](http://ben.balter.com/2015/11/23/why-open-source/)가 있습니다. 몇 가지 예는 다음과 같습니다.
* **협업:** 오픈소스 프로젝트는 전 세계 누구에게서든 수정을 받을 수 있습니다. 예를 들어 [Exercism](https://github.com/exercism/)은 350명이 넘는 기여자가 참여하는 프로그래밍 연습 플랫폼입니다.
* **채택과 재가공:** 오픈소스 프로젝트는 거의 모든 용도로 누구나 사용할 수 있습니다. 심지어 사람들이 그 프로젝트를 기반으로 다른 프로젝트를 만들 수도 있습니다. 예컨대 [WordPress](https://github.com/WordPress)는 [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md)라는 기존 프로젝트의 포크로 시작했습니다.
* **투명성:** 누구나 오픈소스 프로젝트에서 오류나 불일치를 검사 할 수 있습니다. 투명성은 [불가리아](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a)나 [미국](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/) 같은 정부, 은행 또는 의료 같은 규제 대상 산업, Let's Encrypt 등의 보안 소프트웨어에는 투명성이 중요합니다.
오픈소스는 소프트웨어만을 위한 것이 아닙니다. 데이터 세트에서부터 서적에 이르기까지 모두 오픈소스로 만들 수 있습니다. [GitHub Explore](https://github.com/explore)에서 다른 오픈소스 아이디어를 확인해 보세요.
### 오픈소스는 "무료"를 의미하나요?
오픈소스의 가장 큰 매력 중 하나는 비용이 들지 않는다는 것입니다. 그러나 "무료"는 오픈소스의 전반적인 가치의 부산물에 불과합니다.
[오픈소스 라이선스](https://opensource.org/osd-annotated)는 누구나 거의 모든 목적으로 프로젝트를 사용, 수정, 공유할 수 있어야 하므로 프로젝트 자체는 무료입니다. 만약 프로젝트에서 비용을 청구한다면 누구나 합법적으로 복사본을 만들어 무료 버전을 사용할 수 있습니다.
결론적으로 대부분의 오픈소스 프로젝트는 무료이지만, "무료"는 오픈소스 정의의 일부가 아닙니다. 오픈소스의 공식적인 정의를 계속 준수하면서도 이중 라이선스 또는 제한된 기능을 통해 간접적으로 오픈소스 프로젝트 사용에 비용을 청구할 수 있는 방법이 있습니다.
## 내 오픈소스 프로젝트를 시작해야 할까요?
짧게 답하자면 그렇습니다. 결과가 어떻든 여러분 자신의 프로젝트를 시작하는 것이 오픈소스가 돌아가는 방식을 배우기 위한 훌륭한 방법이 되기 때문입니다.
이전에 프로젝트 소스를 공개해본 적이 없다면 누군가 뭐라고 하거나 소스를 보는 것 자체가 긴장될지도 모릅니다. 이게 여러분의 이야기처럼 들리나요? 여러분은 혼자가 아닙니다!
오픈소스 작업은 글을 쓰거나 그림을 그리는 활동과 같습니다. 여러분의 작업을 세상과 공유하기가 두려울 수도 있지만, 발전하는 방법은 연습 뿐입니다. 설령 봐주는 사람이 없더라도요.
아직 확신이 서지 않는다면 여러분의 목표가 무엇인지 잠시 생각해 보세요.
### 목표 설정하기
목표는 여러분이 무엇을 해야 하는지, 무엇을 하지 말아야 하는지, 어디서 도움을 받아야 하는지 찾는 데 도움이 될 수 있습니다. 먼저 왜 프로젝트를 오픈소스화하려고 하는지 자문해 보세요.
이 질문에 대해 정해진 정답은 없습니다. 한 프로젝트에 대해 여러 가지 목표를 가질 수도 있고, 각기 다른 목표를 가진 여러 프로젝트를 진행할 수도 있습니다.
여러분의 유일한 목표가 여러분의 성과를 보여주는 것이라면 기여를 원하지 않을 수도 있고 README 파일에 그렇게 적어둘 수도 있습니다. 반대로 기여자를 원한다면 명확한 문서화에 시간을 투자하고 방문자들을 환영해야 합니다.
프로젝트가 성장함에 따라 커뮤니티에는 단순한 코드 이상의 것이 필요할 수 있습니다. 이슈에 대응하고, 코드를 검토하고, 프로젝트를 홍보하는 것은 오픈소스 프로젝트에서 중요한 작업입니다.
코딩이 아닌 작업에 소요되는 시간은 프로젝트의 크기와 범위에 따라 다르지만, 여러분이 직접 관리자로서 문제를 해결하거나 도움을 줄 사람을 찾아야 합니다.
**만약 프로젝트를 오픈소스화하는 회사의 일원이라면** 프로젝트의 성공을 위해 필요한 내부 자원이 있는지 확인하세요. 공개 후 누가 프로젝트 관리 책임이 있는지, 어떻게 작업들을 커뮤니티와 공유할 것인지 파악하고 정해야 합니다.
홍보, 운영 및 프로젝트 유지를 위해 전담 예산이나 인력이 필요한 경우 이런 대화를 조기에 시작하세요.
### 다른 프로젝트에 기여하기
사람들과 협업하는 방법을 배우거나 오픈소스가 어떻게 돌아가는지 이해하는 것이 목표라면 기존 프로젝트에 기여하는 것을 고려해 보세요. 여러분이 이미 애용하고 있는 프로젝트에서부터 시작하세요. 오타를 수정하거나 문서를 업데이트하는 것처럼 간단한 것으로도 기여할 수 있습니다.
기여를 시작하는 법을 잘 모르겠다면 [오픈소스에 기여하는 방법 가이드](../how-to-contribute/)를 확인해 보세요.
## 내 오픈소스 프로젝트 시작하기
프로젝트를 오픈소스화할 정해진 타이밍은 없습니다. 아이디어, 진행중인 작업 혹은 수년이 지난 비공개 소스도 오픈소스화할 수 있습니다.
일반적으로 다른 사람이 여러분의 작업을 보고 피드백을 제공해도 불편할 만한 점이 없을 때 프로젝트를 오픈소스화하면 됩니다.
프로젝트를 오픈소스화하기로 결정한 시점에 상관없이 모든 프로젝트에는 다음과 같은 문서가 포함되어 있어야 합니다.
* [오픈소스 라이선스](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [기여 가이드라인](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [행동 강령](../code-of-conduct/)
관리자는 이러한 구성 요소로 기대치를 전달하고, 기여를 관리하고, (여러분을 포함한) 모두의 법적 권리를 보호할 수 있습니다. 위 문서들은 여러분이 긍정적인 경험을 하게 될 가능성을 크게 증가시킵니다.
프로젝트가 GitHub에 있는 경우, 권장 파일 이름을 적용해 이러한 파일들을 최상위 폴더에 저장해 두면 GitHub에서 해당 파일을 인식해 자동으로 사람들에게 보여줍니다.
### 라이선스 선택하기
오픈소스 라이선스는 사람들이 여러분의 프로젝트에 영향을 주지 않고 사용, 복사, 수정 및 기여할 수 있도록 보장합니다. 또한 복잡하게 얽혀 있는 법적 상황으로부터 당신을 보호합니다. **오픈소스 프로젝트를 시작한다면 반드시 라이선스를 포함해야 합니다.**
법률에 관한 일은 즐겁지 않습니다. 좋은 소식은 기존 라이선스를 복사해 저장소에 붙여넣을 수 있다는 것입니다. 여러분의 노력을 보호하는 데 1분이면 충분할 것입니다.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), 그리고 [GPLv3](https://choosealicense.com/licenses/gpl-3.0/)가 가장 인기있는 오픈소스 라이선스지만 선택할 수있는 [다른 옵션](https://choosealicense.com)도 있습니다.
GitHub에서 새 프로젝트를 만들면 라이선스를 선택할 수 있는 옵션이 제공됩니다. 오픈소스 라이선스를 포함하면 GitHub 프로젝트를 오픈소스로 만들 수 있습니다.

오픈소스 프로젝트 관리의 법적 측면에 대해 다른 질문이나 우려되는 점이 있다면 [이 내용을 참조하세요](../legal/).
### README 파일 작성하기
README는 프로젝트 사용 방법을 설명하는 것 이상의 일을 수행합니다. 프로젝트가 중요한 이유와 사용자가 프로젝트를 이용해 할 수 있는 작업에 대해서도 설명합니다.
README에서 다음 질문에 답해 보세요.
* 이 프로젝트는 무슨 일을 하나요?
* 이 프로젝트가 유용한 이유는 무엇인가요?
* 어떻게 시작해야 하나요?
* 필요하다면 어디에서 더 많은 도움을 받을 수 있을까요?
README를 사용하여 여러분이 기여를 받아들이는 방식, 프로젝트의 목표, 라이선스 및 속성에 대한 정보와 같은 다른 질문에 답할 수 있습니다. 기여를 받고 싶지 않거나, 프로젝트가 아직 준비되지 않았다면 그렇게 적어 두세요.
때때로 사람들은 프로젝트가 완성되지 않았거나 기여를 원치 않기 때문에 README를 작성하지 않는 경우가 있습니다. 그것도 README를 작성할 좋은 이유입니다.
@18F의 ["Making READMEs Readable"](https://pages.18f.gov/open-source-guide/making-readmes-readable/)에서 더 많은 영감을 얻거나 @PurpleBooth의 [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2)을 이용해 전체 README를 작성해 보세요.
README 파일을 최상위 폴더에 포함시키면, GitHub가 자동으로 저장소 홈페이지에 내용을 표시합니다.
### 기여 가이드라인 작성하기
CONTRIBUTING 파일은 잠재 기여자들에게 프로젝트에 기여하는 방법을 알려줍니다. 예를 들어 다음 정보를 포함할 수 있습니다.
* 버그 보고서를 제출하는 방법 ([이슈와 PR 템플릿](https://github.com/blog/2111-issue-and-pull-request-templates)을 사용해 보세요)
* 새로운 기능을 제안하는 방법
* 환경 설정 및 테스트 실행 방법
기술적 세부 사항과 더불어 여러분이 어떤 기여를 기대하는지 전달할 수도 있습니다.
* 원하는 기여 유형
* 프로젝트 로드맵 또는 비전
* 기여자가 여러분과 연락하는 데 사용할 (혹은 사용하지 말아야 할) 방법
따뜻하고 친근한 어조를 사용하고, 문서나 웹사이트 작성 등 기여에 대한 구체적인 제안을 제공하는 것은 새로운 사람들이 기꺼이 기여를 만들게 하는 데 도움이 될 수 있습니다.
예를 들어 [Active Admin](https://github.com/activeadmin/activeadmin/)은 다음과 같이 [기여 가이드](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md)를 시작합니다.
> 먼저, Active Admin에 기여해 주셔서 감사합니다. 여러분의 기여가 Active Admin을 이렇게 훌륭한 툴로 만듭니다.
프로젝트의 초기 단계에서는 CONTRIBUTING 파일이 단순할 수 있습니다. 항상 버그 또는 파일 이슈를 보고하는 방법과 기여에 필요한 테스트 등 기술적 요구 사항을 설명해야 합니다.
시간이 지나면 자주 묻는 질문을 CONTRIBUTING 파일에 추가할 수 있습니다. 이 정보를 적어두면 같은 질문을 반복해서 하는 사람들이 줄어들 것입니다.
CONTRIBUTING 파일을 작성하는 데 도움이 필요하면 @nayafia의 [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) 또는 @mozilla의 ["How to Build a CONTRIBUTING.md"](http://mozillascience.github.io/working-open-workshop/contributing/)을 참조하세요.
README에 CONTRIBUTING 파일을 링크하면 더 많은 사람들이 읽게 할 수 있습니다. [CONTRIBUTING 파일을 프로젝트의 저장소에 두면](https://help.github.com/articles/setting-guidelines-for-repository-contributors/) 기여자가 이슈를 생성하거나 PR를 열 때 GitHub가 자동으로 링크를 생성합니다.

### 행동 강령 세우기
마지막으로 행동 강령은 프로젝트 참가자의 행동에 대한 기본 규칙을 정하는 데 도움이 됩니다. 이는 커뮤니티나 회사의 오픈소스 프로젝트를 시작할 때 특히 유용합니다. 행동 강령은 건강하고 건설적인 커뮤니티 행동을 촉진할 수 있게 해 주는데, 이는 관리자 여러분의 스트레스를 줄여줄 것입니다.
자세한 내용은 [행동강령 가이드](../code-of-conduct/)를 참조하세요.
행동 강령은 참여자가 _어떻게_ 행동하기를 기대하는지 전달하는 것 외에, 이러한 기대가 누구에게 적용되는지, 언제 적용되는지, 위반할 경우 어떻게 하는지 등을 다루기도 합니다.
오픈소스 라이선스와 마찬가지로 행동 강령에 대한 새로운 표준도 있으므로 직접 작성할 필요는 없습니다. [Contributor Covenant](https://www.contributor-covenant.org/)는 Kubernetes, Rails 및 Swift를 포함한 [40,000개 이상의 오픈소스 프로젝트](https://www.contributor-covenant.org/adopters)에서 사용되는 행동 강령입니다. 어느 것을 사용하든, 필요에 따라 행동 강령을 시행할 준비가 되어 있어야 합니다.
행동 강령을 저장소의 CODE_OF_CONDUCT 파일에 직접 붙여넣으세요. 파일을 쉽게 찾을 수 있게 프로젝트 최상위 폴더에 저장하고 README에 링크를 첨부하세요.
## 프로젝트의 네이밍과 브랜딩
브랜딩은 화려한 로고나 매력적인 프로젝트 이름 그 이상입니다. 브랜딩은 여러분이 프로젝트를 어떻게 생각하는지, 누구에게 여러분의 메시지를 전달하고자 하는지에 대한 것입니다.
### 올바른 이름 짓기
기억하기 쉬운 이름을 짓고 프로젝트가 어떤 일을 하는지 알 수 있게 하는 것이 이상적입니다. 아래의 예시를 보세요.
* [Sentry](https://github.com/getsentry/sentry)는 충돌 보고를 위해 앱을 모니터링합니다.
* [Thin](https://github.com/macournoyer/thin)은 빠르고 간단한 Ruby 웹 서버입니다.
기존 프로젝트를 기반으로 하는 경우 그 이름을 접두사로 사용하면 프로젝트가 수행하는 작업을 쉽게 파악할 수 있습니다. 예컨대 [node-fetch](https://github.com/bitinn/node-fetch)는 `window.fetch`를 Node.js에 가져옵니다.
무엇보다 명확성을 고려하세요. 농담은 재미있지만, 어떤 농담은 다른 문화나 다른 경험을 가진 사람들에게는 이해되지 않을 수도 있음을 기억하세요. 잠재적인 사용자 중 일부는 회사 직원일 수 있습니다. 그들이 직장에서 여러분의 프로젝트를 설명하기 어렵게 만들고 싶지는 않을 것입니다!
### 이름 중복 피하기
[비슷한 이름의 오픈소스 프로젝트가 있는지 확인하세요](http://ivantomic.com/projects/ospnc/). 특히 동일한 언어 또는 같은 생태계를 공유하는 경우, 이름이 기존의 인기 있는 프로젝트와 겹치면 사람들이 헷갈려 할 것입니다.
웹 사이트, Twitter 핸들 또는 다른 속성이 프로젝트를 표현하기를 원한다면 원하는 이름을 사용할 수 있는지 확인하세요. 이상적으로는, 그 이름을 아직 사용할 생각이 없더라도 마음의 평화를 위해 [이름을 차지해 두는 것이 좋습니다](https://instantdomainsearch.com/).
프로젝트 이름이 상표를 침해하지 않는지 확인하세요. 회사 측에서 프로젝트를 중단하거나 법적 조치를 취할 것을 요구할 수 있습니다. 리스크를 부담할 가치는 없습니다.
[WIPO Global Brand Database](http://www.wipo.int/branddb/en/) 에서 상표명이 있는지 확인할 수 있습니다. 여러분이 회사에서 일을 하고 있다면 [법률팀이 도와줄 수 있을 것입니다](../legal/).
마지막으로, 프로젝트 이름을 구글에 검색해 보세요. 사람들이 프로젝트를 쉽게 찾을 수 있을까요? 검색 결과에 여러분이 원치 않는 것이 나타나지는 않나요?
### 당신의 글(과 코드)도 브랜드에 영향을 미칩니다!
프로젝트가 진행되는 동안 여러분은 README, 튜토리얼, 커뮤니티 문서, 이슈에 대한 답변, 뉴스레터 및 메일링 리스트까지 많은 글을 쓸 것입니다.
그것이 공식적인 문서든 평범한 이메일이든 여러분의 글 스타일은 프로젝트 브랜드의 일부입니다. 어떻게 청중에게 다가가야 좋을지, 여러분이 전달하고자 하는 어조는 무엇인지 고려하세요.
따뜻하고 포괄적인 언어(한 사람을 언급 할 때도 "그들"이라고 하듯)를 사용하면 이 프로젝트가 새로운 기여자에게 환영받는 느낌을 줄 수 있습니다. 많은 독자가 영어를 모국어로 사용하지 않을 수 있으므로 간단한 언어 사용에 충실하세요.
작문 스타일 뿐 아니라 코딩 스타일도 프로젝트 브랜드의 일부가 될 수 있습니다. [Angular](https://github.com/johnpapa/angular-styleguide)와 [jQuery](http://contribute.jquery.org/style-guide/js/)는 엄격한 코딩 스타일과 가이드라인을 가진 프로젝트의 두 가지 예입니다.
프로젝트를 시작할 때 스타일 가이드를 작성할 필요는 없으며, 여러분은 오히려 프로젝트에 여러 코딩 스타일이 혼재하는 것을 좋아할 수도 있습니다. 하지만 글과 코딩 스타일이 서로 다른 유형의 사람들을 끌어모으거나 단념시킬 수도 있다는 점을 예상해야 합니다. 프로젝트의 가장 초기 단계는 여러분이 원하는 선례를 만들 기회입니다.
## 오픈소스 준비 체크리스트
프로젝트를 오픈소스화할 준비가 되셨습니까? 다음은 도움이 되는 체크리스트입니다. 모든 칸에 체크하셨나요? 이제 출발할 준비가 되었습니다! ["공개"를 클릭](https://help.github.com/articles/making-a-private-repository-public/)하고 등을 토닥이세요.
**문서**
**코드**
**사람**
여러분이 개인이라면 아래를 확인하세요.
여러분이 회사나 조직이라면 아래를 확인하세요.
## 해냈어요!
첫번째 프로젝트를 오픈소스화한 것을 축하합니다. 결과가 어떻든 공개적으로 작업하는 것은 커뮤니티에게 좋은 선물입니다. 모든 커밋, 댓글, PR을 통해 여러분은 여러분 스스로와 다른 사람들이 배우고 성장할 기회를 창출하고 있습니다.
================================================
FILE: _articles/leadership-and-governance.md
================================================
---
lang: en
title: Leadership and Governance
description: Growing open source projects can benefit from formal rules for making decisions.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Understanding governance for your growing project
Your project is growing, people are engaged, and you're committed to keeping this thing going. At this stage, you may be wondering how to incorporate regular project contributors into your workflow, whether it's giving someone commit access or resolving community debates. If you have questions, we've got answers.
## What are examples of formal roles used in open source projects?
Many projects follow a similar structure for contributor roles and recognition.
What these roles actually mean, though, is entirely up to you. Here are a few types of roles you may recognize:
* **Maintainer**
* **Contributor**
* **Committer**
**For some projects, "maintainers"** are the only people in a project with commit access. In other projects, they're simply the people who are listed in the README as maintainers.
A maintainer doesn't necessarily have to be someone who writes code for your project. It could be someone who's done a lot of work evangelizing your project, or written documentation that made the project more accessible to others. Regardless of what they do day-to-day, a maintainer is probably someone who feels responsibility over the direction of the project and is committed to improving it.
**A "contributor" could be anyone** who comments on an issue or pull request, people who add value to the project (whether it's triaging issues, writing code, or organizing events), or anybody with a merged pull request (perhaps the narrowest definition of a contributor).
**The term "committer"** might be used to distinguish commit access, which is a specific type of responsibility, from other forms of contribution.
While you can define your project roles any way you'd like, [consider using broader definitions](../how-to-contribute/#what-it-means-to-contribute) to encourage more forms of contribution. You can use leadership roles to formally recognize people who have made outstanding contributions to your project, regardless of their technical skill.
## How do I formalize these leadership roles?
Formalizing your leadership roles helps people feel ownership and tells other community members who to look to for help.
For a smaller project, designating leaders can be as simple as adding their names to your README or a CONTRIBUTORS text file.
For a bigger project, if you have a website, create a team page or list your project leaders there. For example, [Postgres](https://github.com/postgres/postgres/) has a [comprehensive team page](https://www.postgresql.org/community/contributors/) with short profiles for each contributor.
If your project has a very active contributor community, you might form a "core team" of maintainers, or even subcommittees of people who take ownership of different issue areas (for example, security, issue triaging, or community conduct). Let people self-organize and volunteer for the roles they're most excited about, rather than assigning them.
Leadership teams may want to create a designated channel (like on IRC) or meet regularly to discuss the project (like on Gitter or Google Hangout). You can even make those meetings public so other people can listen. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), for example, [hosts office hours every week](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Once you've established leadership roles, don't forget to document how people can attain them! Establish a clear process for how someone can become a maintainer or join a subcommittee in your project, and write it into your GOVERNANCE.md.
Tools like [Vossibility](https://github.com/icecrime/vossibility-stack) can help you publicly track who is (or isn't) making contributions to the project. Documenting this information avoids the community perception that maintainers are a clique that makes its decisions privately.
Finally, if your project is on GitHub, consider moving your project from your personal account to an Organization and adding at least one backup admin. [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) make it easier to manage permissions and multiple repositories and protect your project's legacy through [shared ownership](../building-community/#share-ownership-of-your-project).
## When should I give someone commit access?
Some people think you should give commit access to everybody who makes a contribution. Doing so could encourage more people to feel ownership of your project.
On the other hand, especially for bigger, more complex projects, you may want to only give commit access to people who have demonstrated their commitment. There's no one right way of doing it - do what makes you most comfortable!
If your project is on GitHub, you can use [protected branches](https://help.github.com/articles/about-protected-branches/) to manage who can push to a particular branch, and under which circumstances.
## What are some of the common governance structures for open source projects?
There are three common governance structures associated with open source projects.
* **BDFL:** BDFL stands for "Benevolent Dictator for Life". Under this structure, one person (usually the initial author of the project) has final say on all major project decisions. [Python](https://github.com/python) is a classic example. Smaller projects are probably BDFL by default, because there are only one or two maintainers. A project that originated at a company might also fall into the BDFL category.
* **Meritocracy:** **(Note: the term "meritocracy" carries negative connotations for some communities and has a [complex social and political history](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Under a meritocracy, active project contributors (those who demonstrate "merit") are given a formal decision making role. Decisions are usually made based on pure voting consensus. The meritocracy concept was pioneered by the [Apache Foundation](https://www.apache.org/); [all Apache projects](https://www.apache.org/index.html#projects-list) are meritocracies. Contributions can only be made by individuals representing themselves, not by a company.
* **Liberal contribution:** Under a liberal contribution model, the people who do the most work are recognized as most influential, but this is based on current work and not historic contributions. Major project decisions are made based on a consensus seeking process (discuss major grievances) rather than pure vote, and strive to include as many community perspectives as possible. Popular examples of projects that use a liberal contribution model include [Node.js](https://foundation.nodejs.org/) and [Rust](https://www.rust-lang.org/).
Which one should you use? It's up to you! Every model has advantages and trade-offs. And although they may seem quite different at first, all three models have more in common than they seem. If you're interested in adopting one of these models, check out these templates:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Do I need governance docs when I launch my project?
There is no right time to write down your project's governance, but it's much easier to define once you've seen your community dynamics play out. The best (and hardest) part about open source governance is that it is shaped by the community!
Some early documentation will inevitably contribute to your project's governance, however, so start writing down what you can. For example, you can define clear expectations for behavior, or how your contributor process works, even at your project's launch.
If you're part of a company launching an open source project, it's worth having an internal discussion before launch about how your company expects to maintain and make decisions about the project moving forward. You may also want to publicly explain anything particular to how your company will (or won't!) be involved with the project.
## What happens if corporate employees start submitting contributions?
Successful open source projects get used by many people and companies, and some companies may eventually have revenue streams tied to the project. For example, a company may use the project's code as one component in a commercial service offering.
As the project gets more widely used, people who have expertise in it become more in-demand - you may be one of them! - and will sometimes get paid for work they do in the project.
It's important to treat commercial activity as normal and as just another source of development energy. Paid developers shouldn't get special treatment over unpaid ones, of course; each contribution must be evaluated on its technical merits. However, people should feel comfortable engaging in commercial activity, and feel comfortable stating their use cases when arguing in favor of a particular enhancement or feature.
"Commercial" is completely compatible with "open source". "Commercial" just means there is money involved somewhere - that the software is used in commerce, which is increasingly likely as a project gains adoption. (When open source software is used as part of a non-open-source product, the overall product is still "proprietary" software, though, like open source, it might be used for commercial or non-commercial purposes.)
Like anyone else, commercially-motivated developers gain influence in the project through the quality and quantity of their contributions. Obviously, a developer who is paid for her time may be able to do more than someone who is not paid, but that's okay: payment is just one of many possible factors that could affect how much someone does. Keep your project discussions focused on the contributions, not on the external factors that enable people to make those contributions.
## Do I need a legal entity to support my project?
You don't need a legal entity to support your open source project unless you're handling money.
For example, if you want to create a commercial business, you'll want to set up a C Corp or LLC (if you're based in the US). If you're just doing contract work related to your open source project, you can accept money as a sole proprietor, or set up an LLC (if you're based in the US).
If you want to accept donations for your open source project, you can set up a donation button (using PayPal or Stripe, for example), but the money won't be tax-deductible unless you are a qualifying nonprofit (a 501c3, if you're in the US).
Many projects don't wish to go through the trouble of setting up a nonprofit, so they find a nonprofit fiscal sponsor instead. A fiscal sponsor accepts donations on your behalf, usually in exchange for a percentage of the donation. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://www.eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) and [Open Collective](https://opencollective.com/opensource) are examples of organizations that serve as fiscal sponsors for open source projects.
If your project is closely associated with a certain language or ecosystem, there may also be a related software foundation you can work with. For example, the [Python Software Foundation](https://www.python.org/psf/) helps support [PyPI](https://pypi.org/), the Python package manager, and the [Node.js Foundation](https://foundation.nodejs.org/) helps support [Express.js](https://expressjs.com/), a Node-based framework.
================================================
FILE: _articles/legal.md
================================================
---
lang: en
title: The Legal Side of Open Source
description: Everything you've ever wondered about the legal side of open source, and a few things you didn't.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Understanding the legal implications of open source
Sharing your creative work with the world can be an exciting and rewarding experience. It can also mean a bunch of legal things you didn't know you had to worry about. Thankfully, with this guide you don't have to start from scratch. (Before you dig in, be sure to read our [disclaimer](/notices/).)
## Why do people care so much about the legal side of open source?
Glad you asked! When you make a creative work (such as writing, graphics, or code), that work is under exclusive copyright by default. That is, the law assumes that as the author of your work, you have a say in what others can do with it.
In general, that means nobody else can use, copy, distribute, or modify your work without being at risk of take-downs, shake-downs, or litigation.
Open source is an unusual circumstance, however, because the author expects that others will use, modify, and share the work. But because the legal default is still exclusive copyright, you need to explicitly give these permissions with a license.
These rules also apply when someone contributes to your project. Without a license or other agreement in place, any contributions are exclusively owned by their authors. That means nobody -- not even you -- can use, copy, distribute, or modify their contributions.
Finally, your project may have dependencies with license requirements that you weren't aware of. Your project's community, or your employer's policies, may also require your project to use specific open source licenses. We'll cover these situations below.
## Are public GitHub projects open source?
When you [create a new project](https://help.github.com/articles/creating-a-new-repository/) on GitHub, you have the option to make the repository **private** or **public**.

**Making your GitHub project public is not the same as licensing your project.** Public projects are covered by [GitHub's Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), which allows others to view and fork your project, but your work otherwise comes with no permissions.
If you want others to use, distribute, modify, or contribute back to your project, you need to include an open source license. For example, someone cannot legally use any part of your GitHub project in their code, even if it's public, unless you explicitly give them the right to do so.
## Just give me the TL;DR on what I need to protect my project.
You're in luck, because today, open source licenses are standardized and easy to use. You can copy-paste an existing license directly into your project.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), and [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) are [popular open source licenses](https://innovationgraph.github.com/global-metrics/licenses), but there are other options to choose from. You can find the full text of these licenses, and instructions on how to use them, on [choosealicense.com](https://choosealicense.com/).
When you create a new project on GitHub, you'll be [asked to add a license](https://help.github.com/articles/open-source-licensing/).
## Which open source license is appropriate for my project?
It's hard to go wrong with the [MIT License](https://choosealicense.com/licenses/mit/) if you're starting with a blank slate. It's short, easily understood, and allows anyone to do anything so long as they keep a copy of the license, including your copyright notice. You'll be able to release the project under a different license if you ever need to.
Otherwise, picking the right open source license for your project depends on your objectives.
Your project very likely has (or will have) **dependencies**, each of which will have its own open source license with terms you have to respect. For example, if you're open sourcing a Node.js project, you'll probably use libraries from the Node Package Manager (npm).
Dependencies with **permissive licenses** like [MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), [ISC](https://choosealicense.com/licenses/isc), and [BSD](https://choosealicense.com/licenses/bsd-3-clause) allow you to license your project however you want.
Dependencies with **copyleft licenses** require closer attention. Including any library with a "strong" copyleft license like the [GPLv2](https://choosealicense.com/licenses/gpl-2.0), [GPLv3](https://choosealicense.com/licenses/gpl-3.0), or [AGPLv3](https://choosealicense.com/licenses/agpl-3.0) requires you to choose an identical or [compatible license](https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses) for your project. Libraries with a "limited" or "weak" copyleft license like the [MPL 2.0](https://choosealicense.com/licenses/mpl-2.0/) and [LGPL](https://choosealicense.com/licenses/lgpl-3.0/) can be included in projects with any license, provided you follow the [additional rules](https://fossa.com/blog/all-about-copyleft-licenses/#:~:text=weak%20copyleft%20licenses%20also%20obligate%20users%20to%20release%20their%20changes.%20however%2C%20this%20requirement%20applies%20to%20a%20narrower%20set%20of%20code.) they specify.
Dependencies with **source-available licenses**, such as the Business Source License [BSL](https://spdx.org/licenses/BUSL-1.1.html) or the Server Side Public License [SSPL](https://en.wikipedia.org/wiki/Server_Side_Public_License), may appear to be under open source licenses but come with usage and business model restrictions. These restrictions may prevent your project from being considered Open Source as defined by the [Open Source Initiative (OSI)](https://opensource.org/).
Projects often rely on **non-source code content**, such as images, icons, videos, fonts, data files, or other materials, which are governed by their own licenses. As with traditional software dependencies, the licenses these materials range from Commercial to permissive to Copyleft. The [Creative Commons](https://creativecommons.org/share-your-work/cclicenses/), a non-profit organization, created a series of licenses popular for non-source content. Creative Commons licenses range from very permissive [CC0](https://creativecommons.org/publicdomain/zero/1.0/deed.en) to Permissive [CC-BY](https://creativecommons.org/licenses/by/4.0/deed.en) to copyleft [CC-SA](https://creativecommons.org/licenses/by-sa/2.0/deed.en). They also can sometimes restrict commercial use by adding a non-commercial (NC) option to these licenses.
You may also want to consider the **communities** you hope will use and contribute to your project:
* **Do you want your project to be used as a dependency by other projects?** Probably best to use the most popular license in your relevant community. For example, [MIT](https://choosealicense.com/licenses/mit/) is the most popular license for [npm libraries](https://libraries.io/search?platforms=NPM).
* **Do you want your project to appeal to large businesses?** A large business may be comforted by an express patent license from all contributors. In this case, the [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) has you (and them) covered.
* **Do you want your project to appeal to contributors who do not want their contributions to be used in closed source software?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) or (if they also do not wish to contribute to closed source services) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) will go over well.
Your **company** may have policies for open source project licensing. Some companies require your projects to bear a permissive license to permit integration with the company's proprietary products. Other policies enforce a strong copyleft license and an additional contributor agreement ([see below](#does-my-project-need-an-additional-contributor-agreement)) so only your company can use the project in closed source software. Organizations may also have certain standards, social responsibility goals, or transparency needs which could require a particular licensing strategy. Talk to your [company's legal department](#what-does-my-companys-legal-team-need-to-know) for guidance.
When you create a new project on GitHub, you are given the option to select a license. Including one of the licenses mentioned above will make your GitHub project open source. If you'd like to see other options, check out [choosealicense.com](https://choosealicense.com) to find the right license for your project, even if it [isn't software](https://choosealicense.com/non-software/).
## What if I want to change the license of my project?
Most projects never need to change licenses. But occasionally circumstances change.
For example, as your project grows it adds dependencies or users, or your company changes strategies, any of which could require or want a different license. Also, if you neglected to license your project from the start, adding a license is effectively the same as changing licenses. There are three fundamental things to consider when adding or changing your project's license:
**It's complicated.** Determining license compatibility and compliance and who holds copyright can get complicated and confusing very quickly. Switching to a new but compatible license for new releases and contributions is different from relicensing all existing contributions. Involve your legal team at the first hint of any desire to change licenses. Even if you have or can obtain permission from your project's copyright holders for a license change, consider the impact of the change on your project's other users and contributors. Think of a license change as a "governance event" for your project that will more likely go smoothly with clear communications and consultation with your project's stakeholders. All the more reason to choose and use an appropriate license for your project from its inception!
**Your project's existing license.** If your project's existing license is compatible with the license you want to change to, you could just start using the new license. That's because if license A is compatible with license B, you'll comply with the terms of A while complying with the terms of B (but not necessarily vice versa). So if you're currently using a permissive license (e.g., MIT), you could change to a license with more conditions, so long as you retain a copy of the MIT license and any associated copyright notices (i.e., continue to comply with the MIT license's minimal conditions). But if your current license is not permissive (e.g., copyleft, or you don't have a license) and you aren't the sole copyright holder, you couldn't just change your project's license to MIT. Essentially, with a permissive license the project's copyright holders have given permission in advance to change licenses.
**Your project's existing copyright holders.** If you're the sole contributor to your project then either you or your company is the project's sole copyright holder. You can add or change to whatever license you or your company wants to. Otherwise there may be other copyright holders that you need agreement from in order to change licenses. Who are they? [People who have commits in your project](https://github.com/thehale/git-authorship) is a good place to start. But in some cases copyright will be held by those people's employers. In some cases people will have only made minimal contributions, but there's no hard and fast rule that contributions under some number of lines of code are not subject to copyright. What to do? It depends. For a relatively small and young project, it may be feasible to get all existing contributors to agree to a license change in an issue or pull request. For large and long-lived projects, you may have to seek out many contributors and even their heirs. Mozilla took years (2001-2006) to relicense Firefox, Thunderbird, and related software.
Alternatively, you can have contributors pre-approve certain license changes via an additional contributor agreement ([see below](#does-my-project-need-an-additional-contributor-agreement)). This shifts the complexity of changing licenses a bit. You'll need more help from your lawyers up front, and you'll still want to clearly communicate with your project's stakeholders when executing a license change.
## Does my project need an additional contributor agreement?
Probably not. For the vast majority of open source projects, an open source license implicitly serves as both the inbound (from contributors) and outbound (to other contributors and users) license. If your project is on GitHub, the GitHub Terms of Service make "inbound=outbound" the [explicit default](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
An additional contributor agreement -- often called a Contributor License Agreement (CLA) -- can create administrative work for project maintainers. How much work an agreement adds depends on the project and implementation. A simple agreement might require that contributors confirm, with a click, that they have the rights necessary to contribute under the project open source license. A more complicated agreement might require legal review and sign-off from contributors' employers.
Also, by adding "paperwork" that some believe is unnecessary, hard to understand, or unfair (when the agreement recipient gets more rights than contributors or the public do via the project's open source license), an additional contributor agreement may be perceived as unfriendly to the project's community.
Some situations where you may want to consider an additional contributor agreement for your project include:
* Your lawyers want all contributors to expressly accept (_sign_, online or offline) contribution terms, perhaps because they feel the open source license itself is not enough (even though it is!). If this is the only concern, a contributor agreement that affirms the project's open source license should be enough. The [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) is a good example of a lightweight additional contributor agreement.
* You or your lawyers want developers to represent that each commit they make is authorized. A [Developer Certificate of Origin](https://developercertificate.org/) requirement is how many projects achieve this. For example, the Node.js community [uses](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) the DCO [instead](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) of their prior CLA. A simple option to automate enforcement of the DCO on your repository is the [DCO Probot](https://github.com/probot/dco).
* Your project uses an open source license that does not include an express patent grant (such as MIT), and you need a patent grant from all contributors, some of whom may work for companies with large patent portfolios that could be used to target you or the project's other contributors and users. The [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) is a commonly used additional contributor agreement that has a patent grant mirroring the one found in the Apache License 2.0.
* Your project is under a copyleft license, but you also need to distribute a proprietary version of the project. You'll need every contributor to assign copyright to you or grant you (but not the public) a permissive license. The [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) is an example of this type of agreement.
* You think your project might need to change licenses over its lifetime and want contributors to agree in advance to such changes.
If you do need to use an additional contributor agreement with your project, consider using an integration such as [CLA assistant](https://github.com/cla-assistant/cla-assistant) to minimize contributor distraction.
## What does my company's legal team need to know?
If you're releasing an open source project as a company employee, first, your legal team should know that you're open sourcing a project.
For better or worse, consider letting them know even if it's a personal project. You probably have an "employee IP agreement" with your company that gives them some control of your projects, especially if they are at all related to the company's business or you use any company resources to develop the project. Your company _should_ easily give you permission, and maybe already has through an employee-friendly IP agreement or a company policy. If not, you can negotiate (for example, explain that your project serves the company's professional learning and development objectives for you), or avoid working on your project until you find a better company.
**If you're open sourcing a project for your company,** then definitely let them know. Your legal team probably already has policies for what open source license (and maybe additional contributor agreement) to use based on the company's business requirements and expertise around ensuring your project complies with the licenses of its dependencies. If not, you and they are in luck! Your legal team should be eager to work with you to figure this stuff out. Some things to think about:
* **Third party material:** Does your project have dependencies created by others or otherwise include or use others' code? If these are open source, you'll need to comply with the materials' open source licenses. That starts with choosing a license that works with the third party open source licenses ([see above](#which-open-source-license-is-appropriate-for-my-project)). If your project modifies or distributes third party open source material, then your legal team will also want to know that you're meeting other conditions of the third party open source licenses such as retaining copyright notices. If your project uses others' code that doesn't have an open source license, you'll probably have to ask the third party maintainers to [add an open source license](https://choosealicense.com/no-license/#for-users), and if you can't get one, stop using their code in your project.
* **Trade secrets:** Consider whether there is anything in the project that the company does not want to make available to the general public. If so, you could open source the rest of your project, after extracting the material you want to keep private.
* **Patents:** Is your company applying for a patent of which open sourcing your project would constitute [public disclosure](https://en.wikipedia.org/wiki/Public_disclosure)? Sadly, you might be asked to wait (or maybe the company will reconsider the wisdom of the application). If you're expecting contributions to your project from employees of companies with large patent portfolios, your legal team may want you to use a license with an express patent grant from contributors (such as Apache 2.0 or GPLv3), or an additional contributor agreement ([see above](#which-open-source-license-is-appropriate-for-my-project)).
* **Trademarks:** Double check that your project's name [does not conflict with any existing trademarks](../starting-a-project/#avoiding-name-conflicts). If you use your own company trademarks in the project, check that it does not cause any conflicts. [FOSSmarks](http://fossmarks.org/) is a practical guide to understanding trademarks in the context of free and open source projects.
* **Privacy:** Does your project collect data on users? "Phone home" to company servers? Your legal team can help you comply with company policies and external regulations.
* **AI:** As AI models and functionality become integral to software, it is crucial to understand licensing agreements and relevant legislation controlling their use. Even when a model or service claims to be under a standard open source license, additional terms may impose restrictions, such as preventing abuse or fraud. New legislation is also putting restrictions on the types of systems or actions that can be performed by AI-based software.
* **Software Bill of Materials:** A Software Bill of Materials (SBOM) is a comprehensive list of third-party dependencies, versions, associated licenses, and other metadata. SBOMs are legally mandated in certain countries, industries, or due to contractual obligations. A request for a SBOM often starts the license compliance journey for an organization.
If you're releasing your company's first open source project, the above is more than enough to get through (but don't worry, most projects shouldn't raise any major concerns).
Longer term, your legal team can do more to help the company get more from its involvement in open source, and stay safe:
* **Employee contribution policies:** Consider developing a corporate policy that specifies how your employees contribute to open source projects. A clear policy will reduce confusion among your employees and help them contribute to open source projects in the company's best interest, whether as part of their jobs or in their free time. A good example is Rackspace's [Model IP and Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **What to release:** [(Almost) everything?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) If your legal team understands and is invested in your company's open source strategy, they'll be best able to help rather than hinder your efforts.
* **Compliance:** Even if your company doesn't release any open source projects, it uses others' open source software. [Awareness and process](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) can prevent headaches, product delays, and lawsuits.
* **Patents:** Your company may wish to join the [Open Invention Network](https://www.openinventionnetwork.com/), a shared defensive patent pool to protect members' use of major open source projects, or explore other [alternative patent licensing](https://www.eff.org/document/hacking-patent-system-2016).
* **Governance:** Especially if and when it makes sense to move a project to a [legal entity outside of the company](../leadership-and-governance/#do-i-need-a-legal-entity-to-support-my-project).
================================================
FILE: _articles/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: en
untranslated: true
title: Maintaining Balance for Open Source Maintainers
description: Tips for self-care and avoiding burnout as a maintainer.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.
To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the Maintainer Community, allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.
So, what is personal ecology? As described by the Rockwood Leadership Institute, it involves "maintaining balance, pacing, and efficiency to sustain our energy over a lifetime." This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as [defined by the WHO](https://icd.who.int/browse/2025-01/foundation/en#129180281), is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.
By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.
## Tips for Self-Care and Avoiding Burnout as a Maintainer:
### Identify your motivations for working in open source
Take time to reflect on what parts of open source maintenance energize you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it's the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.
### Reflect on what causes you to get out of balance and stressed out
It's important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:
* **Lack of positive feedback:** Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.
* **Not saying 'no':** It can be easy to take on more responsibilities than you should on an open source project. Whether it's from users, contributors, or other maintainers – we can't always live up to their expectations.
* **Working alone:** Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.
* **Not enough time or resources:** This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
* **Conflicting demands:** Open source is full of groups with different motivations, which can be difficult to navigate. If you're paid to do open source, your employer's interests can sometimes be at odds with the community.
### Watch out for signs of burnout
Can you keep up your pace for 10 weeks? 10 months? 10 years?
There are tools like the [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) from [@shaunagm](https://github.com/shaunagm) that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).
### What would you need to continue sustaining yourself and your community?
This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:
* **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.
You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
* **Explore funding:** Whether you're looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you're thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
* **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
* **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night's sleep can make a big difference in your ability to sustain your efforts long-term.
If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
* **Set boundaries:** You can't say yes to every request. This can be as simple as saying, "I can't get to that right now and I do not have plans to in the future," or listing out what you're interested in doing and not doing in the README. For instance, you could say: "I only merge PRs which have clearly listed reasons why they were made," or, "I only review issues on alternate Thursdays from 6 -7 pm." This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.
Learn to be firm in shutting down toxic behavior and negative interactions. It's okay to not give energy to things you don't care about.
Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.
## Additional Resources
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Contributors
Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/metrics.md
================================================
---
lang: en
title: Open Source Metrics
description: Make informed decisions to help your open source project thrive by measuring and tracking its success.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Why measure anything?
Data, when used wisely, can help you make better decisions as an open source maintainer.
With more information, you can:
* Understand how users respond to a new feature
* Figure out where new users come from
* Identify, and decide whether to support, an outlier use case or functionality
* Quantify your project's popularity
* Understand how your project is used
* Raise money through sponsorships and grants
For example, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) finds that Google Analytics helps them prioritize work:
> Homebrew is provided free of charge and run entirely by volunteers in their spare time. As a result, we do not have the resources to do detailed user studies of Homebrew users to decide on how best to design future features and prioritise current work. Anonymous aggregate user analytics allow us to prioritise fixes and features based on how, where and when people use Homebrew.
Popularity isn't everything. Everybody gets into open source for different reasons. If your goal as an open source maintainer is to show off your work, be transparent about your code, or just have fun, metrics may not be important to you.
If you _are_ interested in understanding your project on a deeper level, read on for ways to analyze your project's activity.
## Discovery
Before anybody can use or contribute back to your project, they need to know it exists. Ask yourself: _are people finding this project?_

If your project is hosted on GitHub, [you can view](https://help.github.com/articles/about-repository-graphs/#traffic) how many people land on your project and where they come from. From your project's page, click "Insights", then "Traffic". On this page, you can see:
* **Total page views:** Tells you how many times your project was viewed
* **Total unique visitors:** Tells you how many people viewed your project
* **Referring sites:** Tells you where visitors came from. This metric can help you figure out where to reach your audience and whether your promotion efforts are working.
* **Popular content:** Tells you where visitors go on your project, broken down by page views and unique visitors.
[GitHub stars](https://help.github.com/articles/about-stars/) can also help provide a baseline measure of popularity. While GitHub stars don't necessarily correlate to downloads and usage, they can tell you how many people are taking notice of your work.
You may also want to [track discoverability in specific places](https://opensource.com/business/16/6/pirate-metrics): for example, Google PageRank, referral traffic from your project's website, or referrals from other open source projects or websites.
## Usage
People are finding your project on this wild and crazy thing we call the internet. Ideally, when they see your project, they'll feel compelled to do something. The second question you'll want to ask is: _are people using this project?_
If you use a package manager, such as npm or RubyGems.org, to distribute your project, you may be able to track your project's downloads.
Each package manager may use a slightly different definition of "download", and downloads do not necessarily correlate to installs or use, but it provides some baseline for comparison. Try using [Libraries.io](https://libraries.io/) to track usage statistics across many popular package managers.
If your project is on GitHub, navigate again to the "Traffic" page. You can use the [clone graph](https://github.com/blog/1873-clone-graphs) to see how many times your project has been cloned on a given day, broken down by total clones and unique cloners.

If usage is low compared to the number of people discovering your project, there are two issues to consider. Either:
* Your project isn't successfully converting your audience, or
* You're attracting the wrong audience
For example, if your project lands on the front page of Hacker News, you'll probably see a spike in discovery (traffic), but a lower conversion rate, because you're reaching everyone on Hacker News. If your Ruby project is featured at a Ruby conference, however, you're more likely to see a high conversion rate from a targeted audience.
Try to figure out where your audience is coming from and ask others for feedback on your project page to figure out which of these two issues you're facing.
Once you know that people are using your project, you might want to try to figure out what they are doing with it. Are they building on it by forking your code and adding features? Are they using it for science or business?
## Retention
People are finding your project and they're using it. The next question you'll want to ask yourself is: _are people contributing back to this project?_
It's never too early to start thinking about contributors. Without other people pitching in, you risk putting yourself into an unhealthy situation where your project is _popular_ (many people use it) but not _supported_ (not enough maintainer time to meet demand).
Retention also requires an [inflow of new contributors](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), as previously active contributors will eventually move on to other things.
Examples of community metrics that you may want to regularly track include:
* **Total contributor count and number of commits per contributor:** Tells you how many contributors you have, and who's more or less active. On GitHub, you can view this under "Insights" -> "Contributors." Right now, this graph only counts contributors who have committed to the default branch of the repository.

* **First time, casual, and repeat contributors:** Helps you track whether you're getting new contributors, and whether they come back. (Casual contributors are contributors with a low number of commits. Whether that's one commit, less than five commits, or something else is up to you.) Without new contributors, your project's community can become stagnant.
* **Number of open issues and open pull requests:** If these numbers get too high, you might need help with issue triaging and code reviews.
* **Number of _opened_ issues and _opened_ pull requests:** Opened issues means somebody cares enough about your project to open an issue. If that number increases over time, it suggests people are interested in your project.
* **Types of contributions:** For example, commits, fixing typos or bugs, or commenting on an issue.
## Maintainer activity
Finally, you'll want to close the loop by making sure your project's maintainers are able to handle the volume of contributions received. The last question you'll want to ask yourself is: _am I (or are we) responding to our community?_
Unresponsive maintainers become a bottleneck for open source projects. If someone submits a contribution but never hears back from a maintainer, they may feel discouraged and leave.
[Research from Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) suggests that maintainer responsiveness is a critical factor in encouraging repeat contributions.
Consider [tracking how long it takes for you (or another maintainer) to respond to contributions](https://github.blog/2023-07-19-metrics-for-issues-pull-requests-and-discussions/), whether an issue or a pull request. Responding doesn't require taking action. It can be as simple as saying: _"Thanks for your submission! I'll review this within the next week."_
You could also measure the time it takes to move between stages in the contribution process, such as:
* Average time an issue remains open
* Whether issues get closed by PRs
* Whether stale issues get closed
* Average time to merge a pull request
## Use 📊 to learn about people
Understanding metrics will help you build an active, growing open source project. Even if you don't track every metric on a dashboard, use the framework above to focus your attention on the type of behavior that will help your project thrive.
[CHAOSS](https://chaoss.community/) is a welcoming, open source community focused on analytics, metrics and software for community health.
================================================
FILE: _articles/ms/best-practices.md
================================================
---
lang: ms
title: Memulakan projek sumber terbuka
description: Ketahui lebih lanjut mengenai dunia sumber terbuka dan bersiap sedia untuk melancarkan projek anda sendiri.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Apa maksudnya menjadi penyelenggara projek sumber terbuka ?
Sekiranya anda mengekalkan projek sumber terbuka yang digunakan oleh banyak orang, anda mungkin menyedari bahawa anda kurang mengekod dan lebih banyak menjawab masalah.
Pada peringkat awal projek, anda bereksperimen dengan idea baru dan membuat keputusan berdasarkan apa yang anda mahukan. Apabila projek anda semakin popular, anda akan dapat bekerja dengan pengguna dan penyumbang anda lebih banyak.
Menyelenggara projek memerlukan lebih daripada sekadar kod. Tugas-tugas ini sering tidak dijangka, tetapi sama pentingnya dengan projek yang sedang berkembang. Kami telah mengumpulkan beberapa cara untuk menjadikan hidup anda lebih mudah, dari proses pendokumentasian hingga memanfaatkan komuniti anda.
## Mendokumentasikan proses anda
Menulis perkara adalah salah satu perkara terpenting yang boleh anda lakukan sebagai penyelenggara.
Dokumentasi bukan sahaja menjelaskan pemikiran anda sendiri, tetapi membantu orang lain memahami apa yang anda perlukan atau harapkan, bahkan sebelum mereka bertanya.
Menulis perkara menjadi lebih mudah untuk mengatakan tidak apabila sesuatu tidak sesuai dengan skop anda. Ini juga memudahkan orang untuk masuk dan menolong. Anda tidak pernah tahu siapa yang mungkin membaca atau menggunakan projek anda.
Walaupun anda tidak menggunakan perenggan penuh, mencatat titik peluru lebih baik daripada tidak menulis sama sekali.
Ingatlah untuk memastikan dokumentasi anda sentiasa terkini. Sekiranya anda tidak dapat selalu melakukan ini, hapus dokumentasi anda yang sudah lapuk atau nyatakan bahawa ia sudah lapuk sehingga penyumbang tahu kemas kini dialu-alukan.
### Tuliskan visi projek anda
Mulakan dengan menuliskan matlamat projek anda. Tambahkan mereka ke README anda, atau buat fail berasingan yang disebut VISION. Sekiranya ada artifak lain yang dapat membantu, seperti peta jalan projek, buat juga umum.
Mempunyai visi yang jelas dan didokumentasikan membuat anda tetap fokus dan membantu anda mengelakkan "jangkauan skop" dari sumbangan orang lain.
Sebagai contoh, @lord mendapati bahawa mempunyai visi projek membantunya mengetahui permintaan mana yang perlu diluangkan. Sebagai penyelenggara baru, dia menyesal tidak berpegang pada skop projeknya ketika dia mendapat permintaan fitur pertama untuk [Slate] ().
### Sampaikan harapan anda
Peraturan boleh mengganggu untuk menuliskannya. Kadang-kadang anda mungkin merasa seperti mengawal tingkah laku orang lain atau membunuh semua keseronokan.
Ditulis dan dikuatkuasakan dengan adil, bagaimanapun, peraturan yang baik memberi kuasa kepada penyelenggara. Mereka menghalang anda daripada diseret untuk melakukan perkara yang tidak mahu anda lakukan.
Sebilangan besar orang yang menemui projek anda tidak mengetahui apa-apa tentang anda atau keadaan anda. Mereka mungkin menganggap anda dibayar untuk mengusahakannya, terutamanya jika ia adalah sesuatu yang selalu mereka gunakan dan bergantung. Mungkin pada satu ketika anda meluangkan banyak masa ke dalam projek anda, tetapi sekarang anda sibuk dengan pekerjaan baru atau ahli keluarga.
Semua ini baik-baik saja! Pastikan orang lain tahu mengenainya.
Sekiranya mengekalkan projek anda secara sambilan atau secara sukarela, jujurlah berapa banyak masa yang anda ada. Ini tidak sama dengan berapa banyak masa yang anda fikirkan memerlukan projek itu, atau berapa banyak masa yang orang lain mahu anda habiskan.
Berikut adalah beberapa peraturan yang perlu ditulis:
* Bagaimana sumbangan dikaji dan diterima (_Adakah mereka memerlukan ujian? Templat masalah?_)
* Jenis sumbangan yang akan anda terima (_Adakah anda hanya memerlukan bantuan dengan bahagian tertentu kod anda?_)
* Bila sesuai untuk ditindaklanjuti (_sebagai contoh, "Anda dapat mengharapkan tindak balas dari penjaga dalam masa 7 hari. Sekiranya anda belum mendengar apa-apa pada masa itu, jangan ragu untuk melakukan ping."_)
* Berapa banyak masa yang anda habiskan untuk projek itu (_sebagai contoh, "Kami hanya menghabiskan kira-kira 5 jam seminggu untuk projek ini"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), dan [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) adalah beberapa contoh projek dengan peraturan asas untuk penyelenggara dan penyumbang.
### Jaga komunikasi secara terbuka
Jangan lupa untuk mendokumentasikan interaksi anda juga. Di mana sahaja anda boleh, teruskan komunikasi mengenai projek anda kepada umum. Sekiranya seseorang cuba menghubungi anda secara peribadi untuk membincangkan permintaan ciri atau keperluan sokongan, arahkan mereka dengan sopan ke saluran komunikasi awam, seperti senarai mel atau pelacak masalah.
Sekiranya anda bertemu dengan penyelenggara lain, atau membuat keputusan utama secara tertutup, dokumentasikan perbualan ini di khalayak ramai, walaupun hanya menghantar catatan anda.
Dengan cara itu, sesiapa sahaja yang menyertai komuniti anda akan mendapat akses kepada maklumat yang sama dengan seseorang yang berada di sana selama bertahun-tahun.
## Belajar bila untuk mengatakan tidak
Anda telah menulis perkara. Sebaik-baiknya, semua orang akan membaca dokumentasi anda, tetapi pada hakikatnya, anda harus mengingatkan orang lain bahawa pengetahuan ini ada.
Akan tetapi, segala sesuatu yang ditulis dapat membantu melumpuhkan situasi ketika anda perlu menguatkuasakan peraturan anda.
Mengatakan tidak menyenangkan, tetapi _"Sumbangan anda tidak sesuai dengan kriteria projek ini"_ terasa kurang peribadi daripada _"Saya tidak suka sumbangan anda"_.
Mengatakan tidak berlaku untuk banyak situasi yang akan anda hadapi sebagai penjaga: permintaan ciri yang tidak sesuai dengan ruang lingkup, seseorang menggelincirkan perbincangan, melakukan pekerjaan yang tidak perlu untuk orang lain.
### Pastikan perbualan tetap mesra
Salah satu tempat paling penting yang akan anda praktikkan dengan mengatakan tidak adalah masalah anda dan tarik permintaan. Sebagai penyelenggara projek, anda pasti akan menerima cadangan yang tidak mahu anda terima.
Mungkin sumbangan itu mengubah skop projek anda atau tidak sesuai dengan visi anda. Mungkin idea itu bagus, tetapi pelaksanaannya kurang baik.
Terlepas dari alasannya, adalah mungkin untuk menangani sumbangan yang tidak sesuai dengan standard projek anda.
Sekiranya anda menerima sumbangan yang tidak mahu anda terima, reaksi pertama anda mungkin adalah mengabaikannya atau berpura-pura tidak melihatnya. Melakukannya boleh menyakitkan perasaan orang lain dan bahkan menurunkan semangat penyumbang lain dalam komuniti anda.
Jangan biarkan sumbangan yang tidak diingini terbuka kerana anda merasa bersalah atau mahu bersikap baik. Lama kelamaan, masalah dan PR anda yang tidak dijawab akan menjadikan kerja projek anda terasa lebih tertekan dan menakutkan.
Lebih baik segera menutup sumbangan yang anda tahu yang anda tidak mahu terima. Sekiranya projek anda sudah mengalami tunggakan yang besar, @steveklabnik mempunyai cadangan untuk [bagaimana menyelesaikan masalah dengan cekap](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Kedua, mengabaikan sumbangan akan memberi isyarat negatif kepada komuniti anda. Menyumbang kepada projek boleh menakutkan, terutamanya jika ini pertama kali seseorang. Walaupun anda tidak menerima sumbangan mereka, terima kasih orang yang berada di belakangnya dan terima kasih atas minat mereka. Ini pujian besar!
Sekiranya anda tidak mahu menerima sumbangan:
* **Mengucapkan Terima kasih** atas sumbangan mereka
* **Jelaskan mengapa ia tidak sesuai** dengan skop projek, dan berikan cadangan yang jelas untuk penambahbaikan, jika anda mampu. Bersikap baik, tetapi tegas.
* **Pautan ke dokumentasi yang relevan**, jika anda memilikinya. Sekiranya anda melihat permintaan berulang untuk perkara yang tidak mahu anda terima, tambahkan permintaan tersebut ke dalam dokumentasi anda untuk mengelakkan diri anda berulang.
* **Tutup permintaan**
Anda tidak memerlukan lebih daripada 1-2 ayat untuk bertindak balas. Sebagai contoh, apabila pengguna[celery](https://github.com/celery/celery/) melaporkan ralat berkaitan Windows, @berkerpeksag [responded with](https://github.com/celery/celery/issues/3383):

Sekiranya memikirkan untuk tidak menakutkan anda, anda tidak sendirian. Sebagai @jessfraz [put it](https://blog.jessfraz.com/post/the-art-of-closing/):
> Saya telah bercakap dengan penyelenggara dari beberapa projek sumber terbuka yang berbeza, Mesos, Kubernetes, Chromium, dan mereka semua bersetuju bahawa salah satu bahagian yang paling sukar untuk menjadi penyelenggara adalah mengatakan "Tidak" untuk membetulkan yang tidak anda mahukan.
Jangan merasa bersalah kerana tidak mahu menerima sumbangan seseorang. Peraturan pertama sumber terbuka, [according to](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"Tidak adalah sementara, ya adalah selamanya."_ Walaupun berempati dengan semangat orang lain adalah perkara yang baik, menolak sumbangan tidak sama dengan menolak orang di belakangnya."
Pada akhirnya, jika sumbangan tidak cukup baik, anda tidak berkewajiban untuk menerimanya. Bersikap baik dan responsif apabila orang menyumbang kepada projek anda, tetapi hanya menerima perubahan yang anda benar-benar yakin akan menjadikan projek anda lebih baik. Semakin kerap anda berlatih mengatakan tidak, semakin mudah. Janji.
### Bersikap proaktif
Untuk mengurangkan jumlah sumbangan yang tidak diingini, terangkan proses projek anda untuk menghantar dan menerima sumbangan dalam panduan penyumbang anda.
Sekiranya anda menerima terlalu banyak sumbangan berkualiti rendah, minta penyumbang melakukan sedikit kerja terlebih dahulu, misalnya:
* Isi isu atau templat PR / senarai semak
* Buka masalah sebelum menghantar PR
Sekiranya mereka tidak mematuhi peraturan anda, segera tutup masalahnya dan arahkan ke dokumentasi anda.
Walaupun pendekatan ini mungkin terasa tidak baik pada mulanya, proaktif sebenarnya baik untuk kedua-dua pihak. Ini mengurangkan peluang seseorang untuk meletakkan banyak waktu kerja yang terbuang menjadi permintaan tarik yang tidak akan Anda terima. Dan ini menjadikan beban kerja anda lebih mudah diuruskan.
Kadang kala, apabila anda mengatakan tidak, calon penyumbang anda mungkin marah atau mengecam keputusan anda. Sekiranya tingkah laku mereka menjadi bermusuhan, [ambil langkah untuk meredakan keadaan](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) or even remove them from your community, if they're not willing to collaborate constructively.
### Ikuti bimbingan
Mungkin seseorang dalam komuniti anda kerap menghantar sumbangan yang tidak memenuhi piawaian projek anda. Ini boleh membuat frustasi bagi kedua-dua pihak untuk berulang kali menolak.
Sekiranya anda melihat bahawa seseorang berminat dengan projek anda, tetapi memerlukan sedikit penggilap, bersabarlah. Terangkan dengan jelas dalam setiap situasi mengapa sumbangan mereka tidak memenuhi jangkaan projek. Cuba arahkan mereka ke tugas yang lebih mudah atau tidak samar-samar, seperti masalah yang ditandai _"isu pertama yang baik",_ agar kaki mereka basah. Sekiranya anda mempunyai masa, pertimbangkan untuk membimbing mereka melalui sumbangan pertama mereka, atau cari orang lain dalam komuniti anda yang mungkin bersedia membimbing mereka.
## Macamana manfaatkan komuniti anda
Anda tidak perlu melakukan semuanya sendiri. Komuniti projek anda wujud dengan alasan! Walaupun anda belum mempunyai komuniti penyumbang aktif, jika anda mempunyai banyak pengguna, buat mereka bekerja.
### Berkongsi beban kerja
Sekiranya anda sedang mencari orang lain, mulakan dengan bertanya-tanya
Salah satu cara untuk mendapatkan penyumbang baru adalah dengan secara eksplisit [melabelkan masalah yang cukup mudah untuk ditangani oleh pemula](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub kemudian akan mengemukakan permasalahan ini di pelbagai tempat di platform, sehingga meningkatkan keterlihatannya.
Apabila anda melihat penyumbang baru memberikan sumbangan berulang, kenali karya mereka dengan menawarkan lebih banyak tanggungjawab. Mendokumentasikan bagaimana orang lain dapat berkembang menjadi peranan kepemimpinan jika mereka mahu.
Menggalakkan orang lain untuk [berkongsi pemilikan projek](../building-community/#kongsi-pemilikan-projek-anda) dapat mengurangkan beban kerja anda sendiri, seperti yang dijumpai oleh @lmccart pada projeknya, [p5.js](https://github.com/processing/p5.js).
Sekiranya anda perlu menjauhkan diri dari projek anda, sama ada dalam masa rehat atau kekal, tidak ada rasa malu untuk meminta orang lain mengambil alih tugas anda.
Sekiranya orang lain berminat dengan arahannya, beri mereka akses atau menyerahkan kawalan secara rasmi kepada orang lain. Sekiranya seseorang membuat projek anda secara aktif dan secara aktif menyelenggarakannya di tempat lain, pertimbangkan untuk menghubungkan ke garpu dari projek asal anda. Senang sekali bahawa ramai orang mahu projek anda terus berjalan!
@progrium [found that](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) mendokumentasikan visi untuk projeknya, [Dokku](https://github.com/dokku/dokku), membantu tujuan tersebut terus dicapai walaupun dia melangkah keluar dari projek:
> Saya menulis halaman wiki yang menerangkan apa yang saya mahukan dan mengapa saya menginginkannya. Atas sebab-sebab tertentu, mengejutkan saya bahawa penyelenggara mula memindahkan projek ke arah itu! Adakah ia berlaku seperti bagaimana saya melakukannya? Tidak selalu. Tetapi projek ini masih mendekatkan apa yang saya tulis.
### Biarkan orang lain membina penyelesaian yang mereka perlukan
Sekiranya calon penyumbang mempunyai pendapat yang berbeza mengenai apa yang harus dilakukan oleh projek anda, anda mungkin ingin mendorong mereka untuk mengusahakan garpu mereka dengan lembut.
Memaksa projek tidak harus menjadi perkara yang buruk. Mampu menyalin dan mengubahsuai projek adalah salah satu perkara terbaik mengenai sumber terbuka. Menggalakkan ahli komuniti anda untuk bekerja di garpu mereka sendiri dapat menyediakan saluran kreatif yang mereka perlukan, tanpa bertentangan dengan visi projek anda.
Perkara yang sama berlaku untuk pengguna yang benar-benar mahukan penyelesaian yang anda tidak mempunyai lebar jalur untuk dibina. Menawarkan API dan penyesuaian dapat membantu orang lain memenuhi keperluan mereka sendiri, tanpa harus mengubah sumbernya secara langsung. @orta [found that](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) pemalam yang menggalakkan untuk CocoaPod membawa kepada "beberapa idea yang paling menarik":
> Hampir tidak dapat dielakkan apabila projek menjadi besar, penyelenggara harus menjadi lebih konservatif mengenai bagaimana mereka memperkenalkan kod baru. Anda menjadi pandai mengatakan "tidak", tetapi banyak orang mempunyai keperluan yang sah. Oleh itu, anda akhirnya menukar alat anda menjadi platform.
## Belajar proses mana yang perlu automatik (robots)
Sama seperti ada tugas yang dapat ditolong oleh orang lain, ada juga tugas yang tidak perlu dilakukan oleh manusia. Robot adalah rakan anda. Gunakan mereka untuk menjadikan hidup anda sebagai penyelenggara lebih mudah.
### Memerlukan ujian dan pemeriksaan lain untuk meningkatkan kualiti kod anda
Salah satu cara terpenting untuk mengautomasikan projek anda adalah dengan menambahkan ujian.
Ujian membantu penyumbang merasa yakin bahawa mereka tidak akan merosakkan apa-apa. Mereka juga memudahkan anda menyemak dan menerima sumbangan dengan cepat. Semakin responsif anda, semakin aktif komuniti anda.
Sediakan ujian automatik yang akan dijalankan pada semua sumbangan yang masuk, dan pastikan ujian anda dapat dijalankan dengan mudah secara tempatan oleh penyumbang. Wajibkan semua sumbangan kod lulus ujian anda sebelum dapat dihantar. Anda akan membantu menetapkan standard kualiti minimum untuk semua penyerahan. [Pemeriksaan status yang diperlukan] () di GitHub dapat membantu memastikan tiada perubahan digabungkan tanpa ujian anda lulus.
Sekiranya anda menambahkan ujian, pastikan untuk menerangkan bagaimana ia berfungsi dalam fail CONTRIBUTING anda.
### Gunakan alat untuk mengautomasikan tugas penyelenggaraan asas
Berita baik tentang mengekalkan projek yang popular ialah penyelenggara lain mungkin menghadapi masalah serupa dan membina jalan penyelesaian untuknya.
Terdapat [pelbagai alat tersedia](https://github.com/showcases/tools-for-open-source)untuk membantu mengautomasikan beberapa aspek kerja penyelenggaraan. Beberapa contoh:
* [semantic-release](https://github.com/semantic-release/semantic-release) mengautomasikan siaran anda
* [mention-bot](https://github.com/facebook/mention-bot) menyebut pengulas berpotensi untuk permintaan tarik
* [Danger](https://github.com/danger/danger) membantu mengautomasikan semakan kod
* [no-response](https://github.com/probot/no-response) menutup masalah di mana pengarang tidak menjawab permintaan untuk mendapatkan maklumat lebih lanjut
* [dependabot](https://github.com/dependabot) memeriksa fail kebergantungan anda setiap hari untuk keperluan yang ketinggalan zaman dan membuka permintaan tarikan individu untuk apa sahaja yang dijumpainya
Fatau laporan pepijat dan sumbangan umum lain, GitHub mempunyai [Templat Masalah dan Templat Tarik Permintaan] (), yang boleh anda buat untuk melancarkan komunikasi anda terima. @TalAter membuat [Pilih panduan Pengembaraan Anda Sendiri] () untuk membantu anda menulis isu dan templat PR anda.
Untuk menguruskan pemberitahuan e-mel anda, anda boleh menyiapkan [penapis e-mel] () untuk disusun mengikut keutamaan.
Sekiranya anda ingin mendapatkan sedikit lebih maju, panduan gaya dan pelapis dapat menyeragamkan sumbangan projek dan menjadikannya lebih mudah untuk disemak dan diterima.
Namun, jika piawaian anda terlalu rumit, ia dapat meningkatkan halangan untuk menyumbang. Pastikan anda hanya menambahkan peraturan yang cukup untuk menjadikan kehidupan semua orang lebih mudah.
Sekiranya anda tidak pasti alat mana yang harus digunakan, perhatikan apa yang dilakukan oleh projek popular lain, terutamanya yang ada di ekosistem anda. Sebagai contoh, bagaimana proses sumbangan untuk modul Node yang lain? Menggunakan alat dan pendekatan yang serupa juga akan menjadikan proses anda lebih akrab dengan penyumbang sasaran anda.
## Tidak apa-apa untuk berhenti sebentar
Kerja sumber terbuka sekali memberikan kegembiraan kepada anda. Mungkin sekarang ini mula membuat anda merasa terhindar atau bersalah.
Mungkin anda merasa terharu atau rasa takut yang semakin meningkat ketika anda memikirkan projek anda. Sementara itu, permasalahan dan permintaan tarik semakin bertambah.
Burnout adalah masalah yang nyata dan meluas dalam kerja sumber terbuka, terutama di kalangan penyelenggara. Sebagai penjaga, kebahagiaan anda adalah syarat yang tidak dapat dirundingkan untuk kelangsungan projek sumber terbuka mana pun.
Walaupun tidak boleh dikatakan, berehat sebentar! Anda tidak perlu menunggu sehingga anda merasa terbakar untuk bercuti. @brettcannon, pemaju teras Python, memutuskan untuk mengambil [percutian selama sebulan] () setelah 14 tahun OSS sukarela bekerja.
Sama seperti jenis pekerjaan lain, berehat sebentar akan membuat anda segar, gembira, dan gembira dengan pekerjaan anda.
Kadang-kadang, sukar untuk mengambil cuti dari kerja sumber terbuka apabila terasa seperti semua orang memerlukan anda. Orang mungkin juga berusaha membuat anda merasa bersalah kerana melangkah pergi.
Lakukan yang terbaik untuk mencari sokongan untuk pengguna dan komuniti anda semasa anda jauh dari projek. Sekiranya anda tidak dapat mencari sokongan yang anda perlukan, istirahatlah pula. Pastikan anda berkomunikasi ketika anda tidak ada, sehingga orang tidak bingung dengan kekurangan respons anda.
Beristirahat juga berlaku untuk lebih daripada sekadar percutian. Sekiranya anda tidak mahu melakukan kerja sumber terbuka pada hujung minggu, atau semasa waktu kerja, sampaikan harapan tersebut kepada orang lain, sehingga mereka tahu untuk tidak mengganggu anda.
## Jaga diri anda terlebih dahulu!
Mengekalkan projek yang popular memerlukan kemahiran yang berbeza daripada tahap pertumbuhan yang lebih awal, tetapi ia tidak kurang memberangsangkan. Sebagai penyelenggara, anda akan mempraktikkan kepemimpinan dan kemahiran peribadi pada tahap yang dapat dialami oleh beberapa orang. Walaupun tidak selalu mudah dikendalikan, menetapkan batas yang jelas dan hanya mengambil perkara yang anda selesa akan membantu anda tetap bahagia, segar, dan produktif.
================================================
FILE: _articles/ms/building-community.md
================================================
---
lang: ms
title: Membina Komuniti Sambutan
description: Membangun komuniti yang mendorong orang untuk menggunakan, menyumbang, dan menginjil projek anda.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Menyiapkan projek anda untuk berjaya
Anda telah melancarkan projek anda, anda menyebarkan berita, dan orang-orang memeriksanya. Hebat! Sekarang, bagaimana anda membuat mereka bertahan?
Komuniti yang ramah adalah pelaburan untuk masa depan dan reputasi projek anda. Sekiranya projek anda baru mula melihat sumbangan pertamanya, mulakan dengan memberi pengalaman positif kepada penyumbang awal, dan permudahkan mereka terus kembali.
### Buat orang merasa diterima
Salah satu cara untuk memikirkan komuniti projek anda adalah melalui apa yang disebut oleh @MikeMcQuaid [contributor funnel](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

Semasa anda membina komuniti, pertimbangkan bagaimana seseorang di bahagian atas corong (pengguna berpotensi) mungkin secara teorinya melangkah ke bahagian bawah (penyelenggara aktif). Matlamat anda adalah untuk mengurangkan geseran pada setiap tahap pengalaman penyumbang. Apabila orang memperoleh kemenangan dengan mudah, mereka akan merasa terdorong untuk melakukan lebih banyak perkara.
Mulakan dengan dokumentasi anda:
* **Permudahkan seseorang untuk menggunakan projek anda.**[README yang mesra](../starting-a-project/#menulis-readme) dan contoh kod yang jelas akan memudahkan sesiapa sahaja yang memasuki projek anda untuk memulakan.
* **Terangkan dengan jelas cara menyumbang**, menggunakan [fail CONTRIBUTING anda](../starting-a-project/#menulis-garis-panduan-penyumbang-anda) dan mengemas kini masalah anda.
* **Isu pertama yang baik**: Untuk membantu penyumbang baru memulakan, pertimbangkan secara jelas [masalah pelabelan yang cukup mudah untuk diatasi oleh pemula](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub kemudian akan memaparkan isu-isu ini di berbagai tempat di platform, meningkatkan sumbangan berguna, dan mengurangkan geseran dari pengguna menangani masalah yang terlalu sukar untuk tahap mereka.
[GitHub's 2017 Open Source Survey](http://opensourcesurvey.org/2017/) menunjukkan dokumentasi yang tidak lengkap atau membingungkan adalah masalah terbesar bagi pengguna sumber terbuka. Dokumentasi yang baik mengundang orang untuk berinteraksi dengan projek anda. Akhirnya, seseorang akan membuka masalah atau menarik permintaan. Gunakan interaksi ini sebagai peluang untuk mengalihkannya ke corong.
* **Apabila seseorang baru memasuki projek anda, terima kasih atas minat mereka!** Hanya memerlukan satu pengalaman negatif untuk membuat seseorang tidak mahu kembali.
* **Bersikap responsif.** Sekiranya anda tidak menjawab masalah mereka selama sebulan, kemungkinannya, mereka sudah melupakan projek anda.
* **Berfikiran terbuka tentang jenis sumbangan yang akan anda terima.** Banyak penyumbang bermula dengan laporan bug atau perbaikan kecil. Disana ada[banyak cara untuk menyumbang](../how-to-contribute/#apa-maksudnya-menyumbang) ke projek. Biarkan orang menolong bagaimana mereka mahu menolong.
* **Sekiranya ada sumbangan yang anda tidak setuju,** terima kasih atas idea mereka dan [terangkan mengapa](../best-practices/#belajar-bila-untuk-mengatakan-tidak) ini tidak sesuai dengan skop projek, menghubungkan ke dokumentasi yang relevan jika anda memilikinya.
Sebilangan besar penyumbang sumber terbuka adalah "penyumbang kasual": orang yang menyumbang kepada projek hanya sekali-sekala. Penyumbang kasual mungkin tidak mempunyai masa untuk mencapai kemajuan sepenuhnya dengan projek anda, jadi tugas anda adalah untuk memudahkan mereka menyumbang.
Mendorong penyumbang lain adalah pelaburan dalam diri anda juga. Apabila anda memberi peluang kepada peminat terbesar anda untuk berlari dengan karya yang mereka sukai, tidak ada tekanan untuk melakukan semuanya sendiri.
### Mendokumentasikan semuanya
Apabila anda memulakan projek baru, mungkin terasa wajar untuk menjaga kerahsiaan kerja anda. Tetapi projek sumber terbuka berkembang apabila anda mendokumentasikan proses anda di khalayak ramai.
Apabila anda menuliskan sesuatu, lebih banyak orang dapat mengambil bahagian dalam setiap langkah. Anda mungkin mendapat pertolongan mengenai sesuatu yang anda tidak tahu bahawa anda perlukan.
Menulis perkara bermaksud lebih daripada sekadar dokumentasi teknikal. Bila-bila masa anda merasa terdorong untuk menulis sesuatu atau membincangkan projek anda secara tertutup, tanyakan pada diri anda sama ada anda boleh membuatnya terbuka.
Bersikap telus mengenai peta jalan projek anda, jenis sumbangan yang anda cari, bagaimana sumbangan dikaji, atau mengapa anda membuat keputusan tertentu.
Sekiranya anda melihat banyak pengguna menghadapi masalah yang sama, dokumentasikan jawapannya di README.
Untuk perjumpaan, pertimbangkan untuk menerbitkan nota atau catatan anda dalam isu yang berkaitan. Maklum balas yang anda dapat dari tahap ketelusan ini mungkin akan mengejutkan anda.
Mendokumentasikan segala-galanya juga berlaku untuk pekerjaan yang anda lakukan. Sekiranya anda sedang mengemas kini projek anda, masukkan ke dalam permintaan tarik dan tandakan sebagai kerja yang sedang berjalan (WIP). Dengan cara itu, orang lain dapat merasa terlibat dalam proses tersebut sejak awal.
### Bersikap responsif
Seperti awak[mempromosikan projek anda](../finding-users), orang akan mempunyai maklum balas untuk anda. Mereka mungkin mempunyai pertanyaan tentang bagaimana sesuatu berfungsi, atau memerlukan bantuan untuk memulai.
Try responsif ketika seseorang mengajukan masalah, mengajukan permintaan tarik, atau mengajukan pertanyaan mengenai projek anda. Apabila anda bertindak balas dengan cepat, orang akan merasakan mereka adalah sebahagian daripada dialog, dan mereka akan lebih bersemangat untuk turut serta.
Walaupun anda tidak dapat segera meninjau permintaan tersebut, mengakuinya lebih awal dapat meningkatkan pertunangan. Inilah cara @tdreyno menanggapi permintaan penarikan [Middleman](https://github.com/middleman/middleman/pull/1466):

[A Mozilla study found that](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) penyumbang yang menerima ulasan kod dalam masa 48 jam mempunyai kadar pulangan dan sumbangan berulang yang jauh lebih tinggi.
Perbualan mengenai projek anda juga boleh berlaku di tempat lain di internet, seperti Stack Overflow, Twitter, atau Reddit. Anda boleh mengatur pemberitahuan di beberapa tempat ini sehingga anda diberi amaran ketika seseorang menyebutkan projek anda.
### Beri komuniti anda tempat untuk berkumpul
Terdapat dua sebab untuk memberi tempat kepada komuniti anda untuk berkumpul.
Sebab pertama adalah untuk mereka. Tolong orang mengenali antara satu sama lain. Orang yang mempunyai kepentingan bersama pasti menginginkan tempat untuk membincangkannya. Dan apabila komunikasi bersifat umum dan mudah diakses, sesiapa sahaja boleh membaca arkib masa lalu untuk mencapai kelajuan dan mengambil bahagian.
Sebab kedua adalah untuk anda. Sekiranya anda tidak memberi orang awam tempat untuk membincangkan projek anda, mereka mungkin akan menghubungi anda secara langsung. Pada mulanya, nampaknya cukup mudah untuk membalas mesej peribadi "hanya sekali ini". Tetapi lama-kelamaan, terutamanya jika projek anda menjadi popular, anda akan merasa letih. Tahan godaan untuk berkomunikasi dengan orang lain mengenai projek anda secara tertutup. Sebaliknya, arahkan mereka ke saluran awam yang ditentukan.
Komunikasi awam semudah mengarahkan orang untuk membuka masalah dan bukannya menghantar e-mel kepada anda secara langsung atau memberi komen di blog anda. Anda juga boleh membuat senarai mel, atau membuat akaun Twitter, Slack, atau saluran IRC agar orang dapat membincangkan projek anda. Atau cuba semua perkara di atas!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) mengetepikan waktu pejabat setiap minggu untuk membantu anggota masyarakat:
> Kops juga mempunyai masa yang diperuntukkan setiap minggu untuk menawarkan pertolongan dan bimbingan kepada masyarakat. Penyelenggara Kops telah bersetuju untuk meluangkan masa yang khusus dikhaskan untuk bekerja dengan pendatang baru, membantu PR, dan membincangkan ciri baru.
Pengecualian untuk komunikasi awam adalah: 1) masalah keselamatan dan 2) pelanggaran tatakelakuan sensitif. Anda semestinya mempunyai cara untuk orang melaporkan masalah ini secara peribadi. Sekiranya anda tidak mahu menggunakan e-mel peribadi anda, sediakan alamat e-mel khusus.
## Memperkembangkan komuniti anda
Masyarakat sangat kuat. Kekuatan itu boleh menjadi berkat atau kutukan, bergantung pada bagaimana Anda menggunakannya. Apabila komuniti projek anda berkembang, ada cara untuk menolongnya menjadi kekuatan pembinaan, bukan kehancuran.
### Jangan bertolak ansur dengan pelakon jahat
Mana-mana projek yang popular pasti akan menarik orang yang membahayakan, dan bukannya membantu, komuniti anda. Mereka mungkin memulakan perbahasan yang tidak perlu, bertengkar dengan ciri-ciri remeh, atau menggertak orang lain.
Lakukan yang terbaik untuk mengamalkan dasar toleransi sifar terhadap jenis orang ini. Sekiranya dibiarkan, orang negatif akan membuat orang lain dalam komuniti anda tidak selesa. Mereka mungkin juga pergi.
Perbahasan berkala mengenai aspek sepele projek anda mengalihkan perhatian orang lain, termasuk anda, daripada memfokus pada tugas penting. Orang baru yang tiba ke projek anda mungkin melihat perbualan ini dan tidak mahu mengambil bahagian.
Apabila anda melihat tingkah laku negatif berlaku pada projek anda, panggilnya secara terbuka. Jelaskan, dengan nada yang baik tetapi tegas, mengapa tingkah laku mereka tidak dapat diterima. Sekiranya masalah itu berlanjutan, anda mungkin perlu [minta mereka pergi](../code-of-conduct/#menguatkuasakan-tatakelakuan-anda). Kamu punya [tatakelakuan](../code-of-conduct/) boleh menjadi panduan yang membina untuk perbualan ini.
### Temui penyumbang di mana mereka berada
Dokumentasi yang baik hanya menjadi lebih penting apabila komuniti anda berkembang. Penyumbang kasual, yang mungkin tidak biasa dengan projek anda, membaca dokumentasi anda untuk mendapatkan konteks yang mereka perlukan dengan cepat.
Dalam fail CONTRIBUTING anda, jelaskan cara penyumbang baru kepada penyumbang baru. Anda mungkin mahu membuat bahagian khusus untuk tujuan ini. [Django](https://github.com/django/django), sebagai contoh, mempunyai halaman arahan khas untuk mengalu-alukan penyumbang baru.

Dalam barisan masalah anda, labelkan pepijat yang sesuai untuk pelbagai jenis penyumbang: sebagai contoh, [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only),_"terbitan pertama yang baik"_, atau _"dokumentasi"_. [These labels](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) permudahkan seseorang yang baru dalam projek anda untuk mengimbas masalah anda dengan cepat dan memulakannya.
Akhirnya, gunakan dokumentasi anda untuk membuat orang merasa diterima di setiap langkah.
Anda tidak akan pernah berinteraksi dengan kebanyakan orang yang menggunakan projek anda. Mungkin ada sumbangan yang tidak anda terima kerana seseorang merasa terintimidasi atau tidak tahu di mana hendak memulakannya. Bahkan beberapa kata yang baik dapat membuat seseorang tidak meninggalkan projek anda dalam kekecewaan.
Contohnya, inilah caranya [Rubinius](https://github.com/rubinius/rubinius/) bermula [its contributing guide](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Kami ingin memulai dengan mengucapkan terima kasih kerana menggunakan Rubinius. Projek ini adalah usaha cinta, dan kami menghargai semua pengguna yang menangkap pepijat, membuat peningkatan prestasi, dan membantu dengan dokumentasi. Setiap sumbangan amat bermakna, jadi terima kasih kerana turut serta. Oleh itu, berikut adalah beberapa panduan yang kami minta anda ikuti sehingga kami dapat menyelesaikan masalah anda dengan jayanya.
### Kongsi pemilikan projek anda
Orang ramai teruja untuk menyumbang kepada projek apabila mereka merasakan kepemilikan. Itu tidak bermaksud anda perlu membalikkan visi projek anda atau menerima sumbangan yang tidak anda mahukan. Tetapi semakin banyak anda memberi penghargaan kepada orang lain, semakin banyak mereka tetap bertahan.
Lihat apakah anda boleh mencari cara untuk berkongsi pemilikan dengan komuniti anda sebanyak mungkin. Berikut adalah beberapa idea:
* **Tahan untuk memperbaiki pepijat yang mudah (tidak kritikal).** Sebagai gantinya, gunakannya sebagai peluang untuk merekrut penyumbang baru, atau membimbing seseorang yang ingin menyumbang. Mungkin kelihatan tidak wajar pada mulanya, tetapi pelaburan anda akan membuahkan hasil dari masa ke masa. Sebagai contoh, @michaeljoseph meminta penyumbang untuk mengemukakan permintaan tarik pada a[Cookiecutter](https://github.com/audreyr/cookiecutter) masalah di bawah, bukannya membetulkannya sendiri.

* **Mulakan fail CONTRIBUTORS atau AUTHORS dalam projek anda** yang menyenaraikan semua orang yang menyumbang untuk projek anda, seperti [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md)
* Sekiranya anda mempunyai komuniti yang cukup besar, **menghantar surat berita atau menulis catatan blog** mengucapkan terima kasih kepada penyumbang. Penyumbang Rust [This Week in Rust](https://this-week-in-rust.org/) dan penyumbang Hoodie [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) adalah dua contoh yang baik.
* **Berikan akses kepada setiap penyumbang.** @felixge mendapati bahawa ini menjadikan orang [lebih teruja untuk menggilap patch mereka](https://felixge.de/2013/03/11/the-pull-request-hack.html), dan dia malah menjumpai penyelenggara baru untuk projek-projek yang belum pernah dia kerjakan sebentar lagi.
* Sekiranya projek anda berada di GitHub, **pindahkan projek anda dari akaun peribadi anda ke [Organization](https://help.github.com/articles/creating-a-new-organization-account/)** dan tambahkan sekurang-kurangnya satu pentadbir sandaran. Organisasi menjadikannya lebih mudah untuk mengerjakan projek dengan kolaborator luar.
Kenyataannya adalah bahawa[most projects only have](https://peerj.com/preprints/1233/)satu atau dua penyelenggara yang melakukan sebahagian besar kerja. Semakin besar projek anda, dan semakin besar komuniti anda, semakin mudah mendapatkan bantuan.
Walaupun anda mungkin tidak selalu menjumpai seseorang untuk menjawab panggilan tersebut, memberi isyarat di luar sana akan meningkatkan kemungkinan orang lain akan masuk. Dan lebih awal anda memulakannya, semakin cepat orang dapat membantu.
## Menyelesaikan konflik
Pada peringkat awal projek anda, membuat keputusan besar adalah mudah. Apabila anda ingin melakukan sesuatu, anda hanya melakukannya.
Oleh kerana projek anda menjadi lebih popular, lebih ramai orang akan tertarik dengan keputusan yang anda buat. Walaupun anda tidak mempunyai komuniti penyumbang yang besar, jika projek anda mempunyai banyak pengguna, anda akan mendapati orang mempertimbangkan keputusan atau membangkitkan masalah mereka sendiri.
Sebahagian besarnya, jika anda telah membina komuniti yang ramah, hormat dan mendokumentasikan proses anda secara terbuka, komuniti anda seharusnya dapat mencari penyelesaian. Tetapi kadang-kadang anda menghadapi masalah yang agak sukar untuk ditangani.
### Tetapkan bar untuk kebaikan
Apabila komuniti anda bergelut dengan masalah yang sukar, kemarahan mungkin akan meningkat. Orang mungkin menjadi marah atau kecewa dan mengeluarkannya satu sama lain, atau pada anda.
Tugas anda sebagai penyelenggara adalah untuk memastikan situasi ini tidak meningkat. Walaupun anda mempunyai pendapat yang kuat mengenai topik ini, cubalah mengambil kedudukan sebagai moderator atau fasilitator, daripada melompat ke dalam pertengkaran dan mendorong pandangan anda. Sekiranya seseorang bersikap tidak baik atau memonopoli perbualan, [bertindak segera](../building-community/#jangan-bertolak-ansur-dengan-pelakon-jahat) agar perbincangan tetap sopan dan produktif.
Orang lain mencari bimbingan anda. Berikan contoh yang baik. Anda masih dapat menyatakan kekecewaan, ketidakbahagiaan, atau keprihatinan, tetapi melakukannya dengan tenang.
Menjaga kesegaran anda tidak mudah, tetapi menunjukkan kepemimpinan dapat meningkatkan kesihatan komuniti anda. Internet terima kasih.
### Perlakukan README anda sebagai perlembagaan
README anda adalah [lebih daripada sekumpulan arahan](../starting-a-project/#menulis-readme). Ia juga merupakan tempat untuk membincangkan tujuan, visi produk, dan peta jalan anda. Sekiranya orang terlalu fokus memperdebatkan kelebihan ciri tertentu, ia mungkin dapat meninjau semula README anda dan membincangkan visi projek anda yang lebih tinggi. Memfokuskan pada README anda juga melumpuhkan perbualan, sehingga anda dapat mengadakan perbincangan yang membina.
### Fokus pada perjalanan, bukan destinasi
Beberapa projek menggunakan proses pengundian untuk membuat keputusan utama. Walaupun masuk akal pada pandangan pertama, pemungutan suara menekankan mendapatkan "jawaban", daripada mendengarkan dan menangani masalah satu sama lain.
Pengundian boleh menjadi politik, di mana anggota masyarakat merasa tertekan untuk saling memilih atau memilih dengan cara tertentu. Tidak semua orang memilih, sama ada ia [silent majority](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) dalam komuniti anda, atau pengguna semasa yang tidak tahu ada suara.
Kadang kala, pengundian adalah pemangkin yang perlu. Walau seberapa banyak yang anda mampu, tekankan ["consensus seeking"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) bukannya muafakat.
Di bawah proses pencarian konsensus, anggota masyarakat membincangkan masalah utama sehingga mereka merasa mereka telah didengar dengan cukup. Apabila hanya ada masalah kecil, masyarakat bergerak maju. "Pencarian konsensus" mengakui bahawa masyarakat mungkin tidak dapat mencapai jawapan yang sempurna. Sebaliknya, ia mengutamakan pendengaran dan perbincangan.
Walaupun anda tidak benar-benar menggunakan proses mencari konsensus, sebagai penyelenggara projek, penting bagi orang untuk mengetahui bahawa anda sedang mendengar. Membuat orang lain merasa terdengar, dan berkomitmen untuk menyelesaikan masalah mereka, banyak membantu menangani situasi sensitif. Kemudian, ikuti kata-kata anda dengan tindakan.
Jangan terburu-buru membuat keputusan kerana mempunyai keputusan. Pastikan bahawa semua orang merasa terdengar dan bahawa semua maklumat telah diumumkan sebelum membuat keputusan.
### Pastikan perbualan tertumpu pada tindakan
Perbincangan itu penting, tetapi ada perbezaan antara perbualan produktif dan tidak produktif.
Galakkan perbincangan selagi ia bergerak secara aktif ke arah penyelesaian. Sekiranya jelas bahawa perbualan mereda atau di luar topik, jab menjadi lebih peribadi, atau orang-orang membicarakan perincian kecil, sudah waktunya untuk mematikannya.
Membiarkan perbualan ini diteruskan bukan hanya buruk untuk masalah yang dihadapi, tetapi juga buruk bagi kesihatan komuniti anda. Ini mengirimkan mesej bahawa jenis percakapan ini diizinkan atau bahkan digalakkan, dan ini dapat mendorong orang untuk membangkitkan atau menyelesaikan masalah di masa depan.
Dengan setiap titik yang dibuat oleh anda atau oleh orang lain, tanyakan pada diri sendiri, _"Bagaimana ini mendekatkan kita dengan penyelesaian?"_
Sekiranya perbualan mula terungkai, tanyakan kepada kumpulan, _"Langkah mana yang harus kita ambil selanjutnya?"_ Untuk memfokuskan kembali perbualan.
Sekiranya perbualan jelas tidak akan ke mana-mana, tidak ada tindakan yang jelas untuk diambil, atau tindakan yang sesuai telah diambil, tutup masalahnya dan terangkan mengapa anda menutupnya.
### Pilih pertempuran anda dengan bijak
Konteks adalah penting. Pertimbangkan siapa yang terlibat dalam perbincangan dan bagaimana mereka mewakili masyarakat yang lain.
Adakah semua orang dalam komuniti kesal dengan, atau bahkan terlibat dengan, masalah ini? Atau adakah pengacau sendirian? Jangan lupa untuk mempertimbangkan ahli komuniti anda yang senyap, bukan hanya suara aktif.
Sekiranya masalah ini tidak mewakili keperluan masyarakat anda yang lebih luas, anda mungkin perlu mengakui keprihatinan segelintir orang. Sekiranya ini adalah masalah berulang tanpa penyelesaian yang jelas, arahkan mereka ke perbincangan sebelumnya mengenai topik ini dan tutup utasnya.
### Kenal pasti tiebreak komuniti
Dengan sikap yang baik dan komunikasi yang jelas, situasi yang paling sukar dapat diselesaikan. Namun, walaupun dalam perbualan yang produktif, hanya ada perbezaan pendapat tentang cara meneruskannya. Dalam kes ini, kenal pasti individu atau sekumpulan orang yang boleh berfungsi sebagai pemula.
Tiebreaker dapat menjadi penyelenggara utama proyek, atau mungkin sekelompok kecil orang yang membuat keputusan berdasarkan pengundian. Sebaik-baiknya, anda telah mengenal pasti tiebreak dan proses yang berkaitan dalam fail GOVERNANCE sebelum anda mesti menggunakannya.
Tiebreaker anda harus menjadi pilihan terakhir. Isu memecah belah adalah peluang untuk komuniti anda berkembang dan belajar. Rebut peluang ini dan gunakan proses kolaboratif untuk beralih ke penyelesaian sedapat mungkin.
## Komuniti adalah ❤️ sumber terbuka
Komuniti yang sihat dan berkembang menghasilkan ribuan jam yang dicurahkan ke sumber terbuka setiap minggu. Banyak penyumbang menunjukkan kepada orang lain sebagai alasan untuk bekerja - atau tidak bekerja - di sumber terbuka. Dengan belajar bagaimana memanfaatkan kekuatan itu secara konstruktif, anda akan membantu seseorang di luar sana mempunyai pengalaman sumber terbuka yang tidak dapat dilupakan.
================================================
FILE: _articles/ms/code-of-conduct.md
================================================
---
lang: ms
title: Tatakelakuan Anda
description: Memudahkan tingkah laku masyarakat yang sihat dan konstruktif dengan menerapkan dan menguatkuasakan tatakelakuan.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Mengapa saya memerlukan tatakelakuan?
Kod tingkah laku adalah dokumen yang menetapkan harapan untuk tingkah laku bagi peserta projek anda. Mengamalkan, dan menegakkan, kod tingkah laku dapat membantu mewujudkan suasana sosial yang positif untuk komuniti anda.
Tata kelakuan membantu melindungi bukan hanya peserta anda, tetapi diri anda sendiri. Sekiranya anda mengekalkan projek, anda mungkin mendapati bahawa sikap yang tidak produktif dari peserta lain dapat membuat anda merasa kecewa atau tidak senang dengan kerja anda dari masa ke masa.
Kod tingkah laku memberi kuasa kepada anda untuk memudahkan tingkah laku masyarakat yang sihat dan membina. Bersikap proaktif mengurangkan kemungkinan anda, atau orang lain, menjadi letih dengan projek anda, dan membantu anda mengambil tindakan ketika seseorang melakukan sesuatu yang tidak anda setujui.
## Menetapkan tatakelakuan
Cuba buat kod tingkah laku seawal mungkin: idealnya, ketika pertama kali membuat projek anda.
Selain menyampaikan harapan anda, kod tingkah laku menerangkan perkara berikut:
* Di mana tatakelakuan berkuatkuasa _(hanya pada isu dan permintaan tarik, atau aktiviti masyarakat seperti acara?)_
* Siapa yang mematuhi tata kelakuan _(anggota masyarakat dan penyelenggara, tetapi bagaimana dengan penaja?)_
* Apa yang berlaku sekiranya seseorang melanggar tatakelakuan
* Bagaimana seseorang dapat melaporkan pelanggaran
Di mana sahaja anda boleh, gunakan seni sebelumnya. [Contributor Covenant](https://contributor-covenant.org/) adalah tatakelakuan drop-in yang digunakan oleh lebih dari 40,000 projek sumber terbuka, termasuk Kubernetes, Rails, dan Swift.
[Django Code of Conduct](https://www.djangoproject.com/conduct/) dan [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) juga merupakan dua contoh tatakelakuan yang baik.
Letakkan fail CODE_OF_CONDUCT di direktori root projek anda, dan jadikan ia dapat dilihat oleh komuniti anda dengan menghubungkannya dari fail CONTRIBUTING atau README anda.
## Memutuskan bagaimana anda akan menguatkuasakan tatakelakuan anda
Anda harus menjelaskan bagaimana tatakelakuan anda akan ditegakkan **_sebelum_** pelanggaran berlaku. Terdapat beberapa sebab untuk melakukannya:
* Ini menunjukkan bahawa anda serius mengambil tindakan ketika diperlukan.
* Komuniti anda akan merasa lebih yakin bahawa aduan benar-benar dikaji.
* Anda akan meyakinkan komuniti anda bahawa proses peninjauan dilakukan dengan adil dan telus, sekiranya mereka mendapati diri mereka disiasat atas pelanggaran.
Anda harus memberi orang cara persendirian (seperti alamat e-mel) untuk melaporkan pelanggaran tatakelakuan dan menjelaskan siapa yang menerima laporan tersebut. Ini boleh menjadi penyelenggara, sekumpulan penyelenggara, atau kumpulan kerja kod etika.
Jangan lupa bahawa seseorang mungkin ingin melaporkan pelanggaran mengenai orang yang menerima laporan tersebut. Dalam kes ini, beri mereka pilihan untuk melaporkan pelanggaran kepada orang lain. Contohnya, @ctb dan @mr-c [explain on their project](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Contoh tingkah laku kasar, melecehkan, atau tidak boleh diterima mungkin dilaporkan dengan menghantar e-mel **khmer-project@idyll.org** melalui email yang hanya ditujukan kepada C. Titus Brown dan Michael R. Crusoe. Untuk melaporkan masalah yang melibatkan salah satu daripada mereka, sila hantarkan e-mel **Judi Brown Clarke, Ph.D.** Diversity Director kat BEACON Center for the Study of Evolution in Action, Pusat Sains dan Teknologi NSF.
Untuk inspirasi, lihatlah Django's [enforcement manual](https://www.djangoproject.com/conduct/enforcement-manual/) (walaupun anda mungkin tidak memerlukan sesuatu yang komprehensif, bergantung pada ukuran projek anda).
## Menguatkuasakan tatakelakuan anda
Kadang kala, walaupun ada usaha terbaik anda, seseorang akan melakukan sesuatu yang melanggar kod ini. Terdapat beberapa cara untuk mengatasi tingkah laku negatif atau berbahaya ketika muncul.
### Kumpulkan maklumat mengenai keadaan
Perlakukan suara setiap ahli komuniti sama pentingnya dengan suara anda. Sekiranya anda menerima laporan bahawa seseorang melanggar tatakelakuan, ambil serius dan selidiki masalah tersebut, walaupun tidak sesuai dengan pengalaman anda sendiri dengan orang itu. Melakukannya memberi isyarat kepada komuniti anda bahawa anda menghargai perspektif mereka dan mempercayai penilaian mereka.
Anggota komuniti yang berkenaan mungkin merupakan pesalah berulang yang secara konsisten membuat orang lain merasa tidak selesa, atau mereka mungkin hanya pernah mengatakan atau melakukan sesuatu sekali. Kedua-duanya boleh menjadi alasan untuk mengambil tindakan, bergantung pada konteksnya.
Sebelum anda bertindak balas, berikan masa untuk memahami apa yang berlaku. Baca komen dan perbualan orang yang lalu untuk lebih memahami siapa mereka dan mengapa mereka bertindak sedemikian. Cuba kumpulkan perspektif selain pandangan anda mengenai orang ini dan tingkah laku mereka.
### Lakukan tindakan yang sewajarnya
Setelah mengumpulkan dan memproses maklumat yang mencukupi, anda perlu memutuskan apa yang harus dilakukan. Semasa anda mempertimbangkan langkah seterusnya, ingat bahawa matlamat anda sebagai moderator adalah untuk memupuk persekitaran yang selamat, hormat, dan bekerjasama. Pertimbangkan bukan sahaja bagaimana menangani situasi yang dimaksudkan, tetapi bagaimana tindak balas anda akan mempengaruhi tingkah laku dan harapan masyarakat anda yang lain untuk terus maju.
Apabila seseorang melaporkan pelanggaran tatakelakuan, itu adalah tugas anda, bukan tugas mereka untuk mengatasinya. Kadang kala, wartawan mendedahkan maklumat yang berisiko besar terhadap kerjaya, reputasi, atau keselamatan fizikal mereka. Memaksa mereka untuk berhadapan dengan pelaku gangguan mereka dapat menempatkan wartawan dalam posisi yang berkompromi. Anda harus mengendalikan komunikasi langsung dengan orang yang berkenaan, kecuali wartawan secara terang-terangan meminta sebaliknya.
Terdapat beberapa cara untuk menanggapi pelanggaran tatakelakuan:
* **Beri amaran umum kepada orang yang dimaksudkan** dan terangkan bagaimana tingkah laku mereka memberi kesan negatif kepada orang lain, lebih baik di saluran di mana ia berlaku. Sekiranya mungkin, komunikasi awam menyampaikan kepada masyarakat lain bahawa anda memandang serius tatakelakuan. Bersikap baik, tetapi tegas dalam komunikasi anda.
* **Hubungi orang itu secara peribadi** untuk menjelaskan bagaimana tingkah laku mereka memberi kesan negatif kepada orang lain. Anda mungkin mahu menggunakan saluran komunikasi peribadi jika keadaan tersebut melibatkan maklumat peribadi yang sensitif. Sekiranya anda berkomunikasi dengan seseorang secara peribadi, adalah idea yang baik untuk menghubungi mereka yang pertama kali melaporkan keadaan, jadi mereka tahu bahawa anda telah mengambil tindakan. Minta persetujuan orang yang melapor sebelum meminta mereka.
Kadang kala, penyelesaian tidak dapat dicapai. Orang yang dimaksudkan boleh menjadi agresif atau bermusuhan ketika berhadapan atau tidak mengubah tingkah laku mereka. Dalam keadaan ini, anda mungkin ingin mempertimbangkan untuk mengambil tindakan yang lebih kuat. Sebagai contoh:
* **Tangguhkan orang yang dimaksudkan dari projek tersebut** , yang diberlakukan melalui larangan sementara untuk mengambil bahagian dalam aspek apa pun projek
* **Larangan secara kekal** orang dari projek
Melarang anggota tidak boleh dipandang ringan dan mewakili perbezaan perspektif yang tetap dan tidak dapat diselesaikan. Anda hanya harus mengambil langkah-langkah ini apabila sudah jelas bahawa penyelesaian tidak dapat dicapai.
## Tanggungjawab anda sebagai penjaga
Tata kelakuan bukanlah undang-undang yang dikuatkuasakan dengan sewenang-wenangnya. Anda adalah penguatkuasa kod tingkah laku dan menjadi tanggungjawab anda untuk mengikuti peraturan yang ditetapkan oleh kod tingkah laku.
Sebagai penjaga, anda menetapkan garis panduan untuk komuniti anda dan menguatkuasakan garis panduan tersebut sesuai dengan peraturan yang dinyatakan dalam tatakelakuan anda. Ini bermaksud memandang serius setiap laporan pelanggaran tatakelakuan. Wartawan tersebut harus meneliti aduan mereka secara menyeluruh dan adil. Sekiranya anda menentukan bahawa tingkah laku yang mereka laporkan bukanlah pelanggaran, sampaikan dengan jelas kepada mereka dan terangkan mengapa anda tidak akan mengambil tindakan terhadapnya. Apa yang mereka lakukan adalah bergantung kepada mereka: bertolak ansur dengan tingkah laku yang mereka hadapi, atau berhenti mengambil bahagian dalam komuniti.
Laporan tingkah laku yang tidak secara teknikal_ melanggar tatakelakuan mungkin masih menunjukkan bahawa terdapat masalah dalam komuniti anda, dan anda harus menyiasat potensi masalah ini dan bertindak sewajarnya. Ini mungkin termasuk menyemak semula kod tingkah laku anda untuk menjelaskan tingkah laku yang dapat diterima dan / atau berbicara dengan orang yang perilakunya dilaporkan dan memberitahu mereka bahawa walaupun mereka tidak melanggar kod tingkah laku, mereka melewati apa yang diharapkan dan memastikan peserta berasa tidak selesa.
Pada akhirnya, sebagai penjaga, anda menetapkan dan menegakkan piawaian untuk tingkah laku yang boleh diterima. Anda mempunyai kemampuan untuk membentuk nilai-nilai komuniti projek tersebut, dan para peserta mengharapkan anda untuk menerapkan nilai-nilai tersebut dengan adil dan adil.
## Galakkan tingkah laku yang anda ingin lihat di dunia 🌎
Apabila projek kelihatan bermusuhan atau tidak disenangi, walaupun hanya satu orang yang tingkah lakunya ditoleransi oleh orang lain, anda berisiko kehilangan banyak lagi penyumbang, yang mungkin tidak pernah anda temui. Tidak selalunya mudah untuk menerapkan atau menegakkan kod tingkah laku, tetapi memupuk persekitaran yang ramah akan membantu komuniti anda berkembang.
================================================
FILE: _articles/ms/finding-users.md
================================================
---
lang: ms
title: Mencari Pengguna untuk Projek Anda
description: Bantu projek sumber terbuka anda berkembang dengan mendapatkannya di tangan pengguna yang gembira.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Menyebarkan berita
Tidak ada peraturan yang mengatakan bahawa anda harus mempromosikan projek sumber terbuka semasa anda melancarkan. Terdapat banyak alasan yang memuaskan untuk bekerja di sumber terbuka yang tidak ada kaitan dengan populariti. Daripada berharap orang lain mencari dan menggunakan projek sumber terbuka anda, anda harus menyebarkan berita mengenai kerja keras anda!
## Cari tahu mesej anda
Sebelum anda memulakan kerja mempromosikan projek anda, anda seharusnya dapat menjelaskan apa yang dilakukannya dan mengapa ia penting.
Apa yang menjadikan projek anda berbeza atau menarik? Mengapa anda membuatnya? Menjawab soalan-soalan ini untuk diri sendiri akan membantu anda menyampaikan kepentingan projek anda.
Ingatlah bahawa orang terlibat sebagai pengguna, dan akhirnya menjadi penyumbang, kerana projek anda menyelesaikan masalah bagi mereka. Semasa anda memikirkan mesej dan nilai projek anda, cubalah melihatnya melalui apa yang diinginkan oleh pengguna dan penyumbang.
Sebagai contoh, @robb menggunakan contoh kod untuk menyampaikan dengan jelas mengapa projeknya, [Cartography](https://github.com/robb/Cartography), berguna:

Untuk mengetahui lebih mendalam mengenai pemesejan, periksa Mozilla["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/)latihan untuk mengembangkan personaliti pengguna.
## Bantu orang mencari dan mengikuti projek anda
Bantu orang mencari dan mengingati projek anda dengan menunjukkan mereka ke satu ruang nama.
**Mempunyai pegangan yang jelas untuk mempromosikan karya anda.** Pegangan Twitter, URL GitHub, atau saluran IRC adalah cara mudah untuk mengarahkan orang ke projek anda. Kedai-kedai ini juga memberi tempat kepada komuniti yang sedang berkembang untuk bersidang.
Sekiranya anda belum mahu menyediakan kedai untuk projek anda, promosikan pegangan Twitter atau GitHub anda sendiri dalam semua yang anda lakukan. Mempromosikan pegangan Twitter atau GitHub anda akan memberi tahu orang bagaimana menghubungi anda atau mengikuti kerja anda. Sekiranya anda bercakap di perjumpaan atau acara, pastikan maklumat hubungan anda disertakan dalam bio atau slaid anda.
**Pertimbangkan untuk membuat laman web untuk projek anda.** Laman web menjadikan projek anda lebih mesra dan lebih mudah dilayari, terutama jika dipasangkan dengan dokumentasi dan tutorial yang jelas. Mempunyai laman web juga menunjukkan bahawa projek anda aktif yang akan membuatkan penonton anda merasa lebih selesa menggunakannya. Berikan contoh untuk memberi idea kepada orang ramai tentang cara menggunakan projek anda.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), pencipta bersama Django, mengatakan bahawa laman web adalah _"sejauh ini adalah perkara terbaik yang kami lakukan dengan Django pada masa awal"_.
Sekiranya projek anda dihoskan di GitHub, anda boleh menggunakan [GitHub Pages](https://pages.github.com/) untuk membuat laman web dengan mudah. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), dan [Middleman](https://middlemanapp.com/) ialah [a few examples](https://github.com/showcases/github-pages-examples) laman web yang sangat baik dan komprehensif.

Sekarang kerana anda mempunyai mesej untuk projek anda, dan cara mudah bagi orang lain untuk mencari projek anda, mari keluar ke sana dan berbincang dengan khalayak anda!
## Pergi ke tempat penonton projek anda (dalam talian)
Jangkauan dalam talian adalah kaedah terbaik untuk berkongsi dan menyebarkan berita dengan cepat. Dengan menggunakan saluran dalam talian, anda berpotensi menjangkau khalayak yang sangat luas.
Manfaatkan komuniti dan platform dalam talian yang ada untuk menjangkau khalayak anda. Sekiranya projek sumber terbuka anda adalah projek perisian, anda mungkin dapat mencari khalayak anda [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), or [Quora](https://www.quora.com/).Cari saluran di mana anda fikir orang akan mendapat banyak faedah atau teruja dengan kerja anda.
Lihat apakah anda dapat mencari cara untuk berkongsi projek anda dengan cara yang relevan:
* **Kenali projek dan komuniti sumber terbuka yang relevan.** Kadang kala, anda tidak perlu mempromosikan projek anda secara langsung. Sekiranya projek anda sesuai untuk saintis data yang menggunakan Python, kenali komuniti sains data Python. Apabila orang mengenali anda, peluang semula jadi akan timbul untuk membincangkan dan berkongsi kerja anda.
* **Cari orang yang mengalami masalah yang diselesaikan oleh projek anda.** Cari melalui forum yang berkaitan untuk orang yang menjadi sasaran khalayak projek anda. Jawab soalan mereka dan cari cara yang bijaksana, bila sesuai, untuk mencadangkan projek anda sebagai jalan penyelesaian.
* **Minta maklum balas.** Perkenalkan diri anda dan karya anda kepada penonton yang menganggapnya relevan dan menarik. Jadilah spesifik mengenai siapa yang anda fikir akan mendapat manfaat daripada projek anda. Cuba selesaikan ayat: _"Saya rasa projek saya akan benar-benar membantu X, yang berusaha melakukan Y_". Dengarkan dan balas maklum balas orang lain, bukan sekadar mempromosikan karya anda.
Secara umumnya, fokus menolong orang lain sebelum meminta sesuatu sebagai balasan. Kerana sesiapa sahaja dapat mempromosikan projek dalam talian dengan mudah, akan ada banyak kebisingan. Untuk menonjol dari orang ramai, beri orang konteks untuk siapa anda dan bukan hanya yang anda mahukan.
Sekiranya tidak ada yang memberi perhatian atau menanggapi jangkauan awal anda, jangan putus asa! Sebilangan besar pelancaran projek adalah proses berulang yang boleh memakan masa berbulan-bulan atau bertahun-tahun. Sekiranya anda tidak mendapat sambutan pada kali pertama, cubalah taktik lain, atau cari cara untuk menambah nilai pekerjaan orang lain terlebih dahulu. Mempromosikan dan melancarkan projek anda memerlukan masa dan dedikasi.
## Pergi ke tempat penonton projek anda (luar talian)

Acara luar talian adalah kaedah popular untuk mempromosikan projek baru kepada khalayak. Mereka adalah kaedah yang baik untuk menjangkau khalayak yang terlibat dan membina hubungan manusia yang lebih mendalam, terutamanya jika anda berminat untuk menjangkau pembangun.
Jika anda [new to public speaking](https://speaking.io/), mulakan dengan mencari pertemuan tempatan yang berkaitan dengan bahasa atau ekosistem projek anda.
Sekiranya anda tidak pernah bercakap di acara sebelumnya, adalah normal untuk merasa gementar! Ingatlah bahawa khalayak anda hadir kerana mereka benar-benar ingin mendengar tentang karya anda.
Semasa anda menulis ceramah anda, tumpukan perhatian kepada perkara yang menarik dan menarik perhatian penonton anda. Pastikan bahasa anda mesra dan mudah didekati. Senyum, bernafas, dan bersenang-senang.
Apabila anda merasa bersedia, pertimbangkan untuk bercakap di persidangan untuk mempromosikan projek anda. Persidangan dapat membantu anda menjangkau lebih banyak orang, kadang-kadang dari seluruh dunia.
Cari persidangan yang khusus untuk bahasa atau ekosistem anda. Sebelum anda menyampaikan ceramah anda, selidiki persidangan untuk menyesuaikan ceramah anda untuk hadirin dan tingkatkan peluang anda untuk diterima untuk bercakap di persidangan. Anda sering dapat mengetahui penonton anda dengan melihat penceramah persidangan.
## Membangun reputasi
Sebagai tambahan kepada strategi yang dinyatakan di atas, cara terbaik untuk mengajak orang untuk berkongsi dan menyumbang kepada projek anda adalah dengan berkongsi dan menyumbang kepada projek mereka.
Membantu pendatang baru, berkongsi sumber, dan memberikan sumbangan yang teliti untuk projek orang lain akan membantu anda membina reputasi positif. Menjadi ahli yang aktif dalam komuniti sumber terbuka akan membantu orang mempunyai konteks untuk pekerjaan anda dan lebih cenderung untuk memberi perhatian dan berkongsi projek anda. Membangun hubungan dengan projek sumber terbuka yang lain malah boleh menjalin kerjasama rasmi.
Tidak terlalu awal, atau terlambat, untuk mula membina reputasi anda Walaupun anda sudah melancarkan projek anda sendiri, teruskan mencari cara untuk menolong orang lain.
Tidak ada penyelesaian semalam untuk membina penonton. Memperoleh kepercayaan dan penghormatan orang lain memerlukan masa, dan membina reputasi anda tidak akan pernah berakhir.
## Terus!
Mungkin memerlukan masa yang lama sebelum orang melihat projek sumber terbuka anda. Tak mengapa! Beberapa projek yang paling popular hari ini mengambil masa bertahun-tahun untuk mencapai tahap aktiviti yang tinggi. Fokus pada membina hubungan dan bukannya berharap projek anda mendapat populariti secara spontan. Bersabarlah, dan teruskan berkongsi karya anda dengan mereka yang menghargainya.
================================================
FILE: _articles/ms/getting-paid.md
================================================
---
lang: ms
title: Mendapat Bayaran untuk Kerja Sumber Terbuka
description: Pertahankan kerja anda dalam sumber terbuka dengan mendapatkan sokongan kewangan untuk masa atau projek anda.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Mengapa sebilangan orang meminta sokongan kewangan
Sebilangan besar kerja sumber terbuka adalah sukarela. Sebagai contoh, seseorang mungkin menemui bug dalam projek yang mereka gunakan dan mengirimkan perbaikan cepat, atau mereka mungkin senang bermain-main dengan projek sumber terbuka di masa lapang mereka.
Terdapat banyak sebab mengapa seseorang tidak mahu dibayar untuk pekerjaan sumber terbuka mereka.
* **Mereka mungkin sudah mempunyai pekerjaan sepenuh masa yang mereka sukai,** yang membolehkan mereka menyumbang kepada sumber terbuka pada masa lapang.
* **Mereka gemar memikirkan sumber terbuka sebagai hobi** atau melarikan diri secara kreatif dan tidak ingin merasa berkewajiban dari segi kewangan untuk mengerjakan projek mereka.
* **Mereka mendapat faedah lain dari memberikan sumbangan kepada sumber terbuka,** seperti membangun reputasi atau portfolio mereka, mempelajari kemahiran baru, atau merasa lebih dekat dengan komuniti.
Bagi yang lain, terutamanya ketika sumbangan sedang berlangsung atau memerlukan masa yang besar, bayaran untuk menyumbang kepada sumber terbuka adalah satu-satunya cara mereka dapat mengambil bahagian, sama ada kerana projek itu memerlukannya, atau atas sebab peribadi.
Menyelenggara projek popular boleh menjadi tanggungjawab yang besar, memakan masa 10 atau 20 jam seminggu dan bukannya beberapa jam sebulan.
Pekerjaan bergaji juga membolehkan orang dari pelbagai lapisan masyarakat memberikan sumbangan yang bermakna. Sebilangan orang tidak mampu meluangkan masa yang belum dibayar untuk projek sumber terbuka, berdasarkan kedudukan kewangan semasa, hutang, atau keluarga atau kewajipan menjaga mereka yang lain. Ini bermakna dunia tidak pernah melihat sumbangan daripada orang-orang berbakat yang tidak dapat meluangkan masa mereka secara sukarela. Ini mempunyai implikasi etika, seperti @ashedryden [has described](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), kerana pekerjaan yang dilakukan berat sebelah memihak kepada mereka yang sudah mempunyai kelebihan dalam hidup, yang kemudian memperoleh kelebihan tambahan berdasarkan sumbangan sukarelawan mereka, sementara yang lain yang tidak dapat menjadi sukarelawan kemudian tidak mendapat peluang kemudian, yang memperkuat saat ini kekurangan kepelbagaian dalam komuniti sumber terbuka.
Sekiranya anda mencari sokongan kewangan, ada dua jalan yang perlu dipertimbangkan. Anda boleh membiayai masa anda sendiri sebagai penyumbang, atau anda dapat mencari dana organisasi untuk projek tersebut.
## Membiayai masa anda sendiri
Hari ini, banyak orang dibayar untuk bekerja secara sambilan atau sepenuh masa di sumber terbuka. Cara yang paling biasa untuk dibayar untuk masa anda adalah dengan berbincang dengan majikan anda.
Lebih mudah untuk membuat kes untuk kerja sumber terbuka jika majikan anda benar-benar menggunakan projek ini, tetapi kreatif dengan usaha anda. Mungkin majikan anda tidak menggunakan projek itu, tetapi mereka menggunakan Python, dan mengekalkan projek Python yang popular membantu menarik pemaju Python baru. Mungkin itu menjadikan majikan anda kelihatan lebih mesra pemaju secara amnya.
Sekiranya anda tidak mempunyai projek sumber terbuka yang sedia ada, anda ingin mengusahakannya, tetapi lebih suka bahawa hasil kerja anda sekarang bersumber terbuka, buatlah majikan anda membuka sumber perisian dalaman mereka.
Banyak syarikat sedang mengembangkan program sumber terbuka untuk membina jenama mereka dan merekrut bakat berkualiti.
@hueniverse, misalnya, mendapati bahawa ada alasan kewangan untuk membenarkannya [Walmart's investment in open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). Dan @jamesgpearce mendapati bahawa program sumber terbuka Facebook [made a difference](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) dalam merekrut:
> Ini sejalan dengan budaya penggodam kami, dan bagaimana organisasi kami dirasakan. Kami bertanya kepada pekerja kami, "Adakah anda mengetahui program perisian sumber terbuka di Facebook?". Dua pertiga berkata "Ya". Separuh mengatakan bahawa program ini memberi sumbangan positif kepada keputusan mereka untuk bekerja untuk kita. Ini bukan angka marginal, dan saya harap, trend yang berterusan.
Sekiranya syarikat anda melalui laluan ini, penting untuk menjaga batas antara aktiviti komuniti dan syarikat. Pada akhirnya, sumber terbuka mempertahankan dirinya melalui sumbangan daripada orang di seluruh dunia, dan itu lebih besar daripada satu syarikat atau lokasi mana pun.
Sekiranya anda tidak dapat meyakinkan majikan anda untuk memprioritaskan pekerjaan sumber terbuka, pertimbangkan untuk mencari majikan baru yang mendorong sumbangan pekerja kepada sumber terbuka. Cari syarikat yang membuat dedikasi mereka untuk kerja sumber terbuka secara eksplisit. Sebagai contoh:
* Beberapa syarikat, seperti [Netflix](https://netflix.github.io/), mempunyai laman web yang menonjolkan penglibatan mereka dalam sumber terbuka
Projek yang berasal dari syarikat besar, seperti [Go](https://github.com/golang) atau [React](https://github.com/facebook/react), kemungkinan juga akan menggaji orang untuk bekerja di sumber terbuka.
Bergantung pada keadaan peribadi anda, anda boleh mencuba mengumpulkan wang secara bebas untuk membiayai kerja sumber terbuka anda. Sebagai contoh:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon membiayai kerjanya [Redux](https://github.com/reactjs/redux) melalui [Patreon crowdfunding campaign](https://redux.js.org/)
* @andrewgodwin membiayai kerja migrasi skema Django [through a Kickstarter campaign](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
Akhirnya, kadang-kadang projek sumber terbuka memberi banyak manfaat kepada masalah yang mungkin anda pertimbangkan untuk membantu.
* @ConnorChristie dapat dibayar[helping](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol berfungsi di perpustakaan JavaScript mereka [through a bounty on gitcoin](https://gitcoin.co/).
* @mamiM melakukan terjemahan Jepun untuk @MetaMask selepas [issue was funded on Bounties Network](https://explorer.bounties.network/bounty/134).
## Mencari dana untuk projek anda
Di luar pengaturan untuk penyumbang individu, kadang-kadang projek mengumpulkan wang dari syarikat, individu, atau yang lain untuk membiayai kerja yang sedang berjalan.
Pembiayaan organisasi mungkin dilakukan untuk membayar penyumbang semasa, meliputi kos menjalankan projek (seperti biaya hosting), atau melabur ke dalam ciri atau idea baru.
Apabila populariti sumber terbuka meningkat, mencari dana untuk projek masih eksperimen, tetapi ada beberapa pilihan umum yang tersedia.
### Kumpulkan wang untuk pekerjaan anda melalui kempen crowdfunding atau tajaan
Mencari tajaan berfungsi dengan baik jika anda sudah mempunyai khalayak atau reputasi yang kuat, atau projek anda sangat popular.
Beberapa contoh projek yang ditaja termasuk:
* **[webpack](https://github.com/webpack)** raises money from companies and individuals [through OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** organisasi bukan untung yang membayar untuk bekerja [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), dan projek infrastruktur Ruby yang lain
### Buat aliran pendapatan
Bergantung pada projek anda, anda mungkin dapat mengenakan bayaran untuk sokongan komersial, pilihan yang dihoskan, atau ciri tambahan. Beberapa contoh termasuk:
* **[Sidekiq](https://github.com/mperham/sidekiq)** menawarkan versi berbayar untuk sokongan tambahan
* **[Travis CI](https://github.com/travis-ci)** menawarkan versi berbayar produknya
* **[Ghost](https://github.com/TryGhost/Ghost)** is a nonprofit with a paid managed service
Beberapa projek popular, seperti [npm](https://github.com/npm/cli) and [Docker](https://github.com/docker/docker),malah mengumpulkan modal teroka untuk menyokong pertumbuhan perniagaan mereka.
### Memohon pembiayaan geran
Beberapa yayasan dan syarikat perisian menawarkan geran untuk kerja sumber terbuka. Kadang kala, geran boleh dibayar kepada individu tanpa menubuhkan entiti undang-undang untuk projek tersebut.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** menerima geran dari [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)**kerja dibiayai oleh[Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** menerima geran dari[Sloan Foundation](https://sloan.org/programs/digital-technology)
* The **[Python Software Foundation](https://www.python.org/psf/grants/)** offers grants for Python-related work
Untuk pilihan dan kajian kes yang lebih terperinci, @nayafia [wrote a guide](https://github.com/nayafia/lemonade-stand) mendapat bayaran untuk kerja sumber terbuka. Jenis pembiayaan yang berbeza memerlukan kemahiran yang berbeza, jadi pertimbangkan kekuatan anda untuk mengetahui pilihan mana yang paling sesuai untuk anda.
## Membangun kes untuk sokongan kewangan
Sama ada projek anda adalah idea baru, atau sudah ada selama bertahun-tahun, anda harus meletakkan pemikiran penting untuk mengenal pasti sasaran anda dan membuat kes yang menarik.
Sama ada anda ingin membayar untuk masa anda sendiri, atau mengumpul dana untuk projek, anda seharusnya dapat menjawab soalan berikut.
### Kesan
Mengapa projek ini berguna? Mengapa pengguna anda, atau calon pengguna, sangat menyukainya? Di mana ia akan berada dalam lima tahun?
### Daya tarikan
Cuba kumpulkan bukti bahawa projek anda penting, sama ada metrik, anekdot, atau testimoni. Adakah terdapat syarikat atau orang terkenal yang menggunakan projek anda sekarang? Sekiranya tidak, adakah orang ternama menyokongnya?
### Nilai untuk pengembara
Pemberi dana, sama ada majikan anda atau yayasan pemberian dana, sering didekati dengan peluang. Mengapa mereka harus menyokong projek anda berbanding peluang lain? Bagaimana mereka mendapat keuntungan secara peribadi?
### Penggunaan dana
Apa sebenarnya yang akan anda capai dengan dana yang dicadangkan? Fokus pada pencapaian projek atau hasil daripada membayar gaji.
### Bagaimana anda akan menerima dana
Adakah pemegang dana mempunyai keperluan sekitar pengeluaran? Sebagai contoh, anda mungkin perlu menjadi bukan untung atau mempunyai penaja fiskal bukan untung. Atau mungkin dana mesti diberikan kepada kontraktor individu dan bukannya organisasi. Keperluan ini berbeza antara pemberi dana, jadi pastikan anda melakukan penyelidikan terlebih dahulu.
## Eksperimen dan jangan menyerah
Mengumpulkan wang tidak mudah, sama ada anda projek sumber terbuka, bukan untung, atau permulaan perisian, dan dalam kebanyakan kes memerlukan anda untuk kreatif. Mengenal pasti bagaimana anda mahu dibayar, melakukan penyelidikan anda, dan meletakkan diri anda di kasut penyokong anda akan membantu anda membina kes pembiayaan yang meyakinkan.
================================================
FILE: _articles/ms/how-to-contribute.md
================================================
---
lang: ms
title: Cara Menyumbang kepada Sumber Terbuka
description: Ingin menyumbang kepada sumber terbuka? Panduan untuk membuat sumbangan sumber terbuka, untuk pertama kali dan untuk veteran.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Why contribute to open source?
Menyumbang kepada sumber terbuka boleh menjadi kaedah yang bermanfaat untuk belajar, mengajar, dan membina pengalaman dalam apa sahaja kemahiran yang dapat anda bayangkan.
Mengapa orang menyumbang kepada sumber terbuka? Banyak sebab!
### Perbaiki perisian yang anda percayai
Banyak penyumbang sumber terbuka bermula dengan menjadi pengguna perisian yang mereka sumbangkan. Apabila anda menemui bug dalam perisian sumber terbuka yang anda gunakan, anda mungkin ingin melihat sumbernya untuk melihat apakah anda boleh menambalnya sendiri. Sekiranya demikian, menyumbang kembali adalah cara terbaik untuk memastikan bahawa rakan anda (dan anda sendiri semasa anda mengemas kini ke keluaran seterusnya) akan dapat memanfaatkannya.
### Meningkatkan kemahiran yang ada
Sama ada pengekodan, reka bentuk antara muka pengguna, reka bentuk grafik, penulisan, atau penyusunan, jika anda mencari latihan, ada tugas untuk anda dalam projek sumber terbuka.
### Berjumpa dengan orang yang berminat dengan perkara serupa
Projek sumber terbuka dengan komuniti yang mesra dan mesra membuatkan orang kembali bertahun-tahun. Banyak orang menjalin persahabatan sepanjang hayat melalui penyertaan mereka dalam sumber terbuka, sama ada ia saling bertemu di persidangan atau sembang dalam talian lewat malam mengenai burrito.
### Cari mentor dan ajar orang lain
Bekerja dengan orang lain dalam projek bersama bermaksud anda harus menerangkan bagaimana anda melakukan sesuatu, dan juga meminta bantuan orang lain. Tindakan belajar dan mengajar boleh menjadi aktiviti yang memuaskan bagi semua orang yang terlibat.
### Bina artifak awam yang membantu anda mengembangkan reputasi (dan kerjaya)
Secara definisi, semua karya sumber terbuka anda bersifat umum, yang bermaksud anda mendapat contoh percuma untuk dibawa ke mana sahaja sebagai demonstrasi mengenai apa yang boleh anda lakukan.
### Pelajari kemahiran orang
Sumber terbuka menawarkan peluang untuk mempraktikkan kepemimpinan dan kemahiran pengurusan, seperti menyelesaikan konflik, mengatur pasukan orang, dan mengutamakan pekerjaan.
### Memberi kuasa untuk dapat membuat perubahan, walaupun yang kecil
Anda tidak perlu menjadi penyumbang seumur hidup untuk menikmati berpartisipasi dalam sumber terbuka. Adakah anda pernah melihat kesalahan ketik di laman web, dan berharap ada yang memperbaikinya? Pada projek sumber terbuka, anda boleh melakukannya. Sumber terbuka membantu orang-orang merasa bebas sepanjang hidup mereka dan bagaimana mereka mengalami dunia, dan itu sendiri sangat memuaskan.
## Apa maksudnya menyumbang
Sekiranya anda penyumbang sumber terbuka baru, prosesnya boleh menakutkan. Bagaimana anda mencari projek yang betul? Bagaimana jika anda tidak tahu bagaimana membuat kod? Bagaimana jika ada yang salah?
Tidak perlu risau! Terdapat pelbagai cara untuk terlibat dengan projek sumber terbuka, dan beberapa petua akan membantu anda memanfaatkan sepenuhnya pengalaman anda.
### Anda tidak perlu menyumbang kod
Kesalahpahaman umum mengenai menyumbang kepada sumber terbuka ialah anda perlu menyumbang kod. Sebenarnya, selalunya bahagian lain dari projek itu [most neglected or overlooked](https://github.com/blog/2195-the-shape-of-open-source). Anda akan melaksanakan projek ini dengan menawarkan banyak sumbangan seperti ini!
Walaupun anda suka menulis kod, jenis sumbangan lain adalah kaedah terbaik untuk terlibat dengan projek dan bertemu dengan ahli komuniti lain. Membina hubungan tersebut akan memberi anda peluang untuk bekerja di bahagian lain projek.
### Adakah anda suka merancang acara?
* Mengadakan bengkel atau pertemuan mengenai projek tersebut,[like @fzamperin did for NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Mengatur persidangan projek (jika ada)
* Membantu ahli komuniti mencari persidangan yang tepat dan mengemukakan cadangan untuk bercakap
### Adakah anda suka merancang?
* Susun semula susun atur untuk meningkatkan kebolehgunaan projek
* Lakukan penyelidikan pengguna untuk menyusun semula dan menyempurnakan navigasi atau menu projek,[like Drupal suggests](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Kumpulkan panduan gaya untuk membantu projek mempunyai reka bentuk visual yang konsisten
* Buat seni untuk t-shirt atau logo baru,[like hapi.js's contributors did](https://github.com/hapijs/contrib/issues/68)
### Adakah anda suka menulis?
* Tulis dan perbaiki dokumentasi projek
* Buat folder contoh yang menunjukkan bagaimana projek itu digunakan
* Mulakan buletin untuk projek ini, atau pilih sorotan dari senarai surat
* Tulis tutorial untuk projek itu,[like PyPA's contributors did](https://packaging.python.org/)
* Tulis terjemahan untuk dokumentasi projek
### Adakah anda suka mengatur?
* Pautkan ke masalah pendua, dan cadangkan label terbitan baru, agar segala sesuatu tetap teratur
* Selesaikan masalah terbuka dan cadangkan tutup yang lama,[like @nzakas did for ESLint](https://github.com/eslint/eslint/issues/6765)
*Tanyakan penjelasan mengenai isu yang baru dibuka untuk memajukan perbincangan
### Adakah anda suka membuat kod?
* Cari masalah terbuka untuk mengatasi, [like @dianjin did for Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
*Tanya sama ada anda dapat membantu menulis ciri baru
* Automatik penyediaan projek
* Meningkatkan perkakas dan ujian
### Adakah anda suka menolong orang?
* Jawab soalan mengenai projek seperti, Stack Overflow([like this Postgres example](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) or Reddit
*Jawab soalan untuk orang yang mempunyai masalah terbuka
* Bantu menyederhanakan papan perbincangan atau saluran perbualan
### Adakah anda suka menolong orang lain membuat kod?
* Semak kod pada kiriman orang lain
* Tulis tutorial bagaimana projek dapat digunakan
* Tawaran untuk mentor penyumbang lain,[like @ereichert did for @bronzdoc on Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Anda tidak hanya perlu mengerjakan projek perisian!
Walaupun "sumber terbuka" sering merujuk kepada perisian, anda boleh berkolaborasi dengan apa sahaja. Terdapat buku, resipi, senarai, dan kelas yang dikembangkan sebagai projek sumber terbuka.
Sebagai contoh:
* @sindresorhus kurate [list of "awesome" lists](https://github.com/sindresorhus/awesome)
* @h5bp mengekalkan [list of potential interview questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions) untuk calon pemaju depan
* @stuartlynn dan @nicole-a-tesla dibuat [collection of fun facts about puffins](https://github.com/stuartlynn/puffin_facts)
Walaupun anda seorang pembangun perisian, mengerjakan projek dokumentasi dapat membantu anda memulakan sumber terbuka. Selalunya kurang menakutkan untuk mengerjakan projek yang tidak melibatkan kod, dan proses kolaborasi akan membina keyakinan dan pengalaman anda.
## Mengarahkan diri anda ke projek baru
Untuk apa-apa yang lebih daripada kesalahan typo, menyumbang kepada sumber terbuka adalah seperti berjalan ke sekumpulan orang asing di pesta. Sekiranya anda mula bercakap tentang llamas, semasa mereka sedang dalam perbincangan mengenai ikan mas, mereka mungkin akan melihat anda sedikit aneh.
Sebelum melompat secara membabi buta dengan cadangan anda sendiri, mulailah dengan belajar membaca ruangan. Melakukannya meningkatkan peluang idea anda diperhatikan dan didengar.
### Anatomi projek sumber terbuka
Setiap komuniti sumber terbuka berbeza.
Menghabiskan bertahun-tahun untuk satu projek sumber terbuka bermakna anda telah mengetahui satu projek sumber terbuka. Pindah ke projek lain, dan anda mungkin mendapati perbendaharaan kata, norma, dan gaya komunikasi sama sekali berbeza.
Yang mengatakan, banyak projek sumber terbuka mengikuti struktur organisasi yang serupa. Memahami peranan masyarakat dan proses keseluruhan akan membantu anda berorientasi dengan cepat ke mana-mana projek baru.
Projek sumber terbuka khas mempunyai jenis orang berikut:
* **Pengarang:** Orang atau organisasi yang membuat projek
* **Pemilik:** Orang yang mempunyai hak milik pentadbiran ke atas organisasi atau repositori (tidak selalu sama dengan pengarang asal)
* **Penyelenggara:** Penyumbang yang bertanggungjawab memacu visi dan mengurus aspek organisasi projek (Mereka juga mungkin pengarang atau pemilik projek.)
* **Penyumbang:** Semua orang yang telah menyumbang sesuatu untuk projek ini
* **Anggota Komuniti:** Orang yang menggunakan projek. Mereka mungkin aktif dalam perbualan atau menyatakan pendapat mereka mengenai arah projek
Projek yang lebih besar mungkin juga mempunyai jawatankuasa kecil atau kumpulan kerja yang berfokus pada tugas yang berbeza, seperti perkakas, percobaan, penyederhanaan masyarakat, dan pengorganisasian acara. Lihat di laman web projek untuk halaman "pasukan", atau di repositori untuk dokumentasi tadbir urus, untuk mendapatkan maklumat ini.
Projek juga mempunyai dokumentasi. Fail-fail ini biasanya disenaraikan di tingkat atas repositori.
* **LICENSE:** Secara definisi, setiap projek sumber terbuka mesti mempunyai[open source license](https://choosealicense.com).Sekiranya projek itu tidak mempunyai lesen, ia bukan sumber terbuka.
* **README:** README adalah manual arahan yang mengalu-alukan ahli komuniti baru untuk projek ini. Ia menerangkan mengapa projek ini berguna dan bagaimana memulakannya.
* **CONTRIBUTING:** Manakala README membantu orang _menggunakan projek, menyumbang dokumen membantu orang _memberi sumbangan_ dalam projek. Ia menerangkan jenis sumbangan apa yang diperlukan dan bagaimana prosesnya berjalan. Walaupun tidak setiap projek mempunyai fail CONTRIBUTING, kehadirannya memberi isyarat bahawa ini adalah projek yang dapat disumbangkan.
* **CODE_OF_CONDUCT:** Kod tingkah laku menetapkan peraturan asas untuk tingkah laku peserta yang berkaitan dan membantu mempermudah persekitaran yang ramah dan mesra. Walaupun tidak setiap projek mempunyai fail CODE_OF_CONDUCT, kehadirannya menunjukkan bahawa ini adalah projek yang baik untuk disumbangkan.
* **Other documentation:** Mungkin ada dokumentasi tambahan, seperti tutorial, panduan, atau dasar pemerintahan, terutama pada proyek yang lebih besar.
Akhirnya, projek sumber terbuka menggunakan alat berikut untuk mengatur perbincangan. Membaca arkib akan memberi anda gambaran yang baik tentang bagaimana masyarakat berfikir dan berfungsi.
* **Issue tracker:** Di mana orang membincangkan masalah yang berkaitan dengan projek.
* **Pull requests:** Tempat orang membincangkan dan mengkaji perubahan yang sedang dilakukan.
* **Discussion forums or mailing lists:** Beberapa projek mungkin menggunakan saluran ini untuk topik perbualan (misalnya, _"Bagaimana saya ..."_ atau _"Apa pendapat anda tentang ..."_ bukannya laporan pepijat atau permintaan ciri). Yang lain menggunakan pelacak masalah untuk semua perbualan.
* **Synchronous chat channel:** Beberapa projek menggunakan saluran sembang (seperti Slack atau IRC) untuk perbualan santai, kolaborasi, dan pertukaran cepat.
## Mencari projek untuk disumbangkan
Sekarang setelah anda mengetahui bagaimana projek sumber terbuka berfungsi, inilah masanya untuk mencari projek untuk disumbangkan!
Sekiranya anda tidak pernah menyumbang kepada sumber terbuka sebelumnya, dapatkan nasihat Presiden A.S. John F. Kennedy, yang pernah berkata, _"Jangan tanya apa yang boleh dilakukan oleh negara anda untuk anda - tanyakan apa yang boleh anda lakukan untuk negara anda."_
Menyumbang kepada sumber terbuka berlaku di semua peringkat, di semua projek. Anda tidak perlu terlalu memikirkan apa sebenarnya sumbangan pertama anda, atau bagaimana bentuknya.
Sebaliknya, mulakan dengan memikirkan projek yang sudah anda gunakan, atau mahu gunakan. Projek yang akan anda sumbangkan secara aktif adalah projek yang anda mahukan.
Dalam projek-projek itu, setiap kali anda merasa berfikir bahawa sesuatu boleh menjadi lebih baik atau berbeza, bertindaklah mengikut naluri anda.
Sumber terbuka bukan kelab eksklusif; ia dibuat oleh orang seperti anda. "Sumber terbuka" hanyalah istilah yang baik untuk menangani masalah dunia sebagai penyelesaian.
Anda mungkin mengimbas README dan mencari pautan yang rosak atau kesalahan ketik. Atau anda pengguna baru dan anda melihat ada sesuatu yang rosak, atau masalah yang anda fikirkan semestinya ada dalam dokumentasi. Daripada mengabaikannya dan terus bergerak, atau meminta orang lain untuk memperbaikinya, lihat sama ada anda dapat membantu dengan memasukkan masuk. Itulah sumber terbuka!
> [28% of casual contributions](https://www.igor.pro.br/publica/papers/saner2016.pdf) untuk sumber terbuka adalah dokumentasi, seperti kesalahan ketik, memformat semula, atau menulis terjemahan.
Sekiranya anda mencari masalah yang ada yang dapat anda perbaiki, setiap projek sumber terbuka mempunyai `/contribute`halaman yang menyoroti masalah mesra pemula yang boleh anda mulakan. Navigasi ke halaman utama repositori di GitHub, dan tambahkan `/contribute` di hujung URL (for example [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
Anda juga boleh menggunakan salah satu sumber berikut untuk membantu anda menemui dan menyumbang kepada projek baru:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Senarai semak sebelum anda menyumbang
Apabila anda menemui projek yang ingin anda sumbangkan, lakukan imbasan pantas untuk memastikan bahawa projek tersebut sesuai untuk menerima sumbangan. Jika tidak, kerja keras anda mungkin tidak akan mendapat sambutan.
Berikut adalah senarai semak yang berguna untuk menilai sama ada projek itu baik untuk penyumbang baru.
**Memenuhi definisi sumber terbuka**
**Projek secara aktif menerima sumbangan**
Lihat aktiviti komit di cawangan induk. Di GitHub, anda dapat melihat maklumat ini di laman utama repositori.
Seterusnya, perhatikan masalah projek.
Sekarang lakukan perkara yang sama untuk permintaan tarikan projek.
**Projek dialu-alukan**
Projek yang mesra dan mesra memberi isyarat bahawa mereka akan menerima penyumbang baru.
## Cara menghantar sumbangan
Anda telah menjumpai projek yang anda suka, dan anda sudah bersedia untuk memberikan sumbangan. Akhirnya! Inilah cara mendapatkan sumbangan anda dengan cara yang betul.
### Berkomunikasi dengan berkesan
Sama ada anda penyumbang sekali atau cuba menyertai komuniti, bekerja dengan orang lain adalah salah satu kemahiran terpenting yang akan anda kembangkan dalam sumber terbuka.
Sebelum anda membuka masalah atau menarik permintaan, atau mengajukan soalan dalam sembang, ingatlah perkara ini untuk membantu idea anda disampaikan dengan berkesan.
**Beri konteks.** Bantu orang lain dengan pantas. Sekiranya anda mengalami ralat, jelaskan apa yang anda cuba lakukan dan bagaimana menghasilkannya. Sekiranya anda mencadangkan idea baru, jelaskan mengapa anda berpendapat bahawa ia berguna untuk projek ini (bukan hanya untuk anda!).
> 😇 _"X tidak berlaku semasa saya melakukan Y"_
>
> 😢 _"X rosak! Sila perbaiki."_
**Lakukan kerja rumah anda terlebih dahulu.** Tidak perlu mengetahui apa-apa, tetapi tunjukkan bahawa anda telah mencuba. Sebelum meminta bantuan, pastikan untuk memeriksa README, dokumentasi, masalah (terbuka atau tertutup), senarai mel, dan cari di internet untuk mendapatkan jawapan. Orang akan menghargai apabila anda menunjukkan bahawa anda cuba belajar.
> 😇 _"Saya tidak pasti bagaimana melaksanakan X. Saya memeriksa dokumen bantuan dan tidak menemui sebutan."_
>
> 😢 _"Bagaimana saya X?"_
**Jauhkan permintaan pendek dan langsung.** Sama seperti menghantar e-mel, setiap sumbangan, tidak kira seberapa sederhana atau bermanfaat, memerlukan ulasan orang lain. Banyak projek mempunyai lebih banyak permintaan masuk daripada orang yang ada untuk membantu. Bersikap ringkas. Anda akan meningkatkan peluang seseorang dapat menolong anda.
> 😇 _"Saya ingin menulis tutorial API."_
>
> 😢 _"Saya memandu di jalan raya pada suatu hari dan berhenti untuk mencari minyak, dan kemudian saya mempunyai idea yang luar biasa ini untuk sesuatu yang seharusnya kita lakukan, tetapi sebelum saya menerangkannya, izinkan saya menunjukkan kepada anda ..."_
**Jauhkan semua komunikasi untuk umum.** Walaupun menggoda, jangan menghubungi penyelenggara secara tertutup kecuali anda perlu berkongsi maklumat sensitif (seperti masalah keselamatan atau pelanggaran tingkah laku serius). Apabila perbualan anda tetap terbuka, lebih ramai orang dapat belajar dan mendapat faedah daripada pertukaran anda. Perbincangan boleh menjadi sumbangan mereka sendiri.
> 😇 _(sebagai komen) "@ -maintainer Hai! Bagaimana kita harus meneruskan PR ini?"_
>
> 😢 _(sebagai e-mel) "Hai, maaf kerana mengganggu anda melalui e-mel, tetapi saya tertanya-tanya adakah anda berpeluang untuk mengkaji semula PR saya"_
**Tidak apa-apa untuk mengemukakan soalan (tetapi bersabarlah!).** Semua orang baru dalam projek ini pada satu ketika, dan bahkan penyumbang yang berpengalaman perlu terus maju ketika mereka melihat projek baru. Dengan cara yang sama, penyelenggara lama juga tidak selalu mengenal setiap bahagian projek. Tunjukkan kepada mereka kesabaran yang sama seperti yang anda mahukan kepada mereka.
> 😇 _"Terima kasih kerana melihat ralat ini. Saya mengikuti cadangan anda. Inilah hasilnya."_
>
> 😢 _"Mengapa anda tidak dapat menyelesaikan masalah saya? Bukankah ini projek anda?"_
**Hormati keputusan masyarakat.** Idea anda mungkin berbeza dengan keutamaan atau visi masyarakat. Mereka mungkin memberikan maklum balas atau memutuskan untuk tidak meneruskan idea anda. Walaupun anda harus berbincang dan mencari kompromi, penyelenggara harus mematuhi keputusan anda lebih lama daripada yang anda mahukan. Sekiranya anda tidak bersetuju dengan arahan mereka, anda sentiasa boleh menggunakan garpu anda sendiri atau memulakan projek anda sendiri.
> 😇 _"Saya kecewa anda tidak dapat menyokong kes penggunaan saya, tetapi seperti yang anda jelaskan, ini hanya mempengaruhi sebahagian kecil pengguna, saya faham mengapa. Terima kasih kerana mendengar."_
>
> 😢 _"Mengapa anda tidak menyokong kes penggunaan saya? Ini tidak boleh diterima!"_
**Yang terpenting, jaga agar tetap berkelas.** Sumber terbuka terdiri daripada kolaborator dari seluruh dunia. Konteks hilang di seluruh bahasa, budaya, geografi, dan zon waktu. Di samping itu, komunikasi bertulis menjadikannya lebih sukar untuk menyampaikan nada atau mood. Anggap niat baik dalam perbualan ini. Adalah baik untuk menolak idea dengan sopan, meminta lebih banyak konteks, atau memperjelas kedudukan anda. Cubalah tinggalkan internet di tempat yang lebih baik daripada ketika anda menjumpainya.
### Mengumpulkan konteks
Sebelum melakukan apa-apa, lakukan pemeriksaan cepat untuk memastikan idea anda tidak dibincangkan di tempat lain. Skim README projek, isu (terbuka dan tertutup), senarai mel, dan Stack Overflow. Anda tidak perlu menghabiskan berjam-jam untuk menyelesaikan segala-galanya, tetapi pencarian pantas untuk beberapa istilah utama sangat membantu.
Sekiranya anda tidak menemui idea anda di tempat lain, anda sudah bersedia untuk bergerak. Sekiranya projek tersebut berada di GitHub, anda mungkin akan berkomunikasi dengan membuka masalah atau menarik permintaan:
* **Masalah** seperti memulakan perbualan atau perbincangan
* **Permintaan tarik** adalah untuk memulakan kerja penyelesaian
* **Untuk komunikasi ringan,** seperti penjelasan atau pertanyaan bagaimana, cuba tanyakan pada Stack Overflow, IRC, Slack, atau saluran sembang lain, jika projek tersebut memiliki satu
Sebelum anda membuka masalah atau menarik permintaan, periksa dokumen penyumbang projek (biasanya fail yang disebut CONTRIBUTING, atau di README), untuk melihat sama ada anda perlu memasukkan sesuatu yang spesifik. Contohnya, mereka mungkin meminta anda mengikuti templat, atau menghendaki anda menggunakan ujian.
Sekiranya anda ingin memberikan sumbangan yang besar, buka isu yang perlu ditanyakan sebelum mengusahakannya. Sangat berguna untuk menonton projek sebentar (di GitHub, [you can click "Watch"](https://help.github.com/articles/watching-repositories/) untuk diberitahu tentang semua perbualan), dan berkenalan dengan anggota masyarakat, sebelum melakukan pekerjaan yang mungkin tidak diterima.
### Membuka masalah
Anda biasanya harus membuka masalah dalam situasi berikut:
* Laporkan kesalahan yang tidak dapat anda atasi sendiri
* Bincangkan topik atau idea peringkat tinggi (misalnya, komuniti, visi atau dasar)
* Mencadangkan ciri baru atau idea projek lain
Petua untuk berkomunikasi mengenai masalah:
* **Jika anda melihat masalah terbuka yang ingin anda atasi,** beri komen mengenai masalah ini untuk memberi tahu orang bahawa anda sedang mengatasinya. Dengan cara itu, orang kurang menggandakan karya anda.
* **Jika masalah dibuka beberapa saat yang lalu,** ada kemungkinan masalah itu ditangani di tempat lain, atau sudah diselesaikan, jadi beri komen untuk meminta pengesahan sebelum memulakan pekerjaan.
* **Sekiranya anda membuka masalah, tetapi kemudian anda akan mengetahui sendiri jawapannya,** beri komen mengenai masalah ini untuk memberi tahu orang lain, kemudian tutup masalahnya. Malah mendokumentasikan hasil itu adalah sumbangan untuk projek tersebut.
### Membuka permintaan tarik
Anda biasanya harus membuka permintaan tarik dalam situasi berikut:
* Kirimkan perbaikan sepele (contohnya, kesalahan ketik, pautan yang rosak atau ralat yang jelas)
* Mulailah mengusahakan sumbangan yang telah diminta, atau yang telah anda bincangkan, dalam suatu isu
Permintaan tarikan tidak harus mewakili kerja yang telah siap. Biasanya lebih baik membuka permintaan tarik lebih awal, sehingga orang lain dapat menonton atau memberikan maklum balas mengenai kemajuan anda. Cukup tandakan sebagai "WIP" (Work in Progress) di baris subjek. Anda boleh menambah lebih banyak komitmen kemudian.
Sekiranya projek tersebut berada di GitHub, berikut adalah cara mengemukakan permintaan tarik:
* **[Fork the repository](https://guides.github.com/activities/forking/)** dan mengklonnya secara tempatan. Sambungkan tempatan anda ke repositori "hulu" yang asal dengan menambahkannya sebagai alat kawalan jauh. Tarik perubahan dari "hulu" secara berkala sehingga Anda terus mengetahui sehingga ketika anda mengajukan permintaan penarikan, konflik penggabungan cenderung tidak terjadi.(Lihat arahan yang lebih terperinci [here](https://help.github.com/articles/syncing-a-fork/).)
* **[Create a branch](https://guides.github.com/introduction/flow/)** untuk pengeditan anda.
* **Rujuk masalah yang berkaitan** atau dokumentasi sokongan dalam PR anda (misalnya, "Tutup # 37.")
* **Sertakan tangkapan skrin sebelum dan sesudah** jika perubahan anda merangkumi perbezaan dalam HTML / CSS. Seret dan lepaskan gambar ke badan permintaan tarikan anda.
* **Uji perubahan anda!** Jalankan perubahan anda terhadap ujian yang ada jika ada dan buat yang baru bila diperlukan. Sama ada ujian ada atau tidak, pastikan perubahan anda tidak mematahkan projek yang ada.
* **Sumbang dalam gaya projek** dengan sebaik mungkin. Ini mungkin bermaksud menggunakan inden, titik koma atau komen yang berbeza daripada yang anda lakukan di repositori anda sendiri, tetapi memudahkan penyelenggara bergabung, yang lain memahami dan mengekalkannya di masa depan.
Permintaan adalah permintaan pertama anda, periksa [Make a Pull Request](http://makeapullrequest.com/), yang @kentcdodds buat sebagai tutorial video panduan. Anda juga boleh berlatih membuat permintaan tarik di[First Contributions](https://github.com/Roshanjossey/first-contributions) repositori, dibuat oleh @Roshanjossey.
## Apa yang berlaku selepas anda menghantar sumbangan
Kamu lakukan! Selamat menjadi penyumbang sumber terbuka. Kami harap ini adalah yang pertama daripada banyak.
Selepas anda menghantar sumbangan, salah satu perkara berikut akan berlaku:
### 😭 Anda tidak mendapat sambutan.
Semoga anda[memeriksa projek untuk tanda-tanda aktiviti](#senarai-semak-sebelum-anda-menyumbang)sebelum memberi sumbangan. Walaupun pada projek yang aktif, kemungkinan sumbangan anda tidak mendapat sambutan.
Sekiranya anda tidak mendapat sambutan selama lebih dari seminggu, adalah wajar untuk memberi respons dengan sopan dalam utas yang sama, meminta ulasan seseorang. Sekiranya anda mengetahui nama orang yang tepat untuk mengulas sumbangan anda, anda boleh @ -menyebutkannya dalam utas itu.
**Jangan** hubungi orang itu secara peribadi; ingat bahawa komunikasi awam sangat penting untuk projek sumber terbuka.
Sekiranya anda membuat bongkahan yang sopan dan masih tidak ada yang bertindak balas, kemungkinan tidak ada yang akan bertindak balas. Ini bukan perasaan yang hebat, tetapi jangan biarkan itu mengecewakan anda. Ia berlaku kepada semua orang! Terdapat banyak kemungkinan sebab mengapa anda tidak mendapat sambutan, termasuk keadaan peribadi yang mungkin di luar kawalan anda. Cuba cari projek atau cara lain untuk menyumbang. Sekiranya ada, ini adalah alasan yang baik untuk tidak meluangkan terlalu banyak masa untuk membuat sumbangan sebelum anggota masyarakat lain terlibat dan responsif.
### 🚧 Seseorang meminta perubahan pada sumbangan anda.
Sudah biasa anda diminta membuat perubahan pada sumbangan anda, sama ada maklum balas mengenai skop idea anda, atau perubahan pada kod anda.
Apabila seseorang meminta perubahan, bersikap responsif. Mereka telah meluangkan masa untuk menyemak sumbangan anda. Membuka PR dan berjalan jauh adalah bentuk yang buruk. Sekiranya anda tidak tahu bagaimana membuat perubahan, teliti masalahnya, kemudian minta bantuan jika anda memerlukannya.
Sekiranya anda tidak mempunyai masa untuk menyelesaikan masalah ini lagi (contohnya, jika perbualan telah berlangsung selama berbulan-bulan, dan keadaan anda telah berubah), beritahu penyelenggara itu sehingga mereka tidak mengharapkan respons. Orang lain mungkin senang mengambil alih.
### 👎 Sumbangan anda tidak diterima.
Sumbangan anda mungkin atau tidak akan diterima pada akhirnya. Mudah-mudahan anda tidak terlalu banyak mengerjakannya. Sekiranya anda tidak pasti mengapa ia tidak diterima, adalah wajar untuk meminta maklum balas dan penjelasan penyelenggara. Namun, pada akhirnya, anda harus menghormati bahawa ini adalah keputusan mereka. Jangan membantah atau bermusuhan. Anda sentiasa dialu-alukan untuk menggunakan versi anda sendiri sekiranya anda tidak bersetuju!
### contribution Sumbangan anda diterima.
Hore! Anda berjaya memberikan sumbangan sumber terbuka!
## Kamu lakukan!
Sama ada anda baru sahaja memberikan sumbangan sumber terbuka anda, atau anda mencari cara baru untuk menyumbang, kami harap anda terinspirasi untuk mengambil tindakan. Walaupun sumbangan anda tidak diterima, jangan lupa mengucapkan terima kasih ketika penjaga menjaga usaha anda. Sumber terbuka dibuat oleh orang seperti anda: satu isu, permintaan tarik, komen, atau lima tinggi dalam satu masa.
================================================
FILE: _articles/ms/index.html
================================================
---
layout: index
title: Open Source Guides
lang: ms
permalink: /ms/
---
================================================
FILE: _articles/ms/leadership-and-governance.md
================================================
---
lang: ms
title: Kepimpinan dan Pemerintahan
description: Projek sumber terbuka yang berkembang dapat memanfaatkan peraturan formal untuk membuat keputusan.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Memahami tadbir urus untuk projek anda yang sedang berkembang
Projek anda berkembang, orang terlibat, dan anda komited untuk memastikan perkara ini berjalan. Pada tahap ini, anda mungkin tertanya-tanya bagaimana memasukkan penyumbang projek biasa ke dalam aliran kerja anda, sama ada memberi seseorang akses atau menyelesaikan perbahasan masyarakat. Sekiranya anda mempunyai soalan, kami mempunyai jawapan.
## Apa contoh peranan formal yang digunakan dalam projek sumber terbuka?
Banyak projek mengikuti struktur yang serupa untuk peranan dan pengiktirafan penyumbang.
Walaupun begitu, maksud peranan ini sepenuhnya bergantung kepada anda. Berikut adalah beberapa jenis peranan yang mungkin anda kenali:
* **Penyelenggara**
* **Penyumbang**
* **Komersial**
**Untuk beberapa projek, "penyelenggara"** adalah satu-satunya orang dalam projek yang mempunyai akses komit. Dalam projek lain, mereka hanyalah orang yang disenaraikan dalam README sebagai penyelenggara.
Penyelenggara tidak semestinya menjadi seseorang yang menulis kod untuk projek anda. Mungkin seseorang yang telah melakukan banyak pekerjaan menginjil projek anda, atau dokumentasi bertulis yang menjadikan projek ini lebih mudah diakses oleh orang lain. Terlepas dari apa yang mereka lakukan sehari-hari, penyelenggara mungkin adalah seseorang yang merasa bertanggungjawab atas arahan projek dan komited untuk memperbaikinya.
**"Penyumbang" boleh jadi sesiapa sahaja** yang memberi komen mengenai sesuatu isu atau permintaan penarik, orang yang menambah nilai pada projek (sama ada ia mencetuskan masalah, menulis kod, atau menganjurkan acara), atau sesiapa sahaja dengan permintaan tarik gabungan (mungkin definisi penyumbang yang paling sempit).
**Istilah "committer"** mungkin digunakan untuk membezakan akses komit, yang merupakan jenis tanggungjawab tertentu, dari bentuk sumbangan lain.
Walaupun anda dapat menentukan peranan projek anda dengan cara yang anda mahukan, [pertimbangkan untuk menggunakan definisi yang lebih luas](../how-to-contribute/#apa-maksudnya-menyumbang) untuk mendorong lebih banyak bentuk sumbangan. Anda boleh menggunakan peranan kepemimpinan untuk mengenali secara rasmi orang yang telah memberikan sumbangan yang luar biasa untuk projek anda, tanpa mengira kemahiran teknikal mereka.
## Bagaimana saya memformalkan peranan kepemimpinan ini?
Memformalkan peranan kepemimpinan anda membantu orang merasakan kepemilikan dan memberitahu ahli komuniti lain yang ingin meminta pertolongan.
Untuk projek yang lebih kecil, menetapkan pemimpin boleh semudah menambahkan nama mereka ke nama anda dalam fail README atau fail CONTRIBUTORS.
Untuk projek yang lebih besar, jika anda mempunyai laman web, buat halaman pasukan atau senaraikan pemimpin projek anda di sana. Sebagai contoh, [Postgres](https://github.com/postgres/postgres/) mempunyai [comprehensive team page](https://www.postgresql.org/community/contributors/) dengan profil pendek untuk setiap penyumbang.
Sekiranya projek anda mempunyai komuniti penyumbang yang sangat aktif, anda mungkin membentuk "pasukan teras" penyelenggara, atau bahkan jawatankuasa kecil orang yang mengambil alih bidang isu yang berbeza (contohnya keselamatan, pencetus masalah, atau tingkah laku masyarakat). Biarkan orang mengatur diri sendiri dan menjadi sukarelawan untuk peranan yang paling mereka gemari, daripada menyerahkannya.
Pasukan kepemimpinan mungkin ingin membuat saluran yang ditentukan (seperti di IRC) atau bertemu secara berkala untuk membincangkan projek tersebut (seperti di Gitter atau Google Hangout). Anda juga boleh membuat perjumpaan itu umum sehingga orang lain dapat mendengar. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), sebagai contoh, [hosts office hours every week](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Setelah anda menentukan peranan kepemimpinan, jangan lupa untuk mendokumentasikan bagaimana orang dapat mencapainya! Buat proses yang jelas bagaimana seseorang boleh menjadi penyelenggara atau bergabung dengan jawatankuasa kecil dalam projek anda, dan tuliskannya ke dalam GOVERNANCE.md. anda.
Alatan seperti [Vossibility](https://github.com/icecrime/vossibility-stack) dapat membantu anda mengesan secara terbuka siapa (atau tidak) yang menyumbang kepada projek tersebut. Mendokumentasikan maklumat ini mengelakkan persepsi masyarakat bahawa penyelenggara adalah klise yang membuat keputusannya secara tertutup.
Akhirnya, jika projek anda berada di GitHub, pertimbangkan untuk memindahkan projek anda dari akaun peribadi anda ke Organisasi dan tambahkan sekurang-kurangnya satu pentadbir sandaran. [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/)mempermudah untuk menguruskan kebenaran dan beberapa repositori dan melindungi warisan projek anda melalui [pemilikan bersama](../building-community/#kongsi-pemilikan-projek-anda).
## Bilakah saya harus memberikan akses kepada seseorang?
Sebilangan orang berpendapat bahawa anda harus memberikan akses kepada semua orang yang memberikan sumbangan. Melakukannya dapat mendorong lebih banyak orang merasakan pemilikan projek anda.
Sebaliknya, terutamanya untuk projek yang lebih besar dan lebih kompleks, anda mungkin hanya ingin memberikan akses kepada orang yang telah menunjukkan komitmen mereka. Tidak ada cara yang betul untuk melakukannya - lakukan perkara yang membuat anda paling selesa!
Sekiranya projek anda berada di GitHub, anda boleh menggunakannya [protected branches](https://help.github.com/articles/about-protected-branches/) untuk menguruskan siapa yang boleh mendorong ke cabang tertentu, dan dalam keadaan apa.
## Apa saja struktur pemerintahan biasa untuk projek sumber terbuka?
Terdapat tiga struktur pemerintahan bersama yang berkaitan dengan projek sumber terbuka.
* **BDFL:** BDFL bermaksud "Benevolent Dictator for Life". Di bawah struktur ini, satu orang (biasanya penulis awal projek) mempunyai pendapat akhir mengenai semua keputusan projek utama.[Python](https://github.com/python) adalah contoh klasik. Projek yang lebih kecil mungkin BDFL secara lalai, kerana hanya ada satu atau dua penyelenggara. Projek yang berasal dari syarikat mungkin juga termasuk dalam kategori BDFL.
* **Meritokrasi:** **(Catatan: istilah "meritokrasi" membawa konotasi negatif bagi beberapa komuniti dan mempunyai [complex social and political history](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Di bawah meritokrasi, penyumbang projek aktif (mereka yang menunjukkan "prestasi") diberi peranan membuat keputusan secara rasmi. Keputusan biasanya dibuat berdasarkan konsensus suara yang murni. Konsep meritokrasi dipelopori oleh [Apache Foundation](https://www.apache.org/); [all Apache projects](https://www.apache.org/index.html#projects-list)adalah meritokrasi. Sumbangan hanya boleh dibuat oleh individu yang mewakili diri mereka sendiri, bukan oleh syarikat.
* **Sumbangan liberal:** Di bawah model sumbangan liberal, orang yang melakukan kerja paling banyak diakui sebagai yang paling berpengaruh, tetapi ini berdasarkan karya semasa dan bukan sumbangan bersejarah. Keputusan projek utama dibuat berdasarkan proses mencari konsensus (membincangkan rungutan utama) dan bukannya suara murni, dan berusaha untuk memasukkan sebanyak mungkin perspektif masyarakat. Contoh popular projek yang menggunakan model sumbangan liberal termasuk [Node.js](https://foundation.nodejs.org/) dan [Rust](https://www.rust-lang.org/).
Yang mana yang harus anda gunakan? Terpulang pada anda! Setiap model mempunyai kelebihan dan pertukaran. Dan walaupun pada awalnya mereka kelihatan agak berbeza, ketiga-tiga model mempunyai lebih banyak persamaan daripada yang kelihatan. Sekiranya anda berminat untuk menggunakan salah satu model ini, lihat templat ini:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Adakah saya memerlukan dokumen tadbir urus semasa melancarkan projek saya?
Tidak ada masa yang tepat untuk menuliskan urus tadbir projek anda, tetapi lebih mudah untuk ditentukan setelah anda melihat dinamika komuniti anda berjalan. Bahagian terbaik (dan paling sukar) mengenai pemerintahan sumber terbuka adalah ia dibentuk oleh masyarakat!
Beberapa dokumentasi awal pasti akan menyumbang kepada tadbir urus projek anda, jadi mulailah menuliskan apa yang anda boleh. Sebagai contoh, anda dapat menentukan harapan yang jelas untuk tingkah laku, atau bagaimana proses penyumbang anda berfungsi, walaupun pada pelancaran projek anda.
Sekiranya anda merupakan sebahagian daripada syarikat yang melancarkan projek sumber terbuka, ada baiknya anda mengadakan perbincangan dalaman sebelum melancarkan bagaimana syarikat anda mengharapkan untuk mengekalkan dan membuat keputusan mengenai projek tersebut ke hadapan. Anda juga mungkin ingin menerangkan secara terbuka sesuatu yang khusus mengenai bagaimana syarikat anda (atau tidak akan) terlibat dengan projek ini.
## Apa yang berlaku sekiranya pekerja korporat mula menghantar sumbangan?
Projek sumber terbuka yang berjaya digunakan oleh banyak orang dan syarikat, dan beberapa syarikat akhirnya mempunyai aliran pendapatan yang akhirnya terikat dengan projek tersebut. Sebagai contoh, syarikat boleh menggunakan kod projek sebagai salah satu komponen dalam penawaran perkhidmatan komersial.
Oleh kerana projek ini semakin banyak digunakan, orang yang mempunyai kepakaran di dalamnya menjadi lebih banyak permintaan - anda mungkin salah satunya! - dan kadangkala akan dibayar untuk pekerjaan yang mereka lakukan dalam projek tersebut.
Penting untuk memperlakukan aktiviti komersial seperti biasa dan sebagai sumber tenaga pembangunan yang lain. Pembangun berbayar tidak semestinya mendapat layanan istimewa berbanding yang belum dibayar, tentu saja; setiap sumbangan mesti dinilai berdasarkan kelebihan teknikalnya. Namun, orang harus merasa senang terlibat dalam kegiatan komersial, dan merasa selesa menyatakan kes penggunaannya ketika berdebat untuk memihak kepada peningkatan atau ciri tertentu.
"Komersial" sepenuhnya serasi dengan "sumber terbuka". "Komersial" bermaksud ada wang yang terlibat di suatu tempat - perisian itu digunakan dalam perdagangan, yang semakin besar kemungkinan apabila projek mendapat penerapan. (Apabila perisian sumber terbuka digunakan sebagai bagian dari produk sumber bukan terbuka, produk keseluruhan masih merupakan perisian "proprietari", namun, seperti sumber terbuka, ia mungkin digunakan untuk tujuan komersial atau bukan komersial.)
Seperti orang lain, pemaju yang bermotivasi komersial mendapat pengaruh dalam projek melalui kualiti dan kuantiti sumbangan mereka. Jelas sekali, pembangun yang dibayar untuk waktunya mungkin dapat melakukan lebih banyak daripada seseorang yang tidak dibayar, tetapi tidak mengapa: pembayaran adalah salah satu daripada banyak kemungkinan faktor yang boleh mempengaruhi berapa banyak yang dilakukan seseorang. Pastikan perbincangan projek anda tertumpu pada sumbangan, bukan pada faktor luaran yang membolehkan orang membuat sumbangan tersebut.
## Adakah saya memerlukan entiti undang-undang untuk menyokong projek saya?
Anda tidak memerlukan entiti undang-undang untuk menyokong projek sumber terbuka anda kecuali anda mengendalikan wang.
Contohnya, jika anda ingin membuat perniagaan komersial, anda boleh menubuhkan C Corp atau LLC (jika anda berpusat di AS). Sekiranya anda hanya membuat kerja kontrak yang berkaitan dengan projek sumber terbuka anda, anda boleh menerima wang sebagai pemilik tunggal, atau menubuhkan LLC (jika anda berpusat di AS).
Sekiranya anda ingin menerima sumbangan untuk projek sumber terbuka anda, anda boleh menyiapkan butang derma (misalnya menggunakan PayPal atau Stripe), tetapi wang tersebut tidak akan ditolak cukai melainkan anda bukan untung yang layak (501c3, jika anda berada di AS).
Sebilangan besar projek tidak mahu mengalami masalah untuk menubuhkan organisasi bukan untung, jadi mereka mencari penaja fiskal bukan untung. Penaja fiskal menerima sumbangan bagi pihak anda, biasanya sebagai pertukaran untuk peratusan sumbangan. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) dan [Open Collective](https://opencollective.com/opensource)adalah contoh organisasi yang berfungsi sebagai penaja fiskal untuk projek sumber terbuka.
Sekiranya projek anda berkait rapat dengan bahasa atau ekosistem tertentu, mungkin ada asas perisian berkaitan yang boleh anda bekerjasama. Sebagai contoh, [Python Software Foundation](https://www.python.org/psf/) menolong menyokong[PyPI](https://pypi.org/), pengurus pakej Python, dan [Node.js Foundation](https://foundation.nodejs.org/) menolong menyokong [Express.js](https://expressjs.com/), rangka kerja berasaskan Node.
================================================
FILE: _articles/ms/legal.md
================================================
---
lang: ms
title: Bahagian Undang-Undang Sumber Terbuka
description: Semua perkara yang pernah anda terfikir mengenai sisi undang-undang sumber terbuka, dan beberapa perkara yang tidak anda lakukan.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Memahami implikasi undang-undang dari sumber terbuka
Berkongsi karya kreatif anda dengan dunia boleh menjadi pengalaman yang menarik dan bermanfaat. Ini juga boleh bermaksud banyak perkara undang-undang yang anda tidak tahu yang anda perlu bimbangkan. Syukurlah, anda tidak perlu bermula dari awal. Kami telah memenuhi keperluan undang-undang anda. (Sebelum anda menggali, pastikan anda membaca [disclaimer](/notices/).)
## Mengapa orang begitu mementingkan sisi undang-undang sumber terbuka?
Gembira anda bertanya! Apabila anda membuat karya kreatif (seperti penulisan, grafik, atau kod), karya tersebut di bawah hak cipta eksklusif secara lalai. Artinya, undang-undang menganggap bahawa sebagai pengarang karya anda, anda mempunyai pendapat dalam apa yang dapat dilakukan oleh orang lain dengannya.
Secara umum, itu bermakna tidak ada orang lain yang dapat menggunakan, menyalin, menyebarkan, atau mengubahsuai karya anda tanpa menghadapi risiko pengurangan, perombakan, atau proses pengadilan.
Sumber terbuka adalah keadaan yang tidak biasa, bagaimanapun, kerana penulis mengharapkan orang lain akan menggunakan, mengubah, dan berkongsi karya. Tetapi kerana lalai undang-undang masih merupakan hak cipta eksklusif, anda memerlukan lesen yang menyatakan kebenaran ini secara jelas.
Sekiranya anda tidak menggunakan lesen sumber terbuka, semua orang yang menyumbang untuk projek anda juga menjadi pemegang hak cipta eksklusif karya mereka. Ini bermaksud tiada siapa yang boleh menggunakan, menyalin, menyebarkan, atau mengubah sumbangan mereka - dan bahawa "tiada siapa" termasuk anda.
Akhirnya, projek anda mungkin mempunyai kebergantungan dengan keperluan lesen yang tidak anda ketahui. Komuniti projek anda, atau polisi majikan anda, mungkin juga memerlukan projek anda menggunakan lesen sumber terbuka tertentu. Kami akan membahas situasi ini di bawah.
## Adakah projek GitHub awam terbuka?
Bila kamu [create a new project](https://help.github.com/articles/creating-a-new-repository/) di GitHub, anda mempunyai pilihan untuk menjadikan repositori **peribadi** atau **awam**.

**Membuat projek GitHub anda umum tidak sama dengan melesenkan projek anda.** Projek awam dilindungi oleh [GitHub's Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), yang membolehkan orang lain melihat dan melengkapkan projek anda, tetapi pekerjaan anda sebaliknya tidak mempunyai kebenaran.
Sekiranya anda ingin orang lain menggunakan, menyebarkan, mengubah suai, atau menyumbang kembali ke projek anda, anda perlu memasukkan lesen sumber terbuka. Sebagai contoh, seseorang tidak boleh menggunakan bahagian projek GitHub anda secara sah dalam kod mereka, walaupun secara terbuka, melainkan anda secara jelas memberi mereka hak untuk melakukannya.
## Beri saya ringkasan mengenai perkara yang saya perlukan untuk melindungi projek saya.
Anda bernasib baik, kerana hari ini, lesen sumber terbuka diseragamkan dan mudah digunakan. Anda boleh menyalin-menampal lesen yang ada terus ke projek anda.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), and [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) adalah lesen sumber terbuka yang paling popular, tetapi ada pilihan lain untuk dipilih. Anda boleh mendapatkan teks lengkap lesen ini, dan arahan mengenai cara menggunakannya, di[choosealicense.com](https://choosealicense.com/).
Apabila anda membuat projek baru di GitHub, anda akan menjadi [asked to add a license](https://help.github.com/articles/open-source-licensing/).
## Lesen sumber terbuka mana yang sesuai untuk projek saya?
Sekiranya anda bermula dari papan tulis kosong, sukar untuk salah dengan[MIT License](https://choosealicense.com/licenses/mit/).Ringkas, sangat mudah difahami, dan membolehkan sesiapa sahaja melakukan apa sahaja selagi mereka menyimpan salinan lesen, termasuk notis hak cipta anda. Anda akan dapat melepaskan projek di bawah lesen lain jika anda memerlukannya.
Jika tidak, memilih lesen sumber terbuka yang betul untuk projek anda bergantung pada objektif anda.
Projek anda kemungkinan besar mempunyai (atau akan) **kebergantungan** (**dependencies**). Contohnya, jika anda membuka sumber projek Node.js, anda mungkin akan menggunakan perpustakaan dari Pengurus Pakej Node (npm). Setiap perpustakaan yang anda bergantung akan mempunyai lesen sumber terbuka sendiri. Sekiranya setiap lesen mereka "permisif" (memberikan izin kepada orang ramai untuk menggunakan, mengubah, dan berkongsi, tanpa syarat untuk pelesenan hilir), anda boleh menggunakan lesen yang anda mahukan. Lesen permisif biasa termasuk MIT, Apache 2.0, ISC, dan BSD.
Sebaliknya, jika mana-mana lesen tanggungan anda adalah "copyleft yang kuat" (juga memberikan kebenaran yang sama kepada umum, tertakluk kepada syarat menggunakan lesen yang sama di hilir), maka projek anda harus menggunakan lesen yang sama. Lesen copyleft yang kuat termasuk GPLv2, GPLv3, dan AGPLv3.
Anda mungkin juga ingin mempertimbangkan **komuniti** yang anda harap akan menggunakan dan menyumbang kepada projek anda:
* **Adakah anda mahu projek anda digunakan sebagai pergantungan oleh projek lain?** Mungkin terbaik untuk menggunakan lesen yang paling popular di komuniti anda yang berkaitan. Sebagai contoh,[MIT](https://choosealicense.com/licenses/mit/) adalah lesen paling popular untuk [npm libraries](https://libraries.io/search?platforms=NPM).
* **Adakah anda mahu projek anda menarik minat perniagaan besar?** Perniagaan besar kemungkinan akan memerlukan lesen paten ekspres dari semua penyumbang. Dalam kes ini, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)adakah anda (dan mereka) dilindungi.
* **Adakah anda mahu projek anda menarik minat penyumbang yang tidak mahu sumbangan mereka digunakan dalam perisian sumber tertutup?**[GPLv3](https://choosealicense.com/licenses/gpl-3.0/) atau (jika mereka juga tidak mahu menyumbang kepada perkhidmatan sumber tertutup) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/)akan berjalan lancar.
**Syarikat** anda mungkin mempunyai syarat pelesenan khusus untuk projek sumber terbuka. Sebagai contoh, ia mungkin memerlukan lesen yang boleh diterima agar syarikat dapat menggunakan projek anda dalam produk sumber tertutup syarikat. Atau syarikat anda mungkin memerlukan lesen copyleft yang kuat dan perjanjian penyumbang tambahan (lihat di bawah) sehingga hanya syarikat anda, dan tidak ada orang lain, yang dapat menggunakan projek anda dalam perisian sumber tertutup. Atau syarikat anda mungkin mempunyai keperluan tertentu yang berkaitan dengan standard, tanggungjawab sosial, atau ketelusan, yang mana mungkin memerlukan strategi pelesenan tertentu. Bercakap dengan anda[jabatan undang-undang syarikat](#apa-yang-perlu-diketahui-oleh-pasukan-undang-undang-syarikat-saya).
Apabila anda membuat projek baru di GitHub, anda diberi pilihan untuk memilih lesen. Menyertakan salah satu lesen yang disebutkan di atas akan menjadikan projek GitHub anda sebagai sumber terbuka. Sekiranya anda ingin melihat pilihan lain, periksa [choosealicense.com](https://choosealicense.com) untuk mencari lesen yang sesuai untuk projek anda, walaupun ia [isn't software](https://choosealicense.com/non-software/).
## Bagaimana jika saya ingin menukar lesen projek saya?
Sebilangan besar projek tidak perlu menukar lesen. Tetapi kadang-kadang keadaan berubah.
Sebagai contoh, semasa projek anda berkembang, ia menambahkan pergantungan atau pengguna, atau syarikat anda mengubah strategi, yang mana mungkin memerlukan atau menginginkan lesen yang berbeza. Juga, jika anda lalai untuk melesenkan projek anda sejak awal, menambahkan lesen sama seperti menukar lesen. Terdapat tiga perkara asas yang perlu dipertimbangkan semasa menambah atau menukar lesen projek anda:
**Ini rumit.** Menentukan keserasian dan pematuhan lesen dan siapa yang memegang hak cipta boleh menjadi rumit dan membingungkan dengan cepat. Beralih ke lesen baru tetapi serasi untuk pelepasan dan sumbangan baru adalah berbeza daripada memberi semula semua sumbangan yang ada. Libatkan pasukan undang-undang anda pada petunjuk pertama keinginan untuk menukar lesen. Walaupun anda telah atau dapat memperoleh izin dari pemegang hak cipta projek anda untuk perubahan lesen, pertimbangkan kesan perubahan tersebut kepada pengguna dan penyumbang projek anda yang lain. Fikirkan perubahan lesen sebagai "acara tadbir urus" untuk projek anda yang kemungkinan besar akan berjalan lancar dengan komunikasi dan perundingan yang jelas dengan pihak berkepentingan projek anda. Semakin banyak alasan untuk memilih dan menggunakan lesen yang sesuai untuk projek anda sejak awal!
**Lesen projek anda yang ada.** Sekiranya lesen yang ada pada projek anda sesuai dengan lesen yang ingin anda ubah, anda boleh mula menggunakan lesen baru. Ini kerana jika lesen A sesuai dengan lesen B, anda akan mematuhi syarat A sambil mematuhi syarat B (tetapi tidak semestinya sebaliknya). Oleh itu, jika anda sedang menggunakan lesen permisif (misalnya, MIT), anda boleh menukar kepada lesen dengan lebih banyak syarat, selagi anda menyimpan salinan lesen MIT dan sebarang notis hak cipta yang berkaitan (iaitu, terus mematuhi Syarat minimum lesen MIT). Tetapi jika lesen semasa anda tidak boleh diterima (mis., Copyleft, atau anda tidak mempunyai lesen) dan anda bukan satu-satunya pemegang hak cipta, anda tidak boleh menukar lesen projek anda kepada MIT. Pada hakikatnya, dengan lesen permis, pemegang hak cipta projek telah memberikan kebenaran terlebih dahulu untuk menukar lesen.
**Pemegang hak cipta projek anda yang ada.** Sekiranya anda satu-satunya penyumbang projek anda, maka anda atau syarikat anda adalah pemegang hak cipta tunggal projek tersebut. Anda boleh menambah atau menukar apa sahaja lesen yang anda atau syarikat anda mahukan. Jika tidak, mungkin ada pemegang hak cipta lain yang anda perlukan persetujuannya untuk menukar lesen. Siapakah mereka? Orang yang mempunyai komitmen dalam projek anda adalah tempat yang baik untuk memulakan. Tetapi dalam beberapa kes hak cipta akan dipegang oleh majikan mereka. Dalam beberapa kes, orang hanya akan memberikan sumbangan minimum, tetapi tidak ada peraturan yang keras dan cepat bahawa sumbangan di bawah sebilangan baris kod tidak dikenakan hak cipta. Apa nak buat? Itu bergantung. Untuk projek yang agak kecil dan muda, mungkin memungkinkan semua penyumbang yang ada untuk menyetujui perubahan lesen dalam isu atau permintaan penarikan. Untuk projek besar dan lama, anda mungkin perlu mencari banyak penyumbang dan juga waris mereka. Mozilla mengambil masa bertahun-tahun (2001-2006) untuk mendapatkan semula Firefox, Thunderbird, dan perisian yang berkaitan.
Sebagai alternatif, anda boleh meminta penyumbang bersetuju terlebih dahulu (melalui perjanjian penyumbang tambahan - lihat di bawah) terhadap perubahan lesen tertentu dalam keadaan tertentu, melebihi yang dibenarkan oleh lesen sumber terbuka anda yang ada. Ini sedikit sebanyak mengubah kerumitan menukar lesen. Anda memerlukan lebih banyak pertolongan daripada peguam anda di muka, dan anda masih mahu berkomunikasi dengan jelas dengan pihak berkepentingan projek anda semasa melaksanakan pertukaran lesen.
## Adakah projek saya memerlukan perjanjian penyumbang tambahan?
Mungkin tidak. Untuk sebahagian besar projek sumber terbuka, lesen sumber terbuka secara implisit berfungsi sebagai lesen masuk (dari penyumbang) dan keluar (kepada penyumbang dan pengguna lain). Sekiranya projek anda berada di GitHub, Syarat Perkhidmatan GitHub menjadikan "inbound = outbound" sebagai [explicit default](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Perjanjian penyumbang tambahan - sering disebut Contributor License Agreement (CLA) - dapat membuat kerja pentadbiran untuk penyelenggara projek. Berapa banyak kerja yang ditambahkan oleh perjanjian bergantung pada projek dan pelaksanaannya. Perjanjian mudah mungkin memerlukan penyumbang mengesahkan, dengan satu klik, bahawa mereka mempunyai hak yang diperlukan untuk menyumbang di bawah lesen sumber terbuka projek. Perjanjian yang lebih rumit mungkin memerlukan semakan undang-undang dan pendaftaran dari majikan pencarum.
Juga, dengan menambahkan "kertas kerja" yang diyakini oleh beberapa orang tidak perlu, sukar difahami, atau tidak adil (apabila penerima perjanjian mendapat lebih banyak hak daripada penyumbang atau orang ramai melalui lesen sumber terbuka projek), perjanjian penyumbang tambahan mungkin dianggap tidak ramah kepada komuniti projek.
Beberapa situasi di mana anda mungkin ingin mempertimbangkan perjanjian penyumbang tambahan untuk projek anda termasuk:
* Peguam anda mahu semua penyumbang menerima secara jelas syarat-syarat sumbangan (_sign_, online atau offline), mungkin kerana mereka merasakan lesen sumber terbuka itu sendiri tidak mencukupi (walaupun sudah!). Sekiranya ini satu-satunya masalah, perjanjian penyumbang yang mengesahkan lesen sumber terbuka projek harus mencukupi. The [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) adalah contoh yang baik dari perjanjian penyumbang tambahan ringan.
* Anda atau peguam anda mahu pembangun menyatakan bahawa setiap komitmen yang mereka buat diberi kuasa. [Developer Certificate of Origin](https://developercertificate.org/) keperluannya adalah berapa banyak projek yang mencapainya. Contohnya, komuniti Node.js [uses](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) DCO [instead](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) CLA mereka yang terdahulu. Pilihan mudah untuk mengotomatisasi pelaksanaan DCO di repositori anda adalah [DCO Probot](https://github.com/probot/dco).
* Projek anda menggunakan lesen sumber terbuka yang tidak termasuk pemberian paten ekspres (seperti MIT), dan anda memerlukan pemberian paten dari semua penyumbang, beberapa di antaranya mungkin bekerja untuk syarikat yang mempunyai portfolio paten besar yang dapat digunakan untuk menargetkan anda atau penyumbang dan pengguna projek yang lain. [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) adalah perjanjian penyumbang tambahan yang biasa digunakan yang mempunyai pemberian hak paten seperti yang terdapat dalam Apache License 2.0.
* Projek anda di bawah lesen copyleft, tetapi anda juga perlu mengedarkan versi proprietari projek tersebut. Anda memerlukan setiap penyumbang untuk memberikan hak cipta kepada anda atau memberi anda (tetapi bukan orang ramai) lesen yang mengizinkan. The [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) adalah contoh jenis perjanjian ini.
* Anda fikir projek anda mungkin perlu menukar lesen sepanjang hayatnya dan mahu penyumbang bersetuju terlebih dahulu untuk perubahan tersebut.
Sekiranya anda perlu menggunakan perjanjian penyumbang tambahan dengan projek anda, pertimbangkan untuk menggunakan integrasi seperti [CLA assistant](https://github.com/cla-assistant/cla-assistant) untuk mengurangkan gangguan penyumbang.
## Apa yang perlu diketahui oleh pasukan undang-undang syarikat saya?
Sekiranya anda melancarkan projek sumber terbuka sebagai pekerja syarikat, pertama, pasukan undang-undang anda harus mengetahui bahawa anda membuka projek secara terbuka.
Untuk lebih baik atau lebih buruk, pertimbangkan untuk memberitahu mereka walaupun itu adalah projek peribadi. Anda mungkin mempunyai "perjanjian IP pekerja" dengan syarikat anda yang memberi mereka beberapa kawalan terhadap projek anda, terutamanya jika semuanya berkaitan dengan perniagaan syarikat atau anda menggunakan sumber syarikat untuk mengembangkan projek tersebut. Syarikat anda boleh memberi anda kebenaran, dan mungkin telah melalui perjanjian IP mesra pekerja atau polisi syarikat. Sekiranya tidak, anda boleh berunding (misalnya, jelaskan bahawa projek anda memenuhi objektif pembelajaran dan pembangunan profesional syarikat untuk anda), atau elakkan mengusahakan projek anda sehingga anda menemui syarikat yang lebih baik.
**Sekiranya anda membuka projek untuk syarikat anda,** maka jelaskan kepada mereka. Pasukan undang-undang anda mungkin sudah mempunyai polisi untuk apa lesen sumber terbuka (dan mungkin perjanjian penyumbang tambahan) untuk digunakan berdasarkan keperluan dan kepakaran perniagaan syarikat untuk memastikan projek anda mematuhi lesen tanggungannya. Sekiranya tidak, anda dan mereka bernasib baik! Pasukan undang-undang anda harus bersemangat untuk bekerjasama dengan anda untuk mengetahui perkara ini. Beberapa perkara yang perlu difikirkan:
* **Bahan pihak ketiga:** Adakah projek anda mempunyai kebergantungan yang dibuat oleh orang lain atau termasuk atau menggunakan kod orang lain? Sekiranya ini adalah sumber terbuka, anda perlu mematuhi lesen sumber terbuka bahan tersebut. Itu bermula dengan memilih lesen yang sesuai dengan lesen sumber terbuka pihak ketiga (lihat di atas). Sekiranya projek anda mengubah atau menyebarkan bahan sumber terbuka pihak ketiga, pasukan undang-undang anda juga ingin mengetahui bahawa anda memenuhi syarat lain dari lesen sumber terbuka pihak ketiga seperti mengekalkan notis hak cipta. Sekiranya projek anda menggunakan kod orang lain yang tidak mempunyai lesen sumber terbuka, anda mungkin perlu meminta penyelenggara pihak ketiga [add an open source license](https://choosealicense.com/no-license/#for-users), dan jika anda tidak dapat memperolehnya, hentikan penggunaan kod mereka dalam projek anda.
* **Rahsia perdagangan:** Pertimbangkan sama ada terdapat apa-apa dalam projek yang syarikat itu tidak mahu sediakan untuk orang awam. Sekiranya demikian, anda boleh membuka sumber keseluruhan projek anda, setelah mengekstrak bahan yang ingin anda rahsiakan.
* **Paten:** Adakah syarikat anda memohon paten yang merupakan sumber terbuka projek anda [public disclosure](https://en.wikipedia.org/wiki/Public_disclosure)? Malangnya, anda mungkin diminta untuk menunggu (atau mungkin syarikat akan mempertimbangkan semula kebijaksanaan permohonan). Sekiranya anda mengharapkan sumbangan untuk projek anda dari pekerja syarikat dengan portfolio paten yang besar, pasukan undang-undang anda mungkin mahu anda menggunakan lesen dengan pemberian paten ekspres dari penyumbang (seperti Apache 2.0 atau GPLv3), atau perjanjian penyumbang tambahan ( lihat di atas).
* **Tanda Dagangan:** Periksa semula nama projek anda[tidak bertentangan dengan tanda dagangan yang ada](../starting-a-project/#mengelakkan-konflik-nama). Sekiranya anda menggunakan tanda dagangan syarikat anda sendiri dalam projek, periksa bahawa ia tidak menimbulkan konflik. [FOSSmarks](http://fossmarks.org/)adalah panduan praktikal untuk memahami tanda dagangan dalam konteks projek sumber bebas dan terbuka.
* **Privasi:** Adakah projek anda mengumpulkan data pengguna? "Telefon rumah" ke pelayan syarikat? Pasukan undang-undang anda dapat membantu anda mematuhi dasar syarikat dan peraturan luaran.
Sekiranya anda melepaskan projek sumber terbuka pertama syarikat anda, perkara di atas lebih dari cukup untuk diselesaikan (tetapi jangan bimbang, kebanyakan projek seharusnya tidak menimbulkan kebimbangan besar).
Jangka panjang, pasukan undang-undang anda boleh melakukan lebih banyak perkara untuk membantu syarikat mendapatkan lebih banyak hasil daripada penglibatannya dalam sumber terbuka, dan tetap selamat:
* **Dasar sumbangan pekerja:** Pertimbangkan untuk mengembangkan polisi korporat yang menentukan bagaimana pekerja anda menyumbang untuk projek sumber terbuka. Dasar yang jelas akan mengurangkan kekeliruan di kalangan pekerja anda dan membantu mereka menyumbang kepada projek sumber terbuka demi kepentingan syarikat, sama ada sebagai sebahagian daripada pekerjaan mereka atau pada masa lapang. Contoh yang baik ialah Rackspace [Model IP and Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **Apa yang hendak dilepaskan:** [(Almost) everything?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Sekiranya pasukan undang-undang anda memahami dan dilaburkan dalam strategi sumber terbuka syarikat anda, mereka akan dapat membantu dan bukannya menghalang usaha anda.
* **Pematuhan:** Walaupun syarikat anda tidak mengeluarkan projek sumber terbuka, ia menggunakan perisian sumber terbuka orang lain. [Awareness and process](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) dapat mencegah sakit kepala, kelewatan produk, dan tuntutan mahkamah.
* **Paten:** Syarikat anda mungkin ingin bergabung dengan[Open Invention Network](https://www.openinventionnetwork.com/), kumpulan paten pertahanan bersama untuk melindungi penggunaan projek sumber terbuka utama anggota, atau meneroka yang lain[alternative patent licensing](https://www.eff.org/document/hacking-patent-system-2016).
* **Tadbir urus:** Terutama jika dan bila masuk akal untuk memindahkan projek ke [entiti undang-undang di luar syarikat](../leadership-and-governance/#adakah-saya-memerlukan-entiti-undang-undang-untuk-menyokong-projek-saya).
================================================
FILE: _articles/ms/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: ms
untranslated: true
title: Maintaining Balance for Open Source Maintainers
description: Tips for self-care and avoiding burnout as a maintainer.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.
To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the Maintainer Community, allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.
So, what is personal ecology? As described by the Rockwood Leadership Institute, it involves "maintaining balance, pacing, and efficiency to sustain our energy over a lifetime." This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as [defined by the WHO](https://icd.who.int/browse/2025-01/foundation/en#129180281), is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.
By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.
## Tips for Self-Care and Avoiding Burnout as a Maintainer:
### Identify your motivations for working in open source
Take time to reflect on what parts of open source maintenance energizes you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it's the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.
### Reflect on what causes you to get out of balance and stressed out
It's important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:
* **Lack of positive feedback:** Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.
* **Not saying 'no':** It can be easy to take on more responsibilities than you should on an open source project. Whether it's from users, contributors, or other maintainers – we can't always live up to their expectations.
* **Working alone:** Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.
* **Not enough time or resources:** This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
* **Conflicting demands:** Open source is full of groups with different motivations, which can be difficult to navigate. If you're paid to do open source, your employer's interests can sometimes be at odds with the community.
### Watch out for signs of burnout
Can you keep up your pace for 10 weeks? 10 months? 10 years?
There are tools like the [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) from [@shaunagm](https://github.com/shaunagm) that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).
### What would you need to continue sustaining yourself and your community?
This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:
* **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.
You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
* **Explore funding:** Whether you're looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you're thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
* **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
* **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night's sleep can make a big difference in your ability to sustain your efforts long-term.
If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
* **Set boundaries:** You can't say yes to every request. This can be as simple as saying, "I can't get to that right now and I do not have plans to in the future," or listing out what you're interested in doing and not doing in the README. For instance, you could say: "I only merge PRs which have clearly listed reasons why they were made," or, "I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.
Learn to be firm in shutting down toxic behavior and negative interactions. It's okay to not give energy to things you don't care about.
Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.
## Additional Resources
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Contributors
Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/ms/metrics.md
================================================
---
lang: ms
title: Metrik Sumber Terbuka
description: Buat keputusan yang tepat untuk membantu projek sumber terbuka anda berkembang dengan mengukur dan mengesan kejayaannya.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Mengapa mengukur apa-apa?
Data, jika digunakan dengan bijak, dapat membantu anda membuat keputusan yang lebih baik sebagai penyelenggara sumber terbuka.
Dengan lebih banyak maklumat, anda boleh:
* Fahami bagaimana pengguna bertindak balas terhadap ciri baru
* Cari tahu dari mana pengguna baru berasal
* Kenali, dan tentukan apakah akan mendukung, kes penggunaan atau fungsi luar
* Hitung populariti projek anda
* Fahami bagaimana projek anda digunakan
* Kumpulkan wang melalui tajaan dan geran
Contohnya, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) mendapati bahawa Analitis Google membantu mereka mengutamakan kerja:
> Homebrew disediakan secara percuma dan dikendalikan sepenuhnya oleh sukarelawan pada masa lapang. Hasilnya, kami tidak mempunyai sumber untuk membuat kajian pengguna terperinci mengenai pengguna Homebrew untuk memutuskan cara terbaik untuk merancang ciri masa depan dan mengutamakan kerja semasa. Analisis pengguna agregat tanpa nama membolehkan kami mengutamakan pembaikan dan ciri berdasarkan bagaimana, di mana dan kapan orang menggunakan Homebrew.
Populariti bukan segalanya. Semua orang masuk ke sumber terbuka dengan alasan yang berbeza. Sekiranya matlamat anda sebagai penyelenggara sumber terbuka adalah untuk mempamerkan karya anda, bersikap telus mengenai kod anda, atau hanya bersenang-senang, metrik mungkin tidak penting bagi anda.
Sekiranya anda berminat untuk memahami projek anda pada tahap yang lebih mendalam, baca cara untuk menganalisis aktiviti projek anda.
## Penemuan
Sebelum ada yang dapat menggunakan atau menyumbang kembali ke projek anda, mereka perlu mengetahui bahawa ia wujud. Tanya pada diri anda: _apa orang mencari projek ini?_

Sekiranya projek anda dihoskan di GitHub, [you can view](https://help.github.com/articles/about-repository-graphs/#traffic) berapa ramai orang yang datang ke projek anda dan dari mana asalnya. Dari halaman projek anda, klik "Wawasan", kemudian "Lalu Lintas". Di halaman ini, anda dapat melihat:
* **Jumlah paparan halaman:** Memberitahu anda berapa kali projek anda dilihat
* **Jumlah pelawat unik:** Memberitahu anda berapa orang yang melihat projek anda
* **Merujuk laman web:** Memberitahu anda dari mana pengunjung datang. Metrik ini dapat membantu anda mengetahui di mana untuk menjangkau khalayak anda dan adakah usaha promosi anda berjalan lancar.
* **Kandungan popular:** Memberitahu anda tempat pelawat pergi ke projek anda, dipecah mengikut paparan halaman dan pelawat unik.
[GitHub stars](https://help.github.com/articles/about-stars/) juga dapat membantu memberikan ukuran populariti asas. Walaupun bintang GitHub tidak semestinya berkorelasi dengan muat turun dan penggunaan, mereka dapat memberitahu anda berapa banyak orang yang memperhatikan pekerjaan anda.
Anda juga mungkin mahu [track discoverability in specific places](https://opensource.com/business/16/6/pirate-metrics): sebagai contoh, Google PageRank, lalu lintas rujukan dari laman web projek anda, atau rujukan dari projek atau laman web sumber terbuka yang lain.
## Penggunaan
Orang ramai mencari projek anda mengenai perkara liar dan gila yang kami panggil internet ini. Sebaik-baiknya, apabila mereka melihat projek anda, mereka akan merasa terdorong untuk melakukan sesuatu. Soalan kedua yang ingin anda ajukan ialah: _apa orang menggunakan projek ini?_
Sekiranya anda menggunakan pengurus pakej, seperti npm atau RubyGems.org, untuk mengedarkan projek anda, anda mungkin dapat mengesan muat turun projek anda.
Setiap pengurus pakej boleh menggunakan definisi "download" yang sedikit berbeza, dan muat turuntuk mengesan statistik penggunaan di banyak pengurus pakej yang popular.
Sekiranya projek anda berada di GitHub, arahkan kembali ke halaman "Traffic". Anda boleh menggunakanun tidak semestinya berkaitan dengan pemasangan atau penggunaan, tetapi menyediakan beberapa asas untuk perbandingan. Cuba gunakan [Libraries.io](https://libraries.io/) untuk mengesan statistik penggunaan di banyak pengurus pakej yang popular.
Sekiranya projek anda berada di GitHub, arahkan kembali ke halaman "Traffic". Anda boleh menggunakan[graf klon](https://github.com/blog/1873-clone-graphs) untuk melihat berapa kali projek anda diklon pada hari tertentu, dipecah berdasarkan jumlah klon dan klon unik.

Sekiranya penggunaannya rendah berbanding dengan jumlah orang yang menemui projek anda, ada dua masalah yang perlu dipertimbangkan. Sama ada:
* Projek anda tidak berjaya menukar khalayak anda, atau
* Anda menarik penonton yang salah
Sebagai contoh, jika projek anda muncul di halaman depan Berita Peretas, anda mungkin akan melihat lonjakan penemuan (lalu lintas), tetapi kadar penukaran yang lebih rendah, kerana anda menjangkau semua orang di Berita Peretas. Sekiranya projek Ruby anda diketengahkan pada persidangan Ruby, anda mungkin akan melihat kadar penukaran yang tinggi dari khalayak yang disasarkan.
Cuba cari tahu dari mana datangnya khalayak anda dan minta maklum balas orang lain di halaman projek anda untuk mengetahui dua masalah yang mana yang anda hadapi.
Setelah anda mengetahui bahawa orang menggunakan projek anda, anda mungkin ingin mencuba untuk mengetahui apa yang mereka lakukan dengannya. Adakah mereka membangunnya dengan memalsukan kod anda dan menambahkan ciri? Adakah mereka menggunakannya untuk sains atau perniagaan?
## Pengekalan
Orang mencari projek anda dan mereka menggunakannya. Soalan seterusnya yang ingin anda tanyakan kepada diri sendiri ialah: Adakah orang yang menyumbang kembali ke projek ini? _
Tidak terlalu awal untuk mula memikirkan penyumbang. Tanpa orang lain masuk, anda berisiko meletakkan diri anda dalam keadaan tidak sihat di mana projek anda _popular_ (banyak orang menggunakannya) tetapi tidak _support_ (tidak cukup masa penyelenggara untuk memenuhi permintaan).
Pengekalan juga memerlukan [inflow of new contributors](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2),kerana penyumbang aktif sebelum ini akhirnya akan beralih kepada perkara lain.
Contoh metrik komuniti yang mungkin ingin anda lacak secara berkala termasuk:
* **Jumlah penyumbang dan jumlah komitmen setiap penyumbang:** Memberitahu anda berapa banyak penyumbang yang anda miliki, dan siapa yang kurang lebih aktif. Di GitHub, anda dapat melihatnya di bawah "Wawasan" -> "Penyumbang." Buat masa ini, grafik ini hanya mengira penyumbang yang telah berkomitmen untuk cabang lalai repositori.

* **Penyumbang kali pertama, santai, dan berulang:** Membantu anda mengesan sama ada anda mendapat penyumbang baru dan sama ada mereka kembali. (Penyumbang kasual adalah penyumbang dengan jumlah komitmen yang rendah. Sama ada satu komitmen, kurang daripada lima komitmen, atau yang lain terpulang kepada anda.) Tanpa penyumbang baru, komuniti projek anda boleh menjadi stagnan.
* **Bilangan masalah terbuka dan permintaan tarik terbuka:** Jika jumlah ini terlalu tinggi, anda mungkin memerlukan bantuan untuk mencetuskan masalah dan mengkaji kod.
* **Jumlah masalah _opened_ dan permintaan tarik _opened_:** Masalah yang dibuka bermaksud seseorang cukup mengambil berat tentang projek anda untuk membuka masalah. Sekiranya jumlah itu bertambah dari masa ke masa, ini menunjukkan orang berminat dengan projek anda.
* **Jenis sumbangan:** Contohnya, melakukan, memperbaiki kesalahan ketik atau pepijat, atau memberi komen mengenai sesuatu masalah.
## Aktiviti penyelenggara
Akhirnya, anda ingin menutup gelung dengan memastikan penyelenggara projek anda dapat menangani jumlah sumbangan yang diterima. Soalan terakhir yang ingin anda tanyakan kepada diri anda ialah: _am Saya (atau adakah kita) menjawab komuniti kita?_
Penyelenggara yang tidak responsif menjadi hambatan bagi projek sumber terbuka. Sekiranya seseorang mengemukakan sumbangan tetapi tidak pernah mendapat balasan daripada penjaga, mereka mungkin akan merasa putus asa dan pergi.
[Research from Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) menunjukkan bahawa tindak balas pemelihara adalah faktor penting dalam mendorong sumbangan berulang.
Pertimbangkan untuk mengesan berapa lama anda (atau penyelenggara lain) bertindak balas terhadap sumbangan, sama ada masalah atau permintaan penarik. Menjawab tidak memerlukan tindakan. Ini semudah mengatakan: _"Terima kasih atas penyerahan anda! Saya akan mengulasnya dalam minggu depan."_
Anda juga dapat mengukur masa yang diperlukan untuk beralih antara tahap dalam proses sumbangan, seperti:
* Rata-rata masa masalah masih terbuka
* Sama ada isu ditutup oleh PR
* Sama ada masalah basi ditutup
* Waktu purata untuk menggabungkan permintaan tarik
## Gunakan 📊 untuk mengetahui tentang orang
Memahami metrik akan membantu anda membina projek sumber terbuka yang aktif dan berkembang. Walaupun anda tidak melacak setiap metrik di papan pemuka, gunakan kerangka di atas untuk memusatkan perhatian anda pada jenis tingkah laku yang akan membantu projek anda berkembang maju.
================================================
FILE: _articles/ms/security-best-practices-for-your-project.md
================================================
---
lang: ms
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/ms/starting-a-project.md
================================================
---
lang: ms
title: Memulakan Projek Sumber Terbuka
description: Ketahui lebih lanjut mengenai dunia sumber terbuka dan bersiap sedia untuk melancarkan projek anda sendiri.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## "apa" dan "mengapa" sumber terbuka
Oleh itu, anda berfikir untuk memulakan dengan sumber terbuka? Tahniah! Dunia menghargai sumbangan anda. Mari kita bincangkan apa itu sumber terbuka dan mengapa orang melakukannya.
### Apa maksud "sumber terbuka"?
Apabila projek adalah sumber terbuka, itu bermaksud **siapa sahaja bebas menggunakan, mengkaji, mengubah dan menyebarkan projek anda untuk tujuan apa pun.** Kebenaran ini diberlakukan melalui[an open source license](https://opensource.org/licenses).
Sumber terbuka sangat kuat kerana ia dapat mengurangkan halangan untuk menerima pakai dan berkolaborasi, memungkinkan orang menyebarkan dan memperbaiki projek dengan cepat. Juga kerana memberi pengguna potensi untuk mengendalikan pengkomputeran mereka sendiri, berbanding dengan sumber tertutup. Sebagai contoh, perniagaan yang menggunakan perisian sumber terbuka mempunyai pilihan untuk mengupah seseorang untuk membuat penambahbaikan khusus pada perisian, daripada hanya bergantung pada keputusan produk penjual sumber tertutup.
_Perisian percuma_ merujuk kepada set projek yang sama dengan _open source_. Kadang-kadang anda juga akan melihat[these terms](https://en.wikipedia.org/wiki/Free_and_open-source_software) digabungkan sebagai "perisian sumber bebas dan terbuka" (FOSS) atau "perisian bebas, bebas, dan sumber terbuka" (FLOSS). _Free_ dan _libre_ merujuk kepada kebebasan,[bukan harga](#adakah-sumber-terbuka-bermaksud-percuma).
### Mengapa orang membuka sumber pekerjaan mereka?
[There are many reasons](https://ben.balter.com/2015/11/23/why-open-source/) mengapa seseorang atau organisasi ingin membuka sumber projek. Beberapa contoh merangkumi:
* **Kerjasama:** Projek sumber terbuka dapat menerima perubahan dari sesiapa sahaja di dunia. [Exercism](https://github.com/exercism/), sebagai contoh, adalah platform latihan pengaturcaraan dengan lebih daripada 350 penyumbang.
* **Adopsi dan pencampuran semula:** Projek sumber terbuka dapat digunakan oleh siapa saja untuk hampir semua tujuan. Orang bahkan boleh menggunakannya untuk membina perkara lain.[WordPress](https://github.com/WordPress),sebagai contoh, dimulakan sebagai garpu projek sedia ada yang dipanggil [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Ketelusan:** Sesiapa sahaja dapat memeriksa projek sumber terbuka untuk kesilapan atau ketidakkonsistenan. Perkara ketelusan kepada kerajaan seperti [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) or the [United States](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/),industri terkawal seperti perbankan atau penjagaan kesihatan, dan perisian keselamatan seperti [Let's Encrypt](https://github.com/letsencrypt).
Sumber terbuka bukan hanya untuk perisian. Anda boleh membuka sumber semuanya dari set data hingga buku. Lihatlah[GitHub Explore](https://github.com/explore)untuk idea mengenai apa lagi yang boleh anda buka sumber.
### Adakah sumber terbuka bermaksud "percuma"?
Salah satu tarikan terbesar sumber terbuka adalah bahawa ia tidak memerlukan wang. "Percuma", bagaimanapun, adalah hasil sampingan dari nilai keseluruhan sumber terbuka.
Kerana [an open source license requires](https://opensource.org/osd-annotated)bahawa sesiapa sahaja boleh menggunakan, mengubah suai, dan berkongsi projek anda untuk hampir semua tujuan, projek itu sendiri cenderung percuma. Sekiranya projek itu memerlukan wang untuk digunakan, sesiapa sahaja boleh membuat salinan secara sah dan menggunakan versi percuma sebagai gantinya.
Akibatnya, kebanyakan projek sumber terbuka adalah percuma, tetapi "percuma" bukan sebahagian daripada definisi sumber terbuka. Terdapat cara untuk mengenakan bayaran untuk projek sumber terbuka secara tidak langsung melalui pelesenan ganda atau ciri terhad, sementara masih mematuhi definisi rasmi sumber terbuka.
## Perlukah saya melancarkan projek sumber terbuka saya sendiri?
Jawapan ringkasnya adalah ya, kerana tidak kira hasilnya, melancarkan projek anda sendiri adalah cara terbaik untuk mengetahui bagaimana sumber terbuka berfungsi.
Sekiranya anda tidak pernah membuka projek bersumber sebelumnya, anda mungkin merasa gementar dengan apa yang orang akan katakan, atau adakah orang akan melihatnya sama sekali. Sekiranya ini terdengar seperti anda, anda tidak bersendirian!
Karya sumber terbuka adalah seperti aktiviti kreatif lain, sama ada penulisan atau lukisan. Rasanya menakutkan untuk berkongsi karya anda dengan dunia, tetapi satu-satunya cara untuk menjadi lebih baik adalah berlatih - walaupun anda tidak mempunyai penonton.
Sekiranya anda belum yakin, luangkan masa untuk memikirkan apakah matlamat anda.
### Menetapkan matlamat anda
Matlamat dapat membantu anda mengetahui apa yang harus diusahakan, apa yang harus dikatakan tidak, dan di mana anda memerlukan bantuan daripada orang lain. Mulakan dengan bertanya pada diri sendiri, _mengapa saya membuka sumber projek ini?_
Tidak ada satu jawapan yang tepat untuk soalan ini. Anda mungkin mempunyai banyak tujuan untuk satu projek, atau projek yang berbeza dengan tujuan yang berbeza.
Sekiranya satu-satunya tujuan anda adalah untuk mempamerkan hasil kerja anda, anda mungkin tidak mahukan sumbangan, dan bahkan mengatakannya dalam README anda. Sebaliknya, jika anda mahukan penyumbang, anda akan meluangkan masa untuk membuat dokumentasi yang jelas dan membuat pendatang baru merasa diterima.
Semasa projek anda berkembang, komuniti anda mungkin memerlukan lebih daripada sekadar kod dari anda. Menanggapi masalah, mengkaji kod, dan menginjil projek anda adalah semua tugas penting dalam projek sumber terbuka.
Walaupun jumlah masa yang anda habiskan untuk tugas bukan pengekodan bergantung pada ukuran dan ruang lingkup projek anda, anda harus bersedia sebagai penyelenggara untuk mengatasinya sendiri atau mencari seseorang untuk membantu anda.
**Sekiranya anda merupakan sebahagian daripada syarikat yang memperoleh projek terbuka,** pastikan projek anda mempunyai sumber dalaman yang diperlukan untuk berkembang maju. Anda ingin mengenal pasti siapa yang bertanggungjawab untuk mengekalkan projek tersebut selepas pelancaran, dan bagaimana anda akan berkongsi tugas tersebut dengan komuniti anda.
Sekiranya anda memerlukan anggaran atau kakitangan khusus untuk promosi, operasi dan penyelenggaraan projek, mulailah perbincangan tersebut lebih awal.
### Menyumbang kepada projek lain
Sekiranya matlamat anda adalah untuk belajar bagaimana berkolaborasi dengan orang lain atau memahami bagaimana sumber terbuka berfungsi, pertimbangkan untuk menyumbang kepada projek yang ada. Mulakan dengan projek yang sudah anda gunakan dan sukai. Menyumbang kepada projek boleh semudah memperbaiki kesalahan ketik atau mengemas kini dokumentasi.
Sekiranya anda tidak pasti cara memulakan sebagai penyumbang, lihat kami [How to Contribute to Open Source guide](../how-to-contribute/).
## Melancarkan projek sumber terbuka anda sendiri
Tidak ada masa yang tepat untuk membuka sumber pekerjaan anda. Anda boleh membuka sumber idea, karya yang sedang berjalan, atau setelah bertahun-tahun menjadi sumber tertutup.
Secara umum, anda harus membuka sumber projek anda apabila anda merasa selesa melihat orang lain, dan memberi maklum balas mengenai kerja anda.
Tidak kira tahap mana anda memutuskan untuk membuka sumber projek anda, setiap projek harus merangkumi dokumentasi berikut:
* [Open source license](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Contributing guidelines](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code of conduct](../code-of-conduct/)
Sebagai penyelenggara, komponen ini akan membantu anda menyampaikan harapan, menguruskan sumbangan, dan melindungi hak undang-undang setiap orang (termasuk milik anda). Mereka meningkatkan peluang anda untuk mendapat pengalaman positif.
Sekiranya projek anda berada di GitHub, meletakkan fail-fail ini di direktori root anda dengan nama fail yang disyorkan akan membantu GitHub mengenali dan memaparkannya secara automatik kepada pembaca anda.
### Memilih lesen
Lesen sumber terbuka menjamin bahawa orang lain dapat menggunakan, menyalin, mengubah suai, dan menyumbang kembali ke projek anda tanpa kesan. Ia juga melindungi anda dari situasi undang-undang yang melekit. **Anda mesti menyertakan lesen semasa melancarkan projek sumber terbuka.**
Kerja undang-undang tidak menyeronokkan. Berita baiknya ialah anda boleh menyalin dan menampal lesen yang ada ke dalam repositori anda. Hanya perlu satu minit untuk melindungi kerja keras anda.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), and [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) adalah lesen sumber terbuka yang paling popular, tetapi[there are other options](https://choosealicense.com) untuk dipilih.
Apabila anda membuat projek baru di GitHub, anda diberi pilihan untuk memilih lesen. Menyertakan lesen sumber terbuka akan menjadikan projek GitHub anda sebagai sumber terbuka.

Sekiranya anda mempunyai pertanyaan atau kebimbangan lain mengenai aspek undang-undang dalam menguruskan projek sumber terbuka, [we've got you covered](../legal/).
### Menulis README
README melakukan lebih daripada sekadar menjelaskan cara menggunakan projek anda. Mereka juga menjelaskan mengapa projek anda penting, dan apa yang pengguna anda boleh lakukan dengannya.
Dalam README anda, cuba jawab soalan berikut:
* Apa yang dilakukan oleh projek ini?
* Mengapa projek ini berguna?
* Bagaimana saya memulakan?
* Di mana saya boleh mendapatkan lebih banyak pertolongan, jika saya memerlukannya?
Anda boleh menggunakan README anda untuk menjawab soalan lain, seperti bagaimana anda menangani sumbangan, apakah matlamat projek tersebut, dan maklumat mengenai lesen dan atribusi. Sekiranya anda tidak mahu menerima sumbangan, atau projek anda belum siap untuk dihasilkan, tuliskan maklumat ini.
Kadang-kadang, orang mengelak daripada menulis README kerana mereka merasa projek ini belum selesai, atau mereka tidak mahu sumbangan. Ini semua adalah alasan yang baik untuk menulisnya.
Untuk lebih banyak inspirasi, cuba gunakan @ dguo's ["Make a README" guide](https://www.makeareadme.com/) or @PurpleBooth's [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2)untuk menulis BACAAN lengkap.
Apabila anda memasukkan fail README dalam direktori root, GitHub akan memaparkannya secara automatik di halaman utama repositori.
### Menulis garis panduan penyumbang anda
Fail CONTRIBUTING memberitahu penonton anda bagaimana untuk mengambil bahagian dalam projek anda. Contohnya, anda mungkin memasukkan maklumat mengenai:
* Cara memfailkan laporan pepijat (try using [issue and pull request templates](https://github.com/blog/2111-issue-and-pull-request-templates))
* Cara mencadangkan ciri baru
* Cara mengatur persekitaran anda dan menjalankan ujian
Sebagai tambahan kepada butiran teknikal, fail CONTRIBUTING adalah peluang untuk menyampaikan harapan anda terhadap sumbangan, seperti:
* Jenis sumbangan yang anda cari
* Peta jalan atau visi anda untuk projek tersebut
* Bagaimana penyumbang seharusnya (atau tidak seharusnya) menghubungi anda
Menggunakan nada yang mesra dan mesra serta memberikan cadangan khusus untuk sumbangan (seperti menulis dokumentasi, atau membuat laman web) dapat membuat pendatang baru merasa disambut dan teruja untuk turut serta.
Sebagai contoh, [Active Admin](https://github.com/activeadmin/activeadmin/) memulai [its contributing guide](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md)dengan:
> Pertama, terima kasih kerana mempertimbangkan untuk menyumbang kepada Admin Aktif. Orang seperti anda menjadikan Admin Aktif sebagai alat yang hebat.
Pada peringkat awal projek anda, fail CONTRIBUTING anda boleh dibuat dengan mudah. Anda harus selalu menerangkan cara melaporkan pepijat atau masalah fail, dan sebarang keperluan teknikal (seperti ujian) untuk memberi sumbangan.
Lama kelamaan, anda mungkin menambahkan soalan lain yang sering diajukan ke fail CONTRIBUTING anda. Menulis maklumat ini bermaksud semakin sedikit orang yang akan menanyakan soalan yang sama berulang kali kepada anda.
Untuk lebih banyak bantuan dalam menulis fail CONTRIBUTING anda, lihat@nayafia's [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) atau @mozilla's ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/).
Pautkan ke fail CONTRIBUTING anda dari README anda, sehingga lebih banyak orang melihatnya. Jika awak [place the CONTRIBUTING file in your project's repository](https://help.github.com/articles/setting-guidelines-for-repository-contributors/),GitHub akan memaut ke fail anda secara automatik apabila penyumbang membuat masalah atau membuka permintaan tarik.

### Menetapkan tatakelakuan
Akhirnya, kod tingkah laku membantu menetapkan peraturan asas untuk tingkah laku bagi peserta projek anda. Ini amat berharga jika anda melancarkan projek sumber terbuka untuk komuniti atau syarikat. Kod tingkah laku memberi kuasa kepada anda untuk memfasilitasi tingkah laku masyarakat yang sihat dan membina, yang akan mengurangkan tekanan anda sebagai penjaga.
Untuk maklumat lebih lanjut, lihat kami [Code of Conduct guide](../code-of-conduct/).
Selain berkomunikasi _how_ anda mengharapkan peserta berkelakuan, kod tingkah laku juga cenderung menggambarkan kepada siapa harapan ini berlaku, ketika berlaku, dan apa yang harus dilakukan jika pelanggaran berlaku.
Sama seperti lesen sumber terbuka, terdapat juga piawaian kod tingkah laku yang muncul, jadi anda tidak perlu menulis sendiri. The[Contributor Covenant](https://contributor-covenant.org/) adalah tatakelakuan drop-in yang digunakan oleh [over 40,000 open source projects](https://www.contributor-covenant.org/adopters), termasuk Kubernetes, Rails, dan Swift. Tidak kira teks yang anda gunakan, anda harus bersiap sedia untuk menegakkan tatakelakuan anda bila perlu.
Tampal teks terus ke fail CODE_OF_CONDUCT di repositori anda. Simpan fail tersebut di direktori root projek anda sehingga mudah dicari, dan pautkan ke sana dari README anda.
## Menamakan dan menjenamakan projek anda
Penjenamaan lebih daripada sekadar logo yang mencolok atau nama projek yang menarik. Ini mengenai bagaimana anda membincangkan projek anda, dan siapa yang anda sampaikan dengan mesej anda.
### Memilih nama yang betul
Pilih nama yang senang diingat dan, idealnya, memberi idea tentang apa yang dilakukan oleh projek itu. Sebagai contoh:
* [Sentry](https://github.com/getsentry/sentry) memantau aplikasi untuk pelaporan kerosakan
* [Thin](https://github.com/macournoyer/thin) adalah pelayan web Ruby yang pantas dan ringkas
Sekiranya anda membina projek yang ada, menggunakan nama mereka sebagai awalan dapat membantu menjelaskan apa yang dilakukan oleh projek anda (contohnya, [node-fetch](https://github.com/bitinn/node-fetch) bawah `window.fetch` ke Node.js).
Pertimbangkan kejelasan di atas semua. Rasa tidak senang, tetapi ingat bahawa beberapa lelucon mungkin tidak diterjemahkan ke budaya lain atau orang yang mempunyai pengalaman berbeza dari anda. Sebilangan pengguna berpotensi anda mungkin merupakan pekerja syarikat: anda tidak mahu membuat mereka tidak selesa apabila mereka harus menjelaskan projek anda di tempat kerja!
### Mengelakkan konflik nama
[Check for open source projects with a similar name](http://ivantomic.com/projects/ospnc/),terutamanya jika anda berkongsi bahasa atau ekosistem yang sama. Sekiranya nama anda bertindih dengan projek sedia ada yang popular, anda mungkin membingungkan khalayak anda.
Sekiranya anda mahukan laman web, pemegang Twitter, atau sifat lain untuk mewakili projek anda, pastikan anda dapat memperoleh nama yang anda mahukan. Sebaik-baiknya, [reserve those names now](https://instantdomainsearch.com/) untuk ketenangan fikiran, walaupun anda belum mahu menggunakannya
Pastikan bahawa nama projek anda tidak melanggar tanda dagangan. Syarikat mungkin meminta anda untuk menghentikan projek anda di kemudian hari, atau bahkan mengambil tindakan undang-undang terhadap anda. Ia tidak sepadan dengan risikonya.
Anda boleh menyemak [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) untuk konflik tanda dagangan. Sekiranya anda berada di syarikat, ini adalah salah satu perkara yang anda miliki [legal team can help you with](../legal/).
Akhirnya, buat carian Google dengan cepat untuk nama projek anda. Adakah orang dapat mencari projek anda dengan mudah? Adakah perkara lain muncul dalam hasil carian yang anda tidak mahu mereka lihat?
### Cara anda menulis (dan kod) juga mempengaruhi jenama anda!
Sepanjang hayat projek anda, anda akan melakukan banyak penulisan: README, tutorial, dokumen komuniti, menanggapi masalah, bahkan mungkin buletin dan senarai surat.
Sama ada dokumentasi rasmi atau e-mel biasa, gaya penulisan anda adalah sebahagian daripada jenama projek anda. Pertimbangkan bagaimana anda dapat menemui audiens anda dan apakah itu nada yang ingin anda sampaikan.
Menggunakan bahasa yang mesra dan inklusif (seperti "mereka", walaupun merujuk kepada orang bujang) dapat membuat projek anda terasa senang menerima penyumbang baru. Berpeganglah pada bahasa yang mudah, kerana kebanyakan pembaca anda mungkin bukan penutur bahasa Inggeris asli.
Di luar cara anda menulis perkataan, gaya pengekodan anda juga boleh menjadi sebahagian daripada jenama projek anda. [Angular](https://angular.io/guide/styleguide) dan [jQuery](https://contribute.jquery.org/style-guide/js/) adalah dua contoh projek dengan gaya dan garis panduan pengkodan yang ketat.
Anda tidak perlu menulis panduan gaya untuk projek anda semasa anda baru memulakannya, dan anda mungkin merasa senang untuk memasukkan gaya pengkodan yang berbeza ke dalam projek anda pula. Tetapi anda harus menjangkakan bagaimana gaya penulisan dan pengekodan anda dapat menarik atau mencegah pelbagai jenis orang. Peringkat awal projek anda adalah peluang anda untuk menetapkan preseden yang ingin anda lihat.
## Senarai semak pra-pelancaran anda
Bersedia untuk membuka sumber projek anda? Berikut adalah senarai semak untuk membantu. Tandakan semua kotak? Anda sudah bersedia untuk pergi! [Click "publish"](https://help.github.com/articles/making-a-private-repository-public/) dan tepuk punggung.
**Dokumentasi**
**Code**
**Orang**
Sekiranya anda seorang individu:
Sekiranya anda syarikat atau organisasi:
## Kamu lakukan!
Tahniah kerana sumber terbuka projek pertama anda. Tidak kira hasilnya, bekerja di khalayak ramai adalah hadiah untuk masyarakat. Dengan setiap komitmen, komen, dan permintaan tarik, anda mencipta peluang untuk diri sendiri dan orang lain untuk belajar dan berkembang.
================================================
FILE: _articles/nl/best-practices.md
================================================
---
lang: nl
title: Tips voor een open source-beheerder
description: Uw leven gemakkelijker maken als open source-beheerder, van het documenteren van processen tot het benutten van uw gemeenschap.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Wat betekent het om een open source-onderhouder te zijn?
Als je een open source-project onderhoudt dat veel mensen gebruiken, heb je misschien gemerkt dat je minder codeert en meer op problemen reageert.
In de vroege stadia van een project experimenteer je met nieuwe ideeën en neem je beslissingen op basis van wat je wilt. Naarmate uw project populairder wordt, zult u merken dat u meer met uw gebruikers en bijdragers samenwerkt.
Voor het onderhouden van een project is meer nodig dan alleen code. Deze taken zijn vaak onverwacht, maar net zo belangrijk voor een groeiend project. We hebben een aantal manieren verzameld om uw leven gemakkelijker te maken, van het documenteren van processen tot het benutten van uw gemeenschap.
## Documenteren van uw processen
Dingen documenteren is een van de belangrijkste dingen die u als onderhouder kunt doen.
Documentatie verduidelijkt niet alleen uw eigen denken, maar het helpt andere mensen ook te begrijpen wat u nodig heeft of verwacht, nog voordat ze erom vragen.
Door dingen op te schrijven, wordt het gemakkelijker om nee te zeggen als iets niet binnen uw bereik past. Het maakt het ook gemakkelijker voor mensen om in te springen en te helpen. Je weet nooit wie je project leest of gebruikt.
Zelfs als u geen volledige alinea's gebruikt, is het beter om opsommingstekens op te schrijven dan helemaal niet te documenteren.
Denk eraan om uw documentatie up-to-date te houden. Als u dit niet altijd kunt doen, verwijdert u uw verouderde documentatie of geeft u aan dat deze verouderd is, zodat bijdragers weten dat updates welkom zijn.
### Schrijf de visie van uw project op
Begin met het opschrijven van de doelen van uw project. Voeg ze toe aan je README, of maak een apart bestand met de naam VISION. Als er andere artefacten zijn die kunnen helpen, zoals een projectroadmap, maak die dan ook openbaar.
Door een duidelijke, gedocumenteerde visie te hebben, blijft u gefocust en kunt u voorkomen dat u "scoop" van andermans bijdragen krijgt.
@Lord ontdekte bijvoorbeeld dat het hebben van een projectvisie hem hielp uitzoeken aan welke verzoeken hij tijd moest besteden. Als nieuwe open source-onderhouder had hij er spijt van dat hij zich niet aan de reikwijdte van zijn project had gehouden toen hij zijn eerste functieverzoek kreeg voor [Slate](https://github.com/lord/slate).
### Communiceer uw verwachtingen
Regels kunnen zenuwslopend zijn om op te schrijven. Soms heb je misschien het gevoel dat je het gedrag van andere mensen controleert of al het plezier wegneemt.
Eerlijk geschreven en gehandhaafd, maar goede regels geven open soruce-onderhouders meer mogelijkheden. Ze voorkomen dat u wordt meegesleurd in dingen die u niet wilt doen.
De meeste mensen die uw project tegenkomen, weten niets over u of uw omstandigheden. Ze gaan er misschien van uit dat je wordt betaald om eraan te werken, vooral als het iets is dat ze regelmatig gebruiken en waarvan ze afhankelijk zijn. Misschien heb je op een gegeven moment veel tijd in je project gestoken, maar ben je nu bezig met een nieuwe baan of familielid.
Dit is allemaal in orde! Zorg ervoor dat andere mensen ervan op de hoogte zijn.
Als het onderhouden van uw project parttime of puur vrijwillig is, wees dan eerlijk over hoeveel tijd u hebt. Dit is niet hetzelfde als hoeveel tijd u denkt dat het project nodig heeft, of hoeveel tijd anderen willen dat u eraan besteedt.
Hier zijn een paar regels die het waard zijn om op te schrijven:
* Hoe een bijdrage wordt beoordeeld en geaccepteerd (_Hebben ze tests nodig? Een issue-sjabloon?_)
* De soorten bijdragen die je accepteert (_Wil je alleen hulp bij een bepaald deel van je code?_)
* Wanneer het gepast is om op te volgen (_bijvoorbeeld: "U kunt binnen 7 dagen een reactie van een onderhouder verwachten. Als u tegen die tijd niets heeft gehoord, kunt u de discussie pingen."_)
* Hoeveel tijd u aan het project besteedt (_bijvoorbeeld: "We besteden slechts ongeveer 5 uur per week aan dit project"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), en [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) zijn verschillende voorbeelden van projecten met basisregels voor beheerders en bijdragers.
### Houd de communicatie openbaar
Vergeet ook niet uw interacties te documenteren. Houd de communicatie over uw project waar mogelijk openbaar. Als iemand privé contact met u opneemt om een functieverzoek of ondersteuningsbehoefte te bespreken, verwijs hem dan beleefd naar een openbaar communicatiekanaal, zoals een mailinglijst of issue tracker.
Als u andere beheerders ontmoet, of een belangrijke beslissing neemt in privé, documenteer deze gesprekken dan in het openbaar, zelfs als u alleen maar uw aantekeningen plaatst.
Op die manier heeft iedereen die lid wordt van uw community toegang tot dezelfde informatie als iemand die er al jaren is.
## Nee leren zeggen
Je hebt dingen opgeschreven. Idealiter zou iedereen uw documentatie lezen, maar in werkelijkheid moet u anderen eraan herinneren dat deze kennis bestaat.
Door alles op te schrijven, kunt u situaties onpersoonlijk maken waarin u uw regels wel moet handhaven.
Nee zeggen is niet leuk, maar _"Uw bijdrage voldoet niet aan de criteria van dit project"_ voelt minder persoonlijk dan _"Ik vind uw bijdrage niet leuk"_.
Nee zeggen is van toepassing op veel situaties die je als open source-onderhouder tegenkomt: functieverzoeken die niet binnen het bereik passen, iemand die een discussie ontspoort, onnodig werk voor anderen doet.
### Houd het gesprek vriendelijk
Een van de belangrijkste plaatsen waar u kunt oefenen om nee te zeggen, is uw issue en pull request lijst met verzoeken. Als projectbeheerder ontvangt u onvermijdelijk suggesties die u niet wilt accepteren.
Misschien verandert de bijdrage de reikwijdte van uw project of past deze niet bij uw visie. Misschien is het idee goed, maar de implementatie is slecht.
Ongeacht de reden is het mogelijk om tactvol om te gaan met bijdragen die niet voldoen aan de normen van uw project.
Als u een bijdrage ontvangt die u niet wilt accepteren, is uw eerste reactie misschien dat u deze negeert of doet alsof u deze niet hebt gezien. Dit kan de gevoelens van de ander schaden en zelfs andere potentiële bijdragers in uw gemeenschap demotiveren.
Laat geen ongewenste bijdrage openstaan omdat je een schuldgevoel hebt of aardig wilt zijn. Na verloop van tijd zullen uw onbeantwoorde problemen en PR's het werken aan uw project veel stressvoller en intimiderend maken.
Het is beter om de bijdragen waarvan u weet dat u ze niet wilt accepteren, onmiddellijk af te sluiten. Als uw project al een grote achterstand heeft, heeft @steveklabnik suggesties voor [hoe u problemen efficiënt kunt sorteren](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Ten tweede is het negeren van bijdragen een negatief signaal naar uw gemeenschap. Bijdragen aan een project kan intimiderend zijn, vooral als het iemands eerste keer is. Zelfs als u hun bijdrage niet accepteert, erken de persoon erachter en bedank hem voor zijn interesse. Het is een groot compliment!
Als u een bijdrage niet wil accepteren:
* **Bedank ze** voor hun bijdrage
* **Leg uit waarom het niet past** in de scope van het project, en bied duidelijke suggesties voor verbetering, als je kunt. Wees aardig, maar standvastig.
* **Link naar relevante documentatie**, als u die heeft. Als u herhaalde verzoeken opmerkt voor dingen die u niet wilt accepteren, voegt u deze toe aan uw documentatie om te voorkomen dat u zichzelf herhaalt.
* **Sluit het verzoek**
Je hebt niet meer dan 1-2 zinnen nodig om te reageren. Als voorbeeld, als een gebruiker van [celery](https://github.com/celery/celery/) een Windows-gerelateerde fout meldde, @berkerpeksag [reageerde met](https://github.com/celery/celery/issues/3383):

Als de gedachte om nee te zeggen je bang maakt, ben je niet de enige. zoals @jessfraz [het omschrijft](https://blog.jessfraz.com/post/the-art-of-closing/):
> Ik heb met onderhouders van verschillende open source-projecten gesproken, Mesos, Kubernetes, Chromium, en ze zijn het er allemaal over eens dat een van de moeilijkste aspecten van het zijn van een onderhouder is om "Nee" te zeggen tegen patches die je niet wilt.
Voel je niet schuldig over het niet willen accepteren van iemands bijdrage. De eerste regel van open source, [volgens](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"Nee is tijdelijk, ja is voor altijd."_ Hoewel empathie met het enthousiasme van een ander een goede zaak is, is het afwijzen van een bijdrage niet hetzelfde als het afwijzen van de persoon erachter.
Als een bijdrage uiteindelijk niet goed genoeg is, bent u niet verplicht deze te accepteren. Wees vriendelijk en responsief wanneer mensen bijdragen aan uw project, maar accepteer alleen veranderingen waarvan u echt denkt dat ze uw project beter zullen maken. Hoe vaker je oefent om nee te zeggen, hoe gemakkelijker het wordt. Beloofd.
### Wees proactief
Om het aantal ongewenste bijdragen in de eerste plaats te verminderen, legt u het proces van uw project voor het indienen en accepteren van bijdragen uit in uw handleiding voor bijdragen.
Als u te veel bijdragen van lage kwaliteit ontvangt, moet u van tevoren eisen dat bijdragers wat werk doen, bijvoorbeeld:
* Vul een probleem of PR-sjabloon/checklist in
* Open een issue voordat je een PR opent
Als ze uw regels niet volgen, sluit u het probleem onmiddellijk af en verwijst u naar uw documentatie.
Hoewel deze aanpak in het begin misschien onaardig aanvoelt, is proactief zijn eigenlijk goed voor beide partijen. Het verkleint de kans dat iemand veel verspilde uren werk in een pull-verzoek stopt dat u niet zult accepteren. En het maakt uw werklast gemakkelijker te beheren.
Soms, als u nee zegt, kan uw potentiële bijdrager van streek raken of uw beslissing bekritiseren. Als hun gedrag vijandig wordt, [neem deze maatregelen om het positief te houden](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) of verwijder ze zelfs uit uw gemeenschap, als ze niet bereid zijn constructief samen te werken.
### Omarm mentorschap
Misschien dient iemand in uw gemeenschap regelmatig bijdragen in die niet voldoen aan de normen van uw project. Het kan voor beide partijen frustrerend zijn om herhaaldelijk afwijzingen te doorstaan.
Als je ziet dat iemand enthousiast is over je project, maar een beetje gepolijst moet worden, wees dan geduldig. Leg in elke situatie duidelijk uit waarom hun bijdragen niet voldoen aan de verwachtingen van het project. Wijs ze op een gemakkelijkere of minder dubbelzinnige taak, zoals een probleem met de aanduiding _"good first issue"_ om ze te laten wennen. Als u tijd heeft, overweeg dan om hen te begeleiden door middel van hun eerste bijdrage, of zoek iemand anders in uw gemeenschap die misschien bereid is om hen te begeleiden.
## Maak gebruik van uw community
U hoeft niet alles zelf te doen. De gemeenschap van uw project bestaat niet voor niets! Zelfs als u nog geen actieve bijdragersgemeenschap heeft, kunt u, als u veel gebruikers heeft, ze aan het werk zetten.
### Deel de werklast
Als je op zoek bent naar anderen om bij te praten, begin dan met rond te vragen.
Een manier om nieuwe bijdragers te werven, is door expliciet [label problemen die voor beginners eenvoudig genoeg zijn om aan te pakken](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub zal deze problemen vervolgens op verschillende plaatsen op het platform aan de oppervlakte brengen, waardoor hun zichtbaarheid wordt vergroot.
Als je ziet dat nieuwe bijdragers herhaaldelijk bijdragen leveren, erken dan hun werk door meer verantwoordelijkheid te bieden. Documenteer hoe anderen kunnen uitgroeien tot leiderschapsrollen als ze dat willen.
Anderen aanmoedigen om [aandeelhouderschap van het project](../building-community/#deel-het-eigendom-van-uw-project) te nemen, kan je werklast verlagen, zoals @lmccart ondekte op haar project, [p5.js](https://github.com/processing/p5.js).
Als u afstand moet nemen van uw project, hetzij op pauze, hetzij permanent, is het geen schande om iemand anders te vragen om het voor u over te nemen.
Als andere mensen enthousiast zijn over de richting, geef ze dan toegang of draag de controle formeel over aan iemand anders. Als iemand uw project heeft geforked en het actief elders onderhoudt, overweeg dan om te linken naar de fork van uw oorspronkelijke project. Het is geweldig dat zoveel mensen willen dat uw project voortleeft!
@progrium [merkte dat](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) het documentern van zijn visie voor het project, [Dokku](https://github.com/dokku/dokku), hielp die doelen voortleven, zelfs nadat hij het project had verlaten:
> Ik schreef een wikipagina die beschreef wat ik wilde en waarom ik het wilde. Om de een of andere reden kwam het als een verrassing voor mij dat de beheerders het project in die richting begonnen te bewegen! Is het precies gebeurd zoals ik het zou doen? Niet altijd. Maar het bracht het project nog steeds dichter bij wat ik had opgeschreven.
### Laat anderen de oplossingen bouwen die ze nodig hebben
Als een potentiële bijdrager een andere mening heeft over wat uw project zou moeten doen, wilt u hem misschien voorzichtig aanmoedigen om aan zijn eigen fork te werken.
Een project forceren hoeft geen slechte zaak te zijn. Projecten kunnen kopiëren en wijzigen is een van de beste dingen van open source. Door uw gemeenschapsleden aan te moedigen om aan hun eigen fork te werken, kan dit de creatieve uitlaatklep zijn die ze nodig hebben, zonder in strijd te zijn met de visie van uw project.
The same applies to a user who really wants a solution that you simply don't have the bandwidth to build. Offering APIs and customization hooks can help others meet their own needs, without having to modify the source directly. @orta [found that](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) encouraging plugins for CocoaPods led to "some of the most interesting ideas":
> It's almost inevitable that once a project becomes big, maintainers have to become a lot more conservative about how they introduce new code. You become good at saying "no", but a lot of people have legitimate needs. So, instead you end up converting your tool into a platform.
## Breng de robots
Net zoals er taken zijn waar andere mensen je mee kunnen helpen, zijn er ook taken die geen mens ooit zou moeten hoeven doen. Robots zijn je vrienden. Gebruik ze om uw leven als open source-onderhouder gemakkelijker te maken.
### Vereis tests en andere controles om de kwaliteit van uw code te verbeteren
Een van de belangrijkste manieren waarop u uw project kunt automatiseren, is door tests toe te voegen.
Tests helpen bijdragers het vertrouwen te hebben dat ze niets zullen breken. Ze maken het ook gemakkelijker voor u om bijdragen snel te bekijken en te accepteren. Hoe responsiever u bent, hoe meer uw gemeenschap betrokken kan zijn.
Stel automatische tests in die op alle inkomende bijdragen worden uitgevoerd en zorg ervoor dat uw tests gemakkelijk lokaal door bijdragers kunnen worden uitgevoerd. Vereisen dat alle codebijdragen slagen voor uw tests voordat ze kunnen worden ingediend. Je helpt mee met het instellen van een minimale kwaliteitsnorm voor alle inzendingen. [Vereiste statuschecks](https://help.github.com/articles/about-required-status-checks/) op GitHub kan ervoor zorgen dat geen enkele wijziging wordt gemerged zonder dat uw tests slagen.
Als u tests toevoegt, leg dan uit hoe ze werken in uw CONTRIBUTING-bestand.
### Gebruik tools om eenvoudige onderhoudstaken te automatiseren
Het goede nieuws over het onderhouden van een populair project is dat andere beheerders waarschijnlijk met soortgelijke problemen te maken hebben gehad en er een oplossing voor hebben gebouwd.
Er zijn een hoop [verschillende tools beschikbaar](https://github.com/showcases/tools-for-open-source) om te helpen om sommige aspecten te automatiseren.
Een paar voorbeelden:
* [semantic-release](https://github.com/semantic-release/semantic-release) automatiseert uw releases
* [mention-bot](https://github.com/facebook/mention-bot) vermeldt potentiële reviewers voor pull-aanvragen
* [Danger](https://github.com/danger/danger) helpt bij het automatiseren van codebeoordeling
* [no-response](https://github.com/probot/no-response) sluit issues af waarbij de auteur niet heeft gereageerd op een verzoek om meer informatie
* [dependabot](https://github.com/dependabot) controleert uw afhankelijkheidsbestanden elke dag op verouderde vereisten en opent individuele pull-verzoeken voor alle gevonden items
Voor bugrapporten en andere veelvoorkomende bijdragen heeft GitHub [Issue-sjablonen en Pull Request-sjablonen](https://github.com/blog/2111-issue-and-pull-request-templates), die u kunt maken om de communicatie die u ontvangt te stroomlijnen. @TalAter heeft een [Kies je eigen avonturengids](https://www.talater.com/open-source-templates/#/) gemaakt om u te helpen bij het schrijven van uw issue en PR-sjablonen.
Om uw e-mailmeldingen te beheren, kunt u [email filters](https://github.com/blog/2203-email-updates-about-your-own-activity) instellen om te organiseren op prioriteit.
Als je wat geavanceerder wilt worden, kunnen stijlgidsen en linters projectbijdragen standaardiseren en ze gemakkelijker te beoordelen en te accepteren maken.
Als uw normen echter te ingewikkeld zijn, kunnen ze de drempels voor bijdragen vergroten. Zorg ervoor dat u alleen voldoende regels toevoegt om het leven van iedereen gemakkelijker te maken.
Als u niet zeker weet welke tools u moet gebruiken, kijk dan wat andere populaire projecten doen, vooral die in uw ecosysteem. Hoe ziet het contributieproces er bijvoorbeeld uit voor andere Node-modules? Het gebruik van vergelijkbare tools en benaderingen zal uw proces ook meer vertrouwd maken bij uw beoogde bijdragers.
## Het is oké om op pauze te drukken
Open source-werk heeft je ooit vreugde gebracht. Misschien begint het je nu een ontwijkend of schuldig gevoel te geven.
Misschien heb je het gevoel overweldigd te zijn of krijg je steeds meer angst als je aan je projecten denkt. En ondertussen stapelen de problemen en pull-verzoeken zich op.
Burn-out is een echt en doordringend probleem in open source-werk, vooral onder beheerders. Als open source-onderhouder is uw geluk een niet-onderhandelbare vereiste voor het voortbestaan van elk open source-project.
Hoewel het vanzelfsprekend zou moeten zijn, neem een pauze! U hoeft niet te wachten tot u zich opgebrand voelt om op vakantie te gaan. @brettcannon, een Python-kernontwikkelaar, besloot [een maand lang op vakantie te gaan](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) na 14 jaar als vrijwillig OSS (Opensource) werk.
Net als bij elk ander soort werk, zal het nemen van regelmatige pauzes je verfrist, blij en enthousiast over je werk houden.
Soms kan het moeilijk zijn om een pauze in te lassen van open source-werk als het voelt alsof iedereen je nodig heeft. Mensen kunnen zelfs proberen je een schuldgevoel te geven omdat je weggaat.
Doe uw best om ondersteuning voor uw gebruikers en gemeenschap te vinden terwijl u niet aan een project zit. Als je de ondersteuning die je nodig hebt niet kunt vinden, neem dan toch een pauze. Zorg ervoor dat u communiceert wanneer u niet beschikbaar bent, zodat mensen niet in de war raken door uw gebrek aan reactievermogen.
Pauzes nemen geldt ook voor meer dan alleen vakanties. Als je in het weekend of tijdens werkuren geen open source-werk wilt doen, communiceer die verwachtingen dan aan anderen, zodat ze weten dat ze je niet lastig vallen.
## Zorg eerst voor uzelf!
Het onderhouden van een populair project vereist andere vaardigheden dan de eerdere groeifasen, maar het is niet minder lonend. Als onderhouder oefen je leiderschap en persoonlijke vaardigheden op een niveau dat maar weinig mensen ervaren. Hoewel het niet altijd gemakkelijk te beheren is, helpt het stellen van duidelijke grenzen en alleen aan te nemen waar je een prettig gevoel bij hebt, je gelukkig door voelt of wat je verfrist om productief te blijven.
================================================
FILE: _articles/nl/building-community.md
================================================
---
lang: nl
title: Bouwen aan gastvrije gemeenschappen
description: Een gemeenschap opbouwen die mensen aanmoedigt om uw project te gebruiken, eraan bij te dragen en het te evangeliseren.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Uw project opzetten voor succes
Je hebt je project gelanceerd, je verspreidt het woord en mensen bekijken het. Geweldig! Nu, hoe zorg je ervoor dat ze blijven hangen?
Een gastvrije gemeenschap is een investering in de toekomst en reputatie van uw project. Als je project net zijn eerste bijdragen begint te zien, begin dan met het geven van een positieve ervaring aan vroege bijdragers en zorg ervoor dat ze gemakkelijk terug blijven komen.
### Zorg ervoor dat mensen zich welkom voelen
Een manier om na te denken over de gemeenschap van uw project is door wat @MikeMcQuaid het [bijdrager trechter](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/) noemt:

Bedenk bij het opbouwen van uw community hoe iemand bovenaan de trechter (een potentiële gebruiker) theoretisch de weg naar de bodem kan vinden (een actieve onderhouder). Uw doel is om wrijving in elke fase van de bijdragerservaring te verminderen. Als mensen gemakkelijk winnen, voelen ze zich gestimuleerd om meer te doen.
Begin met uw documentatie:
* **Maak het voor iemand gemakkelijk om uw project te gebruiken.** [Een vriendelijke README](../starting-a-project/#een-readme-schrijven) en duidelijke codevoorbeelden maken het gemakkelijker voor iedereen die op uw project belandt om aan de slag te gaan.
* **Leg duidelijk uit hoe u kunt bijdragen**, gebruik [je CONTRIBUTING-bestand](../starting-a-project/#schrijven-van-uw-bijdrage-richtlijnen) en uw issues up-to-date houden.
* **Goede first issues**: Overweeg expliciet om nieuwe bijdragers op weg te helpen [label issues die eenvoudig genoeg zijn voor beginners om aan te pakken](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub zal deze issues vervolgens op verschillende plaatsen op het platform aan de oppervlakte brengen, waardoor nuttige bijdragen worden verhoogd en de wrijving wordt verminderd van gebruikers die problemen aanpakken die te moeilijk zijn voor hun niveau.
* [GitHub's Open Source-enquête 2017](http://opensourcesurvey.org/2017/) vertoonde onvolledige of verwarrende documentatie is het grootste probleem voor open source-gebruikers. Goede documentatie nodigt uit tot interactie met uw project. Uiteindelijk zal iemand een issue of pull request openen. Gebruik deze interacties als kansen om ze door de trechter te verplaatsen.
* **Als iemand nieuw op uw project komt, bedank hem dan voor zijn interesse!** Er is maar één negatieve ervaring nodig om ervoor te zorgen dat iemand niet meer terug wil komen.
* **Wees responsief.** Als u een maand lang niet op hun probleem reageert, is de kans groot dat ze uw project al zijn vergeten.
* **Sta open voor de soorten bijdragen die u accepteert.** Veel bijdragers beginnen met een bugrapport of een kleine oplossing. Er zijn [veel manieren om bij te dragen](../how-to-contribute/#waarom-bijdragen-aan-open-source) aan een project. Laat mensen helpen zoals ze willen helpen.
* **Als er een bijdrage is waar u het niet mee eens bent,** bedank ze voor hun idee, en [vertel waarom](../best-practices/#nee-leren-zeggen) het niet past in de scope van het project en linkt naar relevante documentatie als je die hebt.
De meeste open source-bijdragers zijn "casual bijdragers": mensen die slechts af en toe bijdragen aan een project. Een toevallige bijdrager heeft misschien geen tijd om volledig op de hoogte te zijn van uw project, dus het is uw taak om het hem gemakkelijk te maken om bij te dragen.
Andere bijdragers aanmoedigen is ook een investering in uzelf. Als u uw grootste fans de kracht geeft om te rennen met het werk waar ze enthousiast over zijn, is er minder druk om alles zelf te doen.
### Documenteer alles
Wanneer u aan een nieuw project begint, kan het natuurlijk aanvoelen om uw werk privé te houden. Maar open source-projecten gedijen goed wanneer u uw proces openbaar documenteert.
Als je dingen opschrijft, kunnen er bij elke stap meer mensen deelnemen. U kunt misschien hulp krijgen bij iets waarvan u niet eens wist dat u het nodig had.
Dingen opschrijven is meer dan alleen technische documentatie. Elke keer dat u de neiging voelt om iets op te schrijven of uw project privé te bespreken, vraag uzelf dan af of u het openbaar kunt maken.
Wees transparant over de roadmap van uw project, de soorten bijdragen die u zoekt, hoe bijdragen worden beoordeeld of waarom u bepaalde beslissingen hebt genomen.
Als u merkt dat meerdere gebruikers tegen hetzelfde probleem aanlopen, documenteer de antwoorden dan in de README.
Overweeg voor vergaderingen uw aantekeningen of afhaalrestaurants te publiceren in een relevant nummer. De feedback die u van dit transparantieniveau krijgt, zal u misschien verbazen.
Alles documenteren is ook van toepassing op het werk dat u doet. Als u aan een substantiële update van uw project werkt, plaatst u dit in een pull-aanvraag en markeert u het als een work in progress (_Werk in uitvoering_) (WIP). Op die manier kunnen andere mensen zich al vroeg bij het proces betrokken voelen.
### Wees responsief
Als jij [je project promoot](../finding-users), zullen mensen feedback voor je hebben. Ze hebben misschien vragen over hoe dingen werken of hebben hulp nodig om aan de slag te gaan.
Probeer responsief te zijn wanneer iemand een probleem issue, een pull-verzoek indient of een vraag stelt over uw project. Als je snel reageert, zullen mensen het gevoel hebben dat ze deel uitmaken van een dialoog en zullen ze enthousiaster zijn over deelname.
Zelfs als u het verzoek niet onmiddellijk kunt beoordelen, helpt het vroegtijdig erkennen van het verzoek de betrokkenheid te vergroten. Hier is hoe @tdreyno reageerde op een pull-verzoek op [Middleman](https://github.com/middleman/middleman/pull/1466):

[Een Mozilla-studie zag dat](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) bijdragers die binnen 48 uur codebeoordelingen ontvingen, een veel hoger rendement hadden en een veel hogere bijdrage.
Gesprekken over uw project kunnen ook plaatsvinden op andere plaatsen op internet, zoals Stack Overflow, Twitter of Reddit. U kunt op sommige van deze plaatsen meldingen instellen, zodat u wordt gewaarschuwd wanneer iemand uw project noemt.
### Geef uw gemeenschap een plek om samen te komen
Er zijn twee redenen om uw gemeenschap een plek te geven om samen te komen.
De eerste reden is voor hen. Help mensen elkaar te leren kennen. Mensen met gemeenschappelijke interesses zullen onvermijdelijk een plek willen hebben om erover te praten. En als communicatie openbaar en toegankelijk is, kan iedereen archieven uit het verleden lezen om op de hoogte te blijven en deel te nemen.
De tweede reden is voor jou. Als je mensen geen openbare plek geeft om over je project te praten, zullen ze waarschijnlijk rechtstreeks contact met je opnemen. In het begin lijkt het misschien eenvoudig genoeg om "voor een keer" op privéberichten te reageren. Maar na verloop van tijd, vooral als uw project populair wordt, zult u zich uitgeput voelen. Weersta de verleiding om privé met mensen over uw project te communiceren. Verwijs ze in plaats daarvan naar een aangewezen openbaar kanaal.
Openbare communicatie kan zo simpel zijn als mensen sturen om een probleem te openen in plaats van u rechtstreeks te e-mailen of te reageren op uw blog. Je kunt ook een mailinglijst opzetten, of een Twitter-account, Slack- of IRC-kanaal maken zodat mensen over je project kunnen praten. Of probeer al het bovenstaande!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) reserveert om de week kantooruren om leden van de gemeenschap te helpen:
> Kops heeft ook om de week tijd vrijgemaakt om hulp en begeleiding te bieden aan de gemeenschap. De beheerders van Kops zijn overeengekomen om tijd vrij te maken die specifiek is bedoeld voor het werken met nieuwkomers, het helpen met PR's en het bespreken van nieuwe functies.
Uitzonderingen op openbare communicatie zijn: 1) beveiligingskwesties en 2) schendingen van gevoelige gedragscodes. U moet altijd een manier hebben waarop mensen deze problemen privé kunnen melden. Als u uw persoonlijke e-mailadres niet wilt gebruiken, stelt u een speciaal e-mailadres in.
## Je community laten groeien
Gemeenschappen zijn buitengewoon krachtig. Die macht kan een zegen of een vloek zijn, afhankelijk van hoe u die uitoefent. Naarmate de gemeenschap van uw project groeit, zijn er manieren om het te helpen een bouwkracht te worden, geen vernietiging.
### Sta geen slechte acteurs toe
Elk populair project zal onvermijdelijk mensen aantrekken die uw gemeenschap schaden in plaats van helpen. Ze kunnen onnodige debatten beginnen, kibbelen over triviale kenmerken of anderen pesten.
Doe je best om een nultolerantiebeleid te voeren ten aanzien van dit soort mensen. Als dit niet wordt aangevinkt, zullen negatieve mensen andere mensen in uw gemeenschap ongemakkelijk maken. Ze kunnen zelfs vertrekken.
Regelmatige debatten over triviale aspecten van uw project leiden anderen, waaronder u, af om zich op belangrijke taken te concentreren. Nieuwe mensen die naar uw project komen, kunnen deze gesprekken zien en willen niet deelnemen.
Als u negatief gedrag in uw project ziet gebeuren, meld dit dan in het openbaar. Leg op vriendelijke maar krachtige toon uit waarom hun gedrag niet acceptabel is. Als het probleem aanhoudt, kan het nodig zijn [om te vragen om te vertrekken](../code-of-conduct/#handhaving-van-uw-gedragscode). Uw [gedragsregels](../code-of-conduct/) kan een constructieve gids zijn voor deze gesprekken.
### Ontmoet bijdragers waar ze zijn
Goede documentatie wordt alleen maar belangrijker naarmate uw gemeenschap groeit. Toevallige bijdragers, die anders misschien niet bekend zijn met uw project, lezen uw documentatie om snel de context te krijgen die ze nodig hebben.
Vertel nieuwe bijdragers in uw CONTRIBUTORS-bestand expliciet hoe ze aan de slag kunnen. Misschien wilt u voor dit doel zelfs een speciale sectie maken. [Django](https://github.com/django/django), heeft bijvoorbeeld een speciale bestemmingspagina om nieuwe bijdragers te verwelkomen.

Label in uw issue wachtrij bugs die geschikt zijn voor verschillende soorten bijdragers: bijvoorbeeld [_"alleen first timers"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, or _"documentatie"_. [Deze labels](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) maken het gemakkelijk voor iemand die nieuw is bij uw project om snel uw problemen te scannen en aan de slag te gaan.
Gebruik ten slotte uw documentatie om ervoor te zorgen dat mensen zich bij elke stap welkom voelen.
U zult nooit contact hebben met de meeste mensen die op uw project terechtkomen. Er kunnen bijdragen zijn die u niet hebt ontvangen omdat iemand zich geïntimideerd voelde of niet wist waar hij moest beginnen. Zelfs een paar vriendelijke woorden kunnen iemand ervan weerhouden uw project gefrustreerd te verlaten.
Hier is bijvoorbeeld hoe [Rubinius](https://github.com/rubinius/rubinius/) startte [zijn bijdrage gids](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Om te beginnen willen we u bedanken voor het gebruik van Rubinius. Dit project is een werk van liefde, en we waarderen alle gebruikers die bugs ontdekken, prestatieverbeteringen aanbrengen en helpen met documentatie. Elke bijdrage is zinvol, dus bedankt voor je deelname. Dat gezegd hebbende, zijn hier enkele richtlijnen die we u vragen te volgen, zodat we uw probleem met succes kunnen oplossen.
### Deel het eigendom van uw project
Mensen zijn enthousiast om bij te dragen aan projecten als ze een gevoel van eigenaarschap voelen. Dat betekent niet dat u de visie van uw project moet overdragen of bijdragen moet accepteren die u niet wilt. Maar hoe meer je anderen erkent, hoe meer ze blijven hangen.
Kijk of je manieren kunt vinden om het eigendom zoveel mogelijk met je gemeenschap te delen. Hier zijn enkele ideeën:
* **Weersta het oplossen van gemakkelijke (niet-kritieke) bugs.** Gebruik ze in plaats daarvan als kansen om nieuwe bijdragers te werven of iemand te begeleiden die een bijdrage wil leveren. In het begin lijkt het misschien onnatuurlijk, maar uw investering zal zich na verloop van tijd terugbetalen. @Michaeljoseph vroeg bijvoorbeeld een bijdrager om een pull-verzoek in te dienen voor een [Cookiecutter](https://github.com/audreyr/cookiecutter) issue hieronder, in plaats van het zelf te repareren.

* **Start een CONTRIBUTORS- of AUTHORS-bestand in uw project** met een lijst van iedereen die aan uw project heeft bijgedragen, zoals [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md) doet.
* Als je een omvangrijke community hebt, **stuur dan een nieuwsbrief of schrijf een blogpost** om bijdragers te bedanken. Rust's [Deze week in Rust](https://this-week-in-rust.org/) en Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) zijn twee goede voorbeelden.
* **Geef elke bijdrager toegang tot commit.** @felixge ontdekte dat dit mensen [meer enthousiast maakte om hun patches op te poetsen](https://felixge.de/2013/03/11/the-pull-request-hack.html), en hij vond zelfs nieuwe beheerders voor projecten waaraan hij al een tijdje niet had gewerkt.
* Als uw project zich op GitHub bevindt, **verplaats uw project dan van uw persoonlijke account naar een [Organisatie](https://help.github.com/articles/creating-a-new-organization-account/)** en voeg minstens één back-upbeheerder toe. Organisaties maken het gemakkelijker om met externe medewerkers aan projecten te werken.
De realiteit is dat bij [de meeste projecten]
(https://peerj.com/preprints/1233/) een of twee beheerders die het meeste werk doen. Hoe groter uw project en hoe groter uw gemeenschap, hoe gemakkelijker het is om hulp te vinden.
Hoewel je misschien niet altijd iemand vindt om de oproep te beantwoorden, vergroot het geven van een signaal de kans dat andere mensen meedoen. En hoe eerder je begint, hoe eerder mensen kunnen helpen.
## Conflicten oplossen
In de vroege stadia van uw project is het nemen van belangrijke beslissingen eenvoudig. Als je iets wilt doen, doe het dan gewoon.
Naarmate uw project populairder wordt, zullen meer mensen belangstelling tonen voor de beslissingen die u neemt. Zelfs als je geen grote gemeenschap van bijdragers hebt, als je project veel gebruikers heeft, zul je merken dat mensen een afweging maken bij beslissingen of hun eigen problemen aan de orde stellen.
Als je een vriendelijke, respectvolle gemeenschap hebt ontwikkeld en je processen openlijk hebt gedocumenteerd, zou je gemeenschap voor het grootste deel een oplossing moeten kunnen vinden. Maar soms kom je een probleem tegen dat wat moeilijker op te lossen is.
### Leg de lat voor vriendelijkheid
Wanneer uw gemeenschap worstelt met een moeilijk probleem, kunnen de gemoederen stijgen. Mensen kunnen boos of gefrustreerd worden en het op elkaar of op jou afkraken.
Het is jouw taak als onderhouder om te voorkomen dat deze situaties escaleren. Zelfs als je een uitgesproken mening over het onderwerp hebt, probeer dan de positie van moderator of facilitator in te nemen, in plaats van de strijd aan te gaan en je mening te benadrukken. Als iemand onaardig is of het gesprek monopoliseert, [reageer meteen](../building-community/#sta-geen-slechte-acteurs-toe) discussies netjes en productief houden.
Andere mensen vragen je om advies. Geef een goed voorbeeld. U kunt nog steeds teleurstelling, ongeluk of bezorgdheid uiten, maar doe dit rustig.
Het hoofd koel houden is niet eenvoudig, maar leiderschap tonen verbetert de gezondheid van uw gemeenschap. Het internet dankt je.
### Behandel uw README als een grondwet
Uw README is [meer dan alleen een reeks instructies](../starting-a-project/#een-readme-schrijven). Het is ook een plek om te praten over uw doelen, productvisie en roadmap. Als mensen overdreven gefocust zijn op het bespreken van de waarde van een bepaalde functie, kan het helpen om je README opnieuw te bekijken en te praten over de hogere visie van je project. Focussen op je README maakt het gesprek ook onpersoonlijk, zodat je een constructieve discussie kunt voeren.
### Concentreer u op de reis, niet op de bestemming
Sommige projecten gebruiken een stemproces om belangrijke beslissingen te nemen. Hoewel stemmen op het eerste gezicht verstandig zijn, legt het de nadruk op het vinden van een 'antwoord' in plaats van naar elkaars zorgen te luisteren en erop in te gaan.
Stemmen kan politiek worden, waarbij leden van de gemeenschap onder druk gezet worden om elkaar goed te doen of op een bepaalde manier te stemmen. Ook niet iedereen stemt of het de [stille meerderheid](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) is in uw gemeenschap, of huidige gebruikers die niet wisten dat er gestemd werd.
Soms is stemmen een noodzakelijk kwaad. Zoveel als je kunt, leg echter de nadruk op ["consensus zoeken"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) in plaats van consensus.
In het kader van een proces voor het zoeken naar consensus, bespreken leden van de gemeenschap belangrijke zorgen totdat ze vinden dat ze voldoende zijn gehoord. Als er nog maar kleine zorgen zijn, gaat de gemeenschap vooruit. "Consensus zoeken" erkent dat een gemeenschap misschien niet in staat zal zijn om tot een perfect antwoord te komen. In plaats daarvan geeft het prioriteit aan luisteren en discussiëren.
Zelfs als u niet echt een consensuszoekproces toepast, is het als projectonderhouder belangrijk dat mensen weten dat u luistert. Door ervoor te zorgen dat andere mensen zich gehoord voelen en zich ertoe verbinden hun zorgen op te lossen, kunnen gevoelige situaties aanzienlijk worden verspreid. Volg vervolgens uw woorden met daden.
Overhaast geen beslissing om een oplossing te hebben. Zorg ervoor dat iedereen zich gehoord voelt en dat alle informatie openbaar is gemaakt voordat u naar een oplossing gaat.
### Houd het gesprek gericht op actie
Discussie is belangrijk, maar er is een verschil tussen productieve en onproductieve gesprekken.
Moedig discussie aan zolang deze actief naar een oplossing toe evolueert. Als het duidelijk is dat een gesprek wegkwijnt of afwijkt van het onderwerp, prikkels persoonlijk worden of mensen kibbelen over kleine details, is het tijd om het af te sluiten.
Deze gesprekken laten doorgaan is niet alleen slecht voor het betreffende probleem, maar ook slecht voor de gezondheid van uw gemeenschap. Het geeft een bericht dat dit soort gesprekken is toegestaan of zelfs aangemoedigd, en het kan mensen ontmoedigen om toekomstige problemen aan de orde te stellen of op te lossen.
Stel uzelf bij elk punt dat door u of anderen wordt gemaakt, de vraag: _"Hoe brengt dit ons dichter bij een oplossing?"_
Als het gesprek begint te ontrafelen, vraag dan aan de groep: _"Welke stappen moeten we hierna nemen?"_ Om het gesprek opnieuw te focussen.
Als een gesprek duidelijk nergens heen gaat, er geen duidelijke acties kunnen worden ondernomen, of als de juiste actie al is ondernomen, sluit dan het probleem af en leg uit waarom je het hebt gesloten.
### Kies je gevechten verstandig
Context is belangrijk. Bedenk wie er bij de discussie betrokken is en hoe zij de rest van de gemeenschap vertegenwoordigen.
Is iedereen in de gemeenschap boos over of zelfs betrokken bij deze kwestie? Of is het een eenzame onruststoker? Vergeet niet rekening te houden met uw stille gemeenschapsleden, niet alleen met de actieve stemmen.
Als het probleem niet de bredere behoeften van uw gemeenschap weerspiegelt, moet u misschien de zorgen van een paar mensen erkennen. Als dit een terugkerend probleem is zonder een duidelijke oplossing, verwijs ze dan naar eerdere discussies over het onderwerp en sluit de thread.
### Identificeer een schiftingspercentage van de gemeenschap
Met een goede instelling en duidelijke communicatie zijn de meeste moeilijke situaties op te lossen. Maar zelfs in een productief gesprek kan er eenvoudig een verschil in mening zijn over hoe verder te gaan. Identificeer in deze gevallen een persoon of een groep mensen die als schiftingsvariant kunnen dienen.
Een doorslag kan de primaire instandhouder van het project zijn, of het kan een kleine groep mensen zijn die een beslissing neemt op basis van stemmen. Idealiter heb je een schiftingspercentage en het bijbehorende proces geïdentificeerd in een GOVERNANCE-bestand voordat je het ooit hoeft te gebruiken.
Je schifting zou een laatste redmiddel moeten zijn. Kwesties die verdeeldheid zaaien, zijn een kans voor uw gemeenschap om te groeien en te leren. Omarm deze kansen en gebruik een samenwerkingsproces om waar mogelijk tot een oplossing te komen.
## Community is het ❤️ van open source
Gezonde, bloeiende gemeenschappen voeden de duizenden uren die elke week in open source worden gestoken. Veel bijdragers wijzen op andere mensen als de reden om wel of niet aan open source te werken. Door constructief te leren hoe je die kracht kunt aanboren, help je iemand daarbuiten een onvergetelijke open source-ervaring te hebben.
================================================
FILE: _articles/nl/code-of-conduct.md
================================================
---
lang: nl
title: Uw gedragscode
description: Faciliteer gezond en constructief gedrag in de gemeenschap door een gedragscode aan te nemen en af te dwingen.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Waarom heb ik een gedragscode nodig?
Een gedragscode is een document waarin de verwachtingen voor het gedrag van de deelnemers aan uw project worden vastgelegd. Door een gedragscode aan te nemen en af te dwingen, kunt u een positieve sociale sfeer voor uw gemeenschap creëren.
Gedragscodes helpen niet alleen uw deelnemers te beschermen, maar ook uzelf. Als u een project onderhoudt, zult u merken dat een onproductieve houding van andere deelnemers u na verloop van tijd uitgeput of ongelukkig kan maken met uw werk.
Een gedragscode stelt je in staat om gezond, constructief gemeenschapsgedrag te faciliteren. Door proactief te zijn, wordt de kans kleiner dat u of anderen vermoeid raken door uw project, en kunt u actie ondernemen wanneer iemand iets doet waar u het niet mee eens bent.
## Opstellen van een gedragscode
Try to establish a code of conduct as early as possible: ideally, when you first create your project.
In addition to communicating your expectations, a code of conduct describes the following:
* Where the code of conduct takes effect _(only on issues and pull requests, or community activities like events?)_
* Whom the code of conduct applies to _(community members and maintainers, but what about sponsors?)_
* What happens if someone violates the code of conduct
* How someone can report violations
Wherever you can, use prior art. The [Contributor Covenant](https://contributor-covenant.org/) is a drop-in code of conduct that is used by over 40,000 open source projects, including Kubernetes, Rails, and Swift.
The [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) are also two good code of conduct examples.
Place a CODE_OF_CONDUCT file in your project's root directory, and make it visible to your community by linking it from your CONTRIBUTING or README file.
## Beslissen hoe u uw gedragscode handhaaft
U moet uitleggen hoe uw gedragscode wordt gehandhaafd **_voordat_** een overtreding plaatsvindt. Er zijn verschillende redenen om dit te doen:
* Het toont aan dat u serieus actie onderneemt wanneer dat nodig is.
* Uw gemeenschap zal zich meer gerustgesteld voelen dat klachten daadwerkelijk worden beoordeeld.
* U verzekert uw gemeenschap ervan dat het beoordelingsproces eerlijk en transparant is, mochten ze ooit worden onderzocht op een overtreding.
Geef mensen een privé manier (zoals een e-mailadres) om een schending van de gedragscode te melden en leg uit wie die melding ontvangt. Het kan een onderhouder, een groep beheerders of een werkgroep gedragscode zijn.
Vergeet niet dat iemand misschien een overtreding wil melden over een persoon die deze meldingen ontvangt. Geef ze in dat geval de mogelijkheid om overtredingen aan iemand anders te melden. Bijvoorbeeld @ctb en @mr-c [explain on their project](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Gevallen van beledigend, intimiderend of anderszins onaanvaardbaar gedrag kunnen worden gemeld door een e-mail te sturen naar **khmer-project@idyll.org**, dat alleen naar C. Titus Brown en Michael R. Crusoe gaat. Om een probleem te melden waarbij een van hen betrokken is, kunt u een e-mail sturen naar **Judi Brown Clarke, Ph.D.** de Diversity Director van het BEACON Center for the Study of Evolution in Action, een NSF Center for Science and Technology.
>
> _Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by emailing **khmer-project@idyll.org** which only goes to C. Titus Brown and Michael R. Crusoe. To report an issue involving either of them please email **Judi Brown Clarke, Ph.D.** the Diversity Director at the BEACON Center for the Study of Evolution in Action, an NSF Center for Science and Technology.*_
Voor inspiratie, bekijk Django's [handhavingshandboek](https://www.djangoproject.com/conduct/enforcement-manual/) (hoewel je zoiets alomvattends misschien niet nodig hebt, afhankelijk van de grootte van je project).
## Handhaving van uw gedragscode
Soms, ondanks uw beste inspanningen, zal iemand iets doen dat in strijd is met deze code. Er zijn verschillende manieren om negatief of schadelijk gedrag aan te pakken als het zich voordoet.
### Verzamel informatie over de situatie
Behandel de stem van elk communitylid net zo belangrijk als die van jou. Als u een melding ontvangt dat iemand de gedragscode heeft geschonden, neem deze dan serieus en onderzoek de zaak, zelfs als deze niet overeenkomt met uw eigen ervaring met die persoon. Door dit te doen, geeft u uw gemeenschap aan dat u hun perspectief waardeert en hun oordeel vertrouwt.
Het gemeenschapslid in kwestie kan een recidiverende overtreder zijn die anderen consequent een ongemakkelijk gevoel geeft, of ze hebben misschien maar één keer iets gezegd of gedaan. Beide kunnen aanleiding zijn om actie te ondernemen, afhankelijk van de context.
Geef uzelf de tijd om te begrijpen wat er is gebeurd voordat u reageert. Lees de eerdere opmerkingen en gesprekken van de persoon door om beter te begrijpen wie ze zijn en waarom ze zich misschien op zo'n manier hebben gedragen. Probeer andere dan de uwe perspectieven te verzamelen over deze persoon en zijn gedrag.
### Onderneem passende maatregelen
Nadat u voldoende informatie heeft verzameld en verwerkt, moet u beslissen wat u gaat doen. Bedenk bij het overwegen van uw volgende stappen dat het uw doel als moderator is om een veilige, respectvolle en samenwerkende omgeving te creëren. Bedenk niet alleen hoe u met de situatie in kwestie om moet gaan, maar ook hoe uw reactie het gedrag en de verwachtingen van uw gemeenschap in de toekomst zal beïnvloeden.
Wanneer iemand een overtreding van de gedragscode meldt, is het uw taak, niet hun taak om ermee om te gaan. Soms geeft de melder informatie vrij die een groot risico inhoudt voor zijn carrière, reputatie of fysieke veiligheid. Door hen te dwingen hun dader te confronteren, zou de verslaggever in een compromitterende positie kunnen komen. U dient de directe communicatie met de persoon in kwestie af te handelen, tenzij de melder uitdrukkelijk anders verzoekt.
Er zijn een paar manieren waarop u kunt reageren op een overtreding van de gedragscode:
* **Geef de persoon in kwestie een openbare waarschuwing** en leg uit hoe zijn gedrag een negatieve invloed heeft gehad op anderen, bij voorkeur in het kanaal waar het plaatsvond. Waar mogelijk maakt openbare communicatie aan de rest van de gemeenschap duidelijk dat u de gedragscode serieus neemt. Wees vriendelijk, maar standvastig in uw communicatie.
* **Neem persoonlijk contact op met de persoon in kwestie** om uit te leggen hoe zijn gedrag een negatieve invloed heeft op anderen. U kunt een privé-communicatiekanaal gebruiken als het om gevoelige persoonlijke informatie gaat. Als je privé met iemand communiceert, is het een goed idee om diegenen die de situatie voor het eerst hebben gemeld te CC te geven, zodat ze weten dat je actie hebt ondernomen. Vraag de melder om toestemming voordat u een CC invoert.
Soms kan er geen oplossing worden gevonden. De persoon in kwestie kan agressief of vijandig worden wanneer hij wordt geconfronteerd, of verandert zijn gedrag niet. In deze situatie kunt u overwegen om krachtigere maatregelen te nemen. Bijvoorbeeld:
* **Schorsing van de persoon** in kwestie van het project, afgedwongen door een tijdelijk verbod op deelname aan enig aspect van het project
* **Bannen** de persoon permanent van het project
Het verbieden van leden moet niet lichtvaardig worden opgevat en vertegenwoordigt een permanent en onverenigbaar verschil in perspectieven. U dient deze maatregelen alleen te nemen als het duidelijk is dat er geen oplossing kan worden gevonden.
## Uw verantwoordelijkheden als open source-onderhouder
Een gedragscode is geen wet die willekeurig wordt gehandhaafd. U bent de handhaver van de gedragscode en het is uw verantwoordelijkheid om de regels te volgen die in de gedragscode zijn vastgelegd.
Als onderhouder stelt u de richtlijnen voor uw gemeenschap op en handhaaft u die richtlijnen volgens de regels die in uw gedragscode zijn uiteengezet. Dit betekent dat elke melding van een overtreding van de gedragscode serieus wordt genomen. De melder is een grondige en eerlijke beoordeling van zijn klacht verschuldigd. Als u vaststelt dat het gedrag dat zij hebben gemeld geen overtreding is, communiceer dat dan duidelijk aan hen en leg uit waarom u er geen actie tegen gaat ondernemen. Wat ze daarmee doen, is aan hen: tolereer het gedrag waarmee ze een probleem hadden, of stop met deelnemen aan de gemeenschap.
Een melding van gedrag dat _technisch_ niet in strijd is met de gedragscode, kan nog steeds aangeven dat er een probleem is in uw gemeenschap, en u dient dit potentiële probleem te onderzoeken en dienovereenkomstig te handelen. Dit kan het herzien van uw gedragscode omvatten om acceptabel gedrag te verduidelijken en / of praten met de persoon wiens gedrag werd gemeld en hen vertellen dat hoewel ze de gedragscode niet hebben overtreden, ze de rand van wat wordt verwacht niet overschrijden en ervoor zorgen dat deelnemers voelen zich ongemakkelijk.
Uiteindelijk bepaal en handhaaf je als onderhouder de normen voor acceptabel gedrag. Je hebt het vermogen om de gemeenschapswaarden van het project vorm te geven en deelnemers verwachten dat je die waarden op een eerlijke en evenwichtige manier afdwingt.
## Moedig het gedrag aan dat u in de wereld wilt zien 🌎
Als een project vijandig of onwelkom lijkt, zelfs als het maar één persoon is wiens gedrag door anderen wordt getolereerd, loop je het risico veel meer bijdragers te verliezen, van wie je sommigen misschien nooit zult ontmoeten. Het is niet altijd gemakkelijk om een gedragscode aan te nemen of af te dwingen, maar door een gastvrije omgeving te creëren, kan uw gemeenschap groeien.
================================================
FILE: _articles/nl/finding-users.md
================================================
---
lang: nl
title: Gebruikers zoeken voor uw project
description: Help uw open source-project te groeien door het in handen te krijgen van tevreden gebruikers.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Het woord verspreiden
Er is geen regel die zegt dat u een open source-project moet promoten wanneer u start. Er zijn veel goede redenen om in open source te werken die niets met populariteit te maken hebben. In plaats van te hopen dat anderen uw open source-project zullen vinden en gebruiken, moet u het woord over uw harde werk verspreiden!
## Zoek uit wat je bericht is
Voordat u begint met het eigenlijke werk van het promoten van uw project, moet u kunnen uitleggen wat het doet en waarom het ertoe doet.
Wat maakt uw project anders of interessant? Waarom heb je het gemaakt? Door deze vragen voor uzelf te beantwoorden, kunt u de betekenis van uw project overbrengen.
Onthoud dat mensen erbij betrokken raken als gebruikers en uiteindelijk bijdragen worden, omdat uw project een probleem voor hen oplost. Terwijl je nadenkt over de boodschap en waarde van je project, probeer ze dan te bekijken door de lens van wat _gebruikers en bijdragers_ zouden kunnen willen.
@robb gebruikt bijvoorbeeld codevoorbeelden om duidelijk te communiceren waarom zijn project,[Cartography](https://github.com/robb/Cartography), nuttig is:

Voor een diepere duik in berichten, bekijk Mozilla's ["Persona's en paden"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) oefening voor het ontwikkelen van gebruikerspersonages.
## Help mensen uw project te vinden en te volgen
Help mensen uw project te vinden en te onthouden door ze naar een enkele naamruimte te verwijzen.
**Zorg voor een duidelijk handvat om uw werk te promoten.** Een Twitter-account, GitHub-URL of IRC-kanaal is een gemakkelijke manier om mensen naar uw project te verwijzen. Deze verkooppunten geven ook de groeiende gemeenschap van uw project een plek om samen te komen.
Als u nog geen verkooppunten voor uw project wilt opzetten, promoot dan uw eigen Twitter- of GitHub-account bij alles wat u doet. Door je Twitter- of GitHub-account te promoten, kunnen mensen weten hoe ze contact met je kunnen opnemen of je werk kunnen volgen. Als je op een bijeenkomst of evenement spreekt, zorg er dan voor dat je contactgegevens in je biografie of dia's staan.
**Overweeg om een website voor uw project te maken.** Een website maakt uw project vriendelijker en gemakkelijker te navigeren, vooral als deze is gekoppeld aan duidelijke documentatie en tutorials. Het hebben van een website suggereert ook dat uw project actief is, waardoor uw publiek zich er prettiger bij voelt. Geef voorbeelden om mensen ideeën te geven voor het gebruik van uw project.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), mede-maker van Django, zei dat een website _"verreweg het beste was wat we vroeger met Django deden"_.
Als uw project op GitHub wordt gehost, kunt u [GitHub Pages](https://pages.github.com/) gebruiken om eenvoudig een website te maken. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), en [Middleman](https://middlemanapp.com/) zijn [een paar voorbeelden](https://github.com/showcases/github-pages-examples) van uitstekende, uitgebreide websites.

Nu u een bericht voor uw project heeft en mensen uw project gemakkelijk kunnen vinden, gaan we naar buiten en praten met uw publiek!
## Ga waar het publiek van uw project is (online)
Online bereik is een geweldige manier om snel te delen en het woord te verspreiden. Door online kanalen te gebruiken, heb je de potentie om een zeer breed publiek te bereiken.
Profiteer van bestaande online communities en platforms om uw publiek te bereiken. Als uw open source-project een softwareproject is, kunt u uw publiek waarschijnlijk vinden op [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), of [Quora](https://www.quora.com/). Vind de kanalen waarvan u denkt dat mensen er het meeste baat bij hebben of enthousiast zijn over uw werk.
Kijk of u manieren kunt vinden om uw project op relevante manieren te delen:
* **Maak kennis met relevante open source-projecten en communities.** Soms hoeft u uw project niet rechtstreeks te promoten. Als je project perfect is voor datawetenschappers die Python gebruiken, maak dan kennis met de data science-community van Python. Als mensen je leren kennen, ontstaan er natuurlijke mogelijkheden om over je werk te praten en het te delen.
* **Vind mensen die het probleem ondervinden dat uw project oplost.** Doorzoek gerelateerde forums voor mensen die tot de doelgroep van uw project behoren. Beantwoord hun vraag en zoek, indien nodig, een tactvolle manier om uw project als oplossing voor te stellen.
* **Vraag om feedback.** Stel uzelf en uw werk voor aan een publiek dat het relevant en interessant zou vinden. Wees specifiek over wie u denkt dat baat zou hebben bij uw project. Probeer de zin af te maken: _"Ik denk dat mijn project X echt zou helpen, die Y proberen te doen_". Luister en reageer op de feedback van anderen, in plaats van simpelweg uw werk te promoten.
Richt u in het algemeen op het helpen van anderen voordat u in ruil daarvoor dingen vraagt. Omdat iedereen gemakkelijk een project online kan promoten, zal er veel concurrentie zijn. Om u te onderscheiden van de massa, geeft u mensen context voor wie u bent en niet alleen wat u wilt.
Als niemand op uw eerste berichten let of reageert, raak dan niet ontmoedigd! De meeste projectlanceringen zijn een iteratief proces dat maanden of jaren kan duren. Als je de eerste keer geen reactie krijgt, probeer dan een andere tactiek of zoek eerst naar manieren om waarde toe te voegen aan het werk van anderen. Het promoten en lanceren van uw project kost tijd en toewijding.
## Ga waar het publiek van uw project is (offline)

Offline evenementen zijn een populaire manier om nieuwe projecten onder het publiek te promoten. Ze zijn een geweldige manier om een betrokken publiek te bereiken en diepere menselijke connecties op te bouwen, vooral als je ontwikkelaars wilt bereiken.
Als je [nieuw bent bij spreken in het openbaar](https://speaking.io/), begin dan met het vinden van een lokale bijeenkomst die gerelateerd is aan de taal of het ecosysteem van je project.
Als je nog nooit op een evenement hebt gesproken, is het volkomen normaal om nerveus te zijn! Onthoud dat uw publiek er is omdat ze oprecht over uw werk willen horen.
Concentreer u tijdens het schrijven van uw lezing op wat uw publiek interessant zal vinden en waar ze waarde uit kunnen halen. Houd uw taal vriendelijk en benaderbaar. Glimlach, adem en heb plezier.
Als u zich er klaar voor voelt, overweeg dan om op een conferentie te spreken om uw project te promoten. Conferenties kunnen u helpen meer mensen te bereiken, soms van over de hele wereld.
Zoek naar conferenties die specifiek zijn voor uw taal of ecosysteem. Voordat u uw toespraak indient, moet u de conferentie onderzoeken om uw lezing af te stemmen op de aanwezigen en uw kansen te vergroten om geaccepteerd te worden op de conferentie. U kunt vaak een idee krijgen van uw publiek door naar de sprekers van een conferentie te kijken.
## Bouw een reputatie op
Naast de hierboven beschreven strategieën, is de beste manier om mensen uit te nodigen om te delen en bij te dragen aan uw project, het delen van en bijdragen aan hun projecten.
Door nieuwkomers te helpen, middelen te delen en doordachte bijdragen te leveren aan de projecten van anderen, kunt u een positieve reputatie opbouwen. Door een actief lid te zijn van de open source-gemeenschap, zullen mensen context voor uw werk hebben en zullen ze eerder aandacht besteden aan en uw project delen. Het ontwikkelen van relaties met andere open source-projecten kan zelfs leiden tot officiële partnerschappen.
Het is nooit te vroeg of te laat om uw reputatie op te bouwen. Zelfs als u uw eigen project al hebt gelanceerd, blijf zoeken naar manieren om anderen te helpen.
Er is geen oplossing van de ene op de andere dag om een publiek op te bouwen. Het vertrouwen en respect van anderen winnen kost tijd, en het opbouwen van uw reputatie houdt nooit op.
## Keep at it!
Het kan lang duren voordat mensen uw open source-project opmerken. Dat is goed! Enkele van de meest populaire projecten van vandaag hebben jaren geduurd om een hoog activiteitsniveau te bereiken. Concentreer u op het opbouwen van relaties in plaats van te hopen dat uw project spontaan populair zal worden. Wees geduldig en blijf uw werk delen met degenen die het op prijs stellen.
================================================
FILE: _articles/nl/getting-paid.md
================================================
---
lang: nl
title: Betaald worden voor open source-werk
description: Ondersteun uw werk in open source door financiële steun te krijgen voor uw tijd of uw project.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Waarom sommige mensen financiële steun zoeken
Veel van het open source-werk wordt op vrijwillige basis aangeboden. Iemand kan bijvoorbeeld een bug tegenkomen in een project dat ze gebruiken en een snelle oplossing indienen, of ze kunnen in hun vrije tijd graag aan een open source-project sleutelen.
Er zijn veel redenen waarom iemand niet zou willen worden betaald voor zijn open source-werk.
* **Ze hebben misschien al een fulltime baan waar ze van houden,** waardoor ze in hun vrije tijd kunnen bijdragen aan open source.
* **Ze vinden open source graag een hobby** of een creatieve ontsnapping en willen zich niet financieel verplicht voelen om aan hun projecten te werken.
* **Ze profiteren van andere voordelen door bij te dragen aan open source,** zoals het opbouwen van hun reputatie of portfolio, het leren van een nieuwe vaardigheid of het gevoel dichter bij een gemeenschap te zijn.
Voor anderen, vooral wanneer bijdragen doorlopend zijn of veel tijd vergen, is betaald krijgen om bij te dragen aan open source de enige manier waarop ze kunnen deelnemen, hetzij omdat het project dit vereist, hetzij om persoonlijke redenen.
Het onderhouden van populaire projecten kan een aanzienlijke verantwoordelijkheid zijn, die 10 of 20 uur per week in beslag neemt in plaats van een paar uur per maand.
Betaald werk stelt mensen uit verschillende rangen en standen ook in staat om een zinvolle bijdrage te leveren. Sommige mensen kunnen het zich niet veroorloven om onbetaalde tijd aan open source-projecten te besteden, op basis van hun huidige financiële positie, schulden, familie- of andere zorgverplichtingen. Dat betekent dat de wereld nooit bijdragen ziet van getalenteerde mensen die het zich niet kunnen veroorloven om vrijwilligerswerk te doen. Dit heeft ethische implicaties, zoals @ashedryden [heeft beschreven](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), aangezien werk dat wordt gedaan, bevooroordeeld ten gunste van degenen die al voordelen in het leven hebben, die vervolgens extra voordelen krijgen op basis van hun vrijwilligersbijdragen, terwijl anderen die niet in staat zijn om vrijwilligerswerk te doen, later geen kansen krijgen, wat het huidige gebrek aan diversiteit in de open source versterkt gemeenschap.
Als u op zoek bent naar financiële ondersteuning, zijn er twee manieren om te overwegen. U kunt uw eigen tijd als donateur financieren, of u kunt organisatorische financiering voor het project vinden.
## Je eigen tijd financieren
Tegenwoordig worden veel mensen betaald om part- of fulltime aan open source te werken. De meest gebruikelijke manier om voor uw tijd betaald te worden, is door met uw werkgever te praten.
Het is gemakkelijker om een pleidooi te houden voor open source-werk als je werkgever het project ook daadwerkelijk gebruikt, maar wees creatief met je pitch. Misschien gebruikt je werkgever het project niet, maar ze gebruiken Python, en het onderhouden van een populair Python-project helpt nieuwe Python-ontwikkelaars aan te trekken. Misschien zorgt het ervoor dat uw werkgever er in het algemeen ontwikkelaarvriendelijker uitziet.
Als je geen bestaand open source-project hebt waaraan je zou willen werken, maar liever hebt dat je huidige werkoutput open source is, pleit er dan voor dat je werkgever een deel van hun interne software open source maakt.
Veel bedrijven ontwikkelen open source-programma's om hun merk op te bouwen en talent van hoge kwaliteit te werven.
@hueniverse ontdekte bijvoorbeeld dat er financiële redenen waren om [Walmart's investering in open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). En @jamesgpearce ontdekte dat het open source-programma van Facebook [een verschil maakte](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) bij het werven van:
> Het sluit nauw aan bij onze hackercultuur en hoe onze organisatie werd gezien. We vroegen onze medewerkers: "Was u op de hoogte van het open source softwareprogramma op Facebook?". Twee derde zei "Ja". De helft zei dat het programma een positieve bijdrage leverde aan hun beslissing om voor ons te werken. Dit zijn geen marginale cijfers, en naar ik hoop, een trend die zich voortzet.
Als uw bedrijf deze weg inslaat, is het belangrijk om de grenzen tussen gemeenschap en bedrijfsactiviteiten duidelijk te houden. Uiteindelijk houdt open source zichzelf in stand door bijdragen van mensen over de hele wereld, en dat is groter dan welk bedrijf of locatie dan ook.
Als u uw huidige werkgever niet kunt overtuigen om prioriteit te geven aan open source-werk, overweeg dan om een nieuwe werkgever te zoeken die werknemersbijdragen aan open source aanmoedigt. Zoek naar bedrijven die hun toewijding aan open source-werk expliciet maken. Bijvoorbeeld:
* Sommige bedrijven, zoals [Netflix](https://netflix.github.io/), hebben websites die hun betrokkenheid bij open source benadrukken
Projecten die zijn ontstaan bij een groot bedrijf, zoals [Go](https://github.com/golang) of [React](https://github.com/facebook/react), zullen waarschijnlijk ook mensen in dienst hebben om aan te werken open source.
Afhankelijk van uw persoonlijke omstandigheden kunt u proberen om zelfstandig geld in te zamelen om uw open source-werk te financieren. Bijvoorbeeld:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon financierde zijn werk op [Redux](https://github.com/reactjs/redux) via een [Patreon crowdfunding-campagne](https://redux.js.org/)
* @andrewgodwin gefinancierd werk aan Django-schemamigraties [via een Kickstarter-campagne](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
Ten slotte geven open source-projecten soms premies voor problemen waarmee u zou kunnen helpen.
* @ConnorChristie kon betaald worden voor [helpen](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol werken aan hun JavaScript-bibliotheek [via een premie op gitcoin](https://gitcoin.co/).
* @mamiM deed Japanse vertalingen voor @MetaMask nadat de [kwestie werd gefinancierd op Bounties Network](https://explorer.bounties.network/bounty/134).
## Financiering vinden voor uw project
Naast regelingen voor individuele bijdragers, halen projecten soms geld op bij bedrijven, individuen of anderen om lopende werkzaamheden te financieren.
Organisatorische financiering kan gaan naar het betalen van huidige bijdragers, het dekken van de kosten van het uitvoeren van het project (zoals hostingvergoedingen) of het investeren in nieuwe functies of ideeën.
Naarmate de populariteit van open source toeneemt, is het vinden van financiering voor projecten nog experimenteel, maar er zijn een paar veelvoorkomende opties beschikbaar.
### Zamel geld in voor je werk door middel van crowdfundingcampagnes of sponsoring
Het vinden van sponsoring werkt goed als je al een sterk publiek of een sterke reputatie hebt, of als je project erg populair is.
Enkele voorbeelden van gesponsorde projecten zijn:
* **[webpack](https://github.com/webpack)** zamelt geld in bij bedrijven en particulieren [via OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** een non-profitorganisatie die betaalt voor werk aan [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), en andere Ruby-infrastructuurprojecten
### Creëer een inkomstenstroom
Afhankelijk van uw project kunt u mogelijk kosten in rekening brengen voor commerciële ondersteuning, gehoste opties of extra functies. Enkele voorbeelden zijn:
* **[Sidekiq](https://github.com/mperham/sidekiq)** biedt betaalde versies voor extra ondersteuning
* **[Travis CI](https://github.com/travis-ci)** biedt betaalde versies van zijn product
* **[Ghost](https://github.com/TryGhost/Ghost)** is een non-profitorganisatie met een betaalde beheerde service
Sommige populaire projecten, zoals [npm](https://github.com/npm/cli) en [Docker](https://github.com/docker/docker), halen zelfs risicokapitaal op om de groei van hun bedrijf te ondersteunen.
### Subsidie aanvragen
Sommige softwarestichtingen en bedrijven bieden beurzen aan voor open source-werk. Soms kunnen subsidies worden uitbetaald aan individuen zonder een juridische entiteit voor het project op te richten.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** ontving een subsidie van [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** werk werd gefinancierd door [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** heeft een subsidie ontvangen van de [Sloan Foundation](https://sloan.org/programs/digital-technology)
* De **[Python Software Foundation](https://www.python.org/psf/grants/)** biedt beurzen aan voor Python-gerelateerd werk
Voor meer gedetailleerde opties en casestudy's, @nayafia [schreef een gids](https://github.com/nayafia/lemonade-stand) om betaald te worden voor open source werk. Verschillende soorten financiering vereisen verschillende vaardigheden, dus overweeg uw sterke punten om erachter te komen welke optie voor u het beste werkt.
## Het bouwen van een case voor financiële steun
Of uw project nu een nieuw idee is of al jaren bestaat, u moet verwachten dat u veel aandacht besteedt aan het identificeren van uw beoogde financier en het maken van een overtuigende zaak.
Of je nu voor je eigen tijd wilt betalen of geld wilt inzamelen voor een project, je zou de volgende vragen moeten kunnen beantwoorden.
### Gevolg
Waarom is dit project nuttig? Waarom vinden uw (potentiële) gebruikers het zo leuk? Waar zal het zijn over vijf jaar?
### Tractie
Probeer bewijs te verzamelen dat uw project ertoe doet, of het nu gaat om statistieken, anekdotes of getuigenissen. Zijn er op dit moment bedrijven of opmerkelijke mensen die uw project gebruiken? Zo nee, heeft een vooraanstaand persoon het onderschreven?
### Waarde voor financier
Financiers, of het nu uw werkgever of een stichting is, worden vaak benaderd met kansen. Waarom zouden ze uw project beter ondersteunen dan elke andere mogelijkheid? Hoe profiteren ze persoonlijk?
### Gebruik van fondsen
Wat gaat u precies bereiken met de voorgestelde financiering? Concentreer u op mijlpalen of resultaten van projecten in plaats van een salaris te betalen.
### Hoe u het geld ontvangt
Heeft de financier enige vereisten met betrekking tot uitbetaling? U moet bijvoorbeeld een non-profitorganisatie zijn of een fiscale sponsor hebben. Of misschien moet het geld aan een individuele aannemer worden gegeven in plaats van aan een organisatie. Deze vereisten variëren tussen financiers, dus zorg ervoor dat u van tevoren uw onderzoek doet.
## Experimenteer en geef niet op
Geld inzamelen is niet eenvoudig, of je nu een open source-project, een non-profitorganisatie of een software-startup bent, en in de meeste gevallen moet je creatief zijn. Door vast te stellen hoe u betaald wilt worden, onderzoek te doen en uzelf in de schoenen van uw financier te verplaatsen, kunt u een overtuigende zaak voor financiering opbouwen.
================================================
FILE: _articles/nl/how-to-contribute.md
================================================
---
lang: nl
title: Hoe u kunt bijdragen aan Open Source
description: Wil je bijdragen aan open source? Een gids voor het maken van open source-bijdragen, voor beginners en veteranen.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Waarom bijdragen aan open source?
Bijdragen aan open source kan een lonende manier zijn om te leren, les te geven en ervaring op te doen met vrijwel elke vaardigheid die je maar kunt bedenken.
Waarom dragen mensen bij aan open source? Redenen genoeg!
### Verbeter de software waarop u vertrouwt
Veel open source-bijdragers beginnen door gebruikers te zijn van software waaraan ze bijdragen. Als je een bug vindt in open source-software die je gebruikt, wil je misschien naar de bron kijken om te zien of je deze zelf kunt patchen. Als dat het geval is, is het bijdragen van de patch de beste manier om ervoor te zorgen dat uw vrienden (en uzelf wanneer u een update naar de volgende release uitvoert) hiervan kunnen profiteren.
### Verbeter bestaande vaardigheden
Of het nu gaat om codering, ontwerp van gebruikersinterface, grafisch ontwerp, schrijven of organiseren, als u op zoek bent naar oefening, is er een taak voor u in een open source-project.
### Ontmoet mensen die geïnteresseerd zijn in soortgelijke dingen
Open source-projecten met warme, gastvrije gemeenschappen zorgen ervoor dat mensen jarenlang terug blijven komen. Veel mensen vormen vriendschappen voor het leven door deel te nemen aan open source, of ze nu elkaar tegenkomen op conferenties of 's avonds laat online chats over burrito's.
### Vind mentoren en leer anderen
Als je met anderen aan een gedeeld project werkt, moet je uitleggen hoe je de dingen doet, en ook andere mensen om hulp vragen. Het leren en onderwijzen kan voor alle betrokkenen een bevredigende activiteit zijn.
### Bouw openbare artefacten waarmee u een reputatie (en een carrière) kunt opbouwen
Al uw open source-werk is per definitie openbaar, wat betekent dat u gratis voorbeelden krijgt die u overal mee naartoe kunt nemen als demonstratie van wat u kunt doen.
### Leer de vaardigheden van mensen
Open source biedt mogelijkheden om leiderschaps- en managementvaardigheden te oefenen, zoals het oplossen van conflicten, het organiseren van teams van mensen en het prioriteren van werk.
### Het geeft kracht om veranderingen aan te brengen, zelfs kleine
U hoeft geen levenslange donateur te worden om te genieten van deelname aan open source. Heb je ooit een typefout op een website gezien en zou je willen dat iemand het zou repareren? Bij een open source-project kunt u precies dat doen. Open source helpt mensen keuzevrijheid te voelen over hun leven en hoe zij de wereld ervaren, en dat is op zichzelf al verheugend.
## Wat het betekent om bij te dragen
Als u een nieuwe open source-bijdrager bent, kan het proces intimiderend zijn. Hoe vind je het juiste project? Wat als u niet weet hoe u moet coderen? Wat als er iets mis gaat?
Geen zorgen! Er zijn allerlei manieren om betrokken te raken bij een open source-project, en een paar tips zullen u helpen het meeste uit uw ervaring te halen.
### U hoeft geen code bij te dragen
Een veel voorkomende misvatting over bijdragen aan open source is dat je code moet bijdragen. In feite zijn het vaak de andere delen van een project die [het meest worden verwaarloosd of over het hoofd gezien](https://github.com/blog/2195-the-shape-of-open-source). Je doet het project een _grote_ gunst door aan te bieden mee te werken met dit soort bijdragen!
Zelfs als je graag code schrijft, zijn andere soorten bijdragen een geweldige manier om bij een project betrokken te raken en andere leden van de gemeenschap te ontmoeten. Door die relaties op te bouwen, krijg je de kans om aan andere delen van het project te werken.
### Houd je van het plannen van evenementen?
* Organiseer workshops of meetups over het project, [zoals @fzamperin deed voor NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Organiseer de conferentie van het project (als ze er een hebben)
* Help leden van de gemeenschap de juiste conferenties te vinden en presenteer voorstellen om te spreken
### Houd je van ontwerpen?
* Herstructureer lay-outs om de bruikbaarheid van het project te verbeteren
* Voer gebruikersonderzoek uit om de navigatie of menu's van het project te reorganiseren en te verfijnen [zoals Drupal suggereert](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Stel een stijlgids samen om het project te helpen een consistent visueel ontwerp te hebben
* Maak kunst voor t-shirts of een nieuw logo, [zoals de bijdragers van hapi.js deden](https://github.com/hapijs/contrib/issues/68)
### Vind je het leuk om te schrijven?
* Schrijf en verbeter de projectdocumentatie
* Beheer een map met voorbeelden die laten zien hoe het project wordt gebruikt
* Start een nieuwsbrief voor het project of cureer hoogtepunten uit de mailinglijst
* Schrijf tutorials voor het project, [zoals de bijdragers van PyPA](https://packaging.python.org/)
* Schrijf een vertaling voor de documentatie van het project
### Houd je van organiseren?
* Link naar dubbele problemen en stel nieuwe labels voor om alles georganiseerd te houden
* Doorloop openstaande issues en stel voor om oude te sluiten, [zoals @nzakas deed voor ESLint](https://github.com/eslint/eslint/issues/6765)
* Stel verhelderende vragen over recent geopende kwesties om de discussie vooruit te helpen
### Vind je het leuk om te coderen?
* Zoek een openstaand probleem om aan te pakken, [zoals @dianjin deed voor Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Vraag of u kunt helpen bij het schrijven van een nieuwe functie
* Automatiseer het opzetten van projecten
* Verbeter tooling en testen
### Vind je het leuk om mensen te helpen?
* Beantwoord vragen over het project op bijvoorbeeld Stack Overflow ([zoals dit Postgres-voorbeeld] (https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) of Reddit
* Beantwoord vragen voor mensen over openstaande kwesties
* Help de discussieborden of gesprekskanalen te modereren
### Vind je het leuk om anderen te helpen bij het coderen?
* Beoordeel code inzendingen van andere mensen
* Schrijf tutorials over hoe een project kan worden gebruikt
* Aanbieding om een andere bijdrager te begeleiden, [zoals @ereichert deed voor @bronzdoc op Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### U hoeft niet alleen aan softwareprojecten te werken!
Hoewel "open source" vaak verwijst naar software, kunt u aan vrijwel alles samenwerken. Er zijn boeken, recepten, lijsten en klassen die worden ontwikkeld als open source-projecten.
Bijvoorbeeld:
* @sindresorhus beheert een [lijst met "geweldige" lijsten](https://github.com/sindresorhus/awesome)
* @h5bp houdt een [lijst met potentiële interviewvragen](https://github.com/h5bp/Front-end-Developer-Interview-Questions) bij voor front-end ontwikkelaarskandidaten
* @stuartlynn en @nicole-a-tesla hebben een [verzameling leuke weetjes over papegaaiduikers](https://github.com/stuartlynn/puffin_facts) gemaakt
Zelfs als u een softwareontwikkelaar bent, kan het werken aan een documentatieproject u helpen aan de slag te gaan in open source. Het is vaak minder intimiderend om aan projecten te werken waarbij geen code wordt gebruikt, en het samenwerkingsproces zal uw vertrouwen en ervaring vergroten.
## Je oriënteren op een nieuw project
Voor meer dan een typefout is bijdragen aan open source net zoiets als naar een groep vreemden lopen op een feestje. Als je over lama's begint te praten, terwijl ze diep in een discussie over goudvissen zaten, zullen ze je waarschijnlijk een beetje vreemd aankijken.
Voordat u blindelings met uw eigen suggesties begint, moet u eerst leren hoe u de kamer moet lezen. Hierdoor vergroot u de kans dat uw ideeën worden opgemerkt en gehoord.
### Anatomie van een open source-project
Elke open source-community is anders.
Jarenlang aan één open source-project besteden, betekent dat je één open source-project hebt leren kennen. Ga naar een ander project en je zult misschien ontdekken dat de woordenschat, normen en communicatiestijlen totaal verschillend zijn.
Dat gezegd hebbende, veel open source-projecten volgen een vergelijkbare organisatiestructuur. Als u de verschillende rollen van de gemeenschap en het algehele proces begrijpt, kunt u zich snel op elk nieuw project oriënteren.
Een typisch open source-project heeft de volgende soorten mensen:
* **Auteur:** De persoon/personen of organisatie die het project heeft gemaakt
* **Eigenaar:** De persoon/personen die het administratieve eigendom hebben over de organisatie of opslagplaats (niet altijd dezelfde als de oorspronkelijke auteur)
* **Beheerders:** medewerkers die verantwoordelijk zijn voor het aansturen van de visie en het managen van de organisatorische aspecten van het project (ze kunnen ook auteurs of eigenaren van het project zijn.)
* **Bijdragers:** Iedereen die iets heeft bijgedragen aan het project
* **Communityleden:** Mensen die het project gebruiken. Ze kunnen actief zijn in gesprekken of hun mening geven over de richting van het project
Grotere projecten kunnen ook subcommissies of werkgroepen hebben die zich richten op verschillende taken, zoals tooling, triage, community-moderatie en het organiseren van evenementen. Kijk op de website van een project voor een "team"-pagina of in de repository voor bestuursdocumentatie om deze informatie te vinden.
Een project heeft ook documentatie. Deze bestanden worden meestal op het hoogste niveau van een repository vermeld.
* **LICENSE:** Per definitie moet elk open source project een [open source licentie](https://choosealicense.com) hebben. Als het project geen licentie heeft, is het geen open source.
* **README:** De README is de instructiehandleiding die nieuwe gemeenschapsleden verwelkomt bij het project. Het legt uit waarom het project nuttig is en hoe u ermee kunt beginnen.
* **CONTRIBUTORS:** Terwijl README's mensen helpen het project te _gebruiken_, helpen bijdragende documenten mensen _bij te dragen_ aan het project. Het legt uit welke soorten bijdragen nodig zijn en hoe het proces werkt. Hoewel niet elk project een CONTRIBUTING-bestand heeft, geeft de aanwezigheid ervan aan dat dit een welkom project is om aan bij te dragen.
* **CODE_OF_CONDUCT:** De gedragscode stelt basisregels vast voor het bijbehorende gedrag van deelnemers en helpt om een vriendelijke, gastvrije omgeving mogelijk te maken. Hoewel niet elk project een CODE_OF_CONDUCT-bestand heeft, geeft de aanwezigheid ervan aan dat dit een welkom project is om aan bij te dragen.
* **Andere documentatie:** Er kan aanvullende documentatie zijn, zoals tutorials, walkthroughs of governance-beleid, vooral bij grotere projecten.
Ten slotte gebruiken open source-projecten de volgende tools om discussies te organiseren. Als je de archieven doorleest, krijg je een goed beeld van hoe de gemeenschap denkt en werkt.
* **Issue tracker:** waar mensen problemen bespreken die verband houden met het project.
* **Pull-verzoeken:** waar mensen wijzigingen bespreken en beoordelen die aan de gang zijn.
* **Discussieforums of mailinglijsten** Sommige projecten kunnen deze kanalen gebruiken voor gespreksonderwerpen (bijvoorbeeld _"Hoe kan ik ..."_ of _"Waar denk je aan ..."_ in plaats van bugs rapporten of functieverzoeken). Anderen gebruiken de issue tracker voor alle gesprekken.
* **Synchroon chatkanaal:** Sommige projecten gebruiken chatkanalen (zoals Slack of IRC) voor informele gesprekken, samenwerking en snelle uitwisselingen.
## Een project vinden om aan bij te dragen
Nu je weet hoe open source-projecten werken, is het tijd om een project te vinden waaraan je kunt bijdragen!
Als je nog nooit eerder hebt bijgedragen aan open source, neem dan wat advies in van de Amerikaanse president John F. Kennedy, die ooit zei: _"Vraag niet wat uw land voor u kan doen - vraag wat u voor uw land kunt doen."_
Bijdragen aan open source gebeurt op alle niveaus, over projecten heen. U hoeft niet te veel na te denken over wat uw eerste bijdrage precies zal zijn, of hoe deze eruit zal zien.
Begin in plaats daarvan met nadenken over de projecten die u al gebruikt of wilt gebruiken. De projecten waaraan u actief bijdraagt, zijn de projecten waar u naar terugkeert.
Wanneer je binnen die projecten merkt dat je denkt dat iets beter of anders kan, handel dan naar je instinct.
Open source is geen exclusieve club; het is gemaakt door mensen zoals jij. "Open source" is gewoon een mooie term om de problemen van de wereld als herstelbaar te behandelen.
U kunt een README lezen en een incorrecte link of typefout vinden. Of je bent een nieuwe gebruiker en je hebt gemerkt dat er iets kapot is, of een probleem waarvan je denkt dat het echt in de documentatie zou moeten staan. In plaats van het te negeren en verder te gaan, of iemand anders te vragen om het op te lossen, kijk of je kunt helpen door mee te doen. Dat is waar het bij open source om draait!
> [28% van de losse bijdragen](https://www.igor.pro.br/publica/papers/saner2016.pdf) aan open source zijn documentatie, zoals een typefout, herformattering of het schrijven van een vertaling.
Als u op zoek bent naar bestaande problemen die u kunt oplossen, heeft elk open source-project een '/ contribute'-pagina die beginnersvriendelijke problemen belicht waarmee u kunt beginnen. Navigeer naar de hoofdpagina van de repository op GitHub en voeg '/ contribute' toe aan het einde van de URL (bijvoorbeeld [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
U kunt ook een van de volgende bronnen gebruiken om u te helpen bij het ontdekken van en bijdragen aan nieuwe projecten:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Een checklist voordat u bijdraagt
Als je een project hebt gevonden waaraan je zou willen bijdragen, doe dan een snelle scan om er zeker van te zijn dat het project geschikt is om bijdragen te accepteren. Anders krijgt uw harde werk misschien nooit een reactie.
Hier is een handige checklist om te evalueren of een project goed is voor nieuwe bijdragers.
**Voldoet aan de definitie van open source**
**Project accepteert actief bijdragen**
Kijk naar de commit-activiteit op de main branch. Op GitHub kun je deze informatie zien op de startpagina van een repository.
Next, look at the project's issues.
Doe nu hetzelfde voor de pull-verzoeken van het project.
**Project is gastvrij**
Een project dat vriendelijk en gastvrij is, geeft aan dat ze ontvankelijk zullen zijn voor nieuwe bijdragers.
## Hoe u een bijdrage kunt indienen
Je hebt een project gevonden dat je leuk vindt en je bent klaar om een bijdrage te leveren. Tenslotte! Hier leest u hoe u uw bijdrage op de juiste manier krijgt.
### Effectief communiceren
Of je nu een eenmalige bijdrage levert of probeert lid te worden van een community, samenwerken met anderen is een van de belangrijkste vaardigheden die je in open source zult ontwikkelen.
Houd deze punten in gedachten voordat u een probleem of pull-aanvraag opent of een vraag stelt in de chat, zodat uw ideeën effectief overkomen.
**Geef context.** Help anderen om snel aan de slag te gaan. Als u een fout tegenkomt, leg dan uit wat u probeert te doen en hoe u deze kunt reproduceren. Als je een nieuw idee voorstelt, leg dan uit waarom je denkt dat het nuttig zou zijn voor het project (niet alleen voor jou!).
> 😇 _"X gebeurt niet wanneer ik Y doe"_
>
> 😢 _"X is kapot! Los het probleem op."_
**Maak van tevoren je huiswerk.** Het is oké om dingen niet te weten, maar laat zien dat je het geprobeerd hebt. Voordat u om hulp vraagt, moet u de README, documentatie, problemen (open of gesloten), mailinglijst van een project raadplegen en op internet naar een antwoord zoeken. Mensen zullen het waarderen als je laat zien dat je probeert te leren.
> 😇 _"Ik weet niet zeker hoe ik X moet implementeren. Ik heb de helpdocumenten gecontroleerd en geen vermeldingen gevonden."_
>
> 😢 _"Hoe kan ik X?"_
**Houd verzoeken kort en direct.** Net als bij het verzenden van een e-mail, vereist elke bijdrage, hoe eenvoudig of nuttig ook, de beoordeling van iemand anders. Veel projecten hebben meer inkomende verzoeken dan mensen die beschikbaar zijn om te helpen. Wees beknopt. Je vergroot de kans dat iemand je kan helpen.
> 😇 _"Ik zou graag een API-tutorial willen schrijven."_
>
> 😢 _"Ik reed onlangs over de snelweg en stopte om te tanken, en toen had ik een geweldig idee voor iets dat we zouden moeten doen, maar voordat ik dat uitleg, wil ik je laten zien ..."_
**Houd alle communicatie openbaar.** Hoewel het verleidelijk is, moet u niet privé contact opnemen met beheerders, tenzij u gevoelige informatie moet delen (zoals een beveiligingsprobleem of een ernstige schending van het gedrag). Als u het gesprek openbaar houdt, kunnen meer mensen leren en profiteren van uw uitwisseling. Discussies kunnen op zichzelf bijdragen zijn.
> 😇 _(als commentaar) "@-maintainer Hallo! Hoe gaan we verder met deze PR?"_
>
> 😢 _(als e-mail) "Hallo, sorry dat ik je stoor via e-mail, maar ik vroeg me af of je de kans hebt gehad om mijn PR te herzien"_
**Het is oké om vragen te stellen (maar wees geduldig!).** Iedereen was op een gegeven moment nieuw in het project en zelfs ervaren bijdragers moeten op de hoogte zijn als ze naar een nieuw project kijken. Op dezelfde manier zijn zelfs langdurige beheerders niet altijd bekend met elk onderdeel van het project. Toon ze hetzelfde geduld dat je zou willen dat ze je tonen.
> 😇 _"Bedankt voor het onderzoeken van deze fout. Ik heb uw suggesties gevolgd. Hier is de uitvoer."_
>
> 😢 _"Waarom kun je mijn probleem niet oplossen? Is dit niet jouw project?"_
**Respecteer gemeenschapsbeslissingen.** Uw ideeën kunnen verschillen van de prioriteiten of visie van de gemeenschap. Ze kunnen feedback geven of besluiten uw idee niet na te streven. Terwijl u moet discussiëren en zoeken naar een compromis, moeten beheerders langer met uw beslissing leven dan u wilt. Als je het niet eens bent met hun richting, kun je altijd aan je eigen vork werken of je eigen project starten.
> 😇 _"Ik ben teleurgesteld dat je mijn use case niet kunt ondersteunen, maar zoals je hebt uitgelegd, heeft het slechts invloed op een klein deel van de gebruikers, ik begrijp waarom. Bedankt voor het luisteren."_
>
> 😢 _"Waarom steun je mijn use case niet? Dit is onaanvaardbaar!"_
**Houd het vooral netjes.** Open source bestaat uit medewerkers van over de hele wereld. Context gaat verloren in talen, culturen, geografische gebieden en tijdzones. Bovendien maakt schriftelijke communicatie het moeilijker om een toon of stemming over te brengen. Ga in deze gesprekken uit van goede bedoelingen. Het is prima om beleefd terug te komen op een idee, om meer context te vragen of je standpunt verder te verduidelijken. Probeer gewoon het internet op een betere plek achter te laten dan toen u het vond.
### Context verzamelen
Voordat u iets doet, controleert u eerst of uw idee nergens anders is besproken. Bekijk de README, problemen (open en gesloten), mailinglijst en Stack Overflow van het project. Je hoeft geen uren te besteden aan het doornemen van alles, maar een snelle zoektocht naar een paar sleutelbegrippen gaat ver.
Als u uw idee nergens anders kunt vinden, bent u klaar om een stap te zetten. Als het project op GitHub staat, communiceer je waarschijnlijk door een issue of pull request te openen:
* **Problemen/Issues** zijn als het starten van een gesprek of discussie
* **Pull-aanvragen** zijn bedoeld om aan een oplossing te beginnen
* **Voor eenvoudige communicatie**, zoals een verhelderende of how-to-vraag, kunt u vragen stellen op Stack Overflow, IRC, Slack of andere chatkanalen, als het project er een heeft
Voordat je een issue of pull request opent, controleer je de bijdragende documenten van het project (meestal een bestand genaamd CONTRIBUTING, of in de README), om te zien of je iets specifieks moet opnemen. Ze kunnen u bijvoorbeeld vragen een sjabloon te volgen, of eisen dat u tests gebruikt.
Als je een substantiële bijdrage wilt leveren, open dan een vraagstuk voordat je eraan gaat werken. Het is handig om het project een tijdje te bekijken (op GitHub, [u kunt op "Bekijken" klikken](https://help.github.com/articles/watching-repositories/) om op de hoogte te worden gehouden van alle gesprekken), en ken de leden van de gemeenschap voordat u werk gaat doen dat misschien niet wordt geaccepteerd.
### Een issue openen
U zou gewoonlijk een probleem (_issue_) moeten openen in de volgende situaties:
* Meld een fout die u niet zelf kunt oplossen
* Bespreek een onderwerp of idee op hoog niveau (bijvoorbeeld gemeenschap, visie of beleid)
* Stel een nieuwe functie of ander projectidee voor
Tips voor het communiceren over problemen:
* **Als u een openstaand probleem ziet dat u wilt aanpakken,** geef dan commentaar op het probleem om mensen te laten weten dat u ermee bezig bent. Op die manier is de kans kleiner dat mensen uw werk dupliceren.
* **Als een probleem een tijdje geleden is geopend,** is het mogelijk dat het ergens anders wordt aangepakt of al is opgelost, dus reageer om bevestiging te vragen voordat u aan het werk gaat.
* **Als je een probleem hebt geopend, maar het antwoord later zelf hebt bedacht,** geef dan commentaar op het probleem om mensen dit te laten weten en sluit het probleem vervolgens. Zelfs het documenteren van die uitkomst is een bijdrage aan het project.
### Een pull-verzoek openen
U moet gewoonlijk een pull-aanvraag openen in de volgende situaties:
* Voer triviale reparaties in (bijvoorbeeld een typefout, een verbroken link of een duidelijke fout)
* Ga aan de slag met een bijdrage waar al om is gevraagd, of die je al hebt besproken in een issue
Een pull-verzoek hoeft niet het voltooide werk te vertegenwoordigen. Het is meestal beter om vroegtijdig een pull-verzoek te openen, zodat anderen uw voortgang kunnen bekijken of feedback kunnen geven. Markeer het gewoon als een "WIP" (Work in Progress) in de onderwerpregel. Je kunt later altijd meer commits toevoegen.
Als het project op GitHub staat, kun je als volgt een pull-aanvraag indienen:
* **[Fork the repository](https://guides.github.com/activities/forking/)** en kloon het lokaal. Verbind uw locale met de originele "upstream" repository door deze toe te voegen als een remote. Haal vaak wijzigingen van "upstream" binnen, zodat u up-to-date blijft, zodat wanneer u uw pull-verzoek indient, samenvoegingsconflicten minder waarschijnlijk zijn. (Zie meer gedetailleerde instructies [hier](https://help.github.com/articles/syncing-a-fork/).)
* **[Maak een branch aan](https://guides.github.com/introduction/flow/)** voor uw bewerkingen.
* **Verwijs naar relevante problemen (_issues_)** of ondersteunende documentatie in uw PR (bijvoorbeeld 'Closes #37'.)
* **Voeg schermafbeeldingen toe van de voor en na** als uw wijzigingen verschillen in HTML / CSS bevatten. Sleep de afbeeldingen naar de hoofdtekst van uw pull-aanvraag.
* **Test uw wijzigingen!** Voer uw wijzigingen uit met bestaande tests als deze bestaan en maak nieuwe aan als dat nodig is. Of er tests bestaan of niet, zorg ervoor dat uw wijzigingen het bestaande project niet verstoren.
* **Draag zo goed mogelijk bij in de stijl van het project**. Dit kan betekenen dat u inspringingen, puntkomma's of commentaren anders moet gebruiken dan in uw eigen repository, maar het maakt het gemakkelijker voor de onderhouder om samen te voegen, zodat anderen het begrijpen en onderhouden in de toekomst.
Als dit je eerste pull-verzoek is, bekijk dan [Maak een Pull Request](http://makeapullrequest.com/), dat @kentcdodds heeft gemaakt als een walkthrough video-tutorial. Je kunt ook oefenen met het maken van een pull-verzoek in de [First Contributions](https://github.com/Roshanjossey/first-contributions) repo, gemaakt door @Roshanjossey.
## Wat gebeurt er nadat u een bijdrage heeft ingeleverd?
Je hebt het gedaan! Gefeliciteerd met het worden van een open source-bijdrager. We hopen dat dit de eerste van vele is.
Nadat u een bijdrage heeft ingeleverd, gebeurt een van de volgende zaken:
### 😭 U krijgt geen antwoord.
Hopelijk heb je [het project gecontroleerd op tekenen van een checklist voordat je bijdraagt](#een-checklist-voordat-u-bijdraagt) voordat je een bijdrage levert. Zelfs bij een actief project is het echter mogelijk dat uw bijdrage geen reactie krijgt.
Als je al meer dan een week geen reactie hebt gekregen, is het redelijk om beleefd te reageren in dezelfde thread en iemand om een recensie te vragen. Als u de naam kent van de juiste persoon om uw bijdrage te beoordelen, kunt u deze @-vermelding in die thread.
**Reik niet** privé naar die persoon; Onthoud dat openbare communicatie essentieel is voor open source-projecten.
Als je een beleefde hobbel maakt en nog steeds niemand reageert, is het mogelijk dat niemand ooit zal reageren. Het is geen geweldig gevoel, maar laat dat je niet ontmoedigen. Het is iedereen overkomen! Er zijn veel mogelijke redenen waarom u geen reactie heeft gekregen, waaronder persoonlijke omstandigheden waar u mogelijk geen controle over heeft. Probeer een ander project of een andere manier te vinden om bij te dragen. Dit is in ieder geval een goede reden om niet te veel tijd te investeren in het leveren van een bijdrage voordat andere leden van de gemeenschap betrokken en responsief zijn.
### 🚧 Iemand vraagt om wijzigingen in uw bijdrage.
Het komt vaak voor dat u wordt gevraagd om wijzigingen aan te brengen in uw bijdrage, of dat nu feedback is over de reikwijdte van uw idee of wijzigingen in uw code.
Reageer als iemand om veranderingen vraagt. Ze hebben de tijd genomen om uw bijdrage te herzien. Een PR openen en weglopen is een slechte vorm. Als u niet weet hoe u wijzigingen moet aanbrengen, onderzoek dan het probleem en vraag indien nodig om hulp.
Als je geen tijd meer hebt om aan de kwestie te werken (bijvoorbeeld als het gesprek al maanden aan de gang is en je omstandigheden zijn veranderd), laat het de beheerder dan weten, zodat hij geen reactie verwacht. Iemand anders neemt het misschien graag over.
### 👎 Uw bijdrage wordt niet geaccepteerd.
Uw bijdrage kan uiteindelijk wel of niet worden geaccepteerd. Hopelijk heb je er niet al te veel werk in gestoken. Als u niet zeker weet waarom het niet werd geaccepteerd, is het volkomen redelijk om de beheerder om feedback en opheldering te vragen. Uiteindelijk moet u echter respecteren dat dit hun beslissing is. Maak geen ruzie en word niet vijandig. Je bent altijd welkom om te fork en aan je eigen versie te werken als je het niet eens bent!
### 🎉 Uw bijdrage wordt geaccepteerd.
Hoera! Je hebt met succes een open source bijdrage geleverd!
## Je hebt het gedaan!
Of je nu net je eerste open source-bijdrage hebt geleverd of op zoek bent naar nieuwe manieren om bij te dragen, we hopen dat je geïnspireerd bent om actie te ondernemen. Zelfs als uw bijdrage niet werd geaccepteerd, vergeet dan niet te bedanken wanneer een onderhouder moeite heeft gedaan om u te helpen. Open source wordt gemaakt door mensen zoals jij: één probleem, pull-verzoek, opmerking of high-five tegelijk.
================================================
FILE: _articles/nl/index.html
================================================
---
layout: index
title: Open source gids
lang: nl
permalink: /nl/
---
================================================
FILE: _articles/nl/leadership-and-governance.md
================================================
---
lang: nl
title: Leiderschap en bestuur
description: Groeiende open source-projecten kunnen profiteren van formele regels voor het nemen van beslissingen.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Inzicht in governance voor uw groeiende project
Je project groeit, mensen zijn betrokken en je bent vastbesloten om dit ding gaande te houden. In dit stadium vraagt u zich misschien af hoe u regelmatige projectmedewerkers in uw workflow kunt opnemen, of het nu gaat om iemand commit-toegang te geven of om discussies in de gemeenschap op te lossen. Als u vragen heeft, hebben we de antwoorden.
## Wat zijn voorbeelden van formele rollen die worden gebruikt in open source-projecten?
Veel projecten volgen een vergelijkbare structuur voor rollen en erkenning van medewerkers.
Wat deze rollen eigenlijk betekenen, is geheel aan jou. Hier zijn een paar soorten rollen die u wellicht herkent:
* **Open source-beheerder / Maintainer**
* **Bijdrager / Contributor**
* **Committer**
**Voor sommige projecten zijn "open source-beheerders"** de enige mensen in een project met commit-toegang. In andere projecten zijn het gewoon de mensen die in de README worden vermeld als beheerders.
Een onderhouder hoeft niet per se iemand te zijn die code voor uw project schrijft. Het kan iemand zijn die veel werk heeft verzet om uw project te evangeliseren, of schriftelijke documentatie die het project toegankelijker heeft gemaakt voor anderen. Ongeacht wat ze van dag tot dag doen, een onderhouder is waarschijnlijk iemand die verantwoordelijkheid voelt over de richting van het project en zich inzet om het te verbeteren.
**Een 'bijdrager' kan iedereen zijn** die opmerkingen maakt over een probleem of pull-verzoek, mensen die waarde toevoegen aan het project (of het nu gaat om triaging-problemen, het schrijven van code of het organiseren van evenementen), of iemand met een samengevoegd pull-verzoek (misschien de engste definitie van een bijdrager).
**De term "committer"** kan worden gebruikt om commit-toegang, wat een specifiek type verantwoordelijkheid is, te onderscheiden van andere vormen van bijdrage.
Hoewel u uw projectrollen op elke gewenste manier kunt definiëren, [overweeg het gebruik van bredere definities](../how-to-contribute/#waarom-bijdragen-aan-open-source) om meer vormen van bijdrage aan te moedigen. U kunt leiderschapsrollen gebruiken om formeel mensen te erkennen die een uitstekende bijdrage aan uw project hebben geleverd, ongeacht hun technische vaardigheden.
## Hoe formaliseer ik deze leiderschapsrollen?
Het formaliseren van uw leiderschapsrollen helpt mensen zich eigenaar te voelen en vertelt andere gemeenschapsleden naar wie ze moeten zoeken voor hulp.
Voor een kleiner project kan het aanwijzen van leiders net zo eenvoudig zijn als het toevoegen van hun naam aan uw README of een CONTRIBUTORS tekstbestand.
Voor een groter project, als u een website heeft, maak dan een teampagina aan of vermeld uw projectleiders daar. [Postgres](https://github.com/postgres/postgres/) heeft bijvoorbeeld een [uitgebreide teampagina](https://www.postgresql.org/community/contributors/) met korte profielen voor elke bijdrager.
Als uw project een zeer actieve bijdragersgemeenschap heeft, kunt u een "kernteam" van beheerders vormen, of zelfs subcommissies van mensen die de verantwoordelijkheid nemen voor verschillende probleemgebieden (bijvoorbeeld beveiliging, probleemopsporing of gedrag van de gemeenschap). Laat mensen zichzelf organiseren en vrijwilligerswerk doen voor de rollen waar ze het meest enthousiast over zijn, in plaats van ze toe te wijzen.
Leiderschapsteams willen misschien een aangewezen kanaal creëren (zoals op IRC) of regelmatig bijeenkomen om het project te bespreken (zoals op Gitter of Google Hangout). U kunt die bijeenkomsten zelfs openbaar maken, zodat andere mensen kunnen luisteren. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), bijvoorbeeld [host wekelijks kantooruren](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Als u eenmaal leiderschapsrollen heeft vastgesteld, vergeet dan niet te documenteren hoe mensen deze kunnen bereiken! Stel een duidelijk proces vast voor hoe iemand een onderhouder kan worden of lid kan worden van een subcommissie in uw project, en schrijf het op uw GOVERNANCE.md.
Tools zoals [Vossibility](https://github.com/icecrime/vossibility-stack) kunnen je helpen om publiekelijk bij te houden wie (of niet) bijdraagt aan het project. Door deze informatie te documenteren, wordt de perceptie van de gemeenschap vermeden dat beheerders een kliek zijn die privé beslissingen neemt.
Ten slotte, als uw project op GitHub staat, overweeg dan om uw project van uw persoonlijke account naar een organisatie te verplaatsen en ten minste één back-upbeheerder toe te voegen. [GitHub Organisations](https://help.github.com/articles/creating-a-new-organization-account/) maken het gemakkelijker om machtigingen en meerdere opslagplaatsen te beheren en de nalatenschap van je project te beschermen via [gedeeld eigendom](../building-community/#deel-het-eigendom-van-uw-project).
## Wanneer moet ik iemand commit-toegang geven?
Sommige mensen vinden dat je commitment moet geven aan iedereen die een bijdrage levert. Dit zou meer mensen kunnen aanmoedigen om zich eigenaar te voelen van uw project.
Aan de andere kant, vooral voor grotere, meer complexe projecten, wil je misschien alleen commitment geven aan mensen die hun betrokkenheid hebben getoond. Er is niet één goede manier om het te doen - doe wat je het prettigst vindt!
Als je project op GitHub staat, kun je [beschermde branches](https://help.github.com/articles/about-protected-branches/) gebruiken om te beheren wie naar een bepaalde branch kan pushen, en onder welke omstandigheden.
## Wat zijn enkele van de algemene bestuursstructuren voor open source-projecten?
Er zijn drie algemene bestuursstructuren die verband houden met open source-projecten.
* **BDFL:** BDFL staat voor "Benevolent Dictator for Life". Volgens deze structuur heeft één persoon (meestal de oorspronkelijke auteur van het project) het laatste woord over alle belangrijke projectbeslissingen. [Python](https://github.com/python) is een klassiek voorbeeld. Kleinere projecten zijn waarschijnlijk standaard BDFL, omdat er maar één of twee beheerders zijn. Een project dat is ontstaan bij een bedrijf kan ook in de categorie BDFL vallen.
* **Meritocratie:** **(Opmerking: de term "meritocratie" heeft een negatieve connotatie voor sommige gemeenschappen en heeft een [complexe sociale en politieke geschiedenis](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Onder een meritocratie krijgen actieve projectmedewerkers (degenen die "verdienste" aantonen) een formele besluitvormende rol. Beslissingen worden meestal genomen op basis van zuivere stemconsensus. Het concept van meritocratie is ontwikkeld door de [Apache Foundation](https://www.apache.org/); [alle Apache-projecten](https://www.apache.org/index.html#projects-list) zijn meritocratieën. Bijdragen kunnen alleen worden gedaan door individuen die zichzelf vertegenwoordigen, niet door een bedrijf.
* **Liberale bijdrage (_Liberal contribution_):** Volgens een liberaal contributiemodel worden de mensen die het meeste werk doen als meest invloedrijk erkend, maar dit is gebaseerd op huidig werk en niet op historische bijdragen. Beslissingen voor grote projecten worden genomen op basis van een proces van consensus zoeken (bespreek belangrijke grieven) in plaats van pure stemming, en het streven is om zoveel mogelijk gemeenschapsperspectieven op te nemen. Populaire voorbeelden van projecten die een liberaal contributiemodel gebruiken, zijn onder meer [Node.js] (https://foundation.nodejs.org/) en [Rust] (https://www.rust-lang.org/).
Welke moet je gebruiken? Het is aan jou! Elk model heeft voordelen en afwegingen. En hoewel ze in eerste instantie misschien heel anders lijken, hebben alle drie de modellen meer gemeen dan ze lijken. Bekijk deze sjablonen als u geïnteresseerd bent in het adopteren van een van deze modellen:
* [BDFL-modelsjabloon](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Modelmodel voor meritocratie](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberale bijdragebeleid](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Heb ik beheersdocumenten nodig wanneer ik mijn project start?
Er is geen goed moment om de governance van uw project op te schrijven, maar het is veel gemakkelijker te definiëren als u eenmaal de dynamiek van uw gemeenschap heeft gezien. Het beste (en moeilijkste) deel van open source governance is dat het wordt gevormd door de gemeenschap!
Sommige vroege documentatie zal echter onvermijdelijk bijdragen aan het beheer van uw project, dus begin met opschrijven wat u kunt. U kunt bijvoorbeeld duidelijke verwachtingen voor gedrag definiëren, of hoe uw bijdragersproces werkt, zelfs bij de lancering van uw project.
Als u deel uitmaakt van een bedrijf dat een open source-project lanceert, is het de moeite waard om vóór de lancering een interne discussie te hebben over hoe uw bedrijf verwacht te handhaven en beslissingen te nemen over het toekomstige project. Misschien wilt u ook in het openbaar uitleggen hoe uw bedrijf wel of niet bij het project betrokken zal zijn (of niet!).
## Wat gebeurt er als bedrijfsmedewerkers bijdragen beginnen in te dienen?
Succesvolle open source-projecten worden door veel mensen en bedrijven gebruikt, en sommige bedrijven kunnen uiteindelijk inkomstenstromen hebben die uiteindelijk aan het project zijn gekoppeld. Een bedrijf kan bijvoorbeeld de projectcode gebruiken als een onderdeel van een commerciële dienstverlening.
Naarmate het project op grotere schaal wordt gebruikt, wordt er meer vraag naar mensen die er expertise in hebben - misschien bent u een van hen! - en worden soms betaald voor het werk dat ze in het project doen.
Het is belangrijk om commerciële activiteiten als normaal te behandelen en als een nieuwe bron van ontwikkelingsenergie. Betaalde ontwikkelaars mogen natuurlijk geen speciale behandeling krijgen ten opzichte van onbetaalde ontwikkelaars; elke bijdrage moet op zijn technische merites worden beoordeeld. Mensen moeten zich echter op hun gemak voelen bij commerciële activiteiten en zich op hun gemak voelen bij het vermelden van hun gebruiksscenario's wanneer ze pleiten voor een bepaalde verbetering of functie.
"Commercial" is volledig compatibel met "open source". "Commercieel" betekent gewoon dat er ergens geld mee gemoeid is - dat de software wordt gebruikt in de handel, wat steeds waarschijnlijker wordt naarmate een project wordt geaccepteerd. (Wanneer open source-software wordt gebruikt als onderdeel van een niet-open-sourceproduct, is het algehele product nog steeds "eigen" software, hoewel het, net als open source, voor commerciële of niet-commerciële doeleinden kan worden gebruikt.)
Net als ieder ander krijgen commercieel gemotiveerde ontwikkelaars invloed in het project door de kwaliteit en kwantiteit van hun bijdragen. Het is duidelijk dat een ontwikkelaar die voor haar tijd wordt betaald, meer kan dan iemand die niet wordt betaald, maar dat is oké: betaling is slechts een van de vele mogelijke factoren die van invloed kunnen zijn op hoeveel iemand doet. Houd uw projectdiscussies gericht op de bijdragen, niet op de externe factoren waardoor mensen die bijdragen kunnen leveren.
## Heb ik een juridische entiteit nodig om mijn project te ondersteunen?
U hebt geen juridische entiteit nodig om uw open source-project te ondersteunen, tenzij u met geld omgaat.
Als u bijvoorbeeld een commercieel bedrijf wilt opzetten, wilt u een C Corp of LLC opzetten (als u in de VS bent gevestigd). Als u alleen contractwerk doet in verband met uw open source-project, kunt u geld accepteren als een eenmanszaak of een LLC opzetten (als u in de VS bent gevestigd).
Als u donaties voor uw open source-project wilt accepteren, kunt u een donatieknop instellen (bijvoorbeeld met PayPal of Stripe), maar het geld is niet aftrekbaar voor de belasting, tenzij u een in aanmerking komende non-profitorganisatie bent (een 501c3, als je bent in de VS).
Veel projecten willen niet de moeite nemen om een non-profitorganisatie op te zetten, dus zoeken ze in plaats daarvan een fiscale sponsor zonder winstoogmerk. Een fiscale sponsor accepteert namens u schenkingen, meestal in ruil voor een percentage van de schenking. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) en [Open Collective](https://opencollective.com/opensource) zijn voorbeelden van organisaties die als fiscale sponsors dienen voor open source-projecten.
Als uw project nauw verbonden is met een bepaalde taal of een bepaald ecosysteem, kan er ook een gerelateerde softwarefundament zijn waarmee u kunt werken. De [Python Software Foundation](https://www.python.org/psf/) helpt bijvoorbeeld bij het ondersteunen van [PyPI](https://pypi.org/), de Python-pakketbeheerder en de [Node.js Foundation](https://foundation.nodejs.org/) helpt bij het ondersteunen van [Express.js](https://expressjs.com/), een op knooppunten gebaseerd raamwerk.
================================================
FILE: _articles/nl/legal.md
================================================
---
lang: nl
title: De juridische kant van open source
description: Alles wat je je ooit hebt afgevraagd over de juridische kant van open source, en een paar dingen die je niet deed.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Understanding the legal implications of open source
Het delen van uw creatieve werk met de wereld kan een opwindende en lonende ervaring zijn. Het kan ook een heleboel juridische dingen betekenen waarvan je niet wist dat u zich er zorgen over moest maken. Gelukkig hoef je niet helemaal opnieuw te beginnen. We hebben uw juridische behoeften gedekt. (Lees voordat u verder gaat onze [disclaimer](/notices/).)
## Waarom geven mensen zoveel om de juridische kant van open source?
Blij dat je het vraagt! Wanneer u een creatief werk maakt (zoals schrijven, afbeeldingen of code), valt dat werk standaard onder exclusief auteursrecht. Dat wil zeggen, de wet gaat ervan uit dat u als auteur van uw werk inspraak hebt in wat anderen ermee kunnen doen.
Over het algemeen betekent dit dat niemand anders uw werk kan gebruiken, kopiëren, distribueren of wijzigen zonder het risico te lopen op uitval, opschudding of rechtszaak.
Open source is echter een ongebruikelijke omstandigheid, omdat de auteur verwacht dat anderen het werk zullen gebruiken, aanpassen en delen. Maar omdat de wettelijke standaard nog steeds exclusief copyright is, hebt u een licentie nodig waarin deze machtigingen expliciet worden vermeld.
Als u geen open source-licentie toepast, wordt iedereen die aan uw project bijdraagt ook de exclusieve copyrighthouder van zijn werk. Dat betekent dat niemand zijn bijdragen kan gebruiken, kopiëren, verspreiden of wijzigen - en dat "niemand" jou ook omvat.
Ten slotte kan uw project afhankelijkheden hebben met licentievereisten waarvan u zich niet bewust was. De gemeenschap van uw project of het beleid van uw werkgever kan ook vereisen dat uw project specifieke open source-licenties gebruikt. We behandelen deze situaties hieronder.
## Zijn openbare GitHub-projecten open source?
Wanneer je [een nieuw project maakt](https://help.github.com/articles/creating-a-new-repository/) op GitHub, heb je de optie om de repository **privé** of **openbaar te maken**.

**Het openbaar maken van uw GitHub-project is niet hetzelfde als het licentiëren van uw project.** Openbare projecten vallen onder de [Servicevoorwaarden van GitHub](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), waarmee anderen uw project kunnen bekijken en splitsen (_een fork_), maar uw werk heeft verder geen rechten.
Als u wilt dat anderen uw project gebruiken, distribueren, wijzigen of eraan bijdragen, moet u een open source-licentie opnemen. Iemand kan bijvoorbeeld geen enkel deel van je GitHub-project legaal in zijn code gebruiken, zelfs niet als het openbaar is, tenzij je hem expliciet het recht geeft om dit te doen.
## Geef me gewoon de TL;DR over wat ik nodig heb om mijn project te beschermen
Je hebt geluk, want tegenwoordig zijn open source-licenties gestandaardiseerd en gebruiksvriendelijk. U kunt een bestaande licentie rechtstreeks in uw project kopiëren en plakken.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) en [GPLv3](https://choicealicense.com/licenses/gpl-3.0/) zijn de meest populaire open source-licenties, maar er zijn andere opties om uit te kiezen. U kunt de volledige tekst van deze licenties en instructies voor het gebruik ervan vinden op [choosealicense.com](https://choosealicense.com/).
Wanneer u een nieuw project op GitHub maakt, wordt u [gevraagd om een licentie toe te voegen](https://help.github.com/articles/open-source-licensing/).
## Welke open source-licentie is geschikt voor mijn project?
Als je begint met een blanco project, is het moeilijk om fout te gaan met de [MIT License](https://choosealicense.com/licenses/mit/). Het is kort, heel gemakkelijk te begrijpen en staat iedereen toe om alles te doen, zolang ze een kopie van de licentie bewaren, inclusief uw copyrightmelding. U kunt het project onder een andere licentie vrijgeven als dat ooit nodig is.
Anders hangt het kiezen van de juiste open source-licentie voor uw project af van uw doelstellingen.
Uw project heeft (of zal) zeer waarschijnlijk **afhankelijkheden**. Als u bijvoorbeeld een Node.js-project open source maakt, gebruikt u waarschijnlijk bibliotheken van de Node Package Manager (npm). Elk van die bibliotheken waarvan u afhankelijk bent, heeft zijn eigen open source-licentie. Als elk van hun licenties "permissief" is (geeft het publiek toestemming om te gebruiken, wijzigen en delen, zonder enige voorwaarde voor downstreamlicenties), kunt u elke gewenste licentie gebruiken. Veelgebruikte licenties zijn onder meer MIT, Apache 2.0, ISC en BSD.
Aan de andere kant, als een van de licenties van je afhankelijkheden "sterk copyleft" is (geeft ook publiek dezelfde permissies, op voorwaarde dat je dezelfde licentie downstream gebruikt), dan zal je project dezelfde licentie moeten gebruiken. Veelgebruikte licenties voor sterke auteursplicht zijn GPLv2, GPLv3 en AGPLv3.
U kunt ook de **gemeenschappen** overwegen waarvan u hoopt dat ze zullen gebruiken en bijdragen aan uw project:
* **Wilt u dat uw project wordt gebruikt als afhankelijkheid door andere projecten?** Waarschijnlijk het beste om de meest populaire licentie in uw relevante gemeenschap te gebruiken. [MIT](https://choosealicense.com/licenses/mit/) is bijvoorbeeld de meest populaire licentie voor [npm libraries](https://libraries.io/search?platforms=NPM).
* **Wilt u dat uw project grote bedrijven aanspreekt?** Een groot bedrijf wil waarschijnlijk een uitdrukkelijke patentlicentie van alle bijdragers. In dit geval heeft [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) jou (en hen) gedekt.
* **Wilt u dat uw project een beroep doet op bijdragers die niet willen dat hun bijdragen worden gebruikt in closed source-software?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) of (indien ze willen ook niet bijdragen aan closed source-diensten) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) zal goed overkomen.
Uw **bedrijf** heeft mogelijk specifieke licentievereisten voor zijn open source-projecten. Het kan bijvoorbeeld een vergunning vereisen, zodat het bedrijf uw project kan gebruiken in het closed source-product van het bedrijf. Of uw bedrijf heeft mogelijk een sterke auteursplichtlicentie en een aanvullende bijdragersovereenkomst nodig (zie hieronder) zodat alleen uw bedrijf, en niemand anders, uw project kan gebruiken in closed source-software. Of uw bedrijf kan bepaalde behoeften hebben met betrekking tot normen, sociale verantwoordelijkheid of transparantie, die elk een bepaalde licentiestrategie vereisen. Neem contact op met de juridische afdeling van uw [bedrijf](#wat-moet-het-juridische-team-van-mijn-bedrijf-weten).
Wanneer u een nieuw project op GitHub maakt, krijgt u de mogelijkheid om een licentie te selecteren. Als u een van de bovengenoemde licenties opneemt, wordt uw GitHub-project open source. Als je andere opties wilt zien, ga dan naar [choosealicense.com](https://choosealicense.com) om de juiste licentie voor je project te vinden, zelfs als het [geen software is](https://choosealicense.com/non-software/).
## Wat moet ik doen als ik de licentie van mijn project wil wijzigen?
De meeste projecten hoeven nooit van licentie te wisselen. Maar af en toe veranderen de omstandigheden.
Naarmate uw project groeit, voegt het bijvoorbeeld afhankelijkheden of gebruikers toe, of verandert uw bedrijf van strategie, die voor elk een andere licentie kunnen vereisen of willen. Als u vanaf het begin geen licentie voor uw project hebt verleend, is het toevoegen van een licentie in feite hetzelfde als het wijzigen van licenties. Er zijn drie fundamentele zaken waarmee u rekening moet houden bij het toevoegen of wijzigen van de licentie van uw project:
**Het is ingewikkeld.** Het bepalen van de compatibiliteit en naleving van licenties en wie het auteursrecht bezit, kan zeer snel ingewikkeld en verwarrend worden. Overschakelen naar een nieuwe maar compatibele licentie voor nieuwe releases en bijdragen is iets anders dan alle bestaande bijdragen opnieuw licentiëren. Betrek uw juridische team bij de eerste aanwijzing dat u licenties wilt wijzigen. Zelfs als u toestemming hebt of kunt krijgen van de auteursrechthouders van uw project voor een licentiewijziging, moet u rekening houden met de impact van de wijziging op de andere gebruikers en bijdragers van uw project. Beschouw een licentiewijziging als een "bestuursgebeurtenis" voor uw project dat waarschijnlijk vlotter zal verlopen met duidelijke communicatie en overleg met de belanghebbenden van uw project. Reden te meer om vanaf het begin een geschikte licentie voor uw project te kiezen en te gebruiken!
**De bestaande licentie van uw project.** Als de bestaande licentie van uw project compatibel is met de licentie waarnaar u wilt overschakelen, kunt u de nieuwe licentie gewoon gaan gebruiken. Dat komt omdat als licentie A compatibel is met licentie B, u voldoet aan de voorwaarden van A terwijl u voldoet aan de voorwaarden van B (maar niet noodzakelijkerwijs andersom). Dus als u momenteel een toegestane licentie gebruikt (bijv. MIT), kunt u overschakelen naar een licentie met meer voorwaarden, zolang u een kopie van de MIT-licentie en eventuele bijbehorende copyrightkennisgevingen bewaart (dat wil zeggen, blijf voldoen aan de Minimale voorwaarden van de MIT-licentie). Maar als je huidige licentie niet toelaatbaar is (bijv. Copyleft, of je hebt geen licentie) en je bent niet de enige copyrighthouder, dan zou je niet zomaar de licentie van je project kunnen veranderen in MIT. In wezen hebben de auteursrechthouders van het project met een toegestane licentie van tevoren toestemming gegeven om licenties te wijzigen.
**De bestaande auteursrechthouders van uw project.** Als u de enige bijdrager aan uw project bent, bent u of uw bedrijf de enige houder van het auteursrecht van het project. U kunt elke licentie die u of uw bedrijf wenst, toevoegen of wijzigen. Anders zijn er mogelijk andere auteursrechthouders met wie u toestemming nodig heeft om licenties te wijzigen. Wie zijn zij? Mensen die commits hebben in uw project, zijn een goede plek om te beginnen. Maar in sommige gevallen berust het auteursrecht bij de werkgevers van die mensen. In sommige gevallen hebben mensen slechts minimale bijdragen geleverd, maar er is geen vaste regel dat bijdragen onder een aantal coderegels niet onderhevig zijn aan auteursrechten. Wat te doen? Het hangt er van af. Voor een relatief klein en jong project kan het haalbaar zijn om alle bestaande bijdragers zover te krijgen dat ze instemmen met een licentiewijziging in een issue of pull-aanvraag. Voor grote en langlopende projecten moet u mogelijk veel bijdragers en zelfs hun erfgenamen zoeken. Mozilla heeft jaren (2001-2006) nodig gehad om Firefox, Thunderbird en gerelateerde software opnieuw te licentiëren.
Als alternatief kunt u bijdragers van tevoren laten instemmen (via een aanvullende overeenkomst voor bijdragers - zie hieronder) met bepaalde licentiewijzigingen onder bepaalde voorwaarden, naast die welke zijn toegestaan door uw bestaande open source-licentie. Dit verschuift de complexiteit van het wijzigen van licenties een beetje. U heeft vooraf meer hulp van uw advocaten nodig en u wilt toch duidelijk communiceren met de belanghebbenden van uw project wanneer u een licentiewijziging doorvoert.
## Heeft mijn project een aanvullende contribuantenovereenkomst nodig?
Waarschijnlijk niet. Voor de overgrote meerderheid van open source-projecten dient een open source-licentie impliciet als zowel de inkomende (van bijdragers) als uitgaande (naar andere bijdragers en gebruikers) licentie. Als uw project zich op GitHub bevindt, maken de Servicevoorwaarden van GitHub "inbound = outbound" tot de [expliciete standaard](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Een aanvullende bijdragersovereenkomst -- vaak een bijdragerslicentieovereenkomst (CLA) genoemd -- kan administratief werk creëren voor projectbeheerders. Hoeveel werk een overeenkomst toevoegt, hangt af van het project en de uitvoering. Een eenvoudige overeenkomst kan vereisen dat bijdragers met een klik bevestigen dat ze de benodigde rechten hebben om bij te dragen onder de open source-licentie van het project. Een meer gecompliceerde overeenkomst vereist mogelijk juridische beoordeling en goedkeuring door de werkgevers van contribuanten.
Door ook 'papierwerk' toe te voegen waarvan sommigen denken dat het onnodig, moeilijk te begrijpen of oneerlijk is (wanneer de ontvanger van de overeenkomst meer rechten krijgt dan bijdragers of het publiek via de open source-licentie van het project), kan een aanvullende overeenkomst voor bijdragers als onvriendelijk worden ervaren aan de gemeenschap van het project.
Enkele situaties waarin u wellicht een aanvullende bijdrageovereenkomst voor uw project wilt overwegen, zijn onder meer:
* Uw advocaten willen dat alle bijdragers uitdrukkelijk (_tekenen_, online of offline) contributievoorwaarden accepteren, misschien omdat ze vinden dat de open source-licentie zelf niet voldoende is (ook al is het dat wel!). Als dit de enige zorg is, zou een bijdragersovereenkomst moeten volstaan die de open source-licentie van het project bevestigt. De [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) is een goed voorbeeld van een lichtgewicht aanvullende overeenkomst voor bijdragers.
* U of uw advocaten willen dat ontwikkelaars verklaren dat elke toezegging die ze doen, geautoriseerd is. Een [Developer Certificate of Origin](https://developercertificate.org/) vereiste is hoeveel projecten dit bereiken. De Node.js-community [gebruikt](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) bijvoorbeeld de DCO [in plaats daarvan](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) van hun eerdere cao. Een eenvoudige optie om de handhaving van de DCO op uw repository te automatiseren, is de [DCO Probot] (https://github.com/probot/dco).
* Uw project maakt gebruik van een open source-licentie die geen uitdrukkelijke octrooiverlening omvat (zoals MIT), en u hebt een octrooiverlening nodig van alle bijdragers, van wie sommigen mogelijk werken voor bedrijven met grote octrooiportefeuilles die kunnen worden gebruikt om u te targeten of de andere bijdragers en gebruikers van het project. De [Apache-licentieovereenkomst voor individuele bijdragers](https://www.apache.org/licenses/icla.pdf) is een veelgebruikte aanvullende overeenkomst voor bijdragers met een octrooiverlening die overeenkomt met die in de Apache-licentie 2.0.
* Uw project valt onder een auteursplichtlicentie, maar u moet ook een eigen versie van het project distribueren. Je hebt elke bijdrager nodig om het auteursrecht aan jou toe te wijzen of jou (maar niet het publiek) een permissieve licentie te verlenen. De [MongoDB-bijdragersovereenkomst](https://www.mongodb.com/legal/contributor-agreement) is een voorbeeld van dit type overeenkomst.
* U denkt dat uw project mogelijk licenties moet wijzigen gedurende de levensduur en u wilt dat bijdragers van tevoren akkoord gaan met dergelijke wijzigingen.
Als je toch een aanvullende bijdragersovereenkomst nodig hebt voor je project, overweeg dan om een integratie zoals [CLA-assistent](https://github.com/cla-assistant/cla-assistant) te gebruiken om afleiding van bijdragers te minimaliseren.
## Wat moet het juridische team van mijn bedrijf weten?
Als u als bedrijfsmedewerker een open source-project vrijgeeft, moet uw juridische team eerst weten dat u een project open source maakt.
Overweeg om ze te laten weten, of het nu een persoonlijk project is, of het nu beter of slechter is. U hebt waarschijnlijk een "IP-overeenkomst voor werknemers" met uw bedrijf die hen enige controle geeft over uw projecten, vooral als ze überhaupt verband houden met de zaken van het bedrijf of als u bedrijfsmiddelen gebruikt om het project te ontwikkelen. Uw bedrijf _moet_ u gemakkelijk toestemming geven, en heeft dat misschien al gedaan via een werknemersvriendelijke IE-overeenkomst of een bedrijfsbeleid. Zo niet, dan kunt u onderhandelen (leg bijvoorbeeld uit dat uw project de professionele leer- en ontwikkelingsdoelstellingen van het bedrijf voor u dient), of werk niet aan uw project totdat u een beter bedrijf heeft gevonden.
**Als u een open source project voor uw bedrijf zoekt,** laat het hen dan zeker weten. Uw juridische team heeft waarschijnlijk al beleid voor welke open source-licentie (en misschien een aanvullende bijdragersovereenkomst) moet worden gebruikt op basis van de zakelijke vereisten en expertise van het bedrijf om ervoor te zorgen dat uw project voldoet aan de licenties van zijn afhankelijkheden. Zo niet, dan hebben jij en zij geluk! Uw juridische team zou graag met u willen samenwerken om dit uit te zoeken. Enkele dingen om over na te denken:
* **Materiaal van derden:** Heeft uw project afhankelijkheden die door anderen zijn gecreëerd of bevat of gebruikt u anderszins code van anderen? Als deze open source zijn, moet u voldoen aan de open source-licenties van het materiaal. Dat begint met het kiezen van een licentie die werkt met de open source-licenties van derden (zie hierboven). Als uw project open source-materiaal van derden wijzigt of verspreidt, zal uw juridische team ook willen weten dat u voldoet aan andere voorwaarden van de open source-licenties van derden, zoals het behouden van copyrightkennisgevingen. Als uw project code van anderen gebruikt die geen open source-licentie heeft, moet u waarschijnlijk de externe beheerders vragen om [een open source-licentie toe te voegen](https://choosealicense.com/no-license/#for-users), en als u er geen kunt krijgen, stop dan met het gebruik van hun code in uw project.
* **Handelsgeheimen:** Bedenk of er iets in het project staat dat het bedrijf niet beschikbaar wil stellen aan het grote publiek. Als dat het geval is, kunt u de rest van uw project open source maken, nadat u het materiaal hebt geëxtraheerd dat u privé wilt houden.
* **Octrooien:** Vraagt uw bedrijf een octrooi aan waarvan open sourcing uw project [openbaar](https://en.wikipedia.org/wiki/Public_disclosure) zou maken? Helaas wordt u mogelijk gevraagd om te wachten (of misschien heroverweegt het bedrijf de wijsheid van de toepassing). Als u bijdragen aan uw project verwacht van werknemers van bedrijven met grote octrooiportefeuilles, kan uw juridische team willen dat u een licentie gebruikt met een uitdrukkelijke octrooiverlening van bijdragers (zoals Apache 2.0 of GPLv3), of een aanvullende bijdragersovereenkomst (zie hierboven).
* **Handelsmerken:** Controleer nogmaals of de naam van uw project [niet in strijd is met bestaande handelsmerken](../starting-a-project/#naamconflicten-vermijden). Als u in het project uw eigen bedrijfsmerken gebruikt, controleer dan of dit geen conflicten veroorzaakt. [FOSSmarks](http://fossmarks.org/) is een praktische gids om handelsmerken te begrijpen in de context van gratis en open source projecten.
* **Privacy:** Verzamelt uw project gegevens over gebruikers? 'Naar huis bellen' naar bedrijfsservers? Uw juridische team kan u helpen bij het naleven van het bedrijfsbeleid en externe regelgeving.
Als u het eerste open source-project van uw bedrijf uitbrengt, is het bovenstaande meer dan voldoende om erdoorheen te komen (maar maakt u zich geen zorgen, de meeste projecten zouden geen grote zorgen moeten baren).
Op de langere termijn kan uw juridische team meer doen om het bedrijf te helpen meer uit zijn betrokkenheid bij open source te halen en veilig te blijven:
* **Beleid inzake werknemersbijdragen:** Overweeg om een bedrijfsbeleid te ontwikkelen dat aangeeft hoe uw werknemers bijdragen aan open source-projecten. Een duidelijk beleid zal de verwarring onder uw medewerkers verminderen en hen helpen bij te dragen aan open source-projecten in het belang van het bedrijf, zowel als onderdeel van hun baan als in hun vrije tijd. Een goed voorbeeld is Rackspace's [Model IP and Open Source Contribution Policy] (https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **Wat vrij te geven:** [(Bijna) alles?] (Http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Als uw juridische team het begrijpt en geïnvesteerd in de open source-strategie van uw bedrijf, zullen ze u het beste kunnen helpen in plaats van hinderen.
* **Naleving:** Zelfs als uw bedrijf geen open source-projecten vrijgeeft, gebruikt het open source-software van anderen. [Bewustwording en proces](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) kan hoofdpijn, productvertragingen, en rechtszaken voorkomen.
* **Patenten:** Uw bedrijf wil wellicht lid worden van het [Open Invention Network](https://www.openinventionnetwork.com/), een gedeelde defensieve patentpool om het gebruik van grote open source-projecten door leden te beschermen, of andere [alternatieve patentlicenties](https://www.eff.org/document/hacking-patent-system-2016).
* **Governance:** Zeker als en wanneer het zinvol is om een project te verhuizen naar een [juridische entiteit buiten het bedrijf](../leadership-and-governance/#heb-ik-een-juridische-entiteit-nodig-om-mijn-project-te-ondersteunen).
================================================
FILE: _articles/nl/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: nl
untranslated: true
title: Maintaining Balance for Open Source Maintainers
description: Tips for self-care and avoiding burnout as a maintainer.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.
To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the Maintainer Community, allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.
So, what is personal ecology? As described by the Rockwood Leadership Institute, it involves "maintaining balance, pacing, and efficiency to sustain our energy over a lifetime." This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as [defined by the WHO](https://icd.who.int/browse/2025-01/foundation/en#129180281), is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.
By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.
## Tips for Self-Care and Avoiding Burnout as a Maintainer:
### Identify your motivations for working in open source
Take time to reflect on what parts of open source maintenance energizes you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it's the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.
### Reflect on what causes you to get out of balance and stressed out
It's important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:
* **Lack of positive feedback:** Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.
* **Not saying 'no':** It can be easy to take on more responsibilities than you should on an open source project. Whether it's from users, contributors, or other maintainers – we can't always live up to their expectations.
* **Working alone:** Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.
* **Not enough time or resources:** This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
* **Conflicting demands:** Open source is full of groups with different motivations, which can be difficult to navigate. If you're paid to do open source, your employer's interests can sometimes be at odds with the community.
### Watch out for signs of burnout
Can you keep up your pace for 10 weeks? 10 months? 10 years?
There are tools like the [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) from [@shaunagm](https://github.com/shaunagm) that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).
### What would you need to continue sustaining yourself and your community?
This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:
* **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.
You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
* **Explore funding:** Whether you're looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you're thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
* **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
* **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night's sleep can make a big difference in your ability to sustain your efforts long-term.
If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
* **Set boundaries:** You can't say yes to every request. This can be as simple as saying, "I can't get to that right now and I do not have plans to in the future," or listing out what you're interested in doing and not doing in the README. For instance, you could say: "I only merge PRs which have clearly listed reasons why they were made," or, "I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.
Learn to be firm in shutting down toxic behavior and negative interactions. It's okay to not give energy to things you don't care about.
Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.
## Additional Resources
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Contributors
Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/nl/metrics.md
================================================
---
lang: nl
title: Open source-statistieken
description: Neem weloverwogen beslissingen om uw open source-project te laten gedijen door het succes ervan te meten en bij te houden.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Waarom iets meten?
Data, mits verstandig gebruikt, kunnen u helpen betere beslissingen te nemen als open source-onderhouder.
Met meer informatie kunt u:
* Begrijp hoe gebruikers reageren op een nieuwe functie
* Zoek uit waar nieuwe gebruikers vandaan komen
* Identificeer, en beslis of u een uitbijtergebruikscasus of -functionaliteit wilt ondersteunen
* Kwantificeer de populariteit van uw project
* Begrijp hoe uw project wordt gebruikt
* Zamel geld in via sponsoring en beurzen
[Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) stelt bijvoorbeeld vast dat Google Analytics hen helpt bij het prioriteren van werk:
> Homebrew wordt gratis verstrekt en wordt in hun vrije tijd volledig gerund door vrijwilligers. Als gevolg hiervan hebben we niet de middelen om gedetailleerde gebruikersstudies van Homebrew-gebruikers uit te voeren om te beslissen hoe toekomstige functies het beste kunnen worden ontworpen en prioriteit kunnen worden gegeven aan huidig werk. Anonieme geaggregeerde gebruikersanalyses stellen ons in staat om prioriteit te geven aan fixes en functies op basis van hoe, waar en wanneer mensen Homebrew gebruiken.
Populariteit is niet alles. Iedereen komt om verschillende redenen in open source. Als het je doel is als open source-onderhouder om te pronken met je werk, transparant te zijn over je code of gewoon plezier te hebben, dan zijn metrics misschien niet belangrijk voor je.
Als u _geïnteresseerd_ bent om uw project op een dieper niveau te begrijpen, lees dan verder voor manieren om de activiteit van uw project te analyseren.
## Ontdekking
Voordat iemand uw project kan gebruiken of eraan kan bijdragen, moet hij of zij weten dat het bestaat. Stel uzelf de vraag: _vinden mensen dit project?_

Als je project wordt gehost op GitHub, [je kunt zien](https://help.github.com/articles/about-repository-graphs/#traffic) hoeveel mensen op je project terechtkomen en waar ze vandaan komen. Klik op de pagina van uw project op "Insights" en vervolgens op "Traffic". Op deze pagina ziet u:
* **Total page views:** geeft aan hoe vaak uw project is bekeken
* **Total unique visitors:** geeft aan hoeveel mensen uw project hebben bekeken
* **Referring sites:** vertelt u waar bezoekers vandaan kwamen. Deze statistiek kan u helpen erachter te komen waar u uw publiek kunt bereiken en of uw promotie-inspanningen werken.
* **Populaire content:** vertelt u waar bezoekers naartoe gaan in uw project, uitgesplitst naar paginaweergaven en unieke bezoekers.
[GitHub stars](https://help.github.com/articles/about-stars/) kan ook helpen bij het geven van een basismeting van populariteit. Hoewel GitHub-sterren niet noodzakelijkerwijs verband houden met downloads en gebruik, kunnen ze u wel vertellen hoeveel mensen kennis nemen van uw werk.
U kunt ook [vindbaarheid op specifieke plaatsen bijhouden](https://opensource.com/business/16/6/pirate-metrics): bijvoorbeeld Google PageRank, verwijzingsverkeer van de website van uw project of verwijzingen van andere open bronprojecten of websites.
## Gebruik
Mensen vinden uw project op dit wilde en gekke ding dat we internet noemen. Idealiter voelen ze zich genoodzaakt om iets te doen als ze uw project zien. De tweede vraag die u wilt stellen is: _gebruiken mensen dit project?_
Als u een pakketbeheerder gebruikt, zoals npm of RubyGems.org, om uw project te distribueren, kunt u mogelijk de downloads van uw project volgen.
Elke pakketbeheerder kan een iets andere definitie van "downloaden" gebruiken, en downloads correleren niet noodzakelijkerwijs met installaties of gebruik, maar het biedt een basis ter vergelijking. Probeer [Libraries.io](https://libraries.io/) te gebruiken om gebruiksstatistieken bij te houden van veel populaire pakketbeheerders.
Als je project op GitHub staat, navigeer dan opnieuw naar de "Traffic"-pagina. U kunt de [kloongrafiek](https://github.com/blog/1873-clone-graphs) gebruiken om te zien hoe vaak uw project op een bepaalde dag is gekloond, opgesplitst in totaal aantal klonen en unieke klonen.

Als het gebruik laag is in vergelijking met het aantal mensen dat uw project ontdekt, zijn er twee zaken waarmee u rekening moet houden. Een van beide:
* Uw project slaagt er niet in uw publiek te converteren, of
* Je trekt het verkeerde publiek aan
Als uw project bijvoorbeeld op de voorpagina van Hacker News belandt, ziet u waarschijnlijk een piek in de ontdekking (verkeer), maar een lagere conversieratio, omdat u iedereen op Hacker News bereikt. Als uw Ruby-project echter wordt gepresenteerd op een Ruby-conferentie, is de kans groter dat u een hoge conversieratio ziet bij een gericht publiek.
Probeer erachter te komen waar uw publiek vandaan komt en vraag anderen om feedback op uw projectpagina om erachter te komen met welke van deze twee problemen u te maken heeft.
Als je eenmaal weet dat mensen je project gebruiken, wil je misschien proberen erachter te komen wat ze ermee doen. Bouwen ze erop door uw code te forken en functies toe te voegen? Gebruiken ze het voor wetenschap of zaken?
## Retentie
Mensen vinden uw project en ze gebruiken het. De volgende vraag die je jezelf wilt stellen is: _dragen mensen bij aan dit project?_
Het is nooit te vroeg om na te denken over bijdragers. Zonder dat andere mensen meewerken, riskeer je jezelf in een ongezonde situatie te brengen waarin je project _populair_ is (veel mensen gebruiken het) maar niet _ondersteund_ (niet genoeg tijd om aan de vraag te voldoen).
Retentie vereist ook een [instroom van nieuwe bijdragers](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), aangezien voorheen actieve bijdragers uiteindelijk verder zullen gaan naar andere dingen.
Voorbeelden van communitystatistieken die u regelmatig wilt bijhouden, zijn:
* **Totaal aantal bijdragers en aantal commits per bijdrager:** vertelt je hoeveel bijdragers je hebt en wie er meer of minder actief is. Op GitHub kun je dit bekijken onder "Insights" -> "Contributors". Op dit moment telt deze grafiek alleen bijdragers die zich hebben gecommitteerd aan de standaardvertakking van de repository.

* **Eerste keer, losse en terugkerende bijdragers:** Helpt u bij te houden of u nieuwe bijdragers krijgt en of ze terugkomen. (Toevallige bijdragers zijn bijdragers met een laag aantal commits. Of dat nu één commit is, minder dan vijf commits of iets anders, is aan jou.) Zonder nieuwe bijdragers kan de community van je project stagneren.
* **Aantal openstaande issues en openstaande pull-verzoeken:** Als deze aantallen te hoog worden, heb je wellicht hulp nodig bij het testen van issues en codebeoordelingen.
* **Aantal _geopende_ issues en _geopende_ pull requests:** Geopende issues betekent dat iemand genoeg geeft om je project om een issue te openen. Als dat aantal in de loop van de tijd toeneemt, suggereert dit dat mensen geïnteresseerd zijn in uw project.
* **Soorten bijdragen:** Bijvoorbeeld commits, typefouten of bugs verhelpen, of commentaar geven op een probleem.
## open source beheerdersactiviteit
Ten slotte wilt u de cirkel sluiten door ervoor te zorgen dat de beheerders van uw project het volume van de ontvangen bijdragen aankunnen. De laatste vraag die je jezelf wilt stellen is: _Reageer ik (of zijn wij) op onze community?_
Niet-reagerende beheerders worden een bottleneck voor open source-projecten. Als iemand een bijdrage indient maar nooit iets van een onderhouder hoort, kan hij of zij zich ontmoedigd voelen en vertrekken.
[Onderzoek van Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) suggereert dat het reactievermogen van de open source-onderhouder een cruciale factor is bij het aanmoedigen van herhaalde bijdragen.
Overweeg om bij te houden hoe lang het duurt voordat u (of een andere onderhouder) reageert op bijdragen, of dit nu een probleem of een pull-verzoek is. Reageren vereist geen actie. Het kan zo simpel zijn als te zeggen: _"Bedankt voor uw inzending! Ik zal dit binnen de komende week beoordelen."_
U kunt ook de tijd meten die nodig is om tussen fasen in het bijdrageproces te schakelen, zoals:
* Gemiddelde tijd dat een probleem open blijft
* Of kwesties worden gesloten door PR's
* Of oude problemen worden gesloten
* Gemiddelde tijd om een pull-aanvraag samen te voegen
## Gebruik 📊 om over mensen te leren
Door statistieken te begrijpen, kunt u een actief, groeiend open source-project opzetten. Zelfs als u niet elke statistiek op een dashboard volgt, kunt u het bovenstaande framework gebruiken om uw aandacht te richten op het soort gedrag dat uw project zal helpen gedijen.
================================================
FILE: _articles/nl/security-best-practices-for-your-project.md
================================================
---
lang: nl
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/nl/starting-a-project.md
================================================
---
lang: nl
title: Een open source-project starten
description: Leer meer over de wereld van open source en bereid je voor om je eigen project te lanceren.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## Het "wat" en "waarom" van open source
Dus je denkt erover om aan de slag te gaan met open source? Gefeliciteerd! De wereld waardeert uw bijdrage. Laten we het hebben over wat open source is en waarom mensen het doen.
### Wat betekent "open source"?
Als een project open source is, betekent dit **dat iedereen vrij is om uw project voor elk doel te gebruiken, bestuderen, wijzigen en distribueren.** Deze machtigingen worden afgedwongen via [een open source-licentie](https://opensource.org/licenses).
Open source is krachtig omdat het de barrières voor acceptatie en samenwerking verlaagt, waardoor mensen projecten snel kunnen verspreiden en verbeteren. Ook omdat het gebruikers de mogelijkheid geeft om hun eigen computergebruik te beheersen, in vergelijking met closed source. Een bedrijf dat open source software gebruikt, heeft bijvoorbeeld de mogelijkheid om iemand in te huren om aangepaste verbeteringen aan de software aan te brengen, in plaats van uitsluitend te vertrouwen op de productbeslissingen van een closed source-leverancier.
_Vrije software (Free software)_ verwijst naar dezelfde reeks projecten als _open source_. Soms zie je ook [deze termen](https://en.wikipedia.org/wiki/Free_and_open-source_software) gecombineerd als "free en open source software" (FOSS) of "free, libre en open source software" (FLOSS). _Free_ en _libre_ verwijzen naar vrijheid, [niet de prijs](#betekend-open-source-gratis).
### Waarom stellen mensen hun werk als open source beschikbaar?
[Er zijn veel redenen](https://ben.balter.com/2015/11/23/why-open-source/) waarom een persoon of organisatie een project zou willen open source maken. Enkele voorbeelden zijn:
* **Samenwerking:** Open source-projecten kunnen wijzigingen van iedereen ter wereld accepteren. [Exercism](https://github.com/exercism/) is bijvoorbeeld een oefenplatform voor programmeren met meer dan 350 medewerkers.
* **Adoptie en remixen:** Open source-projecten kunnen door iedereen voor bijna elk doel worden gebruikt. Mensen kunnen er zelfs andere dingen mee bouwen. [WordPress](https://github.com/WordPress) is bijvoorbeeld begonnen als een splitsing van een bestaand project met de naam [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparantie:** Iedereen kan een open source-project inspecteren op fouten of inconsistenties. Transparantie is belangrijk voor regeringen zoals [Bulgarije](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) of de [Verenigde Staten](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), gereguleerde industrieën zoals het bankwezen of de gezondheidszorg, en beveiligingssoftware zoals [Let's Encrypt](https://github.com/letsencrypt).
Open source is niet alleen voor software. U kunt alles openen, van datasets tot boeken. Bekijk [GitHub Explore](https://github.com/explore) voor ideeën over wat je nog meer kunt open source.
### Betekend open source gratis?
Een van de grootste voordelen van open source is dat het geen geld kost. "Gratis" is echter een bijproduct van de totale waarde van open source.
Omdat [een open source-licentie vereist](https://opensource.org/osd-annotated) dat iedereen uw project voor bijna elk doel kan gebruiken, wijzigen en delen, zijn projecten zelf meestal gratis. Als het project geld kost om te gebruiken, kan iedereen legaal een kopie maken en in plaats daarvan de gratis versie gebruiken.
Als gevolg hiervan zijn de meeste open source-projecten gratis, maar 'gratis' maakt geen deel uit van de open source-definitie. Er zijn manieren om indirect kosten in rekening te brengen voor open source-projecten via dubbele licenties of beperkte functies, terwijl ze toch voldoen aan de officiële definitie van open source.
## Moet ik mijn eigen open source-project lanceren?
Het korte antwoord is ja, want wat de uitkomst ook is, het starten van je eigen project is een geweldige manier om te leren hoe open source werkt.
Als je nog nooit een project hebt geopend, ben je misschien zenuwachtig over wat mensen zullen zeggen, of dat iemand het überhaupt zal opmerken. Als dit klinkt zoals jij, ben je niet de enige!
Open source werken is net als elke andere creatieve activiteit, of het nu gaat om schrijven of schilderen. Het kan eng aanvoelen om je werk met de wereld te delen, maar de enige manier om beter te worden, is door te oefenen - zelfs als je geen publiek hebt.
Als u nog niet overtuigd bent, neem dan even de tijd om na te denken over uw doelen.
### Je doelen stellen
Doelen kunnen u helpen erachter te komen waaraan u moet werken, waar u nee tegen moet zeggen en waar u hulp van anderen nodig heeft. Begin met jezelf af te vragen: _waarom ben ik open source voor dit project?_
Er is geen goed antwoord op deze vraag. Mogelijk hebt u meerdere doelen voor een enkel project, of verschillende projecten met verschillende doelen.
Als het je enige doel is om met je werk te pronken, wil je misschien niet eens bijdragen, en dat zeg je zelfs in je README. Aan de andere kant, als u donateurs wilt, investeert u tijd in duidelijke documentatie en zorgt u ervoor dat nieuwkomers zich welkom voelen.
Naarmate uw project groeit, heeft uw gemeenschap mogelijk meer nodig dan alleen code van u. Reageren op problemen, code herzien en uw project promoten, zijn allemaal belangrijke taken in een open source-project.
Hoewel de hoeveelheid tijd die u aan niet-coderende taken besteedt, afhangt van de omvang en reikwijdte van uw project, moet u als onderhouder erop voorbereid zijn om ze zelf aan te pakken of iemand te zoeken om u te helpen.
**Als u deel uitmaakt van een bedrijf dat een project opent,** zorg ervoor dat uw project over de interne middelen beschikt die het nodig heeft om te gedijen. U wilt weten wie verantwoordelijk is voor het onderhoud van het project na de lancering, en hoe u die taken met uw community deelt.
Als u een specifiek budget of personeel nodig heeft voor promotie, operaties en het onderhouden van het project, begin die gesprekken dan vroeg.
### Bijdragen aan andere projecten
Als het uw doel is om te leren samenwerken met anderen of om te begrijpen hoe open source werkt, overweeg dan om bij te dragen aan een bestaand project. Begin met een project dat je al gebruikt en waar je van houdt. Bijdragen aan een project kan zo simpel zijn als het corrigeren van typefouten of het bijwerken van documentatie.
Als u niet zeker weet hoe u als bijdrager aan de slag kunt gaan, bekijk dan onze [Hoe u kunt bijdragen aan Open Source-gids](../how-to-contribute/).
## Uw eigen open source-project lanceren
Er is geen perfect moment om uw werk open source te maken. U kunt een idee openen, een werk in uitvoering of na jarenlang closed source te zijn geweest.
Over het algemeen moet u uw project openen als u zich op uw gemak voelt als anderen uw werk bekijken en er feedback op geven.
Ongeacht in welke fase u besluit uw project te openen, elk project moet de volgende documentatie bevatten:
* [Open source-licentie](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Richtlijnen voor het bijdragen](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Gedragscode](../code-of-conduct/)
Als open source-onderhouder helpen deze componenten u bij het communiceren van verwachtingen, het beheren van bijdragen en het beschermen van ieders wettelijke rechten (inclusief die van uzelf). Ze vergroten uw kansen op een positieve ervaring aanzienlijk.
Als je project op GitHub staat, zal het plaatsen van deze bestanden in je root-directory met de aanbevolen bestandsnamen GitHub helpen ze te herkennen en automatisch aan je lezers te laten zien.
### Een licentie kiezen
Een open source-licentie garandeert dat anderen uw project zonder repercussies kunnen gebruiken, kopiëren, wijzigen en eraan kunnen bijdragen. Het beschermt je ook tegen plakkerige juridische situaties. **U moet een licentie toevoegen wanneer u een open source-project start.**
Juridisch werk is niet leuk. Het goede nieuws is dat u een bestaande licentie kunt kopiëren en in uw repository kunt plakken. Het duurt maar een minuut om uw harde werk te beschermen.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) en [GPLv3](https://choicealicense.com/licenses/gpl-3.0/) zijn de meest populaire open source licenties, maar [er zijn andere opties](https://choosealicense.com) om uit te kiezen.
Wanneer u een nieuw project op GitHub maakt, krijgt u de mogelijkheid om een licentie te selecteren. Als u een open source-licentie opneemt, wordt uw GitHub-project open source.

Als u andere vragen of opmerkingen heeft over de juridische aspecten van het beheren van een open source-project, [wij hebben u gedekt](../legal/).
### Een README schrijven
README's doen meer dan alleen uitleggen hoe u uw project kunt gebruiken. Ze leggen ook uit waarom uw project ertoe doet en wat uw gebruikers ermee kunnen doen.
Probeer in je README de volgende vragen te beantwoorden:
* Wat doet dit project?
* Waarom is dit project nuttig?
* Hoe begin ik eraan?
* Waar kan ik meer hulp krijgen als ik die nodig heb?
U kunt uw README gebruiken om andere vragen te beantwoorden, zoals hoe u omgaat met bijdragen, wat de doelen van het project zijn en informatie over licenties en attributie. Als u geen bijdragen wilt accepteren, of uw project is nog niet klaar voor productie, schrijf deze informatie dan op.
Soms vermijden mensen het schrijven van een README omdat ze het gevoel hebben dat het project niet af is, of omdat ze geen bijdragen willen. Dit zijn allemaal hele goede redenen om er een te schrijven.
Voor meer inspiratie, probeer @dguo's ["Maak een README"-gids](https://www.makeareadme.com/) of @PurpleBooth's [README-sjabloon](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) om een volledige README te schrijven.
Als je een README-bestand opneemt in de root-directory, zal GitHub het automatisch op de startpagina van de repository weergeven.
### Schrijven van uw bijdrage richtlijnen
Een CONTRIBUTING-bestand vertelt uw publiek hoe ze aan uw project kunnen deelnemen. U kunt bijvoorbeeld informatie opnemen over:
* Hoe een bugrapport in te dienen (probeer [sjablonen voor issue en pull-verzoeken](https://github.com/blog/2111-issue-and-pull-request-templates) te gebruiken)
* Hoe u een nieuwe functie kunt voorstellen
* Hoe u uw omgeving instelt en tests uitvoert
Naast technische details is een CONTRIBUTING-bestand een gelegenheid om uw verwachtingen voor bijdragen te communiceren, zoals:
* De soorten bijdragen die u zoekt
* Uw roadmap of visie voor het project
* Hoe bijdragers wel of niet contact met u moeten opnemen
Het gebruik van een warme, vriendelijke toon en het aanbieden van specifieke suggesties voor bijdragen (zoals het schrijven van documentatie of het maken van een website) kan ertoe bijdragen dat nieuwkomers zich welkom en enthousiast voelen om deel te nemen.
Bijvoorbeeld: [Active Admin](https://github.com/activeadmin/activeadmin/) start [zijn bijdragende gids](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) met:
> Allereerst bedankt dat u overweegt om bij te dragen aan Active Admin. Het zijn mensen zoals jij die Active Admin tot zo'n geweldig hulpmiddel maken.
In de vroegste stadia van uw project kan uw CONTRIBUTING-bestand eenvoudig zijn. U moet altijd uitleggen hoe u bugs of problemen met bestanden meldt, en welke technische vereisten (zoals tests) u heeft om een bijdrage te leveren.
Na verloop van tijd kunt u andere veelgestelde vragen aan uw CONTRIBUTING-bestand toevoegen. Als u deze informatie opschrijft, zullen minder mensen u keer op keer dezelfde vragen stellen.
Voor meer hulp bij het schrijven van je CONTRIBUTING-bestand, ga je naar @nayafia's [sjabloon voor bijdrage gids](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) of @mozilla's ["Bouw een CONTRIBUTING.md workshop"](https://mozillascience.github.io/working-open-workshop/contributing/).
Link naar uw BIJDRAGEN-bestand vanuit uw README, zodat meer mensen het kunnen zien. Als je [het CONTRIBUTING-bestand in de repository van je project plaatst](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), zal GitHub automatisch naar je bestand linken wanneer een bijdrager een issue maakt of opent een pull-verzoek.

### Opstellen van een gedragscode
Ten slotte helpt een gedragscode om basisregels vast te stellen voor het gedrag van de deelnemers aan uw project. Dit is vooral waardevol als u een open source-project start voor een gemeenschap of bedrijf. Een gedragscode stelt je in staat om gezond, constructief gemeenschapsgedrag te faciliteren, wat je stress als onderhouder zal verminderen.
Raadpleeg voor meer informatie onze [Gedragscode-gids](../code-of-conduct/).
Naast het communiceren van _hoe_ je verwacht dat deelnemers zich gedragen, beschrijft een gedragscode ook vaak op wie deze verwachtingen van toepassing zijn, wanneer ze van toepassing zijn en wat te doen bij een overtreding.
Net als bij open source-licenties, zijn er ook nieuwe normen voor gedragscodes, zodat u deze niet zelf hoeft te schrijven. De [Bijdrager Covenant](https://contributor-covenant.org/) is een drop-in gedragscode die wordt gebruikt door [meer dan 40.000 open source-projecten](https://www.contributor-covenant.org/adopters), inclusief Kubernetes, Rails en Swift. Welke tekst u ook gebruikt, u moet bereid zijn om uw gedragscode waar nodig af te dwingen.
Plak de tekst rechtstreeks in een CODE_OF_CONDUCT-bestand in uw repository. Bewaar het bestand in de root-directory van je project zodat het gemakkelijk te vinden is, en link ernaar vanuit je README.
## Geef uw project een naam en branding
Branding is meer dan een flitsend logo of pakkende projectnaam. Het gaat erom hoe u over uw project praat en wie u bereikt met uw bericht.
### De juiste naam kiezen
Kies een naam die gemakkelijk te onthouden is en idealiter een idee geeft van wat het project doet. Bijvoorbeeld:
* [Sentry](https://github.com/getsentry/sentry) controleert apps op crashrapportage
* [Thin](https://github.com/macournoyer/thin) is een snelle en eenvoudige Ruby-webserver
Als u voortbouwt op een bestaand project, kan het gebruik van hun naam als voorvoegsel helpen verduidelijken wat uw project doet (bijvoorbeeld [node-fetch](https://github.com/bitinn/node-fetch) brengt `window.fetch` naar Node.js).
Overweeg vooral duidelijkheid. Woordspelingen zijn leuk, maar onthoud dat sommige grappen mogelijk niet vertalen naar andere culturen of mensen met andere ervaringen dan jij. Sommige van uw potentiële gebruikers kunnen werknemers van het bedrijf zijn: u wilt ze niet ongemakkelijk maken als ze uw project op het werk moeten uitleggen!
### Naamconflicten vermijden
[Controleer op open source-projecten met een vergelijkbare naam](http://ivantomic.com/projects/ospnc/), vooral als je dezelfde taal of hetzelfde ecosysteem deelt. Als uw naam overlapt met een populair bestaand project, kunt u uw publiek in verwarring brengen.
Als u wilt dat een website, Twitter-handle of andere eigenschappen uw project vertegenwoordigen, zorg er dan voor dat u de gewenste namen krijgt. Idealiter [reserveer deze namen nu](https://instantdomainsearch.com/) voor gemoedsrust, zelfs als u ze nog niet wilt gebruiken.
Zorg ervoor dat de naam van uw project geen inbreuk maakt op handelsmerken. Een bedrijf kan u vragen om uw project later stop te zetten, of zelfs juridische stappen tegen u ondernemen. Het is het risico gewoon niet waard.
U kunt de [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) raadplegen voor handelsmerkconflicten. Als u bij een bedrijf werkt, is dit een van de dingen waarmee uw [juridische team u kan helpen](../legal/).
Voer tot slot een snelle Google-zoekopdracht uit naar uw projectnaam. Zullen mensen uw project gemakkelijk kunnen vinden? Verschijnt er iets anders in de zoekresultaten waarvan u niet wilt dat ze het zien?
### Hoe u schrijft (en codeert), heeft ook invloed op uw merk!
Gedurende de levensduur van uw project zult u veel schrijven: README's, tutorials, gemeenschapsdocumenten, reageren op problemen, misschien zelfs nieuwsbrieven en mailinglijsten.
Of het nu gaat om officiële documentatie of een informele e-mail, uw schrijfstijl maakt deel uit van het merk van uw project. Bedenk hoe u op uw publiek zou kunnen overkomen en of dat de toon is die u wilt overbrengen.
Het gebruik van warme, inclusieve taal (zoals 'zij', zelfs als je naar de enige persoon verwijst), kan er voor zorgen dat je project een welkom gevoel krijgt bij nieuwe bijdragers. Blijf bij eenvoudige taal, aangezien veel van uw lezers mogelijk geen moedertaalsprekers Engels zijn.
Naast hoe u woorden schrijft, kan uw codeerstijl ook onderdeel worden van het merk van uw project. [Angular](https://angular.io/guide/styleguide) en [jQuery](https://contribute.jquery.org/style-guide/js/) zijn twee voorbeelden van projecten met rigoureuze coderingsstijlen en richtlijnen.
Het is niet nodig om een stijlgids voor je project te schrijven als je net begint, en het kan zijn dat je het toch leuk vindt om verschillende codeerstijlen in je project op te nemen. Maar u moet anticiperen op hoe uw schrijf- en coderingsstijl verschillende soorten mensen zou kunnen aantrekken of ontmoedigen. De vroegste stadia van uw project zijn uw kans om het precedent te scheppen dat u wenst te zien.
## Uw checklist vóór de lancering
Klaar om uw project te openen? Hier is een checklist om te helpen. Alle vakjes aanvinken? Je bent klaar om te gaan! [Klik op "publiceren"](https://help.github.com/articles/making-a-private-repository-public/) en geef jezelf een schouderklopje.
**Documentatie**
**Code**
**Mensen**
Als je een individu bent:
Als u een bedrijf of organisatie bent:
## Je hebt het gedaan!
Gefeliciteerd met het openen van uw eerste project. Ongeacht de uitkomst, werken in het openbaar is een geschenk voor de gemeenschap. Met elk commit-, commentaar- en pull-verzoek creëer je kansen voor jezelf en voor anderen om te leren en te groeien.
================================================
FILE: _articles/pcm/best-practices.md
================================================
---
lang: pcm
title: Best Practices for Maintainers
description: Learn how to make your life easy as an open source maintainer, from documentation to community collaboration. Make sense of maintaining open source projects with these top-notch tips.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Wetin e mean to be maintainer?
If you dey maintain one open source project wey plenty people dey use, you fit don notice say you dey write code sote you no dey rest. For the early days of your project, you dey try new tins and you dey make decisions based on wetin you wan. But as your project dey popular, you go dey work with users and contributors.
To maintain project no be only about code. Plenty tins dey wey fit happen wey you no plan, but dem still dey important for your growing project. We don gather some ways wey go make your life easy, from writing down your process to involving your community.
## Write the way waeh you use
To write tins down, no be small work. E go make sense if you dey maintain your open source project.
Documentation no be only for you to clear your mind, e go help other people understand wetin you need or wetin you dey expect before dem even ask. To write tins down go make am easy for you to yarn no when something no follow your project plan. E go also make am easy for people to fit join put hand for your project. You no go sabi who go fit read your project or use am.
If you no get strength to dey update your documentation all the time, you fit delete the one wey don old or you fit talk say e don old so that people go sabi say dem fit update am.
### Yarn Wetin Your Project Fit Be (Write Your Project's Vision)
Start to write wetin you want make your project be. Put am for your README or create file wey you go call VISION. If you get other things wey fit help like project roadmap, e go make sense make you put dem for public make everybody sabi.
As @lord don talk, project vision fit help you know wetin you go fit work on. As new maintainer, e talk say e no follow him project scope when e see first feature request for [Slate](https://github.com/lord/slate).
### Talk Wetin You Expect
E fit hard you to write down rules. Sometimes you fit think say you dey police people or say you dey dull dem vibe.
But if you write rules fairly and you dey follow am, e go empower you. E go prevent you from doing tins wey you no like. People wey see your project fit no sabi your condition or circumstances. Dem fit think say dem dey pay you for the work wey you dey do, especially if na wetin dem dey use well-well. Dem fit even think say you dey busy with new work or family matter.
E good make people sabi dis tins.
If to maintain your project na part-time or you dey do am because you volunteer, make you talk the time wey you get. E no be say na the time wey your project need or wetin people dey ask you for, na the time wey you get na e you go talk. E fit good if you write down some rules like:
* How dem go review contribution (dem need test? Issue template?)
* The kind of contribution wey dem go accept (you wan make dem help you with specific part of your code?)
* When e go make sense for dem to follow up (e.g., "you fit expect response from maintainer within 7 days, if you no see any response by then, you fit ping the thread")
* How much time you dey spend for the project (e.g., "we dey spend like 5 hours per week on this project")
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), and [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) na some examples of projects wey get rules for maintainers and contributors.
### Make Sure Your Communication Commot For Outside
No forget to write down your talks. Where you fit, make all your communication for your project public. If person try contact you for private to discuss feature request or support matter, tell am politely make e follow public channel yarn you like mailing list or issue tracker.
If you meet other maintainers or you take big decision for private, write the conversation for public so that person wey follow your community go see the same information wey dem wey dey for years see.
## Sabi To Say No
You don write down wetin you want, but people never read your documentation well. Sometimes you go still remind them say knowledge dey your documentation.
Saying "no" no dey fun, but make you try yarn "Your contribution no dey follow this project criteria" e no too personal like "I no like your contribution."
You go fit yarn no for plenty situations wey you go see as maintainer like feature requests wey no follow your project plan or person wey dey disturb discussion.
### Make the talk-talk dey friendly
One important place wey you go practice how to talk no be yes na for your issue and pull request queue. As person wey dey maintain project, e dey natural say you go dey see suggestions wey you no go want accept.
Maybe the contribution wan change how your project dey work or e no dey follow your own idea. Maybe the idea make sense, but the way dem take do am no too correct.
No matter how e be, e fit possible to waka diplomatically for contributions wey no too follow your project standards.
If you come across one contribution wey you no wan accept, your first reaction fit be to dey do like say you no see am or to dey form say you no see am. If you do am like that, e fit wound the person way submit am and e fit even discourage other people wey wan contribute for your community.
No just allow one contribution wey you no want dey open because you dey feel bad or you dey try to dey nice. As time dey go, the issues and PRs wey you never answer go make your project come dey feel like say e too stress you and dey intimidate you.
E better make you quick-close contributions wey you sabi say you no wan accept am. If your project don already gather plenti matter wey never resolve, @steveklabnik get some advice on [how to quickly arrange the issues](https://words.steveklabnik.com/how-to-be-an-open-source-gardener) so e go dey efficient.
If you no wan accept one contribution:
* **Tell them thank you** for their contribution
* **Explain why e no follow** within the project's scope, and offer clear suggestions for how e fit improve, if you sabi. Make sure say you dey friendly but firm.
* **Link waeh get Relevant documentation na him you go add**, if you get am. If you dey see people dey request the same thing wey you no dey ready to accept, put am for your documentation so that you no go dey repeat yourself.
* **Close the request**
You no need talk pass 1-2 sentences for response. For example, when person wey dey use [celery](https://github.com/celery/celery/) report say e get one Windows-related error, @berkerpeksag [reply like this](https://github.com/celery/celery/issues/3383):

If the fear of saying "no" dey worry you, my brother, you no dey alone for this matter. As @jessfraz [talk am for here](https://blog.jessfraz.com/post/the-art-of-closing/):
> I don chook mouth with maintainers wey dey run different open source projects like Mesos, Kubernetes, Chromium, and all of them gree say one of the hardest part for person wey dey maintain na to talk "No" to patches wey e no wan.
No go dey feel bad say you no wan accept person contribution. The first law for open source, [as](https://twitter.com/solomonstre/status/715277134978113536) @shykes talk am: _"No na for time, yes na forever."_ While you dey reason the person wey get ginger, e no mean say you dey reject the person way submit contribution.
At the end of the day, if contribution no follow standard, you no dey owe anybody obligation to accept am. Just dey friendly and ready to answer when people wan contribute to your project, but make you dey accept only the changes wey you believe say e go make your project better. As you dey practice to talk "no" often, e go dey easier. I promise you.
### Dey Ahead of Time
To reduce the plenty unwanted contributions from the start, explain your project process for submitting and accepting contributions for your contributing guide.
If you dey receive plenty low-quality contributions, you fit tell contributors make them do small work before:
* Fill out one kind issue or PR template/checklist
* Open one issue before them submit PR
If them no follow your rules, close the issue sharp-sharp and show them your documentation.
Although e fit seem like say this approach no dey friendly at first, but e dey better for everybody. E dey reduce the chance say person go waste time dey work on top PR wey you no go accept. E also dey reduce your own work burden.
Sometimes, when you talk no, person fit vex or criticize your decision. If their behavior come bad, [take steps to defuse the situation](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) or even remove them from your community, if them no dey ready to work together positively.
### Dey Show Love for Mentorship
E fit happen say one person for your community dey always submit contributions wey no meet your project standards. E fit dey vex both parties as them dey reject their work every time.
If you see say person dey show interest for your project but e just need small touch, be patient. Make you clear for every situation why their contributions no dey up to the project standards. Try to show them where them fit do better, maybe by working on one small or less complex task, like issue wey dem mark "good first issue," to give them confidence. If you get time, you fit mentor them as them dey do their first contribution, or you find person for your community wey go fit mentor them.
## Put hand inside your community
You no need to do everything alone. Your project community dey exist for one reason! Even if you no get active community of contributors yet, if plenty people dey use your project, make them help you.
### Make you share the work
If you dey find people wey go fit help, start to ask around.
One way to get new contributors be to [label issues wey dey simple for beginners to work on](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub go show these issues for different places for the platform, e go make them dey easier to see.
When you see new contributors wey dey make repeated contributions, make you acknowledge their work and give them more responsibility. Write down how other people fit grow into leadership roles if them wan. Make you encourage others to [share ownership of the project](../building-community/#share-the-person-waeh-get-your-project) because e fit reduce your own workload, just like @lmccart find out for her project, [p5.js](https://github.com/processing/p5.js).
If you need to step away from your project, whether on leave or permanently, no shame dey ask another person to take over for you.
If other people dey happy about the project direction, give them access to make changes or formally hand over control to another person. If person don fork your project and dey actively maintain am for another place, consider put link to the fork from your original project. E good as plenty people dey show interest for your project!
@progrium [talk say](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) as him documenting the vision for his project, [Dokku](https://github.com/dokku/dokku), help others to carry on the goals even after he comot from the project:
> I write one wiki page wey describe wetin I want and why I want am. For some reason, e shock me as the maintainers begin move the project in that direction! E no always dey exactly how I go do am? Not every time. But e still bring the project close to wetin I write down.
### Make other pesin build them own solutions
If potential contributor get another idea for your project and e no follow your own idea, you fit encourage am gently to work on their own fork.
Creating one fork of the project no dey bad at all. Make people sabi say them fit copy and modify projects, and e dey good thing about open source. Encourage your community members to work on their own fork because e fit give them creative freedom wey no go dey against your project vision.
The same thing fit apply to one user wey need solution wey you no get time to build. Offer APIs and customization options wey fit help other people meet their needs, without them needing to modify the source directly. @orta [see](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) say as them dey encourage plugins for CocoaPods, e lead to "some of the most interesting ideas":
> Almost like magic, when project big well well, maintainers must dey more conservative about how them dey add new code. You go sabi how to talk "no," but plenty people get valid needs. Instead, you fit change your tool into one platform.
## Bring them robots
Just like how other people fit help you with some tasks, some tasks no go make sense for person to dey do. Robots go be your friends for this matter. Use them to make your life as one maintainer dey easier.
### Make you dey run tests and checks to upgrade your code quality
One important way wey you fit automate your project be to add tests.
Tests fit make contributors dey confident say them no go spoil anything. Them still dey make am easy for you to review and accept contributions quickly. The more responsive you dey, the more engaged your community fit dey.
Set up automatic tests wey go run on all incoming contributions, and make sure say your tests dey easy to run locally by contributors. You must require say all code contributions must pass your tests before them fit submit am. You go help set one minimum standard of quality for all submissions. [Required status checks](https://help.github.com/articles/about-required-status-checks/) for GitHub fit help ensure say no change go enter if your tests no pass.
If you add tests, make sure say you explain how them dey work for your CONTRIBUTING file.
### Carry tools use am to automate basic maintenance tasks
The good news about maintaining a popular project be say other maintainers fit don face similar challenges and build solutions for them.
Plenty [tools dey available](https://github.com/showcases/tools-for-open-source) wey fit help automate some parts of maintenance work. Some examples include:
* [semantic-release](https://github.com/semantic-release/semantic-release) wey dey automate your releases
* [mention-bot](https://github.com/facebook/mention-bot) wey dey mention potential reviewers for pull requests
* [Danger](https://github.com/danger/danger) wey help automate code review
* [no-response](https://github.com/probot/no-response) wey close issues wey the author no respond to requests for more information
* [dependabot](https://github.com/dependabot) wey dey check your dependency files every day for outdated requirements and dey open individual pull requests for any wey e see.
For bug reports and other common contributions, GitHub get [Issue Templates and Pull Request Templates](https://github.com/blog/2111-issue-and-pull-request-templates), wey you fit create to streamline the communication wey you dey receive. @TalAter create [Choose Your Own Adventure guide](https://www.talater.com/open-source-templates/#/) to help you write your issue and PR templates.
To manage your email notifications, you fit set up [email filters](https://github.com/blog/2203-email-updates-about-your-own-activity) to organize them by priority.
If you want to get more advanced, style guides and linters fit standardize project contributions and make them easy to review and accept.
However, if your standards too complex, them fit dey increase the obstacles to contribution. Make sure say you just add enough rules wey go make everyone's life easier.
If you no sure which tools to use, look at what other popular projects dey do, especially those for your ecosystem. For example, wetin the contribution process be like for other Node modules? Using similar tools and approaches go make your process more familiar to your target contributors.
## E dey okay to pause
Open source work wey once dey give you joy fit dey make you avoid or dey guilty now.
Maybe you dey feel overwhelmed or one growing sense of dread when you think about your projects. Meanwhile, issues and pull requests just dey pile up.
Burnout na real issue wey plenty maintainers dey face for open source work. As one maintainer, your happiness na one non-negotiable requirement for the survival of any open source project.
Though e suppose dey obvious, make you take break! You no need wait until you feel burnt out before you take vacation. @brettcannon, one Python core developer, decide to take [one month-long vacation](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) after 14 years of volunteer OSS work.
Just like any other work, make you dey take regular breaks so you go dey refreshed, happy, and excited about your work.
Sometimes, e fit hard to take break from open source work when e look like everybody need you. People fit even try to make you feel guilty as you dey step away.
Try find support for your users and community if you dey away from one project. If you no fit find the support wey you need, just take break. Make you sure to communicate when you no dey available, so people no go dey confused when you no dey respond.
Taking breaks no only apply to vacations, e fit include say you no wan do open source work during weekends or work hours. Communicate those expectations to others, so them go know say dem no suppose disturb you.
## Make you dey take care of yourself first!
To maintaining one popular project require different skills from the first-first time of growth, but e no dey less rewarding. As one maintainer, you go dey practice leadership and personal skills for one level wey few people fit experience. Though e no dey easy to manage, setting clear boundaries and only taking on wetin you dey comfortable with go help you dey happy, refreshed, and productive.
================================================
FILE: _articles/pcm/building-community.md
================================================
---
lang: pcm
title: Na Welcoming Communities we go Build
description: Make you build one community wey go encourage people make them use, contribute, and promote your project.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Set that your project make aeh succeed
You don launch your project, you dey spread the word, and people dey check am out. Correct! Now, how you wan make them stick around?
One welcoming community na one investment into your project's future and reputation. If your project just dey start to see its first contributions, make you start by dey give early contributors one positive experience, and make you dey easy for them to dey come back.
### Make people dey feel welcome
One way to think about your project's community na through wetin @MikeMcQuaid call the [contributor funnel](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

As you dey build your community, consider how person wey dey the top of the funnel (potential user) fit possibly waka reach the bottom (active maintainer). Your koko na to reduce any wahala for each stage of the contributor experience. Na when people fit see better results without too much stress, them go feel encouraged to do more.
Start with your documentation:
* **Make am easy for person to use your project.** [One friendly README](../starting-a-project/#writing-a-readme) and clear code examples fit make am easier for anybody wey land for your project to begin.
* **Explain contribution make aeh clear**, using [your CONTRIBUTING file](../starting-a-project/#writing-your-contributing-guidelines) and make sure say your issues dey up-to-date.
* **Good first issues**: To helep tear rubber contributors start, think am say [labeling issues wey dey simple for beginners to handle](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub go show these issues for different places for the platform, e go increase useful contributions and reduce friction for people wey wan handle issues wey too hard for their level.
[GitHub's 2017 Open Source Survey](http://opensourcesurvey.org/2017/) talk say incomplete or confusing documentation na the biggest problem wey open source users dey face. Good documentation go invite people to interact with your project. E fit happen say one person go open an issue or pull request. Use these interactions as opportunities to waka them down the funnel.
* **When new person land for your project, thank them for their interest!** E fit just take one bad experience for person to no wan come back again.
* **Be responsive.** If you no respond to their issue for one month, e possible say them don forget your project.
* **Open mind about the types of contributions wey you go accept.** Many contributors start with one bug report or one small fix. Many ways dey to contribute to one project. Make people fit help the way wey them wan help.
* **If one person submit one contribution wey you no gree with,** thank them for their idea and [explain why](../best-practices/#sabi-to-say-no) e no follow your project scope, and you fit add link to the relevant documentation wey you get.
Most open source contributors na "casual contributors": people wey only occasionally contribute to one project. One casual contributor fit no get time to sabi everything about your project, so your work na to make am easy for them to contribute.
Encouraging other contributors na one investment in yourself, too. When you empower your biggest fans to run with the work wey dem dey passionate about, e go reduce the pressure to dey do everything yourself.
### Make you write everything for document
When you start one new project, e fit be like say e natural to dey keep your work private. But open source projects dey flourish when you document your process for public.
When you write things down, more people fit participate at every stage of the way. You fit get help for something wey you never sabi say you need am.
To write things down no mean only technical documentation. Anytime you feel the urge to write something down or privately discuss your project, ask yourself whether you fit make am public.
Make you transparent about your project's roadmap, the types of contributions wey you dey look for, how contributions dey review, or why you make certain decisions.
If you see say many people dey run into the same problem, make you document the answers for the README.
For meetings, consider say make you publish your notes or key points for one relevant issue. The feedback wey you go get from this level of transparency fit surprise you.
To document everything apply to the work wey you dey do, too. If you dey work on one substantial update for your project, make you put am for one pull request and mark am as one work in progress (WIP). So, other people fit dey involved for the process from the beginning.
### Be responsive
As you [promote your project](../finding-users), people fit get feedback for you. Them fit get questions about how things dey work, or them fit need help to begin.
Try to dey responsive when person open one issue, submit one pull request, or ask question about your project. When you respond quick, people go feel say them dey part of one discussion, and them go dey more enthusiastic about participation.
Even if you no fit review the request immediately, acknowledge am early to help increase engagement. @tdreyno respond to one pull request for [Middleman](https://github.com/middleman/middleman/pull/1466) like this:

A Mozilla study talk say if dem review code within 48 hours, plenty contributors dey return and contribute again.
Any talku-talku about your project fit dey happen for other places online like Stack Overflow, Twitter, or Reddit. You fit set notification for some of these places so dem go alert you if person talk about your project.
### Make you create one place where your community go gather
E get two reason why you suppose create community place. The first reason na for dem, e go helep dem know each other. People wey get common interest must dey find place wey dem go yan about am. And when communication dey public and easy to reach, anybody fit read past messages make e understand wetin dey happen and fit join the talk. The second reason na for you. If you no create public place for people to discuss your project, dem fit contact you directly. For beginning e fit dey easy for you to respond to private messages "just this once". But as time dey go, especially if your project dey popular, you go dey tire. No gree make you dey communicate with people about your project for private. Instead, direct dem go one public place.
Public communication fit be as simple as directing people make dem go open issue instead of sending mail give you directly or make dem comment for your blog. You fit also create mailing list, or make you create Twitter account, Slack, or IRC channel for people to talk about your project. Or you fit even try all of them!
[Kubernetes kops] (https://github.com/kubernetes/kops#getting-involved) "Kubernetes kops dey set time every other week make dem helep community members:
> Kops still get time wey dem set aside every other week to offer guidance and help to the community. Kops maintainers don agree to set time wey dem go use work with newcomers, helep with PRs, and yan about new features.
Notable exceptions to public communication be: 1) security issues and 2) sensitive code of conduct violations. You suppose always get one way wey people fit report these issues for private. If you no wan use your personal email, set up one email wey dem go use just for this.
## Make your community dey climb
Communities get power. That power fit be good thing or bad thing, depending on how you use am. As your project community dey grow, there dey ways wey you fit use make am be force for building, no be destruction.
### No dey tolerate bad actors
Any popular project go always attract people wey go dey do bad things instead of helep. Dem fit dey start arguments wey no dey necessary, dey quarrel on top small-small things, or dey bully others.
Do your best make you get zero-tolerance policy for these kind people. If you no fit control dem, these bad people fit dey make others for your community no dey comfortable. Dem fit even run.
Regular debates on top small-small parts of your project dey distract others, and even you, from focusing on important work. New people wey show for your project fit see these arguments and no wan join.
Any time you see bad behavior wey dey happen for your project, yan am out for public. Explain, with kind but firm words, why their behavior no good. If the problem no stop, you fit need [tell them make dem waka](../code-of-conduct/#how-you-go-take-think-your-code-of-conduct-to-stand-gidi-gba). Your [code of conduct](../code-of-conduct/) fit be useful guide for these talks.
### Meet contributors where dem dey
Good documentation dey very important as your community dey grow. People wey no dey familiar with your project fit read your documentation make dem quickly understand wetin dey happen.
In your CONTRIBUTING file, tell new contributors explicitly how dem go take start. You fit even make one special section for this purpose. [Django](https://github.com/django/django), for example, get one special landing page to welcome new contributors.

For your issue queue, label bugs wey dey suitable for different types of contributors, like [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, or _"documentation"_. [These labels](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) These labels go helep someone wey dey new to your project to easily look your issues and take start.
Use your documentation to helep people feel welcome at every step.
For example, here's how [Rubinius](https://github.com/rubinius/rubinius/) starts [its contributing guide](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
You no go fit talk with most people wey go show for your project. Some people fit come helep you wey you no go sabi because dem feel say dem dey intimidated or dem no sabi where to take start. Even few kind words fit helep make person no commot for your project for frustration.
### Share the person waeh get your project
People dey ginger to yan-kick for projects when dem feel like dem get sense of ownership. E no mean say you go come give dem your project vision or gree accept contributions wey you no want. But as you dey respect and appreciate other people efforts, e go make dem dey yan-kick.
Try look for ways wey you fit share this ownership with your community as much as possible. Some yeye ideas wey you fit try include:
* **No dey hurry to fix small-small (non-serious) wahala.** Instead, use am as chance to bring new contributors or show person way wan yan-kick. E fit look strange at first, but as time go dey, your investment go bring profit. For example, @michaeljoseph tell one person say make e submit pull request for [Cookiecutter](https://github.com/audreyr/cookiecutter) issue for down, instead of make e fix am himself.

* **Start CONTRIBUTORS or AUTHORS file for your project** wey go list everybody wey don yan-kick for your project, like [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md) do.
* If your community don shapely well-well, **send newsletter or write blog post** to appreciate the people wey don yan-kick. Rust's [This Week in Rust](https://this-week-in-rust.org/) and Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) na two examples wey dey good.
* **Give every contributor access to commit.** @felixge see say this one dey ginger people, e make dem dey shine their patches [more](https://felixge.de/2013/03/11/the-pull-request-hack.html), and e even find new maintainers for projects wey e never dey touch for long.
* If your project dey on GitHub, **move your project from your personal account go [Organization](https://help.github.com/articles/creating-a-new-organization-account/)** and add at least one backup admin. Organizations dey make am easy to work with external people.
The fact na say [most projects get](https://peerj.com/preprints/1233/) only one or two maintainers wey dey do plenty work. As your project dey grow or your community dey big pass, e go dey easy to find help.
Even if you no fit always find person to answer the call, once you put signal for there, e dey increase chance say other people go waka come yan-kick. The earlier you start, the better for you, because e go make people waka come fast-fast.
Na for [Welcoming Communities](http://hood.ie/blog/welcoming-communities.html), @gr2m yarn say e dey for your [best interest](https://peerj.com/preprints/1233/) to find contributors wey sabi and enjoy to do the things wey you no sabi. If you like code but e no dey easy for you to answer issues, try find people for your community wey sabi, make dem handle am.
## Settling Wahala
As your project dey begin, e dey easy to make major decisions. When you wan do something, e fit be like breeze, you go just do am.
As your project dey popular, more people go dey chook eye for the decisions wey you dey take. Even if you no get big community of contributors, if your project get many users, people go wan add their mouth for the decisions or raise their own issues.
Aside small-small issues wey e clear say your community go fit resolve, sometimes you fit see say one issue dey tough small-small.
### Arrange everything make kindness dey
When your community dey tackle one yeye issue, tempers fit dey rise. People fit vex or feel frustrated and dem fit they chook mouth for each other or for your matter.
Your work as maintainer na to make sure say these situations no go high. Even if you get strong opinion on top the matter, try play moderator or facilitator role, no just enter the matter dey force your views. If person no dey polite or e dey use mouth scatter discussions, [take action immediately](../building-community/#no-dey-tolerate-bad-actors) to make sure say discussions dey civil and productive.
Other people dey look you for guidance. Set example wey go make sense. You fit still yan your disappointment, sorrow or concern, but do am calmly.
Make your head nor dey hot e nor easy, but as you set good example, e go make your community strong. The internet dey thank you.
### Treat README like say na constitution
Your README [no be only set of instructions](../starting-a-project/#writing-a-readme). E also na place to yan about your goals, product vision, and roadmap. If people dey focus too much on top argument about one particular feature, e fit help if you go back your README, talk about the higher vision of your project. To focus on your README go even make the matter no dey personal, so that you go fit yan-kick with sense.
### Make we focus for the journey, nor be the destination
Some projects dey use voting process to take make major decisions. E fit look sensible for eye at first, but voting dey show say them dey find 'answer,' instead of say them dey listen to each other concerns.
Voting fit turn political, where people for the community go dey fear say them go gree do favors for each other or vote in one particular way. Nor be everybody go fit vote, whether e na the [silent majority](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) for your community or people wey dey use your project wey nor know say vote dey happen.
Sometimes, voting na necessary way to take settle wahala. But as much as you fit, try dey emphasize ["consensus seeking"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) instead of consensus.
For one consensus seeking process, community members go yan about major concerns until them believe say their talk don dey enough. When only small-small concerns still dey, the community go dey go front. "Consensus seeking" no dey expect say the community go reach perfect answer. Instead, e dey focus on listening and discussion.
Even if you nor actually use consensus seeking process, as a project maintainer, e dey important make people know say you dey hear them. To show say you dey hear people and you dey ready to settle their wahala, e dey help to cool down tense situations. After that, follow your words with actions.
Don't dey rush make you take decision just because you wan find solution. Try make everybody feel say dem don dey hear and all information dey public before you fit find solution.
### Make we dey yan for action
Discussion dey important, but difference dey between productive and unproductive talks.
Encourage discussion as long as e dey carry us close to solution. If e clear say the talk dey delay or dem dey yan out of the matter or e dey like say dem dey yan personal talk, or people dey yan yeye about small details, e dey time to stop am.
If you allow this kind talk to continue, e no go only bad for the issue wey dey ground, e go dey bad for the health of your community. E go show say this kind talk na normal thing wey them dey allow or even dey encourage, and e fit discourage people from raising or settling future issues.
For every talk wey you talk or other people talk, ask yourself, _"How this one wan carry us closer to solution?
If the talk dey scatter, make you ask the group, _"Which steps we wan take next?"_ to refocus the discussion.
If the talk clear nor dey waka, e nor get clear action to take, or the right action don already happen, close the issue and yan why you close am.
### Choose your battles with sense
Context dey important. Think about the people wey dey the discussion and how them represent the rest of the community.
Na all the community dey vex or even follow for this issue? Or na just one person wey wan dey find trouble? No forget say you suppose consider your silent community members, nor be only the people wey dey yan.
If the issue nor dey show the real needs of your community, you fit just gree say the concerns of few people matter. If this one na issue wey dey always come up and nor dey get clear solution, tell them say make them check discussions wey dem don already talk about the matter before and close the discussion.
### Identify person or group wey fit be community tiebreaker
With correct attitude and clear communication, many difficult situations fit dey easy to settle. But even for productive talk, e fit still dey difference for opinion on how to dey move front. For this kind situation, identify one person or group of people wey fit help settle the wahala.
One tiebreaker fit be the main person wey dey control the project, or e fit be small group of people wey fit make decision based on voting. E good make you don already identify tiebreaker and the process for GOVERNANCE file before e go happen.
Your tiebreaker suppose be last option. Issues wey dey cause fight for community dey make the community fit grow and learn. Embrace the opportunity and use collaborative process to find solution where you fit.
## Community na the ❤️ of open source
Healthy and vibrant communities na the engine wey dey fuel the plenty hours wey dem spend for open source every week. Many contributors dey point to other people as the reason why dem dey work - or nor dey work - for open source. As you sabi tap into that power constructively, you go fit help person somewhere get unforgettable open source experience.
================================================
FILE: _articles/pcm/code-of-conduct.md
================================================
---
lang: pcm
title: Una Code of Conduct
description: Make community people dey behave well and do constructive tins, by accepting and enforcing the code of conduct.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Code of conduct and why you need am?
Code of conduct na document wey dey establish expectation for the way wey people go take behave for your project. To adopt, and enforce, code of conduct fit help create positive social atmosphere for your community.
Code of conduct epp to protect not just the people wey dey participate for your project, but you too. If you dey maintain a project, you fit see say unproductive attitude from other people fit dey drain your energy and make you unhappy about your work as time dey go.
Code of conduct dey give you power to encourage healthy and constructive community behavior. To dey proactive dey reduce the chance say you, or other people, go dey tire for your project, and epp you take action if person do something wey you nor gree with.
## How you go take arrange code of conduct
Make you try your best to arrange code of conduct early, if you fit, ideally when you first create your project.
Apart from just communicating your expectations, code of conduct fit describe the following:
* Where the code of conduct dey apply _(only on issues and pull requests, or community activities like events?)_
* Whom the code of conduct dey apply to _(community members and maintainers, but what about sponsors?)_
* Wetin go happen if person violate the code of conduct
* How person fit report violations
Anywhere way you fit, try to use previous example. The [Contributor Covenant](https://contributor-covenant.org/) na code of conduct wey many open source projects, including Kubernetes, Rails, and Swift, don use, and e fit serve as example.
The [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) na two good examples of code of conduct.
Put one CODE_OF_CONDUCT file for your project's main directory, and make sure say your community fit see am by linking am for your CONTRIBUTING or README file.
## How you go take think your code of conduct to stand gidi gba
You suppose explain how you go enforce your code of conduct **_before_** person violate am. Some reasons why you suppose do am be say:
* E show say you dey serious about action when e dey necessary.
* Your community go dey reassured say complaints go dey reviewed.
* You go reassure your community say the review process go dey fair and transparent, if at any time dem dey investigated for violation.
You suppose give people private way (like email address) to report code of conduct violation and explain who go receive that report. E fit be maintainer, group of maintainers, or code of conduct working group.
No forget say person fit wan report violation about person wey dey receive those reports. In this case, give dem option to report violations to another person. For example, @ctb and @mr-c [explain for their project](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by emailing **khmer-project@idyll.org** which only goes to C. Titus Brown and Michael R. Crusoe. To report an issue involving either of them please email **Judi Brown Clarke, Ph.D.** the Diversity Director at the BEACON Center for the Study of Evolution in Action, an NSF Center for Science and Technology.
For inspiration, check out Django's [enforcement manual](https://www.djangoproject.com/conduct/enforcement-manual/) (though you may not need something this comprehensive, depending on the size of your project).
## How your code of conduct go take stand gidi gba
Sometimes, despite your best efforts, somebody go do something wey dey violate this code. There are several ways to address negative or harmful behavior when it comes up.
### Gather plenty gist about the mata
Arrange community member voice make aeh dey important as your own dey. If person report say somebody violate the code of conduct, take am seriously and investigate the matter, even if e nor match your own experience with that person. As you do like this, you dey show your community say you value their perspective and trust their judgment.
The community member wey dey involved fit be person wey dey always cause trouble and dey make other people dey uncomfortable, or e fit be say e talk or do something just once. You fit take action based on the situation.
Before you yarn, give yourself time to understand wetin happen. Read the person's past comments and conversations make you sabi who e be and why e fit do something like that. Try gather different perspectives from other people about the person and the way e take behave.
### Carry action waeh make sense
After you don gather and process enough information, you go need to decide wetin you go do. As you dey consider your next steps, remember say your goal as a moderator na to promote safe, respectful, and collaborative environment. Consider how you go take handle the matter and how your response fit affect the way other community members go take dey behave and their expectations for future.
If person report say somebody violate the code of conduct, e na you suppose handle am, not the person wey report. Sometimes, the person wey report dey risk plenty things like e career, reputation, or physical safety. Forcing am to confront the person wey dey harass am fit put am for wahala. You suppose dey communicate directly with the person wey dey involved, except the person wey report request something different.
You fit respond to code of conduct violation for different ways:
* **Warn the person wey dey involved publicly** and explain how their behavior affect others, preferably for the place where e happen. If possible, public communication go show the rest of the community say you dey serious about the code of conduct. Make you dey kind but firm for your communication.
* **Privately reach out to the person** wey dey involved to explain how their behavior affect others. You fit use private communication channel if the situation get sensitive personal information. If you communicate privately with person, e good make you CC those wey first report the situation, so dem go know say you don take action. Ask the person wey report make e agree before you CC am.
Sometimes, you fit no fit resolve the matter. The person wey dey involved fit dey aggressive or hostile when you confront am, or e no fit change their behavior. For this kind situation, you fit consider stronger action. For example:
* **Suspend the person** wey dey involved for the project, you go enforce am through temporary ban wey go stop am from participating for any aspect of the project.
* **Permanently ban** the person from the project.
Make you no take banning members lightly, e be like say e be something wey no fit change and no fit reconcile different perspectives. You suppose only take these measures if e clear say you no fit resolve the matter.
## The work waeh you fit do as a maintainer
Code of conduct nor be law wey dem just dey put as dem like. Na you be the enforcer of the code of conduct and e dey your responsibility to follow the rules wey the code of conduct don establish.
As a maintainer, na you set the guidelines for your community and you go enforce those guidelines based on the rules wey dey your code of conduct. This one mean say, any report wey you receive about code of conduct violation, you suppose take am serious. The person wey report the matter suppose get thorough and fair review of wetin dem complain. If you come find out say the behavior wey dem report nor be violation, make you yan that one give dem straight and explain why you nor go take action on top am. As dem see that one, na them sabi how dem go fit take the behavior wey dem dey complain tolerate, or dem fit stop to dey participate for the community.
If person report behavior wey nor _technically_ violate the code of conduct, e fit still show say there be problem for your community, and you suppose investigate this potential problem and take action as e dey necessary. This one fit include say you go revise your code of conduct to make am clear the kind behavior wey dem go accept, or make you talk to the person wey dem report say e dey skirt the edge of wetin dem expect and e dey make some participants dey uncomfortable, although e nor violate the code of conduct.
In the end, as a maintainer, na you dey set and enforce the standards for acceptable behavior. You get the power to shape the community values of the project, and participants dey expect make you enforce those values in a way wey dey fair and even-handed.
## Encourage the character wey you want make people see for this world 🌎
When person see say one project nor dey friendly or e nor dey welcoming, even if e just one person behavior people still dey tolerate, e fit make plenty contributors run comot, some of dem wey you never go fit even see. E nor dey always easy to adopt or enforce code of conduct, but if you dey promote environment wey dey welcoming, e go help your community grow.
================================================
FILE: _articles/pcm/finding-users.md
================================================
---
lang: pcm
title: How to find the people to helep your project
description: You go helep your open source project grow if you bin put am with people waeh dey happy happy.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Dey talk the koko
Dem nor get law wey talk say you suppose promote open source project when you first launch am. Plenty reasons dey wey fit make person dey work for open source wey nor get to do with popularity. Instead make you hope say other people go find and use your open source project, you suppose spread the word about your hard work!
## Make you dey find your message
Before you start the real work of promotion for your project, you suppose sabi explain wetin your project dey do, and why e dey important.
Wetin make your project different or interesting? Why you create am? As you dey think about your project's message and value, try look am through the eyes of the people wey fit use am and those wey fit contribute to am.
For example, @robb dey use code examples to yan clearly why him project, [Cartography](https://github.com/robb/Cartography), dey useful:

If you wan go deeper for messaging, check Mozilla's ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) exercise for developing user personas.
## Helep people to dey find and folow your project
**Make you get clear handle to promote your work.** Twitter handle, GitHub URL, or IRC channel na easy way wey you fit use point people to your project. These outlets still dey give your project's growing community place wey dem go fit gather.
If you nor wan set up outlets for your project now, make you dey promote your own Twitter or GitHub handle for everything wey you dey do. Promoting your Twitter or GitHub handle go show people how dem fit take contact you or follow your work. If you go talk for meeting or event, make you sure say your contact information dey for your bio or slides.
**Make you think about create website for your project.** Website dey make your project dey friendly and easy to navigate, especially when you combine am with clear documentation and tutorials. Having website still show say your project dey active and e go make your audience feel comfortable say dem fit use am. Give examples to show people as dem fit take use your project.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), co-creator of Django, talk say website na _"by far the best thing we did with Django in the early days"_.
If your project dey for GitHub, you fit use [GitHub Pages](https://pages.github.com/) create website. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), and [Middleman](https://middlemanapp.com/) na [few examples](https://github.com/showcases/github-pages-examples) of excellent, comprehensive websites.

Now wey you don get message for your project and easy way wey people fit take find your project, make you waka comot go yan with your audience!
## Go where your project's audience dey (online)
Online outreach na correct way wey you fit take share and spread the word quickly. As you use online channels, e fit help you reach wide audience.
Make you use existing online communities and platforms to reach your audience. If your open source project na software project, e possible say you fit find your audience for [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), or [Quora](https://www.quora.com/). Find the channels wey you believe say people go benefit well or go dey excited about your work.
See as you fit find ways to share your project well:
* **Know the relevant open source projects and communities.** Sometimes, you nor need promote your project directly. If your project dey perfect for data scientists wey dey use Python, make you sabi the Python data science community. As people sabi you, opportunities go naturally show face to talk about and share your work.
* **Find people wey dey face the problem wey your project solve.** Search through forums wey relate to your project's target audience, and try to answer their questions. If e dey right, find polite way to suggest your project as solution.
* **Ask for feedback.** Introduce yourself and your work to audience wey your project fit benefit. Make you specific about the people wey you think say your project go fit help. Try to complete the sentence: _"I think my project go really help X, people wey dey try do Y_". Listen and respond to others' feedback, rather than just promoting your work.
Generally, focus on helping others before you ask for something in return. Because anybody fit easily promote project online, e go get plenty noise. To stand out from the crowd, give people background about who you be, nor be just wetin you want.
If nobody pay attention or respond to your initial outreach, nor let am discourage you! Most project launches nor dey one-time thing, e fit take months or years. If you nor get response the first time, try different method, or look for ways to add value to other people's work first. Promotion and launch of your project go take time and dedication.
## Waka go where your project's audience dey (offline)

Offline events dey very popular to promote new projects to people. Dem be very good way to reach audience wey dey engage and build better human connections, especially if you wan reach developers.
If you be [newbie for public speaking](https://speaking.io/), you fit start by dey find local meetup wey relate to the language or system wey your project dey based on.
If you never talk for event before, e dey normal to feel nervous! Just remember say the people wey dey the audience dey there because dem really wan hear wetin you wan talk about.
As you dey write your talk, try focus on the things wey your audience go find interesting and get value from. Make your language dey friendly and approachable. Smile, breathe well, and enjoy yourself.
When you feel say you don ready, try consider talk for conference to promote your project. Conferences fit help you reach plenty people, sometimes from different parts of the world.
Find conferences wey relate to the language or system wey your project dey use. Before you submit your talk, try do research about the conference so that you fit arrange your talk to match the people wey go attend and increase your chance to talk for the conference. Sometimes you fit know the kind of audience wey you wan get by checking the people wey don talk for the conference before.
## Kulekule your reputation
Apart from the strategies wey we don yarn before, the best way to invite people to share and contribute to your project na to share and contribute to their projects.
To help newcomers, share resources, and make thoughtful contributions to other people's projects go help you build positive reputation. To be an active member for open source community go help people to understand wetin you dey do, and dem fit dey pay attention to and share your project. To dey develop relationships with other open source projects fit even lead to official partnerships.
E no dey too early or too late to begin build your reputation. Even if you don launch your own project before, dey always look for ways to help others.
No get quick fix wey go give you audience. To gain the trust and respect of others dey take time, and building your reputation no dey end.
## No relent!
E fit tey before people go notice your open source project. E dey okay! Some of the most popular projects wey dey today, e take years before dem reach the level wey dem dey now. Focus on building relationships instead of dey hope say your project go just blow. Be patient, and continue to dey share your work with those wey dey appreciate am.
================================================
FILE: _articles/pcm/getting-paid.md
================================================
---
lang: pcm
title: Getting Paid for Open Source Work
description: Sustain your work in open source by getting financial support for your time or your project.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Why some people seek financial support
Much of the work of open source is voluntary. For example, someone might come across a bug in a project they use and submit a quick fix, or they might enjoy tinkering with an open source project in their spare time.
There are many reasons why a person would not want to be paid for their open source work.
* **They may already have a full-time job that they love,** which enables them to contribute to open source in their spare time.
* **They enjoy thinking of open source as a hobby** or creative escape and don't want to feel financially obligated to work on their projects.
* **They get other benefits from contributing to open source,** such as building their reputation or portfolio, learning a new skill, or feeling closer to a community.
For others, especially when contributions are ongoing or require significant time, getting paid to contribute to open source is the only way they can participate, either because the project requires it, or for personal reasons.
Maintaining popular projects can be a significant responsibility, taking up 10 or 20 hours per week instead of a few hours per month.
Paid work also enables people from different walks of life to make meaningful contributions. Some people cannot afford to spend unpaid time on open source projects, based on their current financial position, debt, or family or other caretaking obligations. That means the world never sees contributions from talented people who can't afford to volunteer their time. This has ethical implications, as @ashedryden [has described](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), since work that is done is biased in favor of those who already have advantages in life, who then gain additional advantages based on their volunteer contributions, while others who are not able to volunteer then don't get later opportunities, which reinforces the current lack of diversity in the open source community.
If you're looking for financial support, there are two paths to consider. You can fund your own time as a contributor, or you can find organizational funding for the project.
## Funding your own time
Today, many people get paid to work part- or full-time on open source. The most common way to get paid for your time is to talk to your employer.
It's easier to make a case for open source work if your employer actually uses the project, but get creative with your pitch. Maybe your employer doesn't use the project, but they use Python, and maintaining a popular Python project help attract new Python developers. Maybe it makes your employer look more developer-friendly in general.
If you don't have an existing open source project you'd like to work on, but would rather that your current work output is open sourced, make a case for your employer to open source some of their internal software.
Many companies are developing open source programs to build their brand and recruit quality talent.
@hueniverse, for example, found that there were financial reasons to justify [Walmart's investment in open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). And @jamesgpearce found that Facebook's open source program [made a difference](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) in recruiting:
> It is closely aligned with our hacker culture, and how our organization was perceived. We asked our employees, "Were you aware of the open source software program at Facebook?". Two-thirds said "Yes". One-half said that the program positively contributed to their decision to work for us. These are not marginal numbers, and I hope, a trend that continues.
If your company goes down this route, it's important to keep the boundaries between community and corporate activity clear. Ultimately, open source sustains itself through contributions from people all over the world, and that's bigger than any one company or location.
If you can't convince your current employer to prioritize open source work, consider finding a new employer that encourages employee contributions to open source. Look for companies that make their dedication to open source work explicit. For example:
* Some companies, like [Netflix](https://netflix.github.io/), have websites that highlight their involvement in open source
Projects that originated at a large company, such as [Go](https://github.com/golang) or [React](https://github.com/facebook/react), will also likely employ people to work on open source.
Depending on your personal circumstances, you can try raising money independently to fund your open source work. For example:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon funded his work on [Redux](https://github.com/reactjs/redux) through a [Patreon crowdfunding campaign](https://redux.js.org/)
* @andrewgodwin funded work on Django schema migrations [through a Kickstarter campaign](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
Finally, sometimes open source projects put bounties on issues that you might consider helping with.
* @ConnorChristie was able to get paid for [helping](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol work on their JavaScript library [through a bounty on gitcoin](https://gitcoin.co/).
* @mamiM did Japanese translations for @MetaMask after the [issue was funded on Bounties Network](https://explorer.bounties.network/bounty/134).
## Finding funding for your project
Beyond arrangements for individual contributors, sometimes projects raise money from companies, individuals, or others to fund ongoing work.
Organizational funding might go towards paying current contributors, covering the costs of running the project (such as hosting fees), or investing in new features or ideas.
As open source's popularity increases, finding funding for projects is still experimental, but there are a few common options available.
### Raise money for your work through crowdfunding campaigns or sponsorships
Finding sponsorships works well if you have a strong audience or reputation already, or your project is very popular.
A few examples of sponsored projects include:
* **[webpack](https://github.com/webpack)** raises money from companies and individuals [through OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** a nonprofit organization that pays for work on [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), and other Ruby infrastructure projects
### Create a revenue stream
Depending on your project, you may be able to charge for commercial support, hosted options, or additional features. A few examples include:
* **[Sidekiq](https://github.com/mperham/sidekiq)** offers paid versions for additional support
* **[Travis CI](https://github.com/travis-ci)** offers paid versions of its product
* **[Ghost](https://github.com/TryGhost/Ghost)** is a nonprofit with a paid managed service
Some popular projects, like [npm](https://github.com/npm/cli) and [Docker](https://github.com/docker/docker), even raise venture capital to support their business growth.
### Apply for grant funding
Some software foundations and companies offer grants for open source work. Sometimes, grants can be paid out to individuals without setting up a legal entity for the project.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** received a grant from [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** work was funded by [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** received a grant from the [Sloan Foundation](https://sloan.org/programs/digital-technology)
* The **[Python Software Foundation](https://www.python.org/psf/grants/)** offers grants for Python-related work
For more detailed options and case studies, @nayafia [wrote a guide](https://github.com/nayafia/lemonade-stand) to getting paid for open source work. Different types of funding require different skills, so consider your strengths to figure out which option works best for you.
## Building a case for financial support
Whether your project is a new idea, or has been around for years, you should expect to put significant thought into identifying your target funder and making a compelling case.
Whether you're looking to pay for your own time, or fundraise for a project, you should be able to answer the following questions.
### Impact
Why is this project useful? Why do your users, or potential users, like it so much? Where will it be in five years?
### Traction
Try to collect evidence that your project matters, whether it's metrics, anecdotes, or testimonials. Are there any companies or noteworthy people using your project right now? If not, has a prominent person endorsed it?
### Value to funder
Funders, whether your employer or a grantmaking foundation, are frequently approached with opportunities. Why should they support your project over any other opportunity? How do they personally benefit?
### Use of funds
What, exactly, will you accomplish with the proposed funding? Focus on project milestones or outcomes rather than paying a salary.
### How you'll receive the funds
Does the funder have any requirements around disbursal? For example, you may need to be a nonprofit or have a nonprofit fiscal sponsor. Or perhaps the funds must be given to an individual contractor rather than an organization. These requirements vary between funders, so be sure to do your research beforehand.
## Experiment and don't give up
Raising money isn't easy, whether you're an open source project, a nonprofit, or a software startup, and in most cases require you to get creative. Identifying how you want to get paid, doing your research, and putting yourself in your funder's shoes will help you build a convincing case for funding.
================================================
FILE: _articles/pcm/how-to-contribute.md
================================================
---
lang: pcm
title: How to Contribute to Open Source
description: Want to contribute to open source? A guide to making open source contributions, for first-timers and veterans.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Why contribute to open source?
Contributing to open source can be a rewarding way to learn, teach, and build experience in just about any skill you can imagine.
Why do people contribute to open source? Plenty of reasons!
### Improve software you rely on
Lots of open source contributors start by being users of software they contribute to. When you find a bug in an open source software you use, you may want to look at the source to see if you can patch it yourself. If that's the case, then contributing the patch back is the best way to ensure that your friends (and yourself when you update to the next release) will be able to benefit from it.
### Improve existing skills
Whether it's coding, user interface design, graphic design, writing, or organizing, if you're looking for practice, there's a task for you on an open source project.
### Meet people who are interested in similar things
Open source projects with warm, welcoming communities keep people coming back for years. Many people form lifelong friendships through their participation in open source, whether it's running into each other at conferences or late night online chats about burritos.
### Find mentors and teach others
Working with others on a shared project means you'll have to explain how you do things, as well as ask other people for help. The acts of learning and teaching can be a fulfilling activity for everyone involved.
### Build public artifacts that help you grow a reputation (and a career)
By definition, all of your open source work is public, which means you get free examples to take anywhere as a demonstration of what you can do.
### Learn people skills
Open source offers opportunities to practice leadership and management skills, such as resolving conflicts, organizing teams of people, and prioritizing work.
### It's empowering to be able to make changes, even small ones
You don't have to become a lifelong contributor to enjoy participating in open source. Have you ever seen a typo on a website, and wished someone would fix it? On an open source project, you can do just that. Open source helps people feel agency over their lives and how they experience the world, and that in itself is gratifying.
## What it means to contribute
If you're a new open source contributor, the process can be intimidating. How do you find the right project? What if you don't know how to code? What if something goes wrong?
Not to worry! There are all sorts of ways to get involved with an open source project, and a few tips will help you get the most out of your experience.
### You don't have to contribute code
A common misconception about contributing to open source is that you need to contribute code. In fact, it's often the other parts of a project that are [most neglected or overlooked](https://github.com/blog/2195-the-shape-of-open-source). You'll do the project a _huge_ favor by offering to pitch in with these types of contributions!
Even if you like to write code, other types of contributions are a great way to get involved with a project and meet other community members. Building those relationships will give you opportunities to work on other parts of the project.
### Do you like planning events?
* Organize workshops or meetups about the project, [like @fzamperin did for NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Organize the project's conference (if they have one)
* Help community members find the right conferences and submit proposals for speaking
### Do you like to design?
* Restructure layouts to improve the project's usability
* Conduct user research to reorganize and refine the project's navigation or menus, [like Drupal suggests](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Put together a style guide to help the project have a consistent visual design
* Create art for t-shirts or a new logo, [like hapi.js's contributors did](https://github.com/hapijs/contrib/issues/68)
### Do you like to write?
* Write and improve the project's documentation, [like @CBID2 did for OpenSauced's documentation](https://github.com/open-sauced/docs/pull/151)
* Curate a folder of examples showing how the project is used
* Start a newsletter for the project, or curate highlights from the mailing list, [like @opensauced did for their product](https://news.opensauced.pizza/about/)
* Write tutorials for the project, [like PyPA's contributors did](https://packaging.python.org/)
* Write a translation for the project's documentation, [like @frontendwizard did for the instructions for freeCodeCamp's CSS Flexbox challenge](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077)
### Do you like organizing?
* Link to duplicate issues, and suggest new issue labels, to keep things organized
* Go through open issues and suggest closing old ones, [like @nzakas did for ESLint](https://github.com/eslint/eslint/issues/6765)
* Ask clarifying questions on recently opened issues to move the discussion forward
### Do you like to code?
* Find an open issue to tackle, [like @dianjin did for Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Ask if you can help write a new feature
* Automate project setup
* Improve tooling and testing
### Do you like helping people?
* Answer questions about the project on e.g., Stack Overflow ([like this Postgres example](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) or Reddit
* Answer questions for people on open issues
* Help moderate the discussion boards or conversation channels
### Do you like helping others code?
* Review code on other people's submissions
* Write tutorials for how a project can be used
* Offer to mentor another contributor, [like @ereichert did for @bronzdoc on Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### You don't just have to work on software projects!
While "open source" often refers to software, you can collaborate on just about anything. There are books, recipes, lists, and classes that get developed as open source projects.
For example:
* @sindresorhus curates a [list of "awesome" lists](https://github.com/sindresorhus/awesome)
* @h5bp maintains a [list of potential interview questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions) for front-end developer candidates
* @stuartlynn and @nicole-a-tesla made a [collection of fun facts about puffins](https://github.com/stuartlynn/puffin_facts)
Even if you're a software developer, working on a documentation project can help you get started in open source. It's often less intimidating to work on projects that don't involve code, and the process of collaboration will build your confidence and experience.
## Orienting yourself to a new project
For anything more than a typo fix, contributing to open source is like walking up to a group of strangers at a party. If you start talking about llamas, while they were deep in a discussion about goldfish, they'll probably look at you a little strangely.
Before jumping in blindly with your own suggestions, start by learning how to read the room. Doing so increases the chances that your ideas will be noticed and heard.
### Anatomy of an open source project
Every open source community is different.
Spending years on one open source project means you've gotten to know one open source project. Move to a different project, and you might find the vocabulary, norms, and communication styles are completely different.
That said, many open source projects follow a similar organizational structure. Understanding the different community roles and overall process will help you get quickly oriented to any new project.
A typical open source project has the following types of people:
* **Author:** The person/s or organization that created the project
* **Owner:** The person/s who has administrative ownership over the organization or repository (not always the same as the original author)
* **Maintainers:** Contributors who are responsible for driving the vision and managing the organizational aspects of the project (They may also be authors or owners of the project.)
* **Contributors:** Everyone who has contributed something back to the project
* **Community Members:** People who use the project. They might be active in conversations or express their opinion on the project's direction
Bigger projects may also have subcommittees or working groups focused on different tasks, such as tooling, triage, community moderation, and event organizing. Look on a project's website for a "team" page, or in the repository for governance documentation, to find this information.
A project also has documentation. These files are usually listed in the top level of a repository.
* **LICENSE:** By definition, every open source project must have an [open source license](https://choosealicense.com). If the project does not have a license, it is not open source.
* **README:** The README is the instruction manual that welcomes new community members to the project. It explains why the project is useful and how to get started.
* **CONTRIBUTING:** Whereas READMEs help people _use_ the project, contributing docs help people _contribute_ to the project. It explains what types of contributions are needed and how the process works. While not every project has a CONTRIBUTING file, its presence signals that this is a welcoming project to contribute to. A good example of an effective Contributing Guide would be the one from [Codecademy's Docs repository](https://www.codecademy.com/resources/docs/contribution-guide).
* **CODE_OF_CONDUCT:** The code of conduct sets ground rules for participants' behavior associated and helps to facilitate a friendly, welcoming environment. While not every project has a CODE_OF_CONDUCT file, its presence signals that this is a welcoming project to contribute to.
* **Other documentation:** There might be additional documentation, such as tutorials, walkthroughs, or governance policies, especially on bigger projects like [Astro Docs](https://docs.astro.build/en/contribute/#contributing-to-docs).
Finally, open source projects use the following tools to organize discussion. Reading through the archives will give you a good picture of how the community thinks and works.
* **Issue tracker:** Where people discuss issues related to the project.
* **Pull requests:** Where people discuss and review changes that are in progress, whether it's to improve a contributor's line of code, grammar usage, use of images, etc. Some projects, such as [MDN Web Docs](https://github.com/mdn/content/blob/main/.github/workflows/markdown-lint.yml), use certain GitHub Action flows to automate and quicken their code reviews.
* **Discussion forums or mailing lists:** Some projects may use these channels for conversational topics (for example, _"How do I..."_ or _"What do you think about..."_ instead of bug reports or feature requests). Others use the issue tracker for all conversations. A good example of this would be [CHAOSS' weekly Newsletter](https://chaoss.community/news/)
* **Synchronous chat channel:** Some projects use chat channels (such as Slack or IRC) for casual conversation, collaboration, and quick exchanges. A good example of this would be [EddieHub's Discord community](http://discord.eddiehub.org/).
## Finding a project to contribute to
Now that you've figured out how open source projects work, it's time to find a project to contribute to!
If you've never contributed to open source before, take some advice from U.S. President John F. Kennedy, who once said:, _"Ask not what your country can do for you - ask what you can do for your country."_
Contributing to open source happens at all levels, across projects. You don't need to overthink what exactly your first contribution will be, or how it will look.
Instead, start by thinking about the projects you already use, or want to use. The projects you'll actively contribute to are the ones you find yourself coming back to.
Within those projects, whenever you catch yourself thinking that something could be better or different, act on your instinct.
Open source isn't an exclusive club; it's made by people just like you. "Open source" is just a fancy term for treating the world's problems as fixable.
You might scan a README and find a broken link or a typo. Or you're a new user and you noticed something is broken, or an issue that you think should really be in the documentation. Instead of ignoring it and moving on, or asking someone else to fix it, see whether you can help out by pitching in. That's what open source is all about!
> According to a study conducted by Igor Steinmacher and other Computer Science researchers, [28% of casual contributions](https://www.igor.pro.br/publica/papers/saner2016.pdf) to open source are documentation, such as typo fixes, reformatting, or writing a translation.
If you're looking for existing issues you can fix, every open source project has a `/contribute` page that highlights beginner-friendly issues you can start out with. Navigate to the main page of the repository on GitHub, and add `/contribute` at the end of the URL (for example [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
You can also use one of the following resources to help you discover and contribute to new projects:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### A checklist before you contribute
When you've found a project you'd like to contribute to, do a quick scan to make sure that the project is suitable for accepting contributions. Otherwise, your hard work may never get a response.
Here's a handy checklist to evaluate whether a project is good for new contributors.
**Meets the definition of open source**
**Project actively accepts contributions**
Look at the commit activity on the main branch. On GitHub, you can see this information in the Insights tab of a repository's homepage, such as[Virtual-Coffee](https://github.com/Virtual-Coffee/virtualcoffee.io/pulse)
Next, look at the project's issues.
Now do the same for the project's pull requests.
**Project is welcoming**
A project that is friendly and welcoming signals that they will be receptive to new contributors.
## How to submit a contribution
You've found a project you like, and you're ready to make a contribution. Finally! Here's how to get your contribution in the right way.
### Communicating effectively
Whether you're a one-time contributor or trying to join a community, working with others is one of the most important skills you'll develop in open source.
Before you open an issue or pull request, or ask a question in chat, keep these points in mind to help your ideas come across effectively.
**Give context.** Help others get quickly up to speed. If you're running into an error, explain what you're trying to do and how to reproduce it. If you're suggesting a new idea, explain why you think it'd be useful to the project (not just to you!).
> 😇 _"X doesn't happen when I do Y"_
>
> 😢 _"X is broken! Please fix it."_
**Do your homework beforehand.** It's OK not to know things, but show that you tried. Before asking for help, be sure to check a project's README, documentation, issues (open or closed), mailing list, and search the internet for an answer. People will appreciate it when you demonstrate that you're trying to learn.
> 😇 _"I'm not sure how to implement X. I checked the help docs and didn't find any mentions."_
>
> 😢 _"How do I X?"_
**Keep requests short and direct.** Much like sending an email, every contribution, no matter how simple or helpful, requires someone else's review. Many projects have more incoming requests than people available to help. Be concise. You will increase the chance that someone will be able to help you.
> 😇 _"I'd like to write an API tutorial."_
>
> 😢 _"I was driving down the highway the other day and stopped for gas, and then I had this amazing idea for something we should be doing, but before I explain that, let me show you..."_
**Keep all communication public.** Although it's tempting, don't reach out to maintainers privately unless you need to share sensitive information (such as a security issue or serious conduct violation). When you keep the conversation public, more people can learn and benefit from your exchange. Discussions can be, in themselves, contributions.
> 😇 _(as a comment) "@-maintainer Hi there! How should we proceed on this PR?"_
>
> 😢 _(as an email) "Hey there, sorry to bother you over email, but I was wondering if you've had a chance to review my PR"_
**It's okay to ask questions (but be patient!).** Everybody was new to the project at some point, and even experienced contributors need to get up to speed when they look at a new project. By the same token, even longtime maintainers are not always familiar with every part of the project. Show them the same patience that you'd want them to show to you.
> 😇 _"Thanks for looking into this error. I followed your suggestions. Here's the output."_
>
> 😢 _"Why can't you fix my problem? Isn't this your project?"_
**Respect community decisions.** Your ideas may differ from the community's priorities or vision. They may offer feedback or decide not to pursue your idea. While you should discuss and look for compromise, maintainers have to live with your decision longer than you will. If you disagree with their direction, you can always work on your own fork or start your own project.
> 😇 _"I'm disappointed you can't support my use case, but as you've explained it only affects a minor portion of users, I understand why. Thanks for listening."_
>
> 😢 _"Why won't you support my use case? This is unacceptable!"_
**Above all, keep it classy.** Open source is made up of collaborators from all over the world. Context gets lost across languages, cultures, geographies, and time zones. In addition, written communication makes it harder to convey a tone or mood. Assume good intentions in these conversations. It's fine to politely push back on an idea, ask for more context, or further clarify your position. Just try to leave the internet a better place than when you found it.
### Gathering context
Before doing anything, do a quick check to make sure your idea hasn't been discussed elsewhere. Skim the project's README, issues (open and closed), mailing list, and Stack Overflow. You don't have to spend hours going through everything, but a quick search for a few key terms goes a long way.
If you can't find your idea elsewhere, you're ready to make a move. If the project is on GitHub, you'll likely communicate by doing the following:
* **Raising an Issue:** These are like starting a conversation or discussion
* **Pull requests** are for starting work on a solution.
* **Communication Channels:** If the project has a designated Discord, IRC, or Slack channel, consider starting a conversation or asking for clarification about your contribution.
Before you open an issue or pull request, check the project's contributing docs (usually a file called CONTRIBUTING, or in the README), to see whether you need to include anything specific. For example, they may ask that you follow a template, or require that you use tests.
If you want to make a substantial contribution, open an issue to ask before working on it. It's helpful to watch the project for a while (on GitHub, [you can click "Watch"](https://help.github.com/articles/watching-repositories/) to be notified of all conversations), and get to know community members, before doing work that might not get accepted.
### Opening an issue
You should usually open an issue in the following situations:
* Report an error you can't solve yourself
* Discuss a high-level topic or idea (for example, community, vision or policies)
* Propose a new feature or other project idea
Tips for communicating on issues:
* **If you see an open issue that you want to tackle,** comment on the issue to let people know you're on it. That way, people are less likely to duplicate your work.
* **If an issue was opened a while ago,** it's possible that it's being addressed somewhere else, or has already been resolved, so comment to ask for confirmation before starting work.
* **If you opened an issue, but figured out the answer later on your own,** comment on the issue to let people know, then close the issue. Even documenting that outcome is a contribution to the project.
### Opening a pull request
You should usually open a pull request in the following situations:
* Submit small fixes such as a typo, a broken link or an obvious error.
* Start work on a contribution that was already asked for, or that you've already discussed, in an issue.
A pull request doesn't have to represent finished work. It's usually better to open a pull request early on, so others can watch or give feedback on your progress. Just open it as a "draft" or mark as a "WIP" (Work in Progress) in the subject line or "Notes to Reviewers" sections if provided (or you can just create your own. Like this: `**## Notes to Reviewer**`). You can always add more commits later.
If the project is on GitHub, here's how to submit a pull request:
* **[Fork the repository](https://guides.github.com/activities/forking/)** and clone it locally. Connect your local to the original "upstream" repository by adding it as a remote. Pull in changes from "upstream" often so that you stay up to date so that when you submit your pull request, merge conflicts will be less likely. (See more detailed instructions [here](https://help.github.com/articles/syncing-a-fork/).)
* **[Create a branch](https://guides.github.com/introduction/flow/)** for your edits.
* **Reference any relevant issues** or supporting documentation in your PR (for example, "Closes #37.")
* **Include screenshots of the before and after** if your changes include differences in HTML/CSS. Drag and drop the images into the body of your pull request.
* **Test your changes!** Run your changes against any existing tests if they exist and create new ones when needed. It's important to make sure your changes don't break the existing project.
* **Contribute in the style of the project** to the best of your abilities. This may mean using indents, semi-colons or comments differently than you would in your own repository, but makes it easier for the maintainer to merge, others to understand and maintain in the future.
If this is your first pull request, check out [Make a Pull Request](http://makeapullrequest.com/), which @kentcdodds created as a walkthrough video tutorial. You can also practice making a pull request in the [First Contributions](https://github.com/Roshanjossey/first-contributions) repository, created by @Roshanjossey.
## What happens after you submit your contribution
Before we start celebrating, one of the following will happen after you submit your contribution:
### 😭 You don't get a response
Hopefully you [checked the project for signs of activity](#a-checklist-before-you-contribute) before making a contribution. Even on an active project, however, it's possible that your contribution won't get a response.
If you haven't gotten a response in over a week, it's fair to politely respond in that same thread, asking someone for a review. If you know the name of the right person to review your contribution, you can @-mention them in that thread.
**Don't reach out to that person privately**; remember that public communication is vital to open source projects.
If you give a polite reminder and still do not receive a response, it's possible that nobody will ever respond. It's not a great feeling, but don't let that discourage you! 😄 There are many possible reasons why you didn't get a response, including personal circumstances that may be out of your control. Try to find another project or way to contribute. If anything, this is a good reason not to invest too much time in making a contribution before other community members are engaged and responsive.
### 🚧 Someone requests changes to your contribution
It's common that you'll be asked to make changes to your contribution, whether that's feedback on the scope of your idea, or changes to your code.
When someone requests changes, be responsive. They've taken the time to review your contribution. Opening a PR and walking away is bad form. If you don't know how to make changes, research the problem, then ask for help if you need it. A good example of this would be [the feedback that another contributor has given to @a-m-lamb on their pull request to Codecademy's Docs](https://github.com/Codecademy/docs/pull/3239#pullrequestreview-1628036286).
If you don't have time to work on the issue anymore due to reasons such as the conversation has been going on for months, and your circumstances have changed or you're unable to find a solution, let the maintainer know so that they can open the issue for someone else, like [@RitaDee did for an issue at OpenSauced's app repository](https://github.com/open-sauced/app/issues/1656#issuecomment-1729353346).
### 👎 Your contribution doesn't get accepted
Your contribution may or may not be accepted in the end. Hopefully you didn't put too much work into it already. If you're not sure why it wasn't accepted, it's perfectly reasonable to ask the maintainer for feedback and clarification. Ultimately, however, you'll need to respect that this is their decision. Don't argue or get hostile. You're always welcome to fork and work on your own version if you disagree!
### 🎉 Your contribution gets accepted
Hooray! You've successfully made an open source contribution!
## You did it! 🎉
Whether you just made your first open source contribution, or you're looking for new ways to contribute, we hope you're inspired to take action. Even if your contribution wasn't accepted, don't forget to say thanks when a maintainer put effort into helping you. Open source is made by people like you: one issue, pull request, comment, or high-five at a time.
================================================
FILE: _articles/pcm/index.html
================================================
---
layout: index
title: Open Source Guides
lang: pcm
permalink: /pcm/
---
================================================
FILE: _articles/pcm/leadership-and-governance.md
================================================
---
lang: pcm
title: Leadership and Governance
description: Growing open source projects can benefit from formal rules for making decisions.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Understanding governance for your growing project
Your project is growing, people are engaged, and you're committed to keeping this thing going. At this stage, you may be wondering how to incorporate regular project contributors into your workflow, whether it's giving someone commit access or resolving community debates. If you have questions, we've got answers.
## What are examples of formal roles used in open source projects?
Many projects follow a similar structure for contributor roles and recognition.
What these roles actually mean, though, is entirely up to you. Here are a few types of roles you may recognize:
* **Maintainer**
* **Contributor**
* **Committer**
**For some projects, "maintainers"** are the only people in a project with commit access. In other projects, they're simply the people who are listed in the README as maintainers.
A maintainer doesn't necessarily have to be someone who writes code for your project. It could be someone who's done a lot of work evangelizing your project, or written documentation that made the project more accessible to others. Regardless of what they do day-to-day, a maintainer is probably someone who feels responsibility over the direction of the project and is committed to improving it.
**A "contributor" could be anyone** who comments on an issue or pull request, people who add value to the project (whether it's triaging issues, writing code, or organizing events), or anybody with a merged pull request (perhaps the narrowest definition of a contributor).
**The term "committer"** might be used to distinguish commit access, which is a specific type of responsibility, from other forms of contribution.
While you can define your project roles any way you'd like, [consider using broader definitions](../how-to-contribute/#what-it-means-to-contribute) to encourage more forms of contribution. You can use leadership roles to formally recognize people who have made outstanding contributions to your project, regardless of their technical skill.
## How do I formalize these leadership roles?
Formalizing your leadership roles helps people feel ownership and tells other community members who to look to for help.
For a smaller project, designating leaders can be as simple as adding their names to your README or a CONTRIBUTORS text file.
For a bigger project, if you have a website, create a team page or list your project leaders there. For example, [Postgres](https://github.com/postgres/postgres/) has a [comprehensive team page](https://www.postgresql.org/community/contributors/) with short profiles for each contributor.
If your project has a very active contributor community, you might form a "core team" of maintainers, or even subcommittees of people who take ownership of different issue areas (for example, security, issue triaging, or community conduct). Let people self-organize and volunteer for the roles they're most excited about, rather than assigning them.
Leadership teams may want to create a designated channel (like on IRC) or meet regularly to discuss the project (like on Gitter or Google Hangout). You can even make those meetings public so other people can listen. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), for example, [hosts office hours every week](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Once you've established leadership roles, don't forget to document how people can attain them! Establish a clear process for how someone can become a maintainer or join a subcommittee in your project, and write it into your GOVERNANCE.md.
Tools like [Vossibility](https://github.com/icecrime/vossibility-stack) can help you publicly track who is (or isn't) making contributions to the project. Documenting this information avoids the community perception that maintainers are a clique that makes its decisions privately.
Finally, if your project is on GitHub, consider moving your project from your personal account to an Organization and adding at least one backup admin. [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) make it easier to manage permissions and multiple repositories and protect your project's legacy through [shared ownership](../building-community/#share-the-person-waeh-get-your-project).
## When should I give someone commit access?
Some people think you should give commit access to everybody who makes a contribution. Doing so could encourage more people to feel ownership of your project.
On the other hand, especially for bigger, more complex projects, you may want to only give commit access to people who have demonstrated their commitment. There's no one right way of doing it - do what makes you most comfortable!
If your project is on GitHub, you can use [protected branches](https://help.github.com/articles/about-protected-branches/) to manage who can push to a particular branch, and under which circumstances.
## What are some of the common governance structures for open source projects?
There are three common governance structures associated with open source projects.
* **BDFL:** BDFL stands for "Benevolent Dictator for Life". Under this structure, one person (usually the initial author of the project) has final say on all major project decisions. [Python](https://github.com/python) is a classic example. Smaller projects are probably BDFL by default, because there are only one or two maintainers. A project that originated at a company might also fall into the BDFL category.
* **Meritocracy:** **(Note: the term "meritocracy" carries negative connotations for some communities and has a [complex social and political history](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Under a meritocracy, active project contributors (those who demonstrate "merit") are given a formal decision making role. Decisions are usually made based on pure voting consensus. The meritocracy concept was pioneered by the [Apache Foundation](https://www.apache.org/); [all Apache projects](https://www.apache.org/index.html#projects-list) are meritocracies. Contributions can only be made by individuals representing themselves, not by a company.
* **Liberal contribution:** Under a liberal contribution model, the people who do the most work are recognized as most influential, but this is based on current work and not historic contributions. Major project decisions are made based on a consensus seeking process (discuss major grievances) rather than pure vote, and strive to include as many community perspectives as possible. Popular examples of projects that use a liberal contribution model include [Node.js](https://foundation.nodejs.org/) and [Rust](https://www.rust-lang.org/).
Which one should you use? It's up to you! Every model has advantages and trade-offs. And although they may seem quite different at first, all three models have more in common than they seem. If you're interested in adopting one of these models, check out these templates:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Do I need governance docs when I launch my project?
There is no right time to write down your project's governance, but it's much easier to define once you've seen your community dynamics play out. The best (and hardest) part about open source governance is that it is shaped by the community!
Some early documentation will inevitably contribute to your project's governance, however, so start writing down what you can. For example, you can define clear expectations for behavior, or how your contributor process works, even at your project's launch.
If you're part of a company launching an open source project, it's worth having an internal discussion before launch about how your company expects to maintain and make decisions about the project moving forward. You may also want to publicly explain anything particular to how your company will (or won't!) be involved with the project.
## What happens if corporate employees start submitting contributions?
Successful open source projects get used by many people and companies, and some companies may eventually have revenue streams eventually tied to the project. For example, a company may use the project's code as one component in a commercial service offering.
As the project gets more widely used, people who have expertise in it become more in-demand - you may be one of them! - and will sometimes get paid for work they do in the project.
It's important to treat commercial activity as normal and as just another source of development energy. Paid developers shouldn't get special treatment over unpaid ones, of course; each contribution must be evaluated on its technical merits. However, people should feel comfortable engaging in commercial activity, and feel comfortable stating their use cases when arguing in favor of a particular enhancement or feature.
"Commercial" is completely compatible with "open source". "Commercial" just means there is money involved somewhere - that the software is used in commerce, which is increasingly likely as a project gains adoption. (When open source software is used as part of a non-open-source product, the overall product is still "proprietary" software, though, like open source, it might be used for commercial or non-commercial purposes.)
Like anyone else, commercially-motivated developers gain influence in the project through the quality and quantity of their contributions. Obviously, a developer who is paid for her time may be able to do more than someone who is not paid, but that's okay: payment is just one of many possible factors that could affect how much someone does. Keep your project discussions focused on the contributions, not on the external factors that enable people to make those contributions.
## Do I need a legal entity to support my project?
You don't need a legal entity to support your open source project unless you're handling money.
For example, if you want to create a commercial business, you'll want to set up a C Corp or LLC (if you're based in the US). If you're just doing contract work related to your open source project, you can accept money as a sole proprietor, or set up an LLC (if you're based in the US).
If you want to accept donations for your open source project, you can set up a donation button (using PayPal or Stripe, for example), but the money won't be tax-deductible unless you are a qualifying nonprofit (a 501c3, if you're in the US).
Many projects don't wish to go through the trouble of setting up a nonprofit, so they find a nonprofit fiscal sponsor instead. A fiscal sponsor accepts donations on your behalf, usually in exchange for a percentage of the donation. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) and [Open Collective](https://opencollective.com/opensource) are examples of organizations that serve as fiscal sponsors for open source projects.
If your project is closely associated with a certain language or ecosystem, there may also be a related software foundation you can work with. For example, the [Python Software Foundation](https://www.python.org/psf/) helps support [PyPI](https://pypi.org/), the Python package manager, and the [Node.js Foundation](https://foundation.nodejs.org/) helps support [Express.js](https://expressjs.com/), a Node-based framework.
================================================
FILE: _articles/pcm/legal.md
================================================
---
lang: pcm
title: The Legal Side of Open Source
description: Everything you've ever wondered about the legal side of open source, and a few things you didn't.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Understanding the legal implications of open source
Sharing your creative work with the world can be an exciting and rewarding experience. It can also mean a bunch of legal things you didn't know you had to worry about. Thankfully, with this guide you don't have to start from scratch. (Before you dig in, be sure to read our [disclaimer](/notices/).)
## Why do people care so much about the legal side of open source?
Glad you asked! When you make a creative work (such as writing, graphics, or code), that work is under exclusive copyright by default. That is, the law assumes that as the author of your work, you have a say in what others can do with it.
In general, that means nobody else can use, copy, distribute, or modify your work without being at risk of take-downs, shake-downs, or litigation.
Open source is an unusual circumstance, however, because the author expects that others will use, modify, and share the work. But because the legal default is still exclusive copyright, you need to explicitly give these permissions with a license.
These rules also apply when someone contributes to your project. Without a license or other agreement in place, any contributions are exclusively owned by their authors. That means nobody -- not even you -- can use, copy, distribute, or modify their contributions.
Finally, your project may have dependencies with license requirements that you weren't aware of. Your project's community, or your employer's policies, may also require your project to use specific open source licenses. We'll cover these situations below.
## Are public GitHub projects open source?
When you [create a new project](https://help.github.com/articles/creating-a-new-repository/) on GitHub, you have the option to make the repository **private** or **public**.

**Making your GitHub project public is not the same as licensing your project.** Public projects are covered by [GitHub's Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), which allows others to view and fork your project, but your work otherwise comes with no permissions.
If you want others to use, distribute, modify, or contribute back to your project, you need to include an open source license. For example, someone cannot legally use any part of your GitHub project in their code, even if it's public, unless you explicitly give them the right to do so.
## Just give me the TL;DR on what I need to protect my project.
You're in luck, because today, open source licenses are standardized and easy to use. You can copy-paste an existing license directly into your project.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), and [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) are [popular open source licenses](https://innovationgraph.github.com/global-metrics/licenses), but there are other options to choose from. You can find the full text of these licenses, and instructions on how to use them, on [choosealicense.com](https://choosealicense.com/).
When you create a new project on GitHub, you'll be [asked to add a license](https://help.github.com/articles/open-source-licensing/).
## Which open source license is appropriate for my project?
It's hard to go wrong with the [MIT License](https://choosealicense.com/licenses/mit/) if you're starting with a blank slate. It's short, easily understood, and allows anyone to do anything so long as they keep a copy of the license, including your copyright notice. You'll be able to release the project under a different license if you ever need to.
Otherwise, picking the right open source license for your project depends on your objectives.
Your project very likely has (or will have) **dependencies**, each of which will have its own open source license with terms you have to respect. For example, if you're open sourcing a Node.js project, you'll probably use libraries from the Node Package Manager (npm).
Dependencies with **permissive licenses** like [MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), [ISC](https://choosealicense.com/licenses/isc), and [BSD](https://choosealicense.com/licenses/bsd-3-clause) allow you to license your project however you want.
Dependencies with **copyleft licenses** require closer attention. Including any library with a "strong" copyleft license like the [GPLv2](https://choosealicense.com/licenses/gpl-2.0), [GPLv3](https://choosealicense.com/licenses/gpl-3.0), or [AGPLv3](https://choosealicense.com/licenses/agpl-3.0) requires you to choose an identical or [compatible license](https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses) for your project. Libraries with a "limited" or "weak" copyleft license like the [MPL 2.0](https://choosealicense.com/licenses/mpl-2.0/) and [LGPL](https://choosealicense.com/licenses/lgpl-3.0/) can be included in projects with any license, provided you follow the [additional rules](https://fossa.com/blog/all-about-copyleft-licenses/#:~:text=weak%20copyleft%20licenses%20also%20obligate%20users%20to%20release%20their%20changes.%20however%2C%20this%20requirement%20applies%20to%20a%20narrower%20set%20of%20code.) they specify.
You may also want to consider the **communities** you hope will use and contribute to your project:
* **Do you want your project to be used as a dependency by other projects?** Probably best to use the most popular license in your relevant community. For example, [MIT](https://choosealicense.com/licenses/mit/) is the most popular license for [npm libraries](https://libraries.io/search?platforms=NPM).
* **Do you want your project to appeal to large businesses?** A large business may be comforted by an express patent license from all contributors. In this case, the [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) (and them) covered.
* **Do you want your project to appeal to contributors who do not want their contributions to be used in closed source software?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) or (if they also do not wish to contribute to closed source services) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) will go over well.
Your **company** may have policies for open source project licensing. Some companies require your projects to bear a permissive license to permit integration with the company's proprietary products. Other policies enforce a strong copyleft license and an additional contributor agreement ([see below](#does-my-project-need-an-additional-contributor-agreement)) so only your company can use the project in closed source software. Organizations may also have certain standards, social responsibility goals, or transparency needs which could require a particular licensing strategy. Talk to your [company's legal department](#what-does-my-companys-legal-team-need-to-know) for guidance.
When you create a new project on GitHub, you are given the option to select a license. Including one of the licenses mentioned above will make your GitHub project open source. If you'd like to see other options, check out [choosealicense.com](https://choosealicense.com) to find the right license for your project, even if it [isn't software](https://choosealicense.com/non-software/).
## What if I want to change the license of my project?
Most projects never need to change licenses. But occasionally circumstances change.
For example, as your project grows it adds dependencies or users, or your company changes strategies, any of which could require or want a different license. Also, if you neglected to license your project from the start, adding a license is effectively the same as changing licenses. There are three fundamental things to consider when adding or changing your project's license:
**It's complicated.** Determining license compatibility and compliance and who holds copyright can get complicated and confusing very quickly. Switching to a new but compatible license for new releases and contributions is different from relicensing all existing contributions. Involve your legal team at the first hint of any desire to change licenses. Even if you have or can obtain permission from your project's copyright holders for a license change, consider the impact of the change on your project's other users and contributors. Think of a license change as a "governance event" for your project that will more likely go smoothly with clear communications and consultation with your project's stakeholders. All the more reason to choose and use an appropriate license for your project from its inception!
**Your project's existing license.** If your project's existing license is compatible with the license you want to change to, you could just start using the new license. That's because if license A is compatible with license B, you'll comply with the terms of A while complying with the terms of B (but not necessarily vice versa). So if you're currently using a permissive license (e.g., MIT), you could change to a license with more conditions, so long as you retain a copy of the MIT license and any associated copyright notices (i.e., continue to comply with the MIT license's minimal conditions). But if your current license is not permissive (e.g., copyleft, or you don't have a license) and you aren't the sole copyright holder, you couldn't just change your project's license to MIT. Essentially, with a permissive license the project's copyright holders have given permission in advance to change licenses.
**Your project's existing copyright holders.** If you're the sole contributor to your project then either you or your company is the project's sole copyright holder. You can add or change to whatever license you or your company wants to. Otherwise there may be other copyright holders that you need agreement from in order to change licenses. Who are they? [People who have commits in your project](https://github.com/thehale/git-authorship) is a good place to start. But in some cases copyright will be held by those people's employers. In some cases people will have only made minimal contributions, but there's no hard and fast rule that contributions under some number of lines of code are not subject to copyright. What to do? It depends. For a relatively small and young project, it may be feasible to get all existing contributors to agree to a license change in an issue or pull request. For large and long-lived projects, you may have to seek out many contributors and even their heirs. Mozilla took years (2001-2006) to relicense Firefox, Thunderbird, and related software.
Alternatively, you can have contributors pre-approve certain license changes via an additional contributor agreement ([see below](#does-my-project-need-an-additional-contributor-agreement)). This shifts the complexity of changing licenses a bit. You'll need more help from your lawyers up front, and you'll still want to clearly communicate with your project's stakeholders when executing a license change.
## Does my project need an additional contributor agreement?
Probably not. For the vast majority of open source projects, an open source license implicitly serves as both the inbound (from contributors) and outbound (to other contributors and users) license. If your project is on GitHub, the GitHub Terms of Service make "inbound=outbound" the [explicit default](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
An additional contributor agreement -- often called a Contributor License Agreement (CLA) -- can create administrative work for project maintainers. How much work an agreement adds depends on the project and implementation. A simple agreement might require that contributors confirm, with a click, that they have the rights necessary to contribute under the project open source license. A more complicated agreement might require legal review and sign-off from contributors' employers.
Also, by adding "paperwork" that some believe is unnecessary, hard to understand, or unfair (when the agreement recipient gets more rights than contributors or the public do via the project's open source license), an additional contributor agreement may be perceived as unfriendly to the project's community.
Some situations where you may want to consider an additional contributor agreement for your project include:
* Your lawyers want all contributors to expressly accept (_sign_, online or offline) contribution terms, perhaps because they feel the open source license itself is not enough (even though it is!). If this is the only concern, a contributor agreement that affirms the project's open source license should be enough. The [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) is a good example of a lightweight additional contributor agreement.
* You or your lawyers want developers to represent that each commit they make is authorized. A [Developer Certificate of Origin](https://developercertificate.org/) requirement is how many projects achieve this. For example, the Node.js community [uses](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) the DCO [instead](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) of their prior CLA. A simple option to automate enforcement of the DCO on your repository is the [DCO Probot](https://github.com/probot/dco).
* Your project uses an open source license that does not include an express patent grant (such as MIT), and you need a patent grant from all contributors, some of whom may work for companies with large patent portfolios that could be used to target you or the project's other contributors and users. The [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) is a commonly used additional contributor agreement that has a patent grant mirroring the one found in the Apache License 2.0.
* Your project is under a copyleft license, but you also need to distribute a proprietary version of the project. You'll need every contributor to assign copyright to you or grant you (but not the public) a permissive license. The [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) is an example this type of agreement.
* You think your project might need to change licenses over its lifetime and want contributors to agree in advance to such changes.
If you do need to use an additional contributor agreement with your project, consider using an integration such as [CLA assistant](https://github.com/cla-assistant/cla-assistant) to minimize contributor distraction.
## What does my company's legal team need to know?
If you're releasing an open source project as a company employee, first, your legal team should know that you're open sourcing a project.
For better or worse, consider letting them know even if it's a personal project. You probably have an "employee IP agreement" with your company that gives them some control of your projects, especially if they are at all related to the company's business or you use any company resources to develop the project. Your company _should_ easily give you permission, and maybe already has through an employee-friendly IP agreement or a company policy. If not, you can negotiate (for example, explain that your project serves the company's professional learning and development objectives for you), or avoid working on your project until you find a better company.
**If you're open sourcing a project for your company,** then definitely let them know. Your legal team probably already has policies for what open source license (and maybe additional contributor agreement) to use based on the company's business requirements and expertise around ensuring your project complies with the licenses of its dependencies. If not, you and they are in luck! Your legal team should be eager to work with you to figure this stuff out. Some things to think about:
* **Third party material:** Does your project have dependencies created by others or otherwise include or use others' code? If these are open source, you'll need to comply with the materials' open source licenses. That starts with choosing a license that works with the third party open source licenses ([see above](#which-open-source-license-is-appropriate-for-my-project)). If your project modifies or distributes third party open source material, then your legal team will also want to know that you're meeting other conditions of the third party open source licenses such as retaining copyright notices. If your project uses others' code that doesn't have an open source license, you'll probably have to ask the third party maintainers to [add an open source license](https://choosealicense.com/no-license/#for-users), and if you can't get one, stop using their code in your project.
* **Trade secrets:** Consider whether there is anything in the project that the company does not want to make available to the general public. If so, you could open source the rest of your project, after extracting the material you want to keep private.
* **Patents:** Is your company applying for a patent of which open sourcing your project would constitute [public disclosure](https://en.wikipedia.org/wiki/Public_disclosure)? Sadly, you might be asked to wait (or maybe the company will reconsider the wisdom of the application). If you're expecting contributions to your project from employees of companies with large patent portfolios, your legal team may want you to use a license with an express patent grant from contributors (such as Apache 2.0 or GPLv3), or an additional contributor agreement ([see above](#which-open-source-license-is-appropriate-for-my-project)).
* **Trademarks:** Double check that your project's name [does not conflict with any existing trademarks](../starting-a-project/#avoiding-name-conflicts). If you use your own company trademarks in the project, check that it does not cause any conflicts. [FOSSmarks](http://fossmarks.org/) is a practical guide to understanding trademarks in the context of free and open source projects.
* **Privacy:** Does your project collect data on users? "Phone home" to company servers? Your legal team can help you comply with company policies and external regulations.
If you're releasing your company's first open source project, the above is more than enough to get through (but don't worry, most projects shouldn't raise any major concerns).
Longer term, your legal team can do more to help the company get more from its involvement in open source, and stay safe:
* **Employee contribution policies:** Consider developing a corporate policy that specifies how your employees contribute to open source projects. A clear policy will reduce confusion among your employees and help them contribute to open source projects in the company's best interest, whether as part of their jobs or in their free time. A good example is Rackspace's [Model IP and Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **What to release:** [(Almost) everything?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) If your legal team understands and is invested in your company's open source strategy, they'll be best able to help rather than hinder your efforts.
* **Compliance:** Even if your company doesn't release any open source projects, it uses others' open source software. [Awareness and process](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) can prevent headaches, product delays, and lawsuits.
* **Patents:** Your company may wish to join the [Open Invention Network](https://www.openinventionnetwork.com/), a shared defensive patent pool to protect members' use of major open source projects, or explore other [alternative patent licensing](https://www.eff.org/document/hacking-patent-system-2016).
* **Governance:** Especially if and when it makes sense to move a project to a [legal entity outside of the company](../leadership-and-governance/#do-i-need-a-legal-entity-to-support-my-project).
================================================
FILE: _articles/pcm/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: pcm
untranslated: true
title: Maintaining Balance for Open Source Maintainers
description: Tips for self-care and avoiding burnout as a maintainer.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.
To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the Maintainer Community, allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.
So, what is personal ecology? As described by the Rockwood Leadership Institute, it involves "maintaining balance, pacing, and efficiency to sustain our energy over a lifetime." This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as [defined by the WHO](https://icd.who.int/browse/2025-01/foundation/en#129180281), is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.
By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.
## Tips for Self-Care and Avoiding Burnout as a Maintainer:
### Identify your motivations for working in open source
Take time to reflect on what parts of open source maintenance energizes you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it's the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.
### Reflect on what causes you to get out of balance and stressed out
It's important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:
* **Lack of positive feedback:** Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.
* **Not saying 'no':** It can be easy to take on more responsibilities than you should on an open source project. Whether it's from users, contributors, or other maintainers – we can't always live up to their expectations.
* **Working alone:** Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.
* **Not enough time or resources:** This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
* **Conflicting demands:** Open source is full of groups with different motivations, which can be difficult to navigate. If you're paid to do open source, your employer's interests can sometimes be at odds with the community.
### Watch out for signs of burnout
Can you keep up your pace for 10 weeks? 10 months? 10 years?
There are tools like the [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) from [@shaunagm](https://github.com/shaunagm) that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).
### What would you need to continue sustaining yourself and your community?
This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:
* **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.
You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
* **Explore funding:** Whether you're looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you're thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
* **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
* **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night's sleep can make a big difference in your ability to sustain your efforts long-term.
If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
* **Set boundaries:** You can't say yes to every request. This can be as simple as saying, "I can't get to that right now and I do not have plans to in the future," or listing out what you're interested in doing and not doing in the README. For instance, you could say: "I only merge PRs which have clearly listed reasons why they were made," or, "I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.
Learn to be firm in shutting down toxic behavior and negative interactions. It's okay to not give energy to things you don't care about.
Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.
## Additional Resources
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Contributors
Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/pcm/metrics.md
================================================
---
lang: pcm
title: Open Source Metrics
description: Make informed decisions to help your open source project thrive by measuring and tracking its success.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Why measure anything?
Data, when used wisely, can help you make better decisions as an open source maintainer.
With more information, you can:
* Understand how users respond to a new feature
* Figure out where new users come from
* Identify, and decide whether to support, an outlier use case or functionality
* Quantify your project's popularity
* Understand how your project is used
* Raise money through sponsorships and grants
For example, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) finds that Google Analytics helps them prioritize work:
> Homebrew is provided free of charge and run entirely by volunteers in their spare time. As a result, we do not have the resources to do detailed user studies of Homebrew users to decide on how best to design future features and prioritise current work. Anonymous aggregate user analytics allow us to prioritise fixes and features based on how, where and when people use Homebrew.
Popularity isn't everything. Everybody gets into open source for different reasons. If your goal as an open source maintainer is to show off your work, be transparent about your code, or just have fun, metrics may not be important to you.
If you _are_ interested in understanding your project on a deeper level, read on for ways to analyze your project's activity.
## Discovery
Before anybody can use or contribute back to your project, they need to know it exists. Ask yourself: _are people finding this project?_

If your project is hosted on GitHub, [you can view](https://help.github.com/articles/about-repository-graphs/#traffic) how many people land on your project and where they come from. From your project's page, click "Insights", then "Traffic". On this page, you can see:
* **Total page views:** Tells you how many times your project was viewed
* **Total unique visitors:** Tells you how many people viewed your project
* **Referring sites:** Tells you where visitors came from. This metric can help you figure out where to reach your audience and whether your promotion efforts are working.
* **Popular content:** Tells you where visitors go on your project, broken down by page views and unique visitors.
[GitHub stars](https://help.github.com/articles/about-stars/) can also help provide a baseline measure of popularity. While GitHub stars don't necessarily correlate to downloads and usage, they can tell you how many people are taking notice of your work.
You may also want to [track discoverability in specific places](https://opensource.com/business/16/6/pirate-metrics): for example, Google PageRank, referral traffic from your project's website, or referrals from other open source projects or websites.
## Usage
People are finding your project on this wild and crazy thing we call the internet. Ideally, when they see your project, they'll feel compelled to do something. The second question you'll want to ask is: _are people using this project?_
If you use a package manager, such as npm or RubyGems.org, to distribute your project, you may be able to track your project's downloads.
Each package manager may use a slightly different definition of "download", and downloads do not necessarily correlate to installs or use, but it provides some baseline for comparison. Try using [Libraries.io](https://libraries.io/) to track usage statistics across many popular package managers.
If your project is on GitHub, navigate again to the "Traffic" page. You can use the [clone graph](https://github.com/blog/1873-clone-graphs) to see how many times your project has been cloned on a given day, broken down by total clones and unique cloners.

If usage is low compared to the number of people discovering your project, there are two issues to consider. Either:
* Your project isn't successfully converting your audience, or
* You're attracting the wrong audience
For example, if your project lands on the front page of Hacker News, you'll probably see a spike in discovery (traffic), but a lower conversion rate, because you're reaching everyone on Hacker News. If your Ruby project is featured at a Ruby conference, however, you're more likely to see a high conversion rate from a targeted audience.
Try to figure out where your audience is coming from and ask others for feedback on your project page to figure out which of these two issues you're facing.
Once you know that people are using your project, you might want to try to figure out what they are doing with it. Are they building on it by forking your code and adding features? Are they using it for science or business?
## Retention
People are finding your project and they're using it. The next question you'll want to ask yourself is: _are people contributing back to this project?_
It's never too early to start thinking about contributors. Without other people pitching in, you risk putting yourself into an unhealthy situation where your project is _popular_ (many people use it) but not _supported_ (not enough maintainer time to meet demand).
Retention also requires an [inflow of new contributors](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), as previously active contributors will eventually move on to other things.
Examples of community metrics that you may want to regularly track include:
* **Total contributor count and number of commits per contributor:** Tells you how many contributors you have, and who's more or less active. On GitHub, you can view this under "Insights" -> "Contributors." Right now, this graph only counts contributors who have committed to the default branch of the repository.

* **First time, casual, and repeat contributors:** Helps you track whether you're getting new contributors, and whether they come back. (Casual contributors are contributors with a low number of commits. Whether that's one commit, less than five commits, or something else is up to you.) Without new contributors, your project's community can become stagnant.
* **Number of open issues and open pull requests:** If these numbers get too high, you might need help with issue triaging and code reviews.
* **Number of _opened_ issues and _opened_ pull requests:** Opened issues means somebody cares enough about your project to open an issue. If that number increases over time, it suggests people are interested in your project.
* **Types of contributions:** For example, commits, fixing typos or bugs, or commenting on an issue.
## Maintainer activity
Finally, you'll want to close the loop by making sure your project's maintainers are able to handle the volume of contributions received. The last question you'll want to ask yourself is: _am I (or are we) responding to our community?_
Unresponsive maintainers become a bottleneck for open source projects. If someone submits a contribution but never hears back from a maintainer, they may feel discouraged and leave.
[Research from Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) suggests that maintainer responsiveness is a critical factor in encouraging repeat contributions.
Consider [tracking how long it takes for you (or another maintainer) to respond to contributions](https://github.blog/2023-07-19-metrics-for-issues-pull-requests-and-discussions/), whether an issue or a pull request. Responding doesn't require taking action. It can be as simple as saying: _"Thanks for your submission! I'll review this within the next week."_
You could also measure the time it takes to move between stages in the contribution process, such as:
* Average time an issue remains open
* Whether issues get closed by PRs
* Whether stale issues get closed
* Average time to merge a pull request
## Use 📊 to learn about people
Understanding metrics will help you build an active, growing open source project. Even if you don't track every metric on a dashboard, use the framework above to focus your attention on the type of behavior that will help your project thrive.
[CHAOSS](https://chaoss.community/) is a welcoming, open source community focused on analytics, metrics and software for community health.
================================================
FILE: _articles/pcm/security-best-practices-for-your-project.md
================================================
---
lang: pcm
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/pcm/starting-a-project.md
================================================
---
lang: pcm
title: Starting an Open Source Project
description: Learn more about the world of open source and get ready to launch your own project.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## The "what" and "why" of open source
So you're thinking about getting started with open source? Congratulations! The world appreciates your contribution. Let's talk about what open source is and why people do it.
### What does "open source" mean?
When a project is open source, that means **anybody is free to use, study, modify, and distribute your project for any purpose.** These permissions are enforced through [an open source license](https://opensource.org/licenses).
Open source is powerful because it lowers the barriers to adoption and collaboration, allowing people to spread and improve projects quickly. Also because it gives users a potential to control their own computing, relative to closed source. For example, a business using open source software has the option to hire someone to make custom improvements to the software, rather than relying exclusively on a closed source vendor's product decisions.
_Free software_ refers to the same set of projects as _open source_. Sometimes you'll also see [these terms](https://en.wikipedia.org/wiki/Free_and_open-source_software) combined as "free and open source software" (FOSS) or "free, libre, and open source software" (FLOSS). _Free_ and _libre_ refer to freedom, [not price](#does-open-source-mean-free-of-charge).
### Why do people open source their work?
[There are many reasons](https://ben.balter.com/2015/11/23/why-open-source/) why a person or organization would want to open source a project. Some examples include:
* **Collaboration:** Open source projects can accept changes from anybody in the world. [Exercism](https://github.com/exercism/), for example, is a programming exercise platform with over 350 contributors.
* **Adoption and remixing:** Open source projects can be used by anyone for nearly any purpose. People can even use it to build other things. [WordPress](https://github.com/WordPress), for example, started as a fork of an existing project called [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparency:** Anyone can inspect an open source project for errors or inconsistencies. Transparency matters to governments like [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) or the [United States](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), regulated industries like banking or healthcare, and security software like [Let's Encrypt](https://github.com/letsencrypt).
Open source isn't just for software, either. You can open source everything from data sets to books. Check out [GitHub Explore](https://github.com/explore) for ideas on what else you can open source.
### Does open source mean "free of charge"?
One of open source's biggest draws is that it does not cost money. "Free of charge", however, is a byproduct of open source's overall value.
Because [an open source license requires](https://opensource.org/osd-annotated) that anyone can use, modify, and share your project for nearly any purpose, projects themselves tend to be free of charge. If the project cost money to use, anyone could legally make a copy and use the free version instead.
As a result, most open source projects are free, but "free of charge" is not part of the open source definition. There are ways to charge for open source projects indirectly through dual licensing or limited features, while still complying with the official definition of open source.
## Should I launch my own open source project?
The short answer is yes, because no matter the outcome, launching your own project is a great way to learn how open source works.
If you've never open sourced a project before, you might be nervous about what people will say, or whether anyone will notice at all. If this sounds like you, you're not alone!
Open source work is like any other creative activity, whether it's writing or painting. It can feel scary to share your work with the world, but the only way to get better is to practice - even if you don't have an audience.
If you're not yet convinced, take a moment to think about what your goals might be.
### Setting your goals
Goals can help you figure out what to work on, what to say no to, and where you need help from others. Start by asking yourself, _why am I open sourcing this project?_
There is no one right answer to this question. You may have multiple goals for a single project, or different projects with different goals.
If your only goal is to show off your work, you may not even want contributions, and even say so in your README. On the other hand, if you do want contributors, you'll invest time into clear documentation and making newcomers feel welcome.
As your project grows, your community may need more than just code from you. Responding to issues, reviewing code, and evangelizing your project are all important tasks in an open source project.
While the amount of time you spend on non-coding tasks will depend on the size and scope of your project, you should be prepared as a maintainer to address them yourself or find someone to help you.
**If you're part of a company open sourcing a project,** make sure your project has the internal resources it needs to thrive. You'll want to identify who's responsible for maintaining the project after launch, and how you'll share those tasks with your community.
If you need a dedicated budget or staffing for promotion, operations and maintaining the project, start those conversations early.
### Contributing to other projects
If your goal is to learn how to collaborate with others or understand how open source works, consider contributing to an existing project. Start with a project that you already use and love. Contributing to a project can be as simple as fixing typos or updating documentation.
If you're not sure how to get started as a contributor, check out our [How to Contribute to Open Source guide](../how-to-contribute/).
## Launching your own open source project
There is no perfect time to open source your work. You can open source an idea, a work in progress, or after years of being closed source.
Generally speaking, you should open source your project when you feel comfortable having others view, and give feedback on, your work.
No matter which stage you decide to open source your project, every project should include the following documentation:
* [Open source license](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Contributing guidelines](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code of conduct](../code-of-conduct/)
As a maintainer, these components will help you communicate expectations, manage contributions, and protect everyone's legal rights (including your own). They significantly increase your chances of having a positive experience.
If your project is on GitHub, putting these files in your root directory with the recommended filenames will help GitHub recognize and automatically surface them to your readers.
### Choosing a license
An open source license guarantees that others can use, copy, modify, and contribute back to your project without repercussions. It also protects you from sticky legal situations. **You must include a license when you launch an open source project.**
Legal work is no fun. The good news is that you can copy and paste an existing license into your repository. It will only take a minute to protect your hard work.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), and [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) are the most popular open source licenses, but [there are other options](https://choosealicense.com) to choose from.
When you create a new project on GitHub, you are given the option to select a license. Including an open source license will make your GitHub project open source.

If you have other questions or concerns around the legal aspects of managing an open source project, [we've got you covered](../legal/).
### Writing a README
READMEs do more than explain how to use your project. They also explain why your project matters, and what your users can do with it.
In your README, try to answer the following questions:
* What does this project do?
* Why is this project useful?
* How do I get started?
* Where can I get more help, if I need it?
You can use your README to answer other questions, like how you handle contributions, what the goals of the project are, and information about licenses and attribution. If you don't want to accept contributions, or your project is not yet ready for production, write this information down.
Sometimes, people avoid writing a README because they feel like the project is unfinished, or they don't want contributions. These are all very good reasons to write one.
For more inspiration, try using @dguo's ["Make a README" guide](https://www.makeareadme.com/) or @PurpleBooth's [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) to write a complete README.
When you include a README file in the root directory, GitHub will automatically display it on the repository homepage.
### Writing your contributing guidelines
A CONTRIBUTING file tells your audience how to participate in your project. For example, you might include information on:
* How to file a bug report (try using [issue and pull request templates](https://github.com/blog/2111-issue-and-pull-request-templates))
* How to suggest a new feature
* How to set up your environment and run tests
In addition to technical details, a CONTRIBUTING file is an opportunity to communicate your expectations for contributions, such as:
* The types of contributions you're looking for
* Your roadmap or vision for the project
* How contributors should (or should not) get in touch with you
Using a warm, friendly tone and offering specific suggestions for contributions (such as writing documentation, or making a website) can go a long way in making newcomers feel welcomed and excited to participate.
For example, [Active Admin](https://github.com/activeadmin/activeadmin/) starts [its contributing guide](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) with:
> First off, thank you for considering contributing to Active Admin. It's people like you that make Active Admin such a great tool.
In the earliest stages of your project, your CONTRIBUTING file can be simple. You should always explain how to report bugs or file issues, and any technical requirements (like tests) to make a contribution.
Over time, you might add other frequently asked questions to your CONTRIBUTING file. Writing down this information means fewer people will ask you the same questions over and over again.
For more help with writing your CONTRIBUTING file, check out @nayafia's [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) or @mozilla's ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/).
Link to your CONTRIBUTING file from your README, so more people see it. If you [place the CONTRIBUTING file in your project's repository](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub will automatically link to your file when a contributor creates an issue or opens a pull request.

### Establishing a code of conduct
Finally, a code of conduct helps set ground rules for behavior for your project's participants. This is especially valuable if you're launching an open source project for a community or company. A code of conduct empowers you to facilitate healthy, constructive community behavior, which will reduce your stress as a maintainer.
For more information, check out our [Code of Conduct guide](../code-of-conduct/).
In addition to communicating _how_ you expect participants to behave, a code of conduct also tends to describe who these expectations apply to, when they apply, and what to do if a violation occurs.
Much like open source licenses, there are also emerging standards for codes of conduct, so you don't have to write your own. The [Contributor Covenant](https://contributor-covenant.org/) is a drop-in code of conduct that is used by [over 40,000 open source projects](https://www.contributor-covenant.org/adopters), including Kubernetes, Rails, and Swift. No matter which text you use, you should be prepared to enforce your code of conduct when necessary.
Paste the text directly into a CODE_OF_CONDUCT file in your repository. Keep the file in your project's root directory so it's easy to find, and link to it from your README.
## Naming and branding your project
Branding is more than a flashy logo or catchy project name. It's about how you talk about your project, and who you reach with your message.
### Choosing the right name
Pick a name that is easy to remember and, ideally, gives some idea of what the project does. For example:
* [Sentry](https://github.com/getsentry/sentry) monitors apps for crash reporting
* [Thin](https://github.com/macournoyer/thin) is a fast and simple Ruby web server
If you're building upon an existing project, using their name as a prefix can help clarify what your project does (for example, [node-fetch](https://github.com/bitinn/node-fetch) brings `window.fetch` to Node.js).
Consider clarity above all. Puns are fun, but remember that some jokes might not translate to other cultures or people with different experiences from you. Some of your potential users might be company employees: you don't want to make them uncomfortable when they have to explain your project at work!
### Avoiding name conflicts
[Check for open source projects with a similar name](http://ivantomic.com/projects/ospnc/), especially if you share the same language or ecosystem. If your name overlaps with a popular existing project, you might confuse your audience.
If you want a website, Twitter handle, or other properties to represent your project, make sure you can get the names you want. Ideally, [reserve those names now](https://instantdomainsearch.com/) for peace of mind, even if you don't intend to use them just yet.
Make sure that your project's name doesn't infringe upon any trademarks. A company might ask you to take down your project later on, or even take legal action against you. It's just not worth the risk.
You can check the [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) for trademark conflicts. If you're at a company, this is one of the things your [legal team can help you with](../legal/).
Finally, do a quick Google search for your project name. Will people be able to easily find your project? Does something else appear in the search results that you wouldn't want them to see?
### How you write (and code) affects your brand, too!
Throughout the life of your project, you'll do a lot of writing: READMEs, tutorials, community documents, responding to issues, maybe even newsletters and mailing lists.
Whether it's official documentation or a casual email, your writing style is part of your project's brand. Consider how you might come across to your audience and whether that is the tone you wish to convey.
Using warm, inclusive language (such as "them", even when referring to the single person) can go a long way in making your project feel welcoming to new contributors. Stick to simple language, as many of your readers may not be native English speakers.
Beyond how you write words, your coding style may also become part of your project's brand. [Angular](https://angular.io/guide/styleguide) and [jQuery](https://contribute.jquery.org/style-guide/js/) are two examples of projects with rigorous coding styles and guidelines.
It isn't necessary to write a style guide for your project when you're just starting out, and you may find that you enjoy incorporating different coding styles into your project anyway. But you should anticipate how your writing and coding style might attract or discourage different types of people. The earliest stages of your project are your opportunity to set the precedent you wish to see.
## Your pre-launch checklist
Ready to open source your project? Here's a checklist to help. Check all the boxes? You're ready to go! [Click "publish"](https://help.github.com/articles/making-a-private-repository-public/) and pat yourself on the back.
**Documentation**
**Code**
**People**
If you're an individual:
If you're a company or organization:
## You did it!
Congratulations on open sourcing your first project. No matter the outcome, working in public is a gift to the community. With every commit, comment, and pull request, you're creating opportunities for yourself and for others to learn and grow.
================================================
FILE: _articles/pl/best-practices.md
================================================
---
lang: pl
title: Najlepsze praktyki dla opiekunów
description: Ułatwienie życia jako opiekuna oprogramowania typu open source, od dokumentowania procesów po wykorzystanie swojej społeczności.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Co to znaczy być opiekunem?
Jeśli prowadzisz projekt typu open source, z którego korzysta wiele osób, być może zauważyłeś, że mniej kodujesz i bardziej reagujesz na problemy.
Na wczesnych etapach projektu eksperymentujesz z nowymi pomysłami i podejmujesz decyzje w oparciu o to, czego chcesz. Gdy Twój projekt zyskuje na popularności, będziesz coraz częściej współpracować z użytkownikami i współpracownikami.
Utrzymanie projektu wymaga czegoś więcej niż kodu. Te zadania są często nieoczekiwane, ale są równie ważne dla rozwijającego się projektu. Zebraliśmy kilka sposobów, aby ułatwić Ci życie, od dokumentowania procesów po wykorzystanie swojej społeczności.
## Dokumentowanie procesów
Zapisywanie rzeczy jest jedną z najważniejszych rzeczy, które możesz zrobić jako opiekun.
Dokumentacja nie tylko wyjaśnia twoje myślenie, ale pomaga innym ludziom zrozumieć, czego potrzebujesz lub oczekujesz, zanim jeszcze zapytają.
Zapisywanie rzeczy ułatwia powiedzenie „nie”, gdy coś nie pasuje do twojego zakresu. Ułatwia także ludziom wskakiwanie i pomoc. Nigdy nie wiadomo, kto może czytać lub korzystać z twojego projektu.
Nawet jeśli nie używasz pełnych akapitów, zapisywanie wypunktowanych punktów jest lepsze, niż w ogóle nie pisanie.
Pamiętaj, aby aktualizować dokumentację. Jeśli nie zawsze możesz to zrobić, usuń nieaktualną dokumentację lub wskaż, że jest nieaktualna, aby współtwórcy wiedzieli, że aktualizacje są mile widziane.
### Zapisz wizję swojego projektu
Zacznij od spisania celów swojego projektu. Dodaj je do README lub utwórz osobny plik o nazwie VISION. Jeśli istnieją inne artefakty, które mogą pomóc, na przykład plan projektu, upublicznij je.
Posiadanie jasnej, udokumentowanej wizji pozwala Ci się skoncentrować i pomaga uniknąć „przesuwania się zakresu” po wkładach innych osób.
Na przykład @lord odkrył, że wizja projektu pomogła mu ustalić, na które prośby spędzić czas. Jako nowy opiekun żałował, że nie trzymał się zakresu swojego projektu, kiedy otrzymał swoją pierwszą prośbę o funkcję [Slate](https://github.com/lord/slate).
### Przekaż swoje oczekiwania
Zapisywanie zasad może być denerwujące. Czasami możesz mieć wrażenie, że pilnujesz zachowania innych ludzi lub tracisz całą zabawę.
Napisane i rzetelnie egzekwowane dobre zasady, jednak upoważniają opiekunów. Zapobiegają wciągnięciu cię w robienie rzeczy, których nie chcesz robić.
Większość ludzi, którzy natkną się na twój projekt, nie wie nic o tobie ani twoich okolicznościach. Mogą założyć, że zarabiasz za pracę nad tym, zwłaszcza jeśli jest to coś, z czego regularnie korzystają i na czym polegają. Może w pewnym momencie poświęcałeś dużo czasu na swój projekt, ale teraz jesteś zajęty nową pracą lub członkiem rodziny.
Wszystko to jest w porządku! Upewnij się tylko, że inni wiedzą o tym.
Jeśli utrzymywanie projektu jest prowadzone w niepełnym wymiarze godzin lub odbywa się na zasadzie wolontariatu, bądź szczery, ile masz czasu. To nie jest to samo, ile czasu wymaga projekt lub ile czasu inni chcą spędzić.
Oto kilka zasad, które warto zapisać:
* Jak wkład jest sprawdzany i akceptowany (_Czy potrzebują testów? Szablon problemu?_)
* Rodzaje wkładów, które zaakceptujesz (_Czy potrzebujesz pomocy tylko z pewną częścią kodu?_)
* Kiedy należy podjąć dalsze działania (_na przykład: „Możesz oczekiwać odpowiedzi od opiekuna w ciągu 7 dni. Jeśli do tej pory nic nie słyszysz, możesz pingować wątek."_)
* Ile czasu spędzasz na projekcie (_na przykład „Spędzamy tylko około 5 godzin tygodniowo przy tym projekcie”_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), oraz [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) są przykładami projektów z podstawowymi zasadami dla opiekunów i współpracowników.
### Utrzymuj komunikację publiczną
Nie zapomnij też udokumentować swoich interakcji. Gdziekolwiek możesz, informuj publicznie o swoim projekcie. Jeśli ktoś próbuje skontaktować się z tobą prywatnie w celu omówienia prośby o dodanie funkcji lub potrzeby wsparcia, uprzejmie skieruj go do publicznego kanału komunikacji, takiego jak lista mailingowa lub narzędzie do śledzenia problemów.
Jeśli spotykasz się z innymi opiekunami lub podejmujesz poważną decyzję na osobności, udokumentuj te rozmowy publicznie, nawet jeśli to tylko publikowanie notatek.
W ten sposób każdy, kto dołączy do Twojej społeczności, będzie miał dostęp do tych samych informacji, co ktoś, kto był tam od lat.
## Naucz się mówić nie
Zapisałeś wszystko. Idealnie byłoby, gdyby każdy przeczytał twoją dokumentację, ale w rzeczywistości będziesz musiał przypomnieć innym, że ta wiedza istnieje.
Jednak spisanie wszystkiego pomaga zdepersonalizować sytuacje, gdy trzeba egzekwować swoje reguły.
Mówienie 'nie' nie jest łatwe, ale _"Twój wkład nie spełnia kryteriów tego projektu"_ brzmi mniej personalnie niż _"Nie podoba mi się twój wkład"_.
Powiedzenie „nie” dotyczy wielu sytuacji, w których spotkasz się jako opiekun: żądania funkcji, które nie pasują do zakresu, ktoś wykoleiający dyskusję, wykonujący niepotrzebną pracę dla innych.
### Zachowaj przyjazną rozmowę
Jednym z najważniejszych miejsc, w których ćwiczysz, mówienie „nie”, jest issue i pull request queue. Jako opiekun projektu nieuchronnie otrzymasz sugestie, których nie chcesz zaakceptować.
Może wkład zmienia zakres projektu lub nie pasuje do twojej wizji. Być może pomysł jest dobry, ale wdrożenie jest słabe.
Bez względu na powód, taktycznie można obsługiwać wkłady, które nie spełniają standardów twojego projektu.
Jeśli otrzymasz wkład, którego nie chcesz zaakceptować, pierwszą reakcją może być zignorowanie go lub udawanie, że go nie widziałeś. Może to zaszkodzić uczuciom drugiej osoby, a nawet zdemotywować innych potencjalnych współpracowników w Twojej społeczności.
Nie zostawiaj niechcianego wkładu otwartego, ponieważ czujesz się winny lub chcesz być miły. Z czasem Twoje problemy i PR bez odpowiedzi sprawią, że praca nad projektem będzie o wiele bardziej stresująca i zastraszająca.
Lepiej natychmiast zamknąć wpisy, o których wiesz, że nie chcesz ich akceptować. Jeśli twój projekt ma już duże zaległości, @steveklabnik ma sugestie dotyczące [jak skutecznie segregować problemy](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Po drugie, ignorowanie wkładów wysyła negatywny sygnał do społeczności. Wkład w projekt może być zastraszający, szczególnie jeśli jest to pierwszy raz. Nawet jeśli nie zaakceptujesz ich wkładu, potwierdź osobę, która za tym stoi i podziękuj jej za zainteresowanie. To wielki komplement!
Jeśli nie chcesz przyjmować wkładu:
* **Podziękuj im** za ich wkład
* **Wyjaśnij, dlaczego to nie pasuje** w zakresie projektu i zaoferuj jasne sugestie ulepszeń, jeśli możesz. Bądź miły, ale stanowczy.
* **Link do odpowiedniej dokumentacji**, jeśli ją masz. Jeśli zauważysz powtarzające się prośby o rzeczy, których nie chcesz akceptować, dodaj je do swojej dokumentacji, aby uniknąć powtarzania się.
* **Zamknij request**
Aby odpowiedzieć, nie powinieneś potrzebować więcej niż 1-2 zdań. Na przykład, gdy użytkownik [celery](https://github.com/celery/celery/) zgłosił błąd związany z systemem Windows, @berkerpeksag [odpowiedział z](https://github.com/celery/celery/issues/3383):

Jeśli myśl o mówieniu „nie” przeraża cię, nie jesteś sam. Tak jak @jessfraz ['put it'](https://blog.jessfraz.com/post/the-art-of-closing/):
> I've talked to maintainers from several different open source projects, Mesos, Kubernetes, Chromium, and they all agree one of the hardest parts of being a maintainer is saying "No" to patches you don't want.
Nie czuj się winny, że nie chcesz zaakceptować czyichś wkładów. Pierwsza zasada open source, [według](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"'Nie' jest tymczasowe, 'tak' jest na zawsze."_ Chociaż zrozumienie entuzjazmu innej osoby jest dobrą rzeczą, odrzucenie wkładu nie jest tym samym, co odrzucenie osoby stojącej za nim.
Ostatecznie, jeśli wkład nie jest wystarczająco dobry, nie masz obowiązku go zaakceptować. Bądź uprzejmy i elastyczny, gdy ludzie wnoszą swój wkład w projekt, ale akceptuj tylko zmiany, które według ciebie poprawią Twój projekt. Im częściej ćwiczysz mówienie „nie”, tym jest łatwiej. Obiecuję.
### Bądź proaktywny
Aby przede wszystkim zmniejszyć liczbę niechcianych wkładów, wyjaśnij proces składania i przyjmowania wkładów w projekcie w przewodniku.
Jeśli otrzymujesz zbyt wiele wkładów niskiej jakości, poproś, aby autorzy wykonali wcześniej trochę pracy, na przykład:
* Wypełnij problem lub szablon/listę kontrolną PR
* Otwórz problem przed przesłaniem PR
Jeśli nie będą przestrzegać twoich zasad, natychmiast zamknij problem i wskaż dokumentację.
Chociaż takie podejście może początkowo wydawać się niemiłe, bycie proaktywnym jest w rzeczywistości dobre dla obu stron. Zmniejsza to szansę, że ktoś poświęci wiele straconych godzin pracy na żądanie ściągnięcia, którego nie zamierzasz zaakceptować. I ułatwia zarządzanie twoim obciążeniem pracą.
Czasami, gdy odmówisz, twój potencjalny współpracownik może się zdenerwować lub skrytykować twoją decyzję. Jeśli ich zachowanie stanie się wrogie, [podejmij kroki w celu rozładowania sytuacji](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) lub nawet usuń ze swojej społeczności, jeśli nie chcą konstruktywnie współpracować.
### Objęcie mentoringiem
Być może ktoś w Twojej społeczności regularnie przesyła materiały, które nie spełniają standardów twojego projektu. Wielokrotne odrzucanie przez obie strony może być frustrujące.
Jeśli widzisz, że ktoś jest entuzjastycznie nastawiony do twojego projektu, ale potrzebuje odrobiny dopracowania, bądź cierpliwy. Wyjaśnij jasno w każdej sytuacji, dlaczego ich wkład nie spełnia oczekiwań projektu. Spróbuj wskazać im łatwiejsze lub mniej dwuznaczne zadanie, takie jak problem oznaczony jako _"good first issue,"_, aby zmoczyć stopy. Jeśli masz czas, zastanów się nad ich mentoringiem poprzez ich pierwszy wkład lub znajdź kogoś w swojej społeczności, kto mógłby być ich mentorem.
## Wykorzystaj swoją społeczność
Nie musisz robić wszystkiego sam. Społeczność twojego projektu nie istnieje bez powodu! Nawet jeśli nie masz jeszcze aktywnej społeczności współautorów, jeśli masz wielu użytkowników, włącz ich do pracy.
### Udostępnij obciążenie pracą
Jeśli szukasz innych osób, zacznij od pytania.
Jednym ze sposobów na pozyskanie nowych współpracowników jest jawne [label issues które są wystarczająco proste dla początkujących](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub wyświetli te problemy w różnych miejscach platformy, zwiększając ich widoczność.
Gdy zobaczysz, że nowi współautorzy wnoszą powtarzający się wkład, rozpoznaj ich pracę, oferując większą odpowiedzialność. Udokumentuj, w jaki sposób inni mogą stać się przywódcami, jeśli chcą.
Zachęcanie innych do [współdzielenia własności projektu](../building-community/#udostępnij-własność-swojego-projektu) może znacznie zmniejszyć własne obciążenie pracą, jak odkrył @lmccart w swoim projekcie, [p5.js](https://github.com/processing/p5.js).
Jeśli musisz odejść od projektu, albo na chwilę, albo na stałe, nie wstydź się poprosić kogoś innego o przejęcie go.
Jeśli inni ludzie entuzjastycznie podchodzą do jego kierunku, daj im dostęp lub formalnie przekaż kontrolę komuś innemu. Jeśli ktoś rozwidlił twój projekt i aktywnie utrzymuje go w innym miejscu, rozważ połączenie z forkiem z oryginalnego projektu. To wspaniałe, że tak wiele osób chce, aby Twój projekt przetrwał!
@progrium [znalazł to](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) dokumentowanie wizji swojego projektu, [Dokku](https://github.com/dokku/dokku), pomógł utrzymać te cele nawet po odejściu z projektu:
> I wrote a wiki page describing what I wanted and why I wanted it. For some reason it came as a surprise to me that the maintainers started moving the project in that direction! Did it happen exactly how I'd do it? Not always. But it still brought the project closer to what I wrote down.
### Pozwól innym zbudować potrzebne im rozwiązania
Jeśli potencjalny współpracownik ma inne zdanie na temat tego, co powinien zrobić Twój projekt, możesz delikatnie zachęcić go do pracy nad własnym forkiem.
Forkowanie projektu nie musi być złą rzeczą. Możliwość kopiowania i modyfikowania projektów jest jedną z najlepszych rzeczy w open source. Zachęcanie członków społeczności do pracy nad własnym forkiem może zapewnić kreatywny rynek, którego potrzebują, bez sprzeczności z wizją projektu.
To samo dotyczy użytkownika, który naprawdę chce rozwiązania, które po prostu nie ma wystarczającej przepustowości do zbudowania. Oferowanie interfejsów API i customization hooks może pomóc innym w zaspokojeniu ich własnych potrzeb, bez konieczności bezpośredniej modyfikacji źródła. @orta [znalazł to](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) zachęcające wtyczki dla CocoaPods doprowadziły do "jednych z najbardziej interesujących pomysłów":
> It's almost inevitable that once a project becomes big, maintainers have to become a lot more conservative about how they introduce new code. You become good at saying "no", but a lot of people have legitimate needs. So, instead you end up converting your tool into a platform.
## Sprowadź roboty
Tak jak istnieją zadania, w których inni mogą ci pomóc, istnieją również zadania, których żaden człowiek nigdy nie powinien wykonywać. Roboty są twoim przyjacielem. Użyj ich, aby ułatwić Ci życie jako opiekunowi.
### Wymagaj testów i innych kontroli w celu poprawy jakości kodu
Jednym z najważniejszych sposobów automatyzacji projektu jest dodanie testów.
Testy pomagają współpracownikom mieć pewność, że niczego nie zniszczą. Ułatwiają także szybkie przeglądanie i przyjmowanie wkładów. Im bardziej jesteś responsywny, tym bardziej zaangażowana może być twoja społeczność.
Skonfiguruj automatyczne testy, które będą przeprowadzane na wszystkich przychodzących kontrybucjach, i upewnij się, że twoje testy mogą być łatwo uruchomione lokalnie przez autorów. Wymagaj, aby wszystkie elementy kodu pomyślnie przeszły testy, zanim będą mogły zostać przesłane. Pomożesz ustalić minimalny standard jakości wszystkich zgłoszeń. [Wymagane kontrole statusu](https://help.github.com/articles/about-required-status-checks/) na GitHub mogą pomóc zapewnić, że żadna zmiana nie zostanie scalona bez pozytywnego wyniku testów.
Jeśli dodasz testy, wyjaśnij, jak działają w pliku CONTRIBUTING.
### Użyj narzędzi do automatyzacji podstawowych podtrzymujących zadań
Dobra wiadomość o utrzymaniu popularnego projektu polega na tym, że inni opiekunowie prawdopodobnie napotkali podobne problemy i opracowali dla niego rozwiązanie.
Dostępnych jest [wiele dostępnych narzędzi](https://github.com/showcases/tools-for-open-source) aby zautomatyzować niektóre aspekty prac konserwacyjnych. Kilka przykładów:
* [semantic-release](https://github.com/semantic-release/semantic-release) automatyzuje twoje wydania
* [mention-bot](https://github.com/facebook/mention-bot) wymienia potencjalnych recenzentów dla pull requestów
* [Danger](https://github.com/danger/danger) pomaga zautomatyzować code review
* [no-response](https://github.com/probot/no-response) zamyka issues gdzie autor nie odpowiedział na request lub więcej informacji
* [dependabot](https://github.com/dependabot) sprawdza pliki zależności każdego dnia pod kątem nieaktualnych wymagań i otwiera indywidualne pull requesty dla każdego, kogo znajdzie
W przypadku raportów o błędach i innych typowych treści GitHub ma [Issue Templates and Pull Request Templates](https://github.com/blog/2111-issue-and-pull-request-templates), które możesz utworzyć, aby usprawnić otrzymywaną komunikację. @TalAter stworzył [Choose Your Own Adventure guide](https://www.talater.com/open-source-templates/#/) aby pomóc Ci napisać swój issue i szablony PR.
Aby zarządzać powiadomieniami e-mail, możesz skonfigurować [filtry e-mail](https://github.com/blog/2203-email-updates-about-your-own-activity) aby organizować według priorytetu.
Jeśli chcesz być nieco bardziej zaawansowany, przewodniki po stylach i strzały mogą ujednolicić wkład projektu i ułatwić jego przeglądanie i akceptowanie.
Jeśli jednak twoje standardy są zbyt skomplikowane, mogą zwiększyć bariery dla wkładu. Upewnij się, że dodajesz tylko wystarczającą liczbę zasad, aby ułatwić wszystkim życie.
Jeśli nie masz pewności, jakich narzędzi użyć, sprawdź, co robią inne popularne projekty, zwłaszcza te w Twoim ekosystemie. Na przykład, jak wygląda proces wkładu dla innych modułów Node? Korzystanie z podobnych narzędzi i podejść sprawi, że proces będzie lepiej znany docelowym współpracownikom.
## Można wcisnąć pauzę
Kiedyś praca open source przyniosła ci radość. Może teraz zaczyna sprawiać, że czujesz się jako unikający lub winny.
Być może czujesz się przytłoczony lub masz coraz większy lęk, gdy myślisz o swoich projektach. W międzyczasie narastają problemy i pull requesty.
Wypalenie jest prawdziwym i wszechobecnym problemem w pracy open source, szczególnie wśród opiekunów. Jako opiekun, twoje szczęście jest niezbywalnym wymogiem przetrwania każdego projektu typu open source.
Chociaż powinno to być oczywiste, zrób sobie przerwę! Nie powinieneś czekać, aż poczujesz się wypalony, zrób wakacje. @brettcannon, główny programista Pythona postanowił wziąć [miesięczne wakacje](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) po 14 latach wolontariatu OSS.
Podobnie jak w przypadku każdego innego rodzaju pracy, regularne przerwy sprawią, że będziesz odświeżony, szczęśliwy i podekscytowany swoją pracą.
Czasami trudno jest zrobić sobie przerwę w pracy nad oprogramowaniem open source, gdy wydaje się, że wszyscy cię potrzebują. Ludzie mogą nawet próbować sprawić, byś poczuł się winny za odejście.
Staraj się znaleźć wsparcie dla użytkowników i społeczności, gdy jesteś z dala od projektu. Jeśli nie możesz znaleźć potrzebnego wsparcia, zrób sobie przerwę. Komunikuj się, gdy nie będziesz dostępny, aby ludzie nie byli zdezorientowani brakiem reakcji.
Robienie przerw dotyczy nie tylko wakacji. Jeśli nie chcesz wykonywać pracy typu open source w weekendy lub w godzinach pracy, przekaż te oczekiwania innym, aby nie przeszkadzali.
## Najpierw zadbaj o siebie!
Utrzymanie popularnego projektu wymaga innych umiejętności niż wcześniejsze etapy rozwoju, ale jest nie mniej satysfakcjonujące. Jako opiekun ćwiczysz umiejętności przywódcze i osobiste na poziomie, którego niewielu ludzi może doświadczyć. Chociaż nie zawsze jest to łatwe do zarządzania, ustalanie wyraźnych granic i przyjmowanie tylko tego, z czym czujesz się komfortowo, pomoże ci pozostać szczęśliwym, odświeżonym i produktywnym.
================================================
FILE: _articles/pl/building-community.md
================================================
---
lang: pl
title: Budowanie przyjaznych społeczności
description: Zbuduj społeczność, która zachęca ludzi do korzystania, przyczyniania się i ewangelizacji twojego projektu.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Przygotowywanie projektu do sukcesu
Uruchomiłeś swój projekt, rozpowszechniasz informacje, a ludzie to sprawdzają. Niesamowite! Jak możesz ich zatrzymać na dłużej?
Przyjazna społeczność to inwestycja w przyszłość i reputację twojego projektu. Jeśli Twój projekt dopiero zaczyna widzieć swój pierwszy wkład, zacznij od dawania wczesnym współpracownikom pozytywnych wrażeń i ułatw im powrót.
### Spraw, by ludzie czuli się mile widziani
Jednym ze sposobów myślenia o społeczności twojego projektu jest to, co @MikeMcQuaid nazywa [ścieżką współtwórcy](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

Tworząc społeczność, zastanów się, jak teoretycznie osoba na górze ścieżki (potencjalny użytkownik) może zejść na dół (aktywny opiekun). Twoim celem jest zmniejszenie tarcia na każdym etapie korzystania z pomocy. Kiedy ludzie mają łatwe wygrane, będą czuć się zachęcani do robienia więcej.
Zacznij od dokumentacji:
* **Ułatw innym korzystanie z Twojego projektu.** [Przyjazny README](../starting-a-project/#pisanie-readme) jasne przykłady kodu ułatwią rozpoczęcie pracy każdemu, kto wyląduje na Twoim projekcie.
* **Wyjaśnij, jak wnieść wkład**, używając [twój plik CONTRIBUTING](../starting-a-project/#pisanie-swoich-wytycznych) i aktualizując swoje issues.
* **Dobre pierwsze issues**: Aby pomóc nowym autorom w rozpoczęciu pracy, rozważ wyraźnie [problemy z etykietowaniem, które są na tyle proste, że początkujący mogą je rozwiązać](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub wyświetli te problemy w różnych miejscach na platformie, zwiększając użyteczny wkład i zmniejszając tarcie ze strony użytkowników zajmujących się problemami, które są zbyt trudne dla ich poziomu.
[Ankieta GitHuba 2017 Open Source](http://opensourcesurvey.org/2017/) wykazała, że niekompletna lub myląca dokumentacja jest największym problemem dla użytkowników open source. Dobra dokumentacja zachęca ludzi do interakcji z Twoim projektem. W końcu ktoś otworzy problem lub wyciągnie prośbę. Użyj tych interakcji jako okazji do przeniesienia ich w dół ścieżki.
* **Gdy ktoś nowy wyląduje w twoim projekcie, podziękuj mu za zainteresowanie!** Wystarczy jedno negatywne doświadczenie, aby ktoś już nie chciał wracać.
* **Reaguj szybko.** Jeśli nie odpowiesz na ich problem przez miesiąc, są duże szanse, że zapomnną o twoim projekcie.
* **Miej otwarty umysł na typy wkładów, które akceptujesz.** Wielu autorów zaczyna od zgłoszenia błędu lub drobnej poprawki. Istnieje [wiele sposobów na wniesienie wkładu](../how-to-contribute/#co-to-znaczy-przyczynić-się) do projektu. Pozwól ludziom pomóc, jak chcą pomóc.
* **Jeśli masz wkład, z którym się nie zgadzasz,** podziękuj im za pomysł i [wyjaśnij dlaczego](../best-practices/#naucz-się-mówić-nie) to nie pasuje do zakresu projektu, zawierając link do odpowiedniej dokumentacji.
Większość współpracowników open source to „przypadkowi współpracownicy”: ludzie, którzy przyczyniają się do projektu tylko sporadycznie. Przypadkowy współpracownik może nie mieć czasu, aby w pełni przyspieszyć Twój projekt, więc Twoim zadaniem jest ułatwienie im wnoszenia wkładu.
Zachęcanie innych współpracowników to także inwestycja w ciebie. Gdy umożliwisz swoim największym fanom bieganie z pracą, którą są podekscytowani, zmniejszysz presję, aby robić wszystko sam.
### Wszystko dokumentuj
Kiedy zaczynasz nowy projekt, naturalne może być zachowanie prywatności w pracy. Ale projekty open source kwitną, gdy dokumentujesz proces publicznie.
Kiedy spisujesz rzeczy, więcej osób może brać udział na każdym etapie. Możesz uzyskać pomoc dotyczącą czegoś, o czym nawet nie wiedziałeś, że potrzebujesz.
Zapisywanie rzeczy to coś więcej niż dokumentacja techniczna. Za każdym razem, gdy poczujesz potrzebę coś zapisać lub prywatnie przedyskutować swój projekt, zadaj sobie pytanie, czy możesz to upublicznić.
Zachowaj przejrzystość na temat planu projektu, rodzajów wkładów, których szukasz, sposobu ich sprawdzania lub powodów, dla których podjąłeś określone decyzje.
Jeśli zauważysz, że wielu użytkowników napotyka ten sam problem, udokumentuj odpowiedzi w pliku README.
W przypadku spotkań rozważ opublikowanie swoich notatek lub treści w odpowiednim wydaniu. Uzyskane informacje zwrotne mogą Cię zaskoczyć.
Dokumentowanie wszystkiego dotyczy także wykonywanej pracy. Jeśli pracujesz nad istotną aktualizacją projektu, prześlij ją do pull requesta i oznacz jako trwającą (WIP). W ten sposób inne osoby mogą wcześnie poczuć się zaangażowane w ten proces.
### Bądź responsywny
Gdy [promujesz swój projekt](../finding-users/), ludzie będą mieli dla ciebie opinie. Mogą mieć pytania dotyczące sposobu działania lub potrzebują pomocy na początku.
Postaraj się reagować, gdy ktoś zgłosi problem, prześle pull request lub zadaje pytanie o Twój projekt. Gdy odpowiesz szybko, ludzie poczują, że są częścią dialogu i będą bardziej entuzjastycznie nastawieni do uczestnictwa w projekcie.
Nawet jeśli nie możesz natychmiast przejrzeć żądania, jego wcześniejsze potwierdzenie pomaga zwiększyć zaangażowanie. Oto jak @tdreyno odpowiedział na pull request na [Middleman](https://github.com/middleman/middleman/pull/1466):

[Badanie Mozilli wykazało, że](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) autorzy, którzy otrzymali recenzje kodu w ciągu 48 godzin, uzyskali znacznie wyższą stopę zwrotu i powtarzalny wkład.
Rozmowy na temat Twojego projektu mogą odbywać się również w innych miejscach w Internecie, takich jak Stack Overflow, Twitter lub Reddit. Możesz skonfigurować powiadomienia w niektórych z tych miejsc, aby otrzymywać powiadomienia, gdy ktoś wspomina o Twoim projekcie.
### Daj społeczności możliwość gromadzenia się
Istnieją dwa powody, aby dać społeczności możliwość gromadzenia się.
Pierwszy powód jest dla nich. Pomóż ludziom się poznać. Ludzie o wspólnych zainteresowaniach będą chcieli o tym porozmawiać. A gdy komunikacja jest publiczna i dostępna, każdy może czytać archiwa, aby zapoznać się z projektem i wziąć w nim udział.
Drugi powód jest dla ciebie. Jeśli nie dasz ludziom publicznego miejsca na rozmowę o twoim projekcie, prawdopodobnie skontaktują się z tobą bezpośrednio. Na początku może wydawać się dość łatwe odpowiadanie na prywatne wiadomości „tylko raz”. Ale z czasem, szczególnie jeśli twój projekt stanie się popularny, poczujesz się wyczerpany. Oprzyj się pokusie prywatnego komunikowania się z ludźmi na temat twojego projektu. Zamiast tego skieruj ich do wyznaczonego kanału publicznego.
Komunikacja publiczna może być tak prosta, jak nakłanianie ludzi do otwarcia problemu zamiast bezpośredniego wysyłania e-maili lub komentowania na blogu. Możesz także skonfigurować listę mailingową lub utworzyć konto na Twitterze, Slack lub kanał IRC, aby ludzie mogli rozmawiać o twoim projekcie. Lub wypróbuj wszystkie powyższe!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) co drugi tydzień przeznacza godziny urzędowania, aby pomóc członkom społeczności:
> Kops also has time set aside every other week to offer help and guidance to the community. Kops maintainers have agreed to set aside time specifically dedicated to working with newcomers, helping with PRs, and discussing new features.
Ważnymi wyjątkami od komunikacji publicznej są: 1) kwestie bezpieczeństwa i 2) poufny kodeks postępowania. Zawsze powinieneś mieć możliwość zgłaszania tych problemów prywatnie. Jeśli nie chcesz korzystać z osobistego adresu e-mail, skonfiguruj dedykowany adres e-mail.
## Rozwijanie społeczności
Społeczności są niezwykle potężne. Ta moc może być błogosławieństwem lub przekleństwem, w zależności od tego, jak ją władasz. Gdy społeczność twojego projektu rośnie, istnieją sposoby, aby pomócjej stać się siłą kontruktywną, a nie destruktywną.
### Nie toleruj złych aktorów
Każdy popularny projekt nieuchronnie przyciągnie ludzi, którzy bardziej szkodzą niż pomagają twojej społeczności. Mogą rozpocząć niepotrzebne debaty, spierać się o trywialne funkcje lub zastraszać innych.
Staraj się przyjąć politykę zerowej tolerancji dla tego rodzaju ludzi. Jeśli takie zachowanie pozostanie niezauważone, negatywni ludzie sprawią, że inni ludzie w Twojej społeczności będą czuć się niekomfortowo. Mogą nawet odejść.
Regularne debaty na temat trywialnych aspektów projektu odwracają uwagę innych, w tym ciebie, od koncentrowania się na ważnych zadaniach. Nowe osoby, które przybędą do Twojego projektu, mogą zobaczyć te rozmowy i nie chcą brać w nich udziału.
Kiedy zobaczysz negatywne zachowanie w twoim projekcie, wywołaj to publicznie. Wyjaśnij, życzliwym, ale zdecydowanym tonem, dlaczego ich zachowanie jest nie do przyjęcia. Jeśli problem będzie się powtarzał, być może będziesz musiał [poprosić ich o odejście](https://github.com/mbiesiad/opensource.guide/blob/pl/_articles/code-of-conduct.md/#enforcing-your-code-of-conduct). Twój [kodeks postępowania](../code-of-conduct/) może być konstruktywnym przewodnikiem dla tych rozmów.
### Poznaj współpracowników tam, gdzie są
Dobra dokumentacja staje się coraz ważniejsza w miarę rozwoju społeczności. Przypadkowi współpracownicy, którzy w innym przypadku mogliby nie znać Twojego projektu, czytają dokumentację, aby szybko uzyskać potrzebny im kontekst.
W swoim pliku CONTRIBUTING wyraźnie powiedz nowym autorom, jak zacząć. Możesz nawet utworzyć specjalną sekcję do tego celu. [Django](https://github.com/django/django), na przykład, ma specjalną stronę docelową, aby powitać nowych autorów.

W twojej kolejce issue, oznacz błędy, które są odpowiednie dla różnych typów autorów: na przykład, [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, or _"documentation"_. [These labels](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) ułatw komuś nowemu w swoim projekcie szybkie skanowanie problemów i rozpoczęcie pracy.
Na koniec skorzystaj z dokumentacji, aby ludzie czuli się mile widziani na każdym etapie.
Nigdy nie będziesz wchodzić w interakcje z większością ludzi, którzy wylądują na twoim projekcie. Mogą istnieć kontrybucje, których nie otrzymałeś, ponieważ ktoś czuł się zastraszony lub nie wiedział, od czego zacząć. Nawet kilka miłych słów może zniechęcić kogoś do opuszczenia projektu.
Na przykład oto jak [Rubinius](https://github.com/rubinius/rubinius/) zaczyna [jego pomocny przewodnik](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> We want to start off by saying thank you for using Rubinius. This project is a labor of love, and we appreciate all of the users that catch bugs, make performance improvements, and help with documentation. Every contribution is meaningful, so thank you for participating. That being said, here are a few guidelines that we ask you to follow so we can successfully address your issue.
### Udostępnij własność swojego projektu
Ludzie są podekscytowani, że mogą uczestniczyć w projektach, kiedy mają poczucie własności. Nie oznacza to, że musisz zmienić wizję swojego projektu lub zaakceptować wkład, którego nie chcesz. Ale im więcej dajesz uznania innym, tym bardziej będą się trzymać.
Sprawdź, czy możesz w jak największym stopniu znaleźć sposób na dzielenie się własnością ze społecznością. Oto kilka pomysłów:
* **Odporne na naprawianie łatwych (niekrytycznych) błędów.** Zamiast tego wykorzystaj je jako okazję do rekrutacji nowych współpracowników lub mentora dla kogoś, kto chciałby się przyłączyć. Na początku może się to wydawać nienaturalne, ale z czasem inwestycja się zwróci. Na przykład @michaeljoseph poprosił współpracownika o przesłanie żądania ściągnięcia w sprawie [Cookiecutter](https://github.com/audreyr/cookiecutter) poniżej, zamiast samemu go naprawić.

* **Uruchom plik CONTRIBUTORS lub AUTHORS w swoim projekcie** zawiera listę wszystkich, którzy przyczynili się do twojego projektu, takich jak [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* Jeśli masz sporą społeczność, **wyślij biuletyn lub napisz post na blogu** dziękując autorom. Rusta [This Week in Rust](https://this-week-in-rust.org/) i Hoodie'ego [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) są dwoma dobrymi przykładami
* **Daj dostęp każdemu współautorowi.** @felixge stwierdził, że to sprawiło, że ludzie są [bardziej podekscytowani dopracowywaniem swoich łat](https://felixge.de/2013/03/11/the-pull-request-hack.html), a nawet znalazł nowych opiekunów dla projektów, nad którymi on od jakiegoś czasu nie pracował.
* Jeśli Twój projekt jest w serwisie GitHub, **przenieś swój projekt z konta osobistego do [Organizacji](https://help.github.com/articles/creating-a-new-organization-account/)** i dodaj co najmniej jednego administratora kopii zapasowych. Organizacje ułatwiają pracę nad projektami z zewnętrznymi współpracownikami.
Rzeczywistość jest taka, że [większość projektów ma tylko](https://peerj.com/preprints/1233/) jednego lub dwóch opiekunów, którzy wykonują większość pracy. Im większy projekt i większa społeczność, tym łatwiej jest znaleźć pomoc.
Chociaż nie zawsze możesz znaleźć kogoś, kto odbierze połączenie, wysłanie sygnału zwiększa szanse na pojawienie się innych osób. Im wcześniej zaczniesz, tym szybciej ludzie mogą pomóc.
## Rozwiązywanie konfliktów
Na wczesnych etapach projektu podejmowanie poważnych decyzji jest łatwe. Kiedy chcesz coś zrobić, po prostu to zrób.
W miarę jak Twój projekt staje się coraz bardziej popularny, więcej osób będzie zainteresowanych podejmowanymi przez ciebie decyzjami. Nawet jeśli nie masz dużej społeczności współpracowników, jeśli Twój projekt ma wielu użytkowników, znajdziesz osoby rozważające decyzje lub podejmujące własne problemy.
W większości przypadków, jeśli kultywujesz przyjazną, pełną szacunku społeczność i otwarcie dokumentujesz swoje procesy, twoja społeczność powinna być w stanie znaleźć rozwiązanie. Ale czasami napotykasz problem, który jest nieco trudniejszy do rozwiązania.
### Ustaw poprzeczkę życzliwości
Gdy Twoja społeczność zmaga się z trudnym problemem, temperament może wzrosnąć. Ludzie mogą się złościć lub sfrustrować i wyładowywać się na sobie nawzajem lub na tobie.
Twoim zadaniem jako opiekuna jest zapobieganie eskalacji tych sytuacji. Nawet jeśli masz silną opinię na ten temat, spróbuj zająć stanowisko moderatora lub facylitatora, zamiast wskakiwać do walki i forsować swoje poglądy. Jeśli ktoś jest nieuprzejmy lub monopolizuje rozmowę, [działaj natychmiast](https://github.com/mbiesiad/opensource.guide/blob/pl/_articles/building-community.md/#dont-tolerate-bad-actors) aby dyskusje były spokojne i owocne.
Inne osoby szukają u ciebie wskazówek. Stanów dobry przykład. Nadal możesz wyrażać rozczarowanie, nieszczęście lub troskę, ale rób to spokojnie.
Utrzymanie spokoju nie jest łatwe, ale wykazanie się przywództwem poprawia zdrowie społeczności. Internet dziękuje.
### Traktuj swój plik README jak konstytucję
Twój plik README to [więcej niż tylko zestaw instrukcji](../starting-a-project/#pisanie-readme). To także miejsce, w którym można porozmawiać o swoich celach, wizji produktu i mapie drogowej. Jeśli ludzie nadmiernie skupiają się na debacie na temat zalet konkretnej funkcji, pomocne może być ponowne przejrzenie pliku README i omówienie wyższej wizji projektu. Skupienie się na README powoduje również depersonalizację rozmowy, dzięki czemu możesz prowadzić konstruktywną dyskusję.
### Skoncentruj się na podróży, a nie na celu
Niektóre projekty wykorzystują proces głosowania do podejmowania ważnych decyzji. Na pierwszy rzut oka to jest rozsądne, ale głosowanie kładzie nacisk na dotarcie do „odpowiedzi”, a nie na wzajemnym słuchaniu i rozwiązywaniu problemów.
Głosowanie może mieć charakter polityczny, w którym członkowie społeczności czują się zmuszeni do wzajemnego wyświadczania przysług lub głosowania w określony sposób. Nie wszyscy też głosują, czy też jest to [cicha większość](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) w Twojej społeczności lub obecni użytkownicy, którzy nie wiedzieli, że głosowanie ma miejsce.
Czasami głosowanie jest niezbędnym czynnikiem rozstrzygającym. Jednak w miarę możliwości podkreślaj ["szukanie konsensusu"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) zamiast konsensusu.
W ramach procesu poszukiwania konsensusu członkowie społeczności omawiają główne obawy, dopóki nie poczują, że zostali odpowiednio wysłuchani. Gdy pozostaną tylko drobne obawy, społeczność idzie naprzód. „Poszukiwanie konsensusu” potwierdza, że społeczność może nie być w stanie znaleźć idealnej odpowiedzi. Zamiast tego priorytetem jest słuchanie i dyskusja.
Nawet jeśli tak naprawdę nie przyjmujesz procesu poszukiwania konsensusu, jako opiekun projektu ważne jest, aby ludzie wiedzieli, że słuchasz. Sprawienie, by inni poczuli się wysłuchani i zobowiązanie się do rozwiązania ich obaw, znacznie przyczynia się do rozproszenia wrażliwych sytuacji. Następnie postępuj zgodnie ze swoimi słowami za pomocą działań.
Nie spiesz się z decyzją. Upewnij się, że wszyscy czują się wysłuchani i że wszystkie informacje zostały upublicznione przed przejściem do rozwiązania.
### Skoncentruj rozmowę na działaniu
Dyskusja jest ważna, ale istnieje różnica między produktywnymi i nieproduktywnymi rozmowami.
Zachęcaj do dyskusji, o ile aktywnie dąży ona do rozwiązania problemu. Jeśli jest oczywiste, że rozmowa gubi się lub odchodzi od tematu, dźgnięcia stają się osobiste lub ludzie kłócą się o drobne szczegóły, nadszedł czas, aby ją zamknąć.
Zezwolenie na kontynuowanie tych rozmów jest nie tylko szkodliwe dla omawianego problemu, ale także niekorzystne dla Twojej społeczności. Wysyła wiadomość, że tego rodzaju rozmowy są dozwolone, a nawet zachęcane, i może zniechęcać ludzi do podnoszenia lub rozwiązywania przyszłych problemów.
W każdym punkcie przedstawionym przez ciebie lub przez innych zadawaj sobie pytanie: _"W jaki sposób zbliża nas to do rozwiązania?"_
Jeśli rozmowa zaczyna się rozwiązywać, zapytaj grupę: _"Jakie kroki powinniśmy podjąć w następnej kolejności?"_, aby ponownie skoncentrować rozmowę.
Jeśli rozmowa najwyraźniej nigdzie się nie kończy, nie ma wyraźnych działań do wykonania lub podjęto już odpowiednie działanie, zamknij problem i wyjaśnij, dlaczego go zamknąłeś.
### Mądrze wybieraj swoje bitwy
Kontekst jest ważny. Zastanów się, kto jest zaangażowany w dyskusję i jak reprezentuje resztę społeczności.
Czy wszyscy w społeczności są zaniepokojeni, czy nawet zaangażowani w ten problem? A może samotny problemator? Nie zapomnij wziąć pod uwagę swoich cichych członków społeczności, a nie tylko aktywnych głosów.
Jeśli problem nie odzwierciedla szerszych potrzeb Twojej społeczności, być może będziesz musiał uznać obawy kilku osób. Jeśli jest to powtarzający się problem bez jednoznacznego rozwiązania, wskaż je na poprzednich dyskusjach na ten temat i zamknij wątek.
### Zidentyfikuj remis społeczności
Przy dobrym nastawieniu i jasnej komunikacji najtrudniejsze sytuacje można rozwiązać. Jednak nawet w produktywnej rozmowie może istnieć różnica w opiniach co do sposobu postępowania. W takich przypadkach określ osobę lub grupę osób, które mogą służyć jako rozstrzygające.
Tiebreaker może być głównym opiekunem projektu lub może być małą grupą ludzi, którzy podejmują decyzję na podstawie głosowania. Idealnie byłoby, gdybyś zidentyfikował program rozstrzygający i powiązany proces w pliku GOVERNANCE, zanim będziesz musiał go użyć.
Twój remis powinien być ostatecznością. Problemy dzielące są szansą dla Twojej społeczności na rozwój i naukę. Wykorzystaj te możliwości i wykorzystaj proces współpracy, aby w miarę możliwości przejść do rozwiązania.
## Społeczność jest ❤️ open source
Zdrowe, dobrze prosperujące społeczności napędzają tysiące godzin wkładanych w open source każdego tygodnia. Wielu współautorów wskazuje inne osoby jako powód do pracy - lub nie - nad otwartym oprogramowaniem. Ucząc się, jak konstruktywnie wykorzystać tę moc, pomożesz komuś, aby doświadczył niezapomnianych wrażeń open source.
================================================
FILE: _articles/pl/code-of-conduct.md
================================================
---
lang: pl
title: Twój kodeks postępowania
description: Promowanie przyjaznych i konstruktywnych zachowań poprzez przyjęcie i egzekwowanie kodeksu postępowania.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Dlaczego potrzebuję kodeksu postępowania?
Kodeks postępowania to dokument, który określa oczekiwania dotyczące zachowania uczestników projektu. Przyjęcie i egzekwowanie kodeksu postępowania może pomóc stworzyć pozytywną atmosferę wśród społeczności.
Kodeksy postępowania chronią nie tylko uczestników, ale i ciebie. Jeśli utrzymujesz projekt, może się okazać, że nieproduktywne postawy innych uczestników mogą z czasem powodować wyczerpanie lub niezadowolenie z pracy.
Kodeks postępowania umożliwia ci przyjazne i konstruktywne zachowania wśród społeczności projektu. Aktywne podejście zmniejsza prawdopodobieństwo zmęczenia się swoim projektem i pomaga podejmować działania, gdy ktoś robi coś, z czym się nie zgadzasz.
## Ustanowienie kodeksu postępowania
Postaraj się ustalić kodeks postępowania tak wcześnie, jak to możliwe: najlepiej na samym początku projektu.
Oprócz przekazywania swoich oczekiwań kodeks postępowania opisuje następujące kwestie:
* Gdzie obowiązuje kodeks postępowania _(tylko w przypadku problemów i pull requestów lub przy różnych wydarzeniach społeczności)_
* Do kogo odnosi się kodeks postępowania _(członków społeczności i opiekunów, ale także na przykład sponsorów)_
* Co się stanie, jeśli ktoś naruszy kodeks postępowania
* Jak ktoś może zgłaszać naruszenia
Gdziekolwiek możesz, skorzystaj z istniejących szablonów. [Przymierze współautorów](https://contributor-covenant.org/) to rozwijany kodeks postępowania używany przez ponad 40 000 projektów open source, w tym Kubernetes, Rails i Swift.
[Kodeks postępowania Django](https://www.djangoproject.com/conduct/) oraz [Kodeks postępowania obywatelskiego](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) to także dwa przykłady dobrych kodeksów postępowania.
Umieść plik CODE_OF_CONDUCT w katalogu głównym projektu i uczyń go widocznym dla społeczności, łącząc go z plikiem CONTRIBUTING lub README.
## Zdecyduj, jak będziesz egzekwować swój kodeks postępowania
Musisz wyjaśnić, w jaki sposób Twój kodeks postępowania będzie egzekwowany **_zanim_** nastąpi naruszenie. Istnieje kilka powodów, dla których warto to zrobić:
* To pokazuje, że poważnie podchodzisz do działania, gdy jest to potrzebne.
* Twoja społeczność poczuje się bardziej pewnie, że skargi faktycznie zostaną rozpatrzone.
* Zapewnisz swoją społeczność, że proces sprawdzania jest uczciwy i przejrzysty, jeśli kiedykolwiek zostaną sprawdzeni pod kątem naruszenia.
Powinieneś dać ludziom poufny sposób (np. Adres e-mail), do zgłoszenia naruszenia zasad postępowania i wyjaśnić, kto otrzyma to zgłoszenie. Może to być opiekun, grupa opiekunów lub grupa robocza ds. Kodeksu postępowania.
Nie zapominaj, że ktoś może chcieć zgłosić naruszenie dotyczące osoby, która je otrzyma. W takim przypadku daj im możliwość zgłaszania naruszeń komuś innemu. Na przykład tak jak, @ctb oraz @mr-c [tłumaczą w swoim projekcie](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Przypadki obraźliwych, nękających lub w inny sposób niedopuszczalnych zachowań można zgłaszać, wysyłając wiadomość e-mail na adres **khmer-project@idyll.org**, który jest wysyłany tylko do C. Titusa Browna i Michaela R. Crusoe. Aby zgłosić problem dotyczący któregokolwiek z nich, wyślij wiadomość e-mail **dr Judi Brown Clarke** dyrektor ds. Różnorodności w Centrum Badań nad Ewolucją w Działaniu BEACON, Centrum Nauki i Technologii NSF.*
Możesz zainspirować się także [instrukcją egzekwowania Django](https://www.djangoproject.com/conduct/enforcement-manual/) (chociaż możesz nie potrzebować czegoś tak kompleksowego, w zależności od wielkości twojego projektu).
## Egzekwowanie twojego kodeksu postępowania
Czasami, pomimo twoich starań, ktoś zrobi coś, co narusza ten kodeks. Istnieje kilka sposobów przeciwdziałania negatywnym lub szkodliwym zachowaniom.
### Zbierz informacje o sytuacji
Traktuj głos każdego członka społeczności tak samo ważny jak własny. Jeśli otrzymasz zgłoszenie, że ktoś naruszył kodeks postępowania, podejmij się go na poważnie i zbadaj sprawę, nawet jeśli naruszenie nie pasuje do twoich doświadczeń z tą osobą. Takie postępowanie sygnalizuje społeczności, że cenisz ich perspektywę i ufasz ich osądowi.
Członek społeczności, o którym mowa, może wieloktrotnie sprawiać, że inni członkowie czują się niekomfortowo lub zrobić to tylko jeden raz. Oba mogą być podstawą do podjęcia działania, w zależności od kontekstu.
Zanim odpowiesz, daj sobie czas na zrozumienie, co się stało. Przeczytaj wcześniejsze komentarze i rozmowy tej osoby, aby lepiej zrozumieć, kim ona jest i dlaczego mogła postąpić w taki sposób. Spróbuj zebrać inne niż własne opinie na temat tej osoby i jej zachowania.
### Podejmij odpowiednie działania
Po zebraniu i przetworzeniu wystarczających informacji musisz zdecydować, co robić. Rozważając kolejne kroki, pamiętaj, że twoim celem jako moderatora jest promowanie bezpiecznego, pełnego szacunku i współpracy środowiska. Zastanów się nie tylko, jak poradzić sobie z daną sytuacją, ale także, w jaki sposób twoja reakcja wpłynie na dalsze zachowania i oczekiwania twojej społeczności.
Gdy ktoś zgłosi naruszenie kodeksu postępowania, to twoim obowiązkiem jest wyjaśnić sprawę. Czasami osoba zgłaszająca ujawnia informacje z dużym ryzykiem dla ich kariery, reputacji lub bezpieczeństwa fizycznego. Zmuszenie ich do konfrontacji z napastnikiem może postawić osobę zgłaszającą w kompromitującej sytuacji. Należy komunikować się bezpośrednio z daną osobą, chyba że osoba zgłaszająca wyraźnie zażąda inaczej.
Istnieje kilka sposobów reagowania na naruszenie kodeksu postępowania:
* **Daj osobie, o której mowa, publiczne ostrzeżenie** i wyjaśnij, w jaki sposób ich zachowanie wpłynęło negatywnie na innych, najlepiej w kanale, w którym miało miejsce. Tam, gdzie to możliwe, komunikacja publiczna przekazuje reszcie społeczności, że poważnie podchodzisz do kodeksu postępowania. Bądź miły, ale stanowczy w swojej komunikacji.
* **Prywatnie skontaktuj się z osobą** w celu wyjaśnienia, w jaki sposób ich zachowanie wpłynęło negatywnie na innych. Możesz skorzystać z prywatnego kanału komunikacji, jeśli sytuacja dotyczy poufnych danych osobowych. Jeśli komunikujesz się z kimś prywatnie, dobrym pomysłem jest skontaktowanie się z osobami, które jako pierwsze zgłosiły sytuację, aby wiedziały, że podjąłeś działania. Poproś osobę zgłaszającą o zgodę o ujawnienie jej przed wysłaniem wiadomości.
Czasami nie można osiągnąć rozwiązania. Dana osoba może stać się agresywna lub wroga, gdy zostanie skonfrontowana lub nie zmieni swojego zachowania. W tej sytuacji możesz rozważyć podjęcie silniejszych działań. Na przykład:
* **Zawieś osobę** w kwestii projektu, egzekwowane przez tymczasowy zakaz uczestnictwa w jakimkolwiek aspekcie projektu
* **Trwale zbanuj** tę osobę w projekcie
Zbanowanych członków nie należy lekceważyć, stanowią trwałą i niemożliwą do pogodzenia różnicę perspektyw. Powinieneś podjąć te środki tylko wtedy, gdy jest jasne, że nie można osiągnąć rozwiązania.
## Twoje obowiązki jako opiekuna
Kodeks postępowania nie jest prawem egzekwowanym arbitralnie. Jesteś podmiotem egzekwującym kodeks postępowania i twoim obowiązkiem jest przestrzegać zasad ustanowionych w tym kodeksie postępowania.
Jako opiekun ustalasz wytyczne dla swojej społeczności i egzekwujesz je zgodnie z zasadami określonymi w kodeksie postępowania. Oznacza to poważne potraktowanie każdego zgłoszenia naruszenia kodeksu postępowania. Zgłaszającemu należy się dokładna i rzetelna ocena jego skargi. Jeśli stwierdzisz, że zgłoszone przez nich zachowanie nie stanowi naruszenia, przekaż im to jasno i wyjaśnij, dlaczego nie zamierzasz podjąć działań w związku z tym. To, co zrobią z tym, zależy od nich: tolerować zachowanie, z którym mieli problem, lub przestać uczestniczyć w społeczności.
Zgłoszenie zachowania, które nie narusza kodeksu postępowania, może nadal wskazywać na problem w twojej społeczności i powinieneś zbadać ten potencjalny problem i podjąć odpowiednie działania. Może to obejmować rewizję twojego kodeksu postępowania w celu wyjaśnienia dopuszczalnego zachowania i / lub rozmowę z osobą, której zachowanie zostało zgłoszone i poinformowanie ich, że chociaż nie naruszyli kodeksu postępowania, omijają granicę oczekiwań i sprawiają, że uczestnicy czują się niekomfortowo.
W końcu, jako opiekun, ustalasz i egzekwujesz standardy dotyczące akceptowalnego zachowania. Masz możliwość kształtowania wartości społeczności w ramach projektu, a uczestnicy oczekują, że egzekwujesz te wartości w uczciwy i zrównoważony sposób.
## Zachęcaj do zachowań, które chcesz zobaczyć na świecie 🌎
Kiedy projekt wydaje się wrogi lub niechciany, nawet jeśli jest to tylko jedna osoba, której zachowanie jest tolerowane przez innych, ryzykujesz utratą znacznie większej liczby współpracowników, a niektórzy nigdy nie dołączą do społeczności twojego projektu. Przyjęcie lub egzekwowanie kodeksu postępowania nie zawsze jest łatwe, ale promowanie przyjaznego środowiska pomoże twojej społeczności w rozwoju.
================================================
FILE: _articles/pl/finding-users.md
================================================
---
lang: pl
title: Jak znaleźć użytkowników dla twojego projektu
description: Rozwijaj projekt open source, przekazując go w ręce odpowiednich użytkowników.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Rozpowszechnianie informacji
Nie ma reguły, która mówi, że musisz promować swój projekt open source podczas jego wypuszczania. Istnieje wiele satysfakcjonujących powodów do pracy w open source, które nie mają nic wspólnego z popularnością. Zamiast liczyć na to, że inni znajdą i wykorzystają twój projekt open source, lepiej jest rozpowszechnić informacje o swojej ciężkiej pracy!
## Zastanów się nad komunikatem
Przed rozpoczęciem faktycznej pracy nad promocją projektu powinieneś być w stanie wyjaśnić, co robi i dlaczego ma on znaczenie.
Co sprawia, że twój projekt jest inny lub interesujący? Dlaczego go stworzyłeś? Odpowiedzi na te pytania pomogą ci przekazać informację dlaczego twój projekt może być przydatny dla innych.
Pamiętaj, że ludzie angażują się jako użytkownicy i ostatecznie stają się współpracownikami, ponieważ twój projekt rozwiązuje dla nich dany problem. Gdy myślisz o przesłaniu i wartości projektu, spróbuj spojrzeć na niego z perspektywy potencjalnych użytkowników i współpracowników.
Na przykład @robb używa przykładów kodu, aby jasno przekazać, dlaczego jego projekt [Cartography](https://github.com/robb/Cartography) jest przydatny:

Aby zagłębić się w tworzenie odpowiednich komunikatów, sprawdź artykuł Mozilli ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/), o personach użytkowników.
## Pomóż ludziom znaleźć i śledzić twój projekt
Pomóż innym znaleźć i zapamiętać twój projekt, poprzez utworzenie odpowiedniej nazwy firmowej która będzie reprezentować cały projekt.
**Znajdź odpowiednie miejsce do promowania swojej pracy.** Twitter, GitHub URL lub kanał IRC to łatwy sposób promowania twojego projektu. Te miejsca pozwolą także na zbieranie się rosnącej społeczności twojego projektu.
Jeśli nie chcesz jeszcze zakładać takich punktów dla swojego projektu, promuj go na swoim własnym koncie Twitter lub GitHub. Promowanie swojego projektu na Twitterze lub GitHub pozwoli ludziom wiedzieć, jak się z tobą skontaktować lub śledzić twoją pracę. Jeśli przemawiasz na spotkaniu lub wydarzeniu, upewnij się, że twoje dane kontaktowe znajdują się w prezentacji.
**Rozważ utworzenie strony internetowej dla swojego projektu.** Strona internetowa sprawia, że projekt jest łatwiejszy w obsłudze i łatwiejszy w nawigacji, szczególnie gdy jest połączony z przejrzystą dokumentacją i samouczkami. Posiadanie strony internetowej sugeruje również, że twój projekt jest aktywny, co sprawi, że twoi odbiorcy poczują się bardziej komfortowo z niego korzystając. Podawaj przykłady użycia, aby ludzie wiedzieli, jak korzystać z twojego projektu.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), współtwórca Django powiedział, że strona internetowa była _"zdecydowanie najlepszą rzeczą, jaką zrobiliśmy dla Django we wczesnych dniach projektu"_.
Jeśli Twój projekt jest hostowany na GitHub, możesz użyć [GitHub Pages](https://pages.github.com/) aby łatwo stworzyć stronę internetową. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), oraz [Middleman](https://middlemanapp.com/) to [kilka przykładów](https://github.com/showcases/github-pages-examples) doskonałych, kompleksowych stron internetowych.

Teraz, gdy już masz odpowiedni komunikat dla swojego projektu oraz miejsce w którym możesz go promować, chodźmy porozmawiać z publicznością!
## Idź tam, gdzie znajdziesz odbiorców twojego projektu (online)
Internetowy zasięg to świetny sposób na szybkie udostępnianie i rozpowszechnianie treści. Korzystając z kanałów online, możesz dotrzeć do bardzo szerokiego grona odbiorców.
Skorzystaj z istniejących społeczności i platform internetowych, aby dotrzeć do odbiorców. Jeśli twój projekt open source jest projektem oprogramowania, prawdopodobnie znajdziesz odbiorców [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), lub [Quora](https://www.quora.com/). Znajdź kanały, w których twoim zdaniem ludzie najbardziej skorzystają lub będą podekscytowani twoją pracą.
Określ odpowiednie sposoby na udostępnienie swojego projektu:
* **Poznaj odpowiednie projekty i społeczności opensource.** Czasami nie musisz bezpośrednio promować swojego projektu. Jeśli twój projekt jest idealny dla programistów zajmujących się danymi, którzy używają Pythona, poznaj społeczności data science w Pythonie. Gdy ludzie cię poznają, pojawią się naturalne okazje do rozmowy i dzielenia się twoją pracą.
* **Znajdź osoby, które mają jakiś problem którego rozwiązaniem może być twój projekt** Przeszukuj powiązane fora osób, które należą do grupy docelowej twojego projektu. Odpowiedz na ich pytania i znajdź taktowny sposób, w stosownych przypadkach, aby zaproponować swój projekt jako rozwiązanie.
* **Poproś o opinię.** Przedstaw siebie i swoją pracę publiczności, która uznałaby ją za przydatną i interesującą. Sprecyzuj, kto według ciebie skorzystałby na twoim projekcie. Spróbuj dokończyć zdanie: _"Myślę, że mój projekt naprawdę pomógłby X, który próbuje zrobić Y"_. Słuchaj opinii innych i odpowiadaj na nie, zamiast po prostu promować swoją pracę.
Ogólnie rzecz biorąc, skup się na pomaganiu innym, zanim poprosisz o coś w zamian. Ponieważ każdy może z łatwością promować projekt online, ale by wyróżnić się z tłumu, daj ludziom kontekst, kim jesteś, a nie tylko to, czego chcesz.
Jeśli nikt nie zwraca uwagi lub nie reaguje na twoje pierwsze działania, nie zniechęcaj się! Większość wprowadzeń projektów jest procesem iteracyjnym, który może potrwać miesiące lub lata. Jeśli nie otrzymasz odpowiedzi za pierwszym razem, wypróbuj inną taktykę lub poszukaj sposobów, aby w pierwszej kolejności zwiększyć wartość pracy innych. Promowanie i uruchomienie projektu wymaga czasu i poświęcenia.
## Idź tam, gdzie są odbiorcy dla twojego projektu (offline)

Wydarzenia offline są popularnym sposobem promowania nowych projektów wśród odbiorców. To świetny sposób na dotarcie do zaangażowanej publiczności i budowanie głębszych kontaktów międzyludzkich, szczególnie jeśli chcesz dotrzeć do programistów.
Jeśli jesteś [nowy w wystąpieniach publicznych](https://speaking.io/), zacznij od znalezienia lokalnego spotkania związanego z językiem lub ekosystemem powiązanym z twoim projektem.
Jeśli nigdy wcześniej nie rozmawiałeś na żadnym wydarzeniu, to zupełnie normalne, że się denerwujesz! Pamiętaj, że twoi odbiorcy są tam, ponieważ naprawdę chcą usłyszeć o twojej pracy.
Pisząc swoje przemówienie, skup się na tym, co zainteresuje twoją publiczność i czerp z niej wartość. Twój język powinien być przyjazny i przystępny. Uśmiechnij się, oddychaj i baw się dobrze.
Kiedy będziesz gotowy, przemów na konferencji, aby przedstawić swój projekt. Konferencje mogą pomóc ci dotrzeć do większej liczby odbiorców, czasem z całego świata.
Szukaj konferencji specyficznych dla twojego języka lub ekosystemu. Przed przesłaniem swojego przemówienia zapoznaj się z konferencją, aby dostosować ją do uczestników i zwiększyć swoje szanse na przyjęcie na przemówienie. Często możesz poznać odbiorców, patrząc na prelegentów konferencji.
## Zbuduj reputację
Oprócz strategii przedstawionych powyżej, najlepszym sposobem zapraszania ludzi do udziału w twoim projekcie jest branie udziału w ich projektach.
Pomaganie nowicjuszom, dzielenie się zasobami i merytoryczny wkład w projekty innych osób pomoże ci zbudować pozytywną reputację. Bycie aktywnym członkiem społeczności open source pomoże ludziom mieć kontekst dla twojej pracy i będzie bardziej prawdopodobne, że zwrócą uwagę i podzielą się twoim projektem. Rozwijanie relacji z innymi projektami typu open source może nawet prowadzić do oficjalnych partnerstw.
Nigdy nie jest za wcześnie ani za późno, aby zacząć budować swoją reputację. Nawet jeśli już uruchomiłeś własny projekt, nadal szukaj sposobów, aby pomóc innym.
Nie ma jednodniowego rozwiązania dla budowania widowni. Zdobycie zaufania i szacunku innych wymaga czasu, a budowanie reputacji nigdy się nie kończy.
## Tak trzymaj!
Może minąć dużo czasu, zanim ludzie zauważą twój projekt open source. W porządku! Niektóre z najbardziej popularnych projektów zajęły lata, aby osiągnąć wysoki poziom aktywności. Skoncentruj się na budowaniu relacji, zamiast mieć nadzieję, że twój projekt spontanicznie zyska popularność. Bądź cierpliwy i dziel się swoją pracą z tymi, którzy ją doceniają.
================================================
FILE: _articles/pl/getting-paid.md
================================================
---
lang: pl
title: Zarabianie poprzez pracę Open Source
description: Pracuj w otwartym kodzie źródłowym, uzyskując wsparcie finansowe za swój czas lub projekt.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Dlaczego niektórzy ludzie szukają wsparcia finansowego
Duża część pracy open source jest dobrowolna. Na przykład ktoś może natknąć się na błąd w projekcie, z którego korzysta, i przesłać szybką poprawkę, lub może w wolnym czasie majstrować przy projekcie open source.
Istnieje wiele powodów, dla których dana osoba nie chce otrzymywać wynagrodzenia za pracę typu open source.
* **Mogą już mieć pracę na pełny etat, którą kochają,** co pozwala im wnieść wkład w open source w wolnym czasie.
* **Lubią myśleć o otwartym źródle jako hobby** lub kreatywnej ucieczce i nie chcą czuć się zobowiązani finansowo do pracy nad swoimi projektami.
* **Dostają inne korzyści z wkładu w open source,** takie jak budowanie reputacji lub portfolio, uczenie się nowych umiejętności lub poczucie przynależności do społeczności.
Dla innych, z powodu ich sytuacji osobistych lub gdy projekt potrzebuje ciągłego wkładu oraz poświęcenia znacznej ilości czasu, zarabianie na wkładach open source jest jedynym sposobem, w jaki mogą oni wziąć udział w takim projekcie.
Utrzymanie popularnych projektów wymaga dużej odpowiedzialności, ponieważ taka praca może zajmować od 10 do 20 godzin tygodniowo zamiast kilku godzin miesięcznie.
Płatna praca umożliwia także osobom z różnych sytuacji życiowych wniesienie znaczącego wkładu. Niektóre osoby nie mogą sobie pozwolić na nieodpłatne spędzanie czasu na projektach typu open source, w oparciu o ich obecną sytuację finansową, zadłużenie, rodzinę lub inne obowiązki opiekuńcze. Oznacza to, że świat nigdy nie dostrzeże wkładu utalentowanych ludzi, których nie stać na poświęcenie swojego czasu. Ma to implikacje etyczne, jak to [opisał](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community) @ashedryden, ponieważ wykonana praca sprzyja tym, którzy już mają pewną przewagę w życiu, a następnie zyskują dodatkowe korzyści na podstawie swojego wolontaryjnego wkładu, podczas gdy inni, którzy nie są w stanie pracować jako wolontariusze, nie dostają później kolejnych możliwości, co wzmacnia obecny brak różnorodności w społeczności open source.
Jeśli szukasz wsparcia finansowego, musisz rozważyć dwie ścieżki. Możesz sfinansować swój czas jako współpracownik lub możesz znaleźć fundusze organizacyjne dla projektu.
## Finansowanie własnego czasu
Obecnie wiele osób otrzymuje wynagrodzenie za pracę w niepełnym lub pełnym wymiarze godzin na otwartym oprogramowaniu. Najczęstszym sposobem zarabiania za czas jest rozmowa z pracodawcą.
Łatwiej jest uzasadnić pracę z otwartym kodem źródłowym, jeśli twój pracodawca faktycznie korzysta z projektu, ale dobrym pomysłem byłoby kreatywne uzasadnienie swojej prośby. Być może twój pracodawca nie korzysta z projektu, ale używa Pythona, a utrzymanie popularnego projektu w Pythonie pomaga przyciągnąć nowych deweloperów języka Python. Może to sprawić, że twój pracodawca będzie wydawał się bardziej atrakcyjny dla innych programistów.
Jeśli nie masz istniejącego projektu typu open source, nad którym chciałbyś pracować, możesz poprosić swojego pracodawcę aby wydał część wewnętrznego oprogramowania jako open source.
Wiele firm opracowywuje programy typu open source, aby budować swoją markę i rekrutować utalentowanych pracowników.
@hueniverse, na przykład stwierdził, że istnieją finansowe powody, aby uzasadnić [inwestycję Walmarta w open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). I @jamesgpearce także stwierdził, że program open source Facebooka [pomógł](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) w rekrutacji:
> It is closely aligned with our hacker culture, and how our organization was perceived. We asked our employees, "Were you aware of the open source software program at Facebook?". Two-thirds said "Yes". One-half said that the program positively contributed to their decision to work for us. These are not marginal numbers, and I hope, a trend that continues.
Jeśli Twoja firma pójdzie tą drogą, ważne jest, aby zachować wyraźne granice między działalnością społeczności a działalnością firmy. Ostatecznie, open source utrzymuje się dzięki wkładom ludzi z całego świata, a to jest większe niż jakakolwiek firma lub organizacja.
Jeśli nie możesz przekonać swojego obecnego pracodawcy do priorytetowego traktowania pracy typu open source, zastanów się nad znalezieniem nowego, który zachęca pracowników do korzystania z oprogramowania typu open source. Poszukaj firm, które wyrażają swoje zaangażowanie w pracę z otwartym oprogramowaniem. Na przykład:
* Niektóre firmy, jak [Netflix](https://netflix.github.io/), mają strony internetowe, które podkreślają ich zaangażowanie w open source
Projekty, które powstały w dużej firmie, takie jak [Go](https://github.com/golang) lub [React](https://github.com/facebook/react), prawdopodobnie również zatrudniają ludzi do pracy na otwartym oprogramowaniu.
W zależności od osobistych okoliczności możesz spróbować samodzielnie zebrać pieniądze, aby sfinansować swoją pracę typu open source. Na przykład:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) sfinansował swoją pracę poprzez [GitHub Sponsors](https://github.com/sponsors)
* @gaearon sfinansował swoją pracę [Redux](https://github.com/reactjs/redux) poprzez [kampanię crowdfundingową Patreon](https://redux.js.org/)
* @andrewgodwin sfinansował prace nad Django schema migrations [poprzez kampanię Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
Wreszcie, czasami niektóre projekty open source nagradzają za rozwiązywanie danych problemów.
* @ConnorChristie był w stanie otrzymać wynagrodzenie za [pomoc](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol pracował nad biblioteką JavaScript [poprzez nagrodę za gitcoin](https://gitcoin.co/).
* @mamiM zrobił japońskie tłumaczenia dla @MetaMask po tym, jak [problem został sfinansowany przez Bounties Network](https://explorer.bounties.network/bounty/134).
## Znajdowanie funduszy na swój projekt
Oprócz ustaleń dotyczących indywidualnych uczestników, czasami projekty zbierają pieniądze od firm, osób fizycznych lub innych osób na finansowanie bieżącej pracy.
Finansowanie organizacyjne może zostać przeznaczone na opłacenie obecnych uczestników, pokrycie kosztów prowadzenia projektu (takich jak opłaty za hosting) lub inwestowanie w nowe funkcjonalności lub pomysły.
Wraz ze wzrostem popularności oprogramowania typu open source znalezienie funduszy na projekty jest nadal niepewne, ale dostępnych jest kilka możliwych opcji.
### Zbieraj pieniądze na swoją pracę poprzez kampanie crowdfundingowe lub sponsoring
Znalezienie sponsorów działa dobrze, jeśli masz już odpowiednią publiczność, reputację lub twój projekt jest bardzo popularny.
Kilka przykładów sponsorowanych projektów to:
* **[webpack](https://github.com/webpack)** zbiera pieniądze od firm i osób prywatnych [poprzez OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** organizacja non-profit, która płaci za pracę [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), i inne projekty infrastruktury Ruby
### Utwórz strumień przychodów
W zależności od projektu możesz być w stanie pobierać opłaty za wsparcie komercyjne, opcje hostowane lub dodatkowe funkcjonalności. Kilka przykładów obejmuje:
* **[Sidekiq](https://github.com/mperham/sidekiq)** oferuje płatne wersje dodatkowego wsparcia
* **[Travis CI](https://github.com/travis-ci)** oferuje płatne wersje swojego produktu
* **[Ghost](https://github.com/TryGhost/Ghost)** jest organizacją non-profit z płatną usługą zarządzaną
Niektóre popularne projekty, takie jak [npm](https://github.com/npm/cli) oraz [Docker](https://github.com/docker/docker), pozyskały nawet kapitał wysokiego ryzyka w celu wsparcia rozwoju ich działalności.
### Złóż wniosek o dofinansowanie
Niektóre fundacje i firmy oferują granty na prace typu open source. Czasami dotacje można wypłacać osobom fizycznym bez zakładania działalności prawnej dla projektu.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** otrzymał dotację od [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** praca została sfinansowana przez [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** otrzymał dotację z [Sloan Foundation](https://sloan.org/programs/digital-technology)
* **[Python Software Foundation](https://www.python.org/psf/grants/)** oferuje granty na prace związane z Pythonem
Aby uzyskać bardziej szczegółowe opcje i studia przypadków, @nayafia [napisał przewodnik](https://github.com/nayafia/lemonade-stand) jak zarabiać za pracę typu open source. Różne rodzaje finansowania wymagają różnych umiejętności, więc rozważ swoje mocne strony, aby dowiedzieć się, która opcja będzie dla ciebie najlepsza.
## Budowanie uzasadnienia dla wsparcia finansowego
Niezależnie od tego, czy twój projekt jest nowym pomysłem, czy istnieje już od lat, powinieneś się zastanowić, czy nie warto zidentyfikować docelowego fundatora i przedstawić przekonujące argumenty.
Niezależnie od tego, czy chcesz zarobić za swój czas, czy zbierać fundusze na projekt, powinieneś być w stanie odpowiedzieć na następujące pytania.
### Wpływ
Dlaczego ten projekt jest przydatny? Dlaczego tak lubią twoi użytkownicy lub potencjalni użytkownicy? Gdzie będzie za pięć lat?
### Popularność projektu
Postaraj się zebrać dowody na to, że projekt ma znaczenie, czy to metryki, anegdoty czy referencje. Czy istnieją jakieś firmy lub godne uwagi osoby korzystające z twojego projektu? Jeśli nie, czy jakaś wybitna osoba go poparła?
### Wartość do finansowania
Do fundatorów, czy to pracodawcy, czy fundacji przyznającej granty, często zwracają się inne projekty. Dlaczego powinni wesprzeć akurat twój projekt w jakikolwiek sposób? Jakie korzyści odniosą z tego osobiście?
### Wykorzystanie funduszy
Co dokładnie osiągniesz dzięki proponowanemu finansowaniu? Skoncentruj się na kamieniach milowych projektu lub jego wynikach, zamiast na opłacaniu pensji.
### Jak otrzymasz fundusze
Czy podmiot finansujący ma jakieś wymagania dotyczące wypłaty? Na przykład być może trzeba być organizacją non-profit lub mieć sponsora podatkowego typu non-profit. A może fundusze należy przekazać indywidualnemu kontrahentowi, a nie organizacji. Wymagania te różnią się w zależności od fundatora, dlatego należy wcześniej przeprowadzić odpowiedni research.
## Eksperymentuj i nie poddawaj się
Zbieranie pieniędzy nie jest łatwe, bez względu na to, czy kierujesz projektem typu open source, organizacją non-profit, czy też startupem, a w większości przypadków wymaga kreatywności. Określenie, w jaki sposób chcesz otrzymać zapłatę, zrobienie odpowiedniego researchu i postawienie się w sytuacji fundatora, pomoże ci zbudować przekonującą argumentację za finansowaniem.
================================================
FILE: _articles/pl/how-to-contribute.md
================================================
---
lang: pl
title: Jak przyczynić się do Open Source
description: Chciałbyś przyczynić się do open source? Przewodnik po wkładach typu open source, dla nowicjuszy i weteranów.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Po co przyczyniać się do open source?
Wkład w open source może być satysfakcjonującym sposobem uczenia się oraz nauczania i budowania doświadczenia w prawie każdej umiejętności, jaką możesz sobie wyobrazić.
Dlaczego ludzie przyczyniają się do open source? Z wielu powodów!
### Ulepsz oprogramowanie, na którym możesz polegać
Wielu współpracowników open source zaczyna od bycia użytkownikami oprogramowania, do którego następnie wnoszą swój wkład. Gdy znajdziesz błąd w używanym przez ciebie oprogramowaniu open source, możesz zajrzeć do źródła, aby sprawdzić, czy możesz go naprawić samodzielnie. Jeśli tak jest, to dodanie poprawki jest najlepszym sposobem, aby zapewnić, że twoi znajomi (i ty, kiedy zaktualizujesz do następnej wersji) będą mogli z niej skorzystać.
### Rozwiń swoje umiejętności
Niezależnie od tego, czy chodzi o programowanie, projektowanie interfejsu użytkownika, projektowanie graficzne, pisanie czy organizowanie, jeśli szukasz praktyki, to znajdziesz odpowiednie zadanie w projekcie open source.
### Poznawaj ludzi, którzy mają podobne zainteresowania
Projekty open source z ciepłymi, przyjaznymi społecznościami sprawiają, że ludzie wracają na lata. Wiele osób nawiązuje przyjaźnie na całe życie poprzez udział w otwartym kodzie źródłowym, bez względu na to, czy spotykają się na konferencjach, czy późno w nocy na czatach internetowych o burritos.
### Znajdź mentorów i ucz innych
Praca z innymi przy wspólnym projekcie oznacza, że musisz wyjaśnić, jak coś robisz, a także poprosić o pomoc innych ludzi. Działania związane z uczeniem się i nauczaniem mogą być satysfakcjonującym zajęciem dla wszystkich zaangażowanych osób.
### Twórz publiczne artefakty, które pomogą ci zdobyć reputację (i karierę)
Z definicji cała twoja praca z otwartym kodem źródłowym jest publiczna, co oznacza, że masz darmowe przykłady do pokazania w dowolnym miejscu jako demonstrację tego, co potrafisz zrobić.
### Rozwiń swoje zdolności interpersonalne
Open source oferuje możliwość ćwiczenia umiejętności przywódczych i zarządczych, takich jak rozwiązywanie konfliktów, organizowanie zespołów i ustalanie priorytetów pracy.
### Daje to możliwość wprowadzania zmian, nawet tych małych
Nie musisz stać się dożywotnim uczestnikiem, aby cieszyć się uczestnictwem w otwartym oprogramowaniu. Czy widziałeś kiedyś literówkę na stronie i żałowałeś, że ktoś to nie naprawił? W projekcie open source możesz to zrobić. Open source pomaga ludziom odczuwać poczucie kontroli w ich życiu i doświadczaniu świata, a to samo w sobie jest satysfakcjonujące.
## Co to znaczy przyczynić się
Jeśli jesteś nowym współpracownikiem typu open source, proces może być zastraszający. Jak znaleźć odpowiedni projekt? Co jeśli nie wiesz, jak programować? Co jeśli coś pójdzie nie tak?
Nie martwić się! Istnieje wiele sposobów na zaangażowanie się w projekt open source, a kilka wskazówek pomoże ci w pełni wykorzystać swoje doświadczenie.
### Nie musisz przekazywać kodu
Powszechnym błędnym przekonaniem na temat przyczyniania się do open source jest to, że musisz wnieść kod. W rzeczywistości często inne części projektu są [najbardziej zaniedbywane lub pomijane](https://github.com/blog/2195-the-shape-of-open-source). Zrobisz projektowi _wielką_ przysługę, oferując swój wkład w taką część projektu!
Nawet jeśli lubisz pisać kod, inne rodzaje wkładów to świetny sposób na zaangażowanie się w projekt i poznanie innych członków społeczności. Budowanie tych relacji da ci możliwość pracy nad innymi częściami projektu.
### Czy lubisz planować wydarzenia?
* Organizuj warsztaty lub spotkania dotyczące projektu, [jak @fzamperin dla NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Zorganizuj konferencję projektu (jeśli taką mają)
* Pomóż członkom społeczności znaleźć odpowiednie konferencje i przesłać propozycje wystąpień
### Czy lubisz projektować?
* Przebuduj strukturę interfejsu, aby poprawić użyteczność projektu
* Przeprowadź badania użytkowników w celu reorganizacji i dopracowania nawigacji lub menu projektu, [jak sugeruje Drupal](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Przygotuj przewodnik po stylu, aby projekt miał spójny wygląd
* Twórz grafiki na koszulki lub nowe logo, tak jak zrobili to autorzy [hapi.js](https://github.com/hapijs/contrib/issues/68)
### Lubisz pisać?
* Napisz i popraw dokumentację projektu
* Wybierz folder z przykładami pokazującymi, w jaki sposób projekt jest używany
* Rozpocznij biuletyn dotyczący projektu lub wybieraj najważniejsze informacje z listy mailingowej
* Napisz tutoriale do projektu [jak zrobili to autorzy PyPA](https://packaging.python.org/)
* Napisz tłumaczenie dokumentacji projektu
### Czy lubisz organizować?
* Twórz łącza do duplikatów problemów i sugeruj ich nowe etykiety, aby utrzymać porządek
* Przejrzyj otwarte problemy i zasugeruj zamknięcie starych, [jak @nzakas zrobił dla ESLint](https://github.com/eslint/eslint/issues/6765)
* Zadaj pytania wyjaśniające na temat ostatnio otwartych zagadnień, aby popchnąć dyskusję do przodu
### Czy lubisz kodować?
* Znajdź otwarty problem do rozwiązania [jak @dianjin zrobił dla Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Zapytaj, czy możesz pomóc napisać nową funkcjonalność
* Zautomatyzuj konfigurację projektu
* Ulepsz narzędzia używane w projekcie i testy
### Czy lubisz pomagać ludziom?
* Odpowiedz na pytania dotyczące projektu na przykład na Stack Overflow ([jak ten przykład Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) lub Reddit
* Odpowiedz na pytania dotyczące otwartych problemów
* Pomóż moderować fora dyskusyjne lub kanały rozmów
### Czy lubisz pomagać innym kodować?
* Przejrzyj kod zgłoszeń od innych osób
* Napisz tutoriale dotyczące sposobu wykorzystania projektu
* Oferta mentorowania innego autora [jak @ereichert zrobił dla @bronzdoc na Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Nie musisz tylko pracować nad projektami oprogramowania!
Podczas gdy „open source” często odnosi się do oprogramowania, możesz współpracować nad praktycznie wszystkim. Istnieją książki, przepisy kulinarne, listy i klasy opracowywane jako projekty typu open source.
Na przykład:
* @sindresorhus przygotowuje [listę „niesamowitych” list](https://github.com/sindresorhus/awesome)
* @h5bp utrzymuje [listę potencjalnych pytań do rozmowy kwalifikacyjnej](https://github.com/h5bp/Front-end-Developer-Interview-Questions) dla kandydatów na programistów front-end
* @stuartlynn a @nicole-a-tesla stworzyła [zbiór zabawnych faktów na temat maskonurów](https://github.com/stuartlynn/puffin_facts)
Nawet jeśli jesteś programistą, praca nad projektem dokumentacji może pomóc w rozpoczęciu pracy w środowisku open source. Praca z projektami niewymagającymi kodu jest często mniej zastraszająca, a proces współpracy zwiększy twoje zaufanie i doświadczenie.
## Orientacja na nowy projekt
W przypadku czegoś więcej niż poprawa literówek, udział w open source jest jak podchodzenie do grupy nieznajomych na imprezie. Jeśli zaczniesz mówić o lamach, gdy byli głęboko w dyskusji na temat złotych rybek, prawdopodobnie spojrzą na ciebie trochę dziwnie.
Zanim wskoczysz na ślepo z własnymi sugestiami, zacznij od nauki wybadywania terenu. Takie postępowanie zwiększa szanse, że twoje pomysły zostaną zauważone i usłyszane.
### Anatomia projektu open source
Każda społeczność open source jest inna.
Spędzanie lat na jednym projekcie typu open source oznacza, że znasz jeden projekt typu open source. Przejdź do innego projektu, a może się okazać, że słownictwo, normy i style komunikacji są zupełnie inne.
To powiedziawszy, wiele projektów open source ma podobną strukturę organizacyjną. Zrozumienie różnych ról społeczności i ogólnego procesu pomoże ci szybko zorientować się w każdym nowym projekcie.
Typowy projekt open source ma następujące typy osób:
* **Autor:** Osoba lub organizacja, która utworzyła projekt
* **Właściciel:** Osoba / osoby posiadające uprawnienia administracyjne do organizacji lub repozytorium (nie zawsze taki sam jak oryginalny autor)
* **Opiekunowie:** Współtwórcy odpowiedzialni za kierowanie wizją i zarządzanie aspektami organizacyjnymi projektu (mogą być także autorami lub właścicielami projektu).
* **Współtwórcy:** Każdy, kto wniósł coś do projektu
* **Członkowie społeczności:** Ludzie, którzy korzystają z projektu. Mogą być aktywni w rozmowach lub wyrażać swoją opinię na temat kierunków projektu
Większe projekty mogą również obejmować podkomitety lub grupy robocze zajmujące się różnymi zadaniami, takimi jak narzędzia projektowe, segregacja, moderacja społeczności i organizacja wydarzeń. Na stronie internetowej projektu można znaleźć stronę „zespołu” lub w repozytorium dokumentacji dotyczącej zarządzania, aby znaleźć te informacje.
Projekt ma również dokumentację. Te pliki są zwykle wymienione na najwyższym poziomie repozytorium.
* **LICENSE:** Z definicji każdy projekt typu open source musi posiadać [licencję typu open source](https://choosealicense.com). Jeśli projekt nie ma licencji, to nie jest open source.
* **README:** Plik README to instrukcja obsługi, która wita nowych członków społeczności w projekcie. Wyjaśnia, dlaczego projekt jest użyteczny i jak zacząć.
* **CONTRIBUTING:** Podczas gdy pliki README pomagają ludziom _użytkować_ projekt, udostępnianie dokumentów pomaga ludziom _komponować_ w projekcie. Wyjaśnia, jakie rodzaje wkładów są potrzebne i jak działa proces. Chociaż nie każdy projekt ma plik CONTRIBUTING, jego obecność sygnalizuje, że jest to przyjazny projekt, do którego można wnieść swój wkład.
* **CODE_OF_CONDUCT:** tworzeniu przyjaznego i przyjaznego środowiska. Chociaż nie każdy projekt ma plik CODE_OF_CONDUCT, jego obecność sygnalizuje, że jest to przyjazny projekt, do którego można wnieść swój wkład.
* **Other documentation:** Może istnieć dodatkowa dokumentacja, taka jak samouczki, instrukcje lub zasady zarządzania, szczególnie w przypadku większych projektów.
Wreszcie, projekty open source wykorzystują następujące narzędzia do organizowania dyskusji. Czytanie archiwów daje dobry obraz tego, jak społeczność myśli i działa.
* **Issue tracker:** Gdzie ludzie omawiają kwestie związane z projektem.
* **Pull requests:** Gdzie ludzie omawiają i sprawdzają zmiany, które są w toku.
* **Discussion forums or mailing lists:** Niektóre projekty mogą wykorzystywać te kanały do prowadzenia wątków konwersacyjnych (na przykład _„Jak mam ...”_ lub _„Co sądzisz o ...”_ zamiast raportów o błędach lub propozycji funkcji). Inni używają narzędzia do śledzenia problemów do wszystkich rozmów.
* **Synchronous chat channel:** Niektóre projekty wykorzystują kanały czatu (takie jak Slack lub IRC) do swobodnej rozmowy, współpracy i szybkiej wymiany.
## Znalezienie projektu, do którego można wnieść swój wkład
Teraz, gdy już zorientowałeś się, jak działają projekty typu open source, nadszedł czas, aby znaleźć projekt, do którego możesz wnieść swój wkład!
Jeśli nigdy wcześniej nie uczestniczyłeś w tworzeniu oprogramowania typu open source, skorzystaj z porady Prezydenta Stanów Zjednoczonych Johna F. Kennedy'ego, który powiedział kiedyś, _"Ask not what your country can do for you - ask what you can do for your country."_
Wkład w open source ma miejsce na wszystkich poziomach, w różnych projektach. Nie musisz się zastanawiać, jaki dokładnie będzie twój pierwszy wkład ani jak będzie wyglądał.
Zamiast tego zacznij od przemyślenia projektów, z których już korzystasz lub z których chcesz skorzystać. Projekty, w których aktywnie uczestniczysz, to te, do których wracasz.
W ramach tych projektów, ilekroć przyłapiesz się na myśleniu, że coś może być lepsze lub inne, działaj instynktownie.
Open source nie jest ekskluzywnym klubem; zrobili to ludzie tacy jak ty. „Open source” to tylko wymyślny termin na traktowanie problemów świata jako możliwych do rozwiązania.
Możesz zeskanować plik README i znaleźć uszkodzony link lub literówkę. Lub jesteś nowym użytkownikiem i zauważyłeś, że coś jest zepsute lub problem, który Twoim zdaniem powinien naprawdę znajdować się w dokumentacji. Zamiast ignorować i przejść dalej lub poprosić kogoś o naprawę, sprawdź, czy możesz pomóc, wprowadzając. Właśnie o to chodzi w open source!
> [28% of casualowych kontrybucji](https://www.igor.pro.br/publica/papers/saner2016.pdf) open source to dokumentacja, na przykład poprawka literówki, formatowanie lub pisanie tłumaczenia.
Jeśli szukasz istniejących problemów, które możesz naprawić, każdy projekt open source ma stronę `/contribute`, która podkreśla problemy przyjazne dla początkujących, z którymi możesz zacząć. Przejdź do strony głównej repozytorium w serwisie GitHub i dodaj `/contribute` na końcu adresu URL (na przykład [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
Możesz także skorzystać z jednego z następujących zasobów, aby pomóc ci odkryć nowe projekty i wnieść swój wkład:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Lista kontrolna przed wniesieniem wkładu
Po znalezieniu projektu, do którego chcesz się przyłączyć, wykonaj szybki skan, aby upewnić się, że projekt nadaje się do przyjmowania wkładów. W przeciwnym razie twoja ciężka praca może nigdy nie uzyskać odpowiedzi.
Oto przydatna lista kontrolna do oceny, czy projekt jest dobry dla nowych autorów.
**Spełnia definicję open source**
**Projekt aktywnie przyjmuje wkłady**
Spójrz na działanie zatwierdzania w gałęzi master. Na GitHub możesz zobaczyć te informacje na stronie głównej repozytorium.
Następnie spójrz na issues projektu.
Teraz wykonaj te same kroki dla PR (pull requests) projektu.
**Projekt jest otwarty na nowych autorów**
Projekt przyjazny i gościnny sygnalizuje, że będą otwarci na nowych autorów.
## Jak przesłać kontrybucję
Znalazłeś projekt, który ci się podoba i jesteś gotowy, aby wnieść swój wkład. Wreszcie! Oto, w jaki sposób uzyskać odpowiedni wkład we właściwy sposób.
### Skuteczna komunikacja
Niezależnie od tego, czy jesteś jednorazowym współpracownikiem, czy próbujesz dołączyć do społeczności, praca z innymi jest jedną z najważniejszych umiejętności, które rozwiniesz w środowisku open source.
Zanim otworzysz issue, pull request lub zadasz pytanie na czacie, pamiętaj o tych punktach, aby pomóc skutecznie zrozumieć twoje pomysły.
**Podaj kontekst.** Pomóż innym szybko wgryźć się w temat. Jeśli napotkasz błąd, wyjaśnij, co próbujesz zrobić i jak go odtworzyć. Jeśli sugerujesz nowy pomysł, wyjaśnij, dlaczego uważasz, że byłby przydatny dla projektu (nie tylko dla ciebie!).
> 😇 _"X doesn't happen when I do Y"_
>
> 😢 _"X is broken! Please fix it."_
**Odrób swoją pracę domową wcześniej.** To w porządku, jeśli wszystkiego nie wiesz, ale pokazałeś, że próbowałeś. Zanim poprosisz o pomoc, koniecznie sprawdź README projektu, dokumentację, problemy (otwarte lub zamknięte), listę mailingową i wyszukaj w Internecie odpowiedź. Ludzie docenią, gdy pokażesz, że próbujesz się uczyć.
> 😇 _"I'm not sure how to implement X. I checked the help docs and didn't find any mentions."_
>
> 😢 _"How do I X?"_
**Requesty powinny być krótkie i bezpośrednie.** Podobnie jak wysyłanie wiadomości e-mail, każdy wkład, bez względu na to, jak prosty lub pomocny, wymaga oceny innej osoby. Wiele projektów ma więcej przychodzących próśb niż ludzi dostępnych do pomocy. Bądź zwięzły. Zwiększysz szansę, że ktoś będzie mógł ci pomóc.
> 😇 _"I'd like to write an API tutorial."_
>
> 😢 _"I was driving down the highway the other day and stopped for gas, and then I had this amazing idea for something we should be doing, but before I explain that, let me show you..."_
**Trzymaj całą komunikację publiczną.** Chociaż jest to kuszące, nie kontaktuj się prywatnie z opiekunami, chyba że musisz udostępniać poufne informacje (takie jak problem z bezpieczeństwem lub poważne naruszenie zasad postępowania). Gdy udostępnisz rozmowę publicznie, więcej osób może się uczyć i korzystać z wymiany zdań. Dyskusje mogą być same w sobie wkładem.
> 😇 _(as a comment) "@-maintainer Hi there! How should we proceed on this PR?"_
>
> 😢 _(as an email) "Hey there, sorry to bother you over email, but I was wondering if you've had a chance to review my PR"_
**Można zadawać pytania (ale bądź cierpliwy!).** W pewnym momencie wszyscy byli nowi w projekcie, a nawet doświadczeni współpracownicy muszą przyspieszyć, gdy patrzą na nowy projekt. Z tego samego powodu, nawet wieloletni opiekunowie nie zawsze znają każdą część projektu. Pokaż im tę samą cierpliwość, którą chciałbyś, aby ci pokazali.
> 😇 _"Thanks for looking into this error. I followed your suggestions. Here's the output."_
>
> 😢 _"Why can't you fix my problem? Isn't this your project?"_
**Szanuj decyzje społeczności.** Twoje pomysły mogą różnić się od priorytetów lub wizji społeczności. Mogą oni oferować informacje zwrotne lub zdecydować o nie realizowaniu Twojego pomysłu. Podczas gdy powinieneś dyskutować i szukać kompromisu, opiekunowie muszą żyć z twoją decyzją dłużej niż ty. Jeśli nie zgadzasz się z ich kierunkiem, zawsze możesz pracować nad własnym forkiem lub rozpocząć własny projekt.
> 😇 _"I'm disappointed you can't support my use case, but as you've explained it only affects a minor portion of users, I understand why. Thanks for listening."_
>
> 😢 _"Why won't you support my use case? This is unacceptable!"_
**Przede wszystkim zachowaj klasę.** Open source składa się ze współpracowników z całego świata. Kontekst gubi się w różnych językach, kulturach, regionach geograficznych i strefach czasowych. Ponadto pisemna komunikacja utrudnia przekazanie tonu lub nastroju. Przyjmij dobre intencje w tych rozmowach. Dobrze jest grzecznie odepchnąć pomysł, poprosić o więcej kontekstu lub wyjaśnić swoje stanowisko. Po prostu spróbuj zostawić Internet w lepszym miejscu niż wtedy, gdy go znalazłeś.
### Zbieranie kontekstu
Zanim cokolwiek zrobisz, szybko sprawdź, czy twój pomysł nie został omówiony w innym miejscu. Przejrzyj README projektu, problemy (otwarte i zamknięte), listę mailingową i przepełnienie stosu. Nie musisz spędzać godzin na przeglądaniu wszystkiego, ale szybkie poszukiwanie kilku kluczowych haseł to długa droga.
Jeśli nie możesz znaleźć swojego pomysłu w innym miejscu, możesz zrobić krok. Jeśli projekt jest w serwisie GitHub, prawdopodobnie komunikujesz się, otwierając problem lub wysyłając żądanie:
* **Issues** są jak rozpoczęcie rozmowy lub dyskusji
* **Pull requests** są rozpoczęciem pracy nad rozwiązaniem
* **Aby uzyskać lekką komunikację,** takie jak pytanie wyjaśniające lub poradnik, spróbuj zadać pytanie Stack Overflow, IRC, Slacka lub innych kanałów komunikacyjnych, jeśli projekt takie ma
Zanim otworzysz problem lub pull request, sprawdź dokumenty wspierające projekt (zwykle plik o nazwie CONTRIBUTING lub w README), aby sprawdzić, czy musisz dołączyć coś konkretnego. Na przykład projekt może wymagać przestrzegania szablonu lub użycia testów.
Jeśli chcesz wnieść znaczący wkład, otwórz problem, który chcesz rozwiązać, zanim zaczniesz nad nim pracować. Przydatne jest obserwowanie projektu przez jakiś czas (na GitHub, [możesz kliknąć "Watch"](https://help.github.com/articles/watching-repositories/) aby otrzymywać powiadomienia o wszystkich rozmowach) i poznać członków społeczności przed podjęciem pracy, która może nie zostać zaakceptowana.
### Otwieranie issue
Zazwyczaj powinieneś otworzyć problem w następujących sytuacjach:
* Zgłoś błąd, którego nie możesz rozwiązać samodzielnie
* Omów temat lub pomysł na wysokim poziomie (na przykład społeczność, wizja lub zasady)
* Zaproponuj nową funkcję lub inny pomysł na projekt
Wskazówki dotyczące komunikowania się w issue:
* **Jeśli widzisz otwarty problem, który chcesz rozwiązać,** skomentuj ten problem, aby inni wiedzieli, że nad nim pracujesz. W ten sposób ludzie są mniej skłonni do powielania twojej pracy.
* **Jeśli jakiś problem został otwarty jakiś czas temu,** możliwe, że problem został przedyskutowany gdzieś indziej lub został już rozwiązany, więc skomentuj, aby poprosić o potwierdzenie przed rozpoczęciem pracy.
* **Jeśli otworzyłeś problem, ale sam później zorientowałeś się,** skomentuj problem, aby dać innym znać, a następnie zamknij problem. Nawet udokumentowanie tego wyniku stanowi wkład w projekt.
### Otwieranie pull request
Zwykle należy otworzyć pull request w następujących sytuacjach:
* Prześlij trywialne poprawki (na przykład literówka, zepsuty link lub oczywisty błąd)
* Rozpocznij pracę nad wkładem, o który zostałeś już poproszony lub który już omawiałeś w numerze
Pull request nie musi reprezentować ukończonej pracy. Zwykle lepiej jest wcześniej otworzyć pull request, aby inni mogli obserwować twoje postępy lub udzielać informacji zwrotnych. Po prostu zaznacz go jako „WIP” (Work in Progress) w temacie. Zawsze możesz później dodać więcej commitów.
Jeśli projekt znajduje się na GitHub, oto jak przesłać pull request:
* **[Fork repozytorium](https://guides.github.com/activities/forking/)** i jego klon lokalnie. Podłącz swoje lokalne repozytorium do oryginalnego„upstream”, dodając je jako remote. Pobieraj zmiany z „upstream” często, abyś był na bieżąco, aby po stworzeniu pull requesta konflikty w kodzie były mniej prawdopodobne. (Zobacz bardziej szczegółowe instrukcje [tutaj](https://help.github.com/articles/syncing-a-fork/).)
* **[Stworzenie brancha](https://guides.github.com/introduction/flow/)** dla swoich zmian.
* **Odniesienie się do wszelkich istotnych issues** lub dokumentacja uzupełniająca w twoim PR (na przykład, "Closes #37.")
* **Dołączenie zrzutów ekranu przed i po** jeśli zmiany zawierają różnice w HTML / CSS. Przeciągnij i upuść obrazy w treści pull requesta.
* **Sprawdzenie swoich zmian!** Uruchom istniejące testy w stosunku do twoich zmian, i w razie potrzeby utwórz nowe. Niezależnie od tego, czy testy istnieją, czy nie, upewnij się, że zmiany nie psują istniejącego projektu.
* **Wkład w styl projektu** najlepiej jak potrafisz. Może to oznaczać stosowanie wcięć, średników lub komentarzy inaczej niż w swoim własnym repozytorium, co ułatwia opiekunowi scalenie, innym zrozumienie i utrzymanie w przyszłości.
Jeśli to twój pierwszy pull request, sprawdź [Make a Pull Request](http://makeapullrequest.com/), które @kentcdodds utworzone jako instruktażowy samouczek wideo. Możesz także przećwiczyć składanie pull request w repozytorium [First Contributions](https://github.com/Roshanjossey/first-contributions), stworzonym przez @Roshanjossey.
## Co dzieje się po przesłaniu wkładu
Zrobiłeś to! Gratulujemy zostania współpracownikiem typu open source. Mamy nadzieję, że to pierwszy z wielu twoich wkładów.
Po przesłaniu wkładu nastąpi jedna z następujących sytuacji:
### 😭 Nie dostaniesz odpowiedzi.
Mam nadzieję, że [sprawdziłeś projekt pod kątem oznak aktywności](../how-to-contribute/#lista-kontrolna-przed-wniesieniem-wkładu) przed wniesieniem wkładu. Jednak nawet w przypadku aktywnego projektu możliwe jest, że twój wkład nie uzyska odpowiedzi.
Jeśli nie otrzymałeś odpowiedzi od ponad tygodnia, możesz grzecznie odpowiedzieć w tym samym wątku, prosząc kogoś o recenzję. Jeśli znasz właściwą osobę do sprawdzenia swojego wkładu, możesz @-mentionować ją w tym wątku.
**Nie** docieraj do tej osoby prywatnie; pamiętaj, że komunikacja publiczna jest niezbędna w projektach typu open source.
Jeśli uprzejmie kogoś zapytasz i nadal nikt nie zareaguje, możliwe, że nikt nigdy nie odpowie. To nie jest to zbyt miłe uczucie, ale nie zniechęcaj się. Zdarzyło się wszystkim! Istnieje wiele możliwych powodów, dla których nie otrzymałeś odpowiedzi, w tym okoliczności osobiste, które mogą być poza twoją kontrolą. Spróbuj znaleźć inny projekt lub sposób na wniesienie wkładu. Jeśli tak, to dobry powód, aby nie poświęcać zbyt wiele czasu na wkład, zanim inni członkowie społeczności nie będą zaangażowani i nie będą reagować.
### 🚧 Ktoś prosi o zmianę Twojego wkładu.
Często zdarza się, że będziesz proszony o wprowadzenie zmian do twojego wkładu, niezależnie od tego, czy jest to opinia na temat zakresu twojego pomysłu, czy zmiany w kodzie.
Gdy ktoś prosi o zmiany, bądź responsywny. Sprawdzili twój wkład. Otwarcie PR i odejście to zła forma. Jeśli nie wiesz, jak wprowadzić zmiany, zbadaj problem, a następnie poproś o pomoc, jeśli jej potrzebujesz.
Jeśli nie masz czasu na pracę nad problemem (na przykład, jeśli rozmowa trwa od miesięcy, a twoja sytuacja uległa zmianie), powiadom opiekuna, aby nie oczekiwał odpowiedzi. Ktoś inny może być szczęśliwy, aby przejąć ten problem.
### 👎 Twój wkład nie zostanie zaakceptowany.
Twój wkład może, ale nie musi, zostać ostatecznie zaakceptowany. Mam nadzieję, że nie włożyłeś już w to zbyt wiele pracy. Jeśli nie masz pewności, dlaczego nie zostało to zaakceptowane, całkowicie uzasadnione jest poproszenie opiekuna o opinie i wyjaśnienia. Ostatecznie jednak musisz uszanować, że to jest ich decyzja. Nie kłóć się ani nie bądź wrogi. Jeśli się nie zgadzasz, możesz zawsze zrobić forka i pracować nad własną wersją!
### 🎉 Twój wkład zostanie zaakceptowany.
Hooray! Udało ci się wnieść wkład typu open source!
## Zrobiłeś to!
Niezależnie od tego, czy właśnie wniósłeś swój pierwszy wkład typu open source, czy szukasz nowych sposobów, mamy nadzieję, że zainspirujesz się do działania. Nawet jeśli twój wkład nie został zaakceptowany, nie zapomnij podziękować, gdy opiekun wkłada wysiłek, aby ci pomóc. Oprogramowanie typu open source jest tworzone przez osoby takie jak ty: jeden problem, żądanie ściągnięcia, komentarz lub piątka na raz.
================================================
FILE: _articles/pl/index.html
================================================
---
layout: index
title: Przewodnik po Open Source
lang: pl
permalink: /pl/
---
================================================
FILE: _articles/pl/leadership-and-governance.md
================================================
---
lang: pl
title: Przywództwo i zarządzanie
description: Rosnące projekty open source mogą korzystać z formalnych zasad podejmowania decyzji.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Zrozumienie zarządzania rosnącym projektem
Twój projekt się rozwija, ludzie są zaangażowani, a ty jesteś zaangażowany w utrzymanie tego. Na tym etapie możesz zastanawiać się, jak włączyć regularnych współpracowników projektu do swojego przepływu pracy, niezależnie od tego, czy daje to komuś dostęp lub rozwiązuje debaty społecznościowe. Jeśli masz pytania, mamy odpowiedzi.
## Jakie są przykłady formalnych ról stosowanych w projektach open source?
Wiele projektów ma podobną strukturę pod względem ról i uznania.
Jednak to, co właściwie oznaczają te role, zależy wyłącznie od Ciebie. Oto kilka rodzajów ról, które możesz rozpoznać:
* **Maintainer**
* **Contributor**
* **Committer**
**W przypadku niektórych projektów, "maintainers"** są jedynymi osobami w projekcie z dostępem do zatwierdzania. W innych projektach są to po prostu osoby wymienione w README jako opiekunowie.
Opiekun niekoniecznie musi być kimś, kto pisze kod dla twojego projektu. Może to być ktoś, kto wykonał wiele pracy ewangelizując twój projekt lub pisemna dokumentacja, która uczyniła projekt bardziej dostępnym dla innych. Niezależnie od tego, co robią na co dzień, opiekun to prawdopodobnie ktoś, kto czuje odpowiedzialność za kierownictwo projektu i jest zaangażowany w jego ulepszanie.
**"Contributor" może być każdy** kto komentuje problem lub żądanie ściągnięcia, osoby, które dodają wartość do projektu (czy to dzielenie problemów, pisanie kodu lub organizowanie wydarzeń), czy ktokolwiek z połączonym żądaniem ściągnięcia (być może najwęższa definicja autora).
**Określenie "committer"** może zostać wykorzystane do odróżnienia dostępu do zatwierdzenia, który jest szczególnym rodzajem odpowiedzialności, od innych form wkładu.
Chociaż możesz zdefiniować role swojego projektu w dowolny sposób, [rozważ użycie szerszych definicji](../how-to-contribute/#co-to-znaczy-przyczynić-się) aby zachęcić więcej form wkładu. Możesz użyć ról przywódczych, aby formalnie rozpoznać osoby, które wniosły wybitny wkład w Twój projekt, niezależnie od ich umiejętności technicznych.
## Jak sformalizować te role przywódcze?
Sformalizowanie ról przywódczych pomaga ludziom poczuć się właścicielami i mówi innym członkom społeczności, do kogo zwrócić się o pomoc.
W przypadku mniejszego projektu wyznaczenie liderów może być tak proste, jak dodanie ich nazw do pliku tekstowego README lub CONTRIBUTORS.
W przypadku większego projektu, jeśli masz witrynę internetową, utwórz stronę zespołu lub umieść tam listę liderów projektu. Na przykład [Postgres](https://github.com/postgres/postgres/) ma [kompleksową stronę zespołu](https://www.postgresql.org/community/contributors/) z krótkimi profilami dla każdego uczestnika.
Jeśli Twój projekt ma bardzo aktywną społeczność współpracowników, możesz utworzyć „podstawowy zespół” opiekunów, a nawet podkomitety osób, które przejmują odpowiedzialność za różne obszary problemowe (na przykład bezpieczeństwo, klasyfikowanie problemów lub postępowanie społeczności). Pozwól ludziom samoorganizować się i zgłaszać do ról, które są najbardziej podekscytowani, zamiast przypisywać je.
Zespoły kierownicze mogą chcieć utworzyć wyznaczony kanał (np. Na IRC) lub regularnie spotykać się w celu omówienia projektu (np. Na Gitter lub Google Hangout). Możesz nawet upublicznić te spotkania, aby inni mogli je słuchać. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), na przykład [organizuje godziny pracy co tydzień](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs)
Po ustaleniu ról przywódczych nie zapomnij udokumentować, w jaki sposób ludzie mogą je osiągnąć! Ustal przejrzysty proces, w jaki sposób ktoś może zostać opiekunem lub dołączyć do podkomitetu w swoim projekcie, i zapisz go w swoim GOVERNANCE.md.
Narzędzia jak [Vossibility](https://github.com/icecrime/vossibility-stack) mogą pomóc Ci publicznie śledzić, kto przyczynia się (lub nie) do projektu. Dokumentowanie tych informacji pozwala uniknąć postrzegania przez społeczność, że opiekunowie są kliką, która podejmuje decyzje prywatnie.
Wreszcie, jeśli Twój projekt jest w GitHub, rozważ przeniesienie projektu z konta osobistego do organizacji i dodanie co najmniej jednego administratora kopii zapasowych. [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) ułatwiają zarządzanie uprawnieniami i wieloma repozytoriami oraz chronią dziedzictwo projektu poprzez [współwłasność](../building-community/#udostępnij-własność-swojego-projektu).
## Kiedy powinienem dać komuś dostęp?
Niektórzy uważają, że powinieneś dać dostęp do zatwierdzenia każdemu, kto wnosi wkład. Może to zachęcić więcej osób do poczucia własności projektu.
Z drugiej strony, szczególnie w przypadku większych, bardziej złożonych projektów, możesz chcieć dać dostęp do zatwierdzania tylko osobom, które wykazały swoje zaangażowanie. Nie ma jednego właściwego sposobu - rób to, co najbardziej Ci odpowiada!
Jeśli Twój projekt znajduje się na GitHub, możesz użyć [protected branches](https://help.github.com/articles/about-protected-branches/) zarządzać, kto może naciskać na konkretny branch i w jakich okolicznościach.
## Jakie są wspólne struktury zarządzania projektami typu open source?
Istnieją trzy wspólne struktury zarządzania związane z projektami typu open source.
* **BDFL:** BDFL oznacza „Benevolent Dictator for Life”. W ramach tej struktury jedna osoba (zazwyczaj początkowy autor projektu) ma ostateczny głos na temat wszystkich ważnych decyzji dotyczących projektu. [Python](https://github.com/python) to klasyczny przykład. Mniejsze projekty są prawdopodobnie domyślnie BDFL, ponieważ istnieje tylko jeden lub dwóch opiekunów. Projekt, który powstał w firmie, może również należeć do kategorii BDFL.
* **Meritocracy:** **(Uwaga: określenie "merytokracja" budzi negatywne skojarzenia dla niektórych społeczności i ma [złożoną historię społeczną i polityczną](http://geekfeminism.wikia.com/wiki/Meritocracy).)** W ramach merytokracji aktywni uczestnicy projektu (ci, którzy demonstrują "merit") otrzymują formalną rolę decyzyjną. Decyzje są zwykle podejmowane na podstawie czystego konsensusu wyborczego. Koncepcja merytokracji została zapoczątkowana przez [Apache Foundation](https://www.apache.org/); [wszystkie projekty Apache](https://www.apache.org/index.html#projects-list) są merytokracjami. Wkład może wnieść tylko osoba reprezentująca się, a nie firma.
* **Liberal contribution:** Zgodnie z modelem liberalnego wkładu osoby, które wykonują najwięcej pracy, są uznawane za najbardziej wpływowe, ale opiera się to na bieżącej pracy, a nie na wkładach historycznych. Decyzje dotyczące głównych projektów podejmowane są w oparciu o proces poszukiwania konsensusu (omawianie głównych skarg), a nie tylko głosowanie, i starają się uwzględniać jak najwięcej perspektyw społeczności. Popularne przykłady projektów wykorzystujących liberalny model wkładu to [Node.js](https://foundation.nodejs.org/) i [Rust](https://www.rust-lang.org/).
Którego powinieneś użyć? To zależy od Ciebie! Każdy model ma zalety i kompromisy. I choć na początku mogą się wydawać zupełnie inne, wszystkie trzy modele mają więcej wspólnego, niż się wydaje. Jeśli chcesz zastosować jeden z tych modeli, sprawdź te szablony:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Czy potrzebuję dokumentów dotyczących zarządzania, kiedy uruchamiam mój projekt?
Nie ma właściwego czasu, aby zanotować zarządzanie projektem, ale o wiele łatwiej jest go zdefiniować, gdy zobaczysz dynamikę swojej społeczności. Najlepszą (i najtrudniejszą) częścią zarządzania open source jest to, że jest on kształtowany przez społeczność!
Jednak wczesna dokumentacja nieuchronnie przyczyni się do zarządzania projektem, więc zacznij zapisywać, co możesz. Na przykład możesz zdefiniować jasne oczekiwania dotyczące zachowania lub sposobu działania procesu współautora, nawet na początku projektu.
Jeśli należysz do firmy prowadzącej projekt open source, przed rozpoczęciem warto przeprowadzić wewnętrzną dyskusję na temat tego, w jaki sposób Twoja firma zamierza utrzymać projekt i podejmować decyzje dotyczące jego dalszego rozwoju. Możesz także publicznie wyjaśnić wszystko, w jaki sposób Twoja firma będzie (lub nie będzie!) Zaangażowana w projekt.
## Co się stanie, jeśli pracownicy korporacji zaczną składać kontrybucje?
Udane projekty open source są wykorzystywane przez wiele osób i firm, a niektóre firmy mogą ostatecznie mieć źródła przychodów ostatecznie powiązane z projektem. Na przykład firma może wykorzystać kod projektu jako jeden element oferty handlowej.
W miarę, jak projekt jest coraz szerzej wykorzystywany, ludzie, którzy mają w nim doświadczenie, stają się bardziej poszukiwani - możesz być jednym z nich! - i czasami otrzymają wynagrodzenie za pracę wykonaną w ramach projektu.
Ważne jest, aby traktować działalność komercyjną jako normalną i jako kolejne źródło energii rozwojowej. Oczywiście, płatni programiści nie powinni być traktowani specjalnie w stosunku do nieopłacanych; każdy wkład musi zostać oceniony pod względem merytorycznym. Jednak ludzie powinni czuć się swobodnie angażując się w działalność komercyjną i czując się swobodnie, opowiadając o swoich przypadkach użycia, argumentując na korzyść określonego ulepszenia lub funkcji.
„Commercial” jest całkowicie kompatybilny z „open source”. „Komercyjny” oznacza po prostu, że gdzieś są zaangażowane pieniądze - że oprogramowanie jest wykorzystywane w handlu, co jest coraz bardziej prawdopodobne, gdy projekt zyskuje popularność. (Gdy oprogramowanie typu open source jest używane jako część produktu innego niż open source, cały produkt jest nadal oprogramowaniem „zastrzeżonym”, chociaż podobnie jak open source może być wykorzystywany do celów komercyjnych lub niekomercyjnych).
Jak wszyscy inni, programiści komercyjni zyskują wpływ na projekt dzięki jakości i ilości swoich wkładów. Oczywiście programista, który otrzymuje wynagrodzenie za swój czas, może zrobić więcej niż ktoś, kto nie jest opłacany, ale to w porządku: płatność jest tylko jednym z wielu możliwych czynników, które mogą mieć wpływ na to, ile ktoś robi. Dyskusje dotyczące projektu powinny koncentrować się na wkładach, a nie na czynnikach zewnętrznych, które umożliwiają ludziom wniesienie wkładu.
## Czy potrzebuję osobowości prawnej do obsługi mojego projektu
Nie potrzebujesz osoby prawnej do obsługi projektu open source, chyba że zajmujesz się pieniędzmi.
Na przykład, jeśli chcesz założyć działalność komercyjną, musisz założyć C Corp lub LLC (jeśli mieszkasz w USA). Jeśli wykonujesz tylko prace kontraktowe związane z projektem open source, możesz zaakceptować pieniądze jako jednoosobowa firma lub założyć spółkę z ograniczoną odpowiedzialnością (jeśli mieszkasz w USA).
Jeśli chcesz przyjąć darowizny na projekt open source, możesz ustawić przycisk darowizny (na przykład za pomocą PayPal lub Stripe), ale pieniądze nie będą podlegały odliczeniu od podatku, chyba że kwalifikujesz się jako organizacja non-profit (501c3, jeśli jesteś w USA).
Wiele projektów nie chce borykać się z tworzeniem organizacji non-profit, dlatego zamiast tego znajdują sponsora fiskalnego. Sponsor fiskalny przyjmuje darowizny w Twoim imieniu, zwykle w zamian za procent darowizny. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) i [Open Collective](https://opencollective.com/opensource) to przykłady organizacji, które pełnią rolę sponsorów fiskalnych dla projektów open source.
Jeśli Twój projekt jest ściśle powiązany z określonym językiem lub ekosystemem, może istnieć powiązana podstawa oprogramowania, z którą możesz pracować. Na przykład [Python Software Foundation](https://www.python.org/psf/) pomaga w obsłudze [PyPI](https://pypi.org/), menedżera pakietów Python i [Node.js Foundation](https://foundation.nodejs.org/) pomaga w obsłudze [Express.js](https://expressjs.com/), frameworka opartego na Node.
================================================
FILE: _articles/pl/legal.md
================================================
---
lang: pl
title: Prawna strona Open Source
description: Wszystko, co kiedykolwiek zastanawiałeś się nad prawną stroną otwartego oprogramowania i kilka rzeczy, których nie zrobiłeś.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Zrozumienie prawnych konsekwencji otwartego oprogramowania
Dzielenie się kreatywną pracą ze światem może być ekscytującym i satysfakcjonującym doświadczeniem. Może to również oznaczać szereg legalnych spraw, o których nie wiedziałeś, że musisz się martwić. Na szczęście nie musisz zaczynać od zera. Zaspokajamy Twoje potrzeby prawne. (Przed wkopaniem zapoznaj się z naszym [disclaimer](/notices/).)
## Dlaczego ludzie tak bardzo troszczą się o prawną stronę otwartego oprogramowania?
Cieszę się, że zapytałeś! Kiedy tworzysz pracę twórczą (taką jak pisanie, grafika lub kod), ta praca jest domyślnie objęta wyłącznym prawem autorskim. Oznacza to, że prawo zakłada, że jako autor twojej pracy masz wpływ na to, co inni mogą z tym zrobić.
Zasadniczo oznacza to, że nikt inny nie może używać, kopiować, rozpowszechniać ani modyfikować Twojej pracy bez narażania się na wady, wstrząsy lub spory sądowe.
Otwarte źródło jest jednak niezwykłą okolicznością, ponieważ autor oczekuje, że inni będą używać, modyfikować i udostępniać dzieło. Ponieważ jednak domyślnym ustawowym prawem autorskim są nadal wyłączne prawa autorskie, potrzebujesz licencji, która wyraźnie określa te uprawnienia.
Jeśli nie zastosujesz licencji typu open source, każdy, kto przyczyni się do twojego projektu, stanie się także wyłącznym właścicielem praw autorskich do swojej pracy. Oznacza to, że nikt nie może używać, kopiować, rozpowszechniać ani modyfikować swoich wpisów - i że „nikt” nie obejmuje Ciebie.
Wreszcie, twój projekt może być zależny od wymagań licencyjnych, o których nie wiedziałeś. Społeczność twojego projektu lub zasady twojego pracodawcy mogą również wymagać od twojego projektu używania określonych licencji open source. Omówimy te sytuacje poniżej.
## Czy publiczne projekty GitHub są open source?
Kiedy [tworzysz nowy projekt](https://help.github.com/articles/creating-a-new-repository/) na GitHub masz opcję utworzenia repozytorium **private** lub **public**.

**Upublicznienie projektu GitHub to nie to samo, co licencjonowanie projektu.** Projekty publiczne są objęte [Warunkami świadczenia usług GitHub](https://help.github.com/en/github/site-policy/github-terms-of-service#3-ownership-of-content-right-to-post-and-licytations-grants), który pozwala innym przeglądać i rozwidlać twój projekt, ale w przeciwnym razie twoja praca nie ma żadnych uprawnień.
Jeśli chcesz, aby inni używali, rozpowszechniali, modyfikowali lub wnieśli swój wkład z powrotem do twojego projektu, musisz dołączyć licencję typu open source. Na przykład, ktoś nie może legalnie wykorzystywać żadnej części twojego projektu GitHub w swoim kodzie, nawet jeśli jest on publiczny, chyba że wyraźnie mu to umożliwisz.
## Po prostu daj mi TL;DR na to, czego potrzebuję do ochrony mojego projektu.
Masz szczęście, ponieważ dziś licencje open source są ustandaryzowane i łatwe w użyciu. Możesz skopiować i wkleić istniejącą licencję bezpośrednio do swojego projektu.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), i [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) są najpopularniejszymi licencjami typu open source, ale istnieją inne opcje do wyboru. Możesz znaleźć pełny tekst tych licencji i instrukcje, jak z nich korzystać, na [choosealicense.com](https://choosealicense.com/).
Kiedy tworzysz nowy projekt w GitHub, zostaniesz [poproszony o dodanie licencji](https://help.github.com/articles/open-source-licensing/).
## Która licencja typu open source jest odpowiednia dla mojego projektu?
Jeśli zaczynasz od pustej listy, trudno jest pomylić się z [Licencją MIT](https://choosealicense.com/licenses/mit/). Jest krótki, bardzo łatwy do zrozumienia i pozwala każdemu robić wszystko, o ile zachowuje kopię licencji, w tym informację o prawach autorskich. Jeśli zajdzie taka potrzeba, możesz wydać projekt na innej licencji.
W przeciwnym razie wybór odpowiedniej licencji typu open source dla twojego projektu zależy od twoich celów.
Twój projekt najprawdopodobniej ma (lub będzie miał) **zależności**. Na przykład, jeśli korzystasz z otwartego źródła projektu Node.js, prawdopodobnie użyjesz bibliotek z Menedżera pakietów Node (npm). Każda z tych bibliotek, na których polegasz, będzie miała własną licencję typu open source. Jeśli każda z ich licencji jest „dozwolona” (daje publiczne pozwolenie na używanie, modyfikowanie i udostępnianie, bez żadnych warunków dla dalszych licencji), możesz użyć dowolnej licencji. Popularne licencje obejmują MIT, Apache 2.0, ISC i BSD.
Z drugiej strony, jeśli którakolwiek licencja na twoje zależności jest „silnym copyleft” (daje również publiczne takie same uprawnienia, pod warunkiem korzystania z tej samej licencji na dalszym etapie), twój projekt będzie musiał użyć tej samej licencji. Typowe silne licencje copyleft obejmują GPLv2, GPLv3 i AGPLv3.
Możesz także rozważyć **społeczności**, które mają nadzieję wykorzystać i przyczynić się do twojego projektu:
* **Czy chcesz, aby Twój projekt był używany przez inne projekty jako zależność?** Prawdopodobnie najlepiej użyć najpopularniejszej licencji w odpowiedniej społeczności. Na przykład [MIT](https://choosealicense.com/licenses/mit/) jest najpopularniejszą licencją dla [npm libraries](https://libraries.io/search?platforms=NPM).
* **Czy chcesz, aby Twój projekt spodobał się dużym firmom?** Duży biznes prawdopodobnie będzie chciał uzyskać wyraźną licencję patentową od wszystkich autorów. W takim przypadku usługa [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) obejmuje Ciebie (i ich).
* **Czy chcesz, aby Twój projekt był atrakcyjny dla autorów, którzy nie chcą, aby ich wkład był wykorzystywany w oprogramowaniu zamkniętym?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) lub (jeśli nie chcą również wnosić wkładu do usług zamkniętego źródła) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) przejdzie dobrze.
Twoja **firma** może mieć określone wymagania licencyjne dla swoich projektów open source. Na przykład, może wymagać zezwolenia licencyjnego, aby firma mogła wykorzystać Twój projekt w zamkniętym źródłowym produkcie firmy. Lub Twoja firma może wymagać silnej licencji copyleft i dodatkowej umowy o współautorze (patrz poniżej), aby tylko Twoja firma i nikt inny nie mógł używać twojego projektu w oprogramowaniu zamkniętym. Lub Twoja firma może mieć pewne potrzeby związane ze standardami, odpowiedzialnością społeczną lub przejrzystością, z których każda może wymagać określonej strategii licencjonowania. Porozmawiaj z [działem prawnym swojej firmy](#co-powinien-wiedzieć-zespół-prawny-mojej-firmy).
Podczas tworzenia nowego projektu w GitHub masz możliwość wybrania licencji. Dołączenie jednej z wyżej wymienionych licencji sprawi, że Twój projekt GitHub stanie się open source. Jeśli chcesz zobaczyć inne opcje, sprawdź [choosealicense.com](https://choosealicense.com), aby znaleźć odpowiednią licencję dla swojego projektu, nawet jeśli nie jest to [oprogramowanie](https://choosealicense.com/non-software/).
## Co jeśli chcę zmienić licencję mojego projektu?
Większość projektów nigdy nie musi zmieniać licencji. Ale czasami okoliczności się zmieniają.
Na przykład, wraz z rozwojem projektu, dodaje on zależności lub użytkowników, lub firma zmienia strategie, z których każda może wymagać lub wymagać innej licencji. Ponadto, jeśli od samego początku zaniedbywałeś licencjonowanie swojego projektu, dodanie licencji jest identyczne jak zmiana licencji. Przy dodawaniu lub zmienianiu licencji projektu należy wziąć pod uwagę trzy podstawowe rzeczy:
**To skomplikowane.** Określenie zgodności i zgodności licencji oraz tego, kto jest właścicielem praw autorskich, może bardzo szybko się skomplikować i wprowadzić w błąd. Przejście na nową, ale zgodną licencję dla nowych wydań i wkładów różni się od ponownego licencjonowania wszystkich istniejących wkładów. Zaangażuj swój zespół prawny przy pierwszej sugestii zmiany licencji. Nawet jeśli masz lub możesz uzyskać pozwolenie od posiadaczy praw autorskich do projektu na zmianę licencji, rozważ wpływ tej zmiany na innych użytkowników i współtwórców projektu. Pomyśl o zmianie licencji jako o „zdarzeniu związanym z zarządzaniem” dla twojego projektu, który najprawdopodobniej przejdzie gładko dzięki jasnej komunikacji i konsultacjom z interesariuszami twojego projektu. Tym bardziej powód, aby wybrać i używać odpowiedniej licencji dla swojego projektu od samego początku!
**Istniejąca licencja twojego projektu.** Jeśli istniejąca licencja projektu jest zgodna z licencją, którą chcesz zmienić, możesz po prostu zacząć korzystać z nowej licencji. Jest tak, ponieważ jeśli licencja A jest zgodna z licencją B, będziesz przestrzegać warunków A, jednocześnie przestrzegając warunków B (ale niekoniecznie odwrotnie). Jeśli więc obecnie korzystasz z licencji permisive (np. MIT), możesz zmienić ją na licencję z większą liczbą warunków, o ile zachowasz kopię licencji MIT i wszelkich powiązanych informacji o prawach autorskich (tj. Nadal będziesz przestrzegać Minimalne warunki licencji MIT). Ale jeśli twoja aktualna licencja nie jest dozwolona (np. Copyleft lub nie masz licencji) i nie jesteś jedynym właścicielem praw autorskich, nie możesz po prostu zmienić licencji projektu na MIT. Zasadniczo, posiadając zezwolenie licencyjne, właściciele praw autorskich projektu uprzednio wyrazili zgodę na zmianę licencji.
**Obecni posiadacze praw autorskich do Twojego projektu.** Jeśli jesteś jedynym współtwórcą swojego projektu, to Ty lub Twoja firma jesteś wyłącznym właścicielem praw autorskich do projektu. Możesz dodać lub zmienić dowolną licencję, którą Ty lub Twoja firma chcecie. W przeciwnym razie mogą istnieć inni właściciele praw autorskich, od których potrzebujesz zgody, aby zmienić licencje. Kim oni są? Ludzie, którzy mają zobowiązania w twoim projekcie, to dobry początek. Ale w niektórych przypadkach pracodawcy tych osób będą mieli prawa autorskie. W niektórych przypadkach ludzie wnoszą minimalny wkład, ale nie ma twardej i szybkiej zasady, że wkłady o określonej liczbie wierszy kodu nie podlegają prawu autorskiemu. Co robić? To zależy. W przypadku stosunkowo małego i młodego projektu może być wykonalne, aby wszyscy obecni współpracownicy zgodzili się na zmianę licencji w żądaniu wydania lub wycofania. W przypadku dużych i długotrwałych projektów może być konieczne znalezienie wielu współpracowników, a nawet ich spadkobierców. Mozilla potrzebowała lat (2001-2006) na licencjonowanie Firefoksa, Thunderbirda i powiązanego oprogramowania.
Ewentualnie możesz poprosić autorów o wcześniejsze uzgodnienie (za pośrednictwem dodatkowej umowy o współautorach - patrz poniżej) pewnych zmian licencji pod pewnymi warunkami, wykraczającymi poza dozwolone przez twoją istniejącą licencję typu open source. To nieco zmienia złożoność zmiany licencji. Będziesz potrzebować dodatkowej pomocy od swoich prawników i nadal będziesz chciał wyraźnie komunikować się z interesariuszami projektu podczas przeprowadzania zmiany licencji.
## Czy mój projekt wymaga dodatkowej umowy wnoszącej wkład?
Prawdopodobnie nie. W zdecydowanej większości projektów typu open source licencja typu open source domyślnie służy zarówno jako licencja przychodząca (od współpracowników), jak i wychodząca (dla innych autorów i użytkowników). Jeśli Twój projekt działa na GitHub, Warunki korzystania z usługi GitHub sprawiają, że „przychodzące = wychodzące” jest [jawnym domyślnym](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Dodatkowa umowa współtwórcy - często zwana umową licencyjną współtwórcy (CLA) - może tworzyć prace administracyjne dla opiekunów projektów. Ile pracy dodaje umowa zależy od projektu i realizacji. Prosta umowa może wymagać, aby uczestnicy potwierdzili jednym kliknięciem, że mają prawa niezbędne do wniesienia wkładu w ramach licencji open source projektu. Bardziej skomplikowana umowa może wymagać weryfikacji prawnej i wypisania się od pracodawców współpracowników.
Ponadto poprzez dodanie „dokumentacji”, którą niektórzy uważają za niepotrzebną, trudną do zrozumienia lub niesprawiedliwą (gdy odbiorca umowy otrzymuje więcej praw niż współautorzy lub odbiorcy publiczni dzięki licencji open source projektu), dodatkową umowę wnoszącą wkład można uznać za nieprzyjazną dla społeczności projektu.
Niektóre sytuacje, w których warto rozważyć zawarcie dodatkowej umowy wnoszącej wkład dla twojego projektu, obejmują:
* Twoi prawnicy chcą, aby wszyscy współtwórcy wyraźnie zaakceptowali warunki udziału (_sign_, online lub offline), być może dlatego, że uważają, że sama licencja typu open source nie wystarczy (nawet jeśli jest!). Jeśli jest to jedyny problem, wystarczy umowa współtwórcy, która potwierdza licencję open source projektu. [Umowa licencyjna na indywidualnego dostawcę jQuery](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) jest dobrym przykładem niewielkiej dodatkowej umowy na współautora.
* Ty lub twoi prawnicy chcielibyście, aby programiści oświadczyli, że każde dokonane przez nich zatwierdzenie jest dozwolone. Wymaganiem [Developer Certificate of Origin](https://developercertificate.org/) jest to, ile projektów to osiąga. Na przykład społeczność Node.js [używa](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) DCO [zamiast](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) wcześniejszego CLA. Prostą opcją zautomatyzowania wymuszania kontroli DCO w repozytorium jest [DCO Probot](https://github.com/probot/dco).
* Twój projekt wykorzystuje licencję typu open source, która nie obejmuje wyraźnej granty patentowej (takiej jak MIT), i potrzebujesz grantu patentowego od wszystkich autorów, z których niektórzy mogą pracować dla firm z dużymi portfelami patentowymi, które mogłyby być wykorzystane do Ciebie lub inni uczestnicy projektu i użytkownicy. [Umowa licencyjna na indywidualnego dostawcę Apache](https://www.apache.org/licenses/icla.pdf) to powszechnie stosowana dodatkowa umowa na współautora, której udzielenie patentowe odzwierciedla kopię zawartą w licencji Apache 2.0.
* Twój projekt jest objęty licencją copyleft, ale musisz także rozpowszechniać zastrzeżoną wersję projektu. Będziesz potrzebował każdego współtwórcy, aby przypisać Ci prawa autorskie lub udzielić (ale nie publicznie) zezwolenia na korzystanie z licencji. [Umowa współtwórcy MongoDB](https://www.mongodb.com/legal/contributor-agreement) jest przykładem tego rodzaju umowy.
* Uważasz, że Twój projekt może wymagać zmiany licencji przez cały okres jego użytkowania i chcesz, aby współtwórcy zgodzili się z wyprzedzeniem na takie zmiany.
Jeśli potrzebujesz skorzystać z dodatkowej umowy z dostawcą w swoim projekcie, rozważ zastosowanie integracji, takiej jak [asystent CLA](https://github.com/cla-assistant/cla-assistant), aby zminimalizować rozproszenie współpracowników.
## Co powinien wiedzieć zespół prawny mojej firmy?
Jeśli zwalniasz projekt typu open source jako pracownik firmy, najpierw zespół prawny powinien wiedzieć, że masz otwarty projekt.
Na lepsze lub gorsze, warto poinformować ich, nawet jeśli jest to projekt osobisty. Prawdopodobnie masz „umowę o pracę z pracownikiem” ze swoją firmą, która daje im pewną kontrolę nad twoimi projektami, szczególnie jeśli są one w ogóle związane z działalnością firmy lub wykorzystujesz zasoby firmy do opracowania projektu. Twoja firma powinna z łatwością dać ci pozwolenie, a być może już zawarła przyjazną dla pracowników umowę IP lub politykę firmy. Jeśli nie, możesz negocjować (na przykład wyjaśnić, że Twój projekt służy profesjonalnym celom firmy w zakresie uczenia się i rozwoju) lub unikać pracy nad projektem, dopóki nie znajdziesz lepszej firmy.
**Jeśli masz otwarty projekt dla swojej firmy,** to zdecydowanie daj znać. Twój zespół prawny prawdopodobnie już ma zasady dotyczące tego, z której licencji open source (i być może dodatkowej umowy wnoszącej wkład) należy korzystać w oparciu o wymagania biznesowe firmy i wiedzę specjalistyczną w zakresie zapewniania zgodności projektu z licencjami jego zależności. Jeśli nie, ty i oni mają szczęście! Twój zespół prawny powinien chętnie z Tobą współpracować przy rozwiązywaniu tego problemu. Kilka rzeczy do przemyślenia:
* **Materiały stron trzecich:** Czy twój projekt ma zależności stworzone przez innych lub w inny sposób zawierają lub wykorzystują kod innych osób? Jeśli są to oprogramowanie typu open source, musisz przestrzegać licencji na materiały typu open source. Zaczyna się to od wyboru licencji, która współpracuje z licencjami open source stron trzecich (patrz wyżej). Jeśli Twój projekt modyfikuje lub rozpowszechnia materiały open source stron trzecich, Twój zespół prawny będzie chciał również wiedzieć, że spełniasz inne warunki licencji open source stron trzecich, takie jak zachowanie informacji o prawach autorskich. Jeśli Twój projekt korzysta z kodu innej osoby, który nie ma licencji open source, prawdopodobnie będziesz musiał poprosić zewnętrznych opiekunów o [dodanie licencji open source](https://choosealicense.com/no-license/#for-users), a jeśli nie możesz go zdobyć, przestań używać jego kodu w swoim projekcie.
* **Tajemnice handlowe:** Zastanów się, czy w projekcie jest coś, czego firma nie chce udostępnić ogółowi społeczeństwa. Jeśli tak, możesz otworzyć źródło reszty swojego projektu, po wyodrębnieniu materiału, który chcesz zachować jako prywatny.
* **Patenty:** Czy Twoja firma ubiega się o patent, którego otwarty projekt stanowiłby [ujawnienie publiczne](https://en.wikipedia.org/wiki/Public_disclosure)? Niestety możesz zostać poproszony o poczekanie (a może firma ponownie rozważy mądrość aplikacji). Jeśli oczekujesz wkładu w projekt od pracowników firm z dużymi portfelami patentów, Twój zespół prawny może chcieć, abyś użył licencji z wyraźnym udzieleniem patentu od autorów (takich jak Apache 2.0 lub GPLv3), lub dodatkowej umowy wnoszącej wkład ( patrz wyżej).
* **Znaki towarowe:** Sprawdź dwukrotnie, czy nazwa twojego projektu [nie powoduje konfliktu z istniejącymi znakami towarowymi](../starting-a-project/#unikanie-konfliktów-nazw). Jeśli używasz w projekcie własnych znaków towarowych firmy, sprawdź, czy nie powoduje to żadnych konfliktów. [FOSSmarks](http://fossmarks.org/) to praktyczny przewodnik do zrozumienia znaków towarowych w kontekście projektów bezpłatnych i otwartych.
* **Prywatność:** Czy Twój projekt zbiera dane o użytkownikach? „Telefon do domu” do serwerów firmy? Twój zespół prawny może pomóc Ci w przestrzeganiu zasad firmy i przepisów zewnętrznych.
Jeśli wypuszczasz pierwszy projekt open source swojej firmy, powyższe rozwiązania są wystarczające, aby się z tym pogodzić (ale nie martw się, większość projektów nie powinna budzić większych obaw).
W dłuższej perspektywie Twój zespół prawny może zrobić więcej, aby pomóc firmie lepiej wykorzystać zaangażowanie w open source i zachować bezpieczeństwo:
* **Zasady dotyczące składek pracowniczych:** Rozważ opracowanie zasad korporacyjnych, które określają, w jaki sposób pracownicy przyczyniają się do projektów typu open source. Jasna polityka zmniejszy zamieszanie wśród pracowników i pomoże im przyczyniać się do projektów typu open source w najlepszym interesie firmy, zarówno w ramach pracy, jak i czasu wolnego. Dobrym przykładem jest [Model IP i Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **Co wydać:** [(Prawie) wszystko?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Jeśli Twój zespół prawny rozumie i jest zaangażowany w strategię otwartego oprogramowania firmy, najlepiej będzie Ci w stanie pomóc, a nie utrudnić wysiłki.
* **Zgodność:** Nawet jeśli Twoja firma nie wydaje żadnych projektów typu open source, korzysta z oprogramowania innego typu. [Świadomość i proces](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) może zapobiegać bólom głowy, opóźnieniom produktowym, i procesom sądowym.
* **Patenty:** Twoja firma może dołączyć do [Open Invention Network](https://www.openinventionnetwork.com/), wspólnej puli patentów obronnych, aby chronić korzystanie przez członków z dużych projektów open source lub odkryć inne [alternatywne licencjonowanie patentów](https://www.eff.org/document/hacking-patent-system-2016).
* **Zarządzanie:** Zwłaszcza jeśli i kiedy sensowne jest przeniesienie projektu do [podmiotu prawnego spoza firmy](../leadership-and-governance/#czy-potrzebuję-osobowości-prawnej-do-obsługi-mojego-projektu).
================================================
FILE: _articles/pl/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: pl
title: Utrzymanie równowagi dla opiekunów Open Source
description: Wskazówki dotyczące dbania o siebie i unikania wypalenia jako opiekun.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
W miarę jak popularność projektu open source rośnie, ważne staje się ustalenie jasnych granic, które pomogą zachować równowagę, aby zachować świeżość i produktywność na dłuższą metę.
Aby uzyskać zrozumienie doświadczeń opiekunów i ich strategii znajdowania równowagi, przeprowadziliśmy warsztaty z 40 członkami opiekunów społeczności, pozwalając nam poznać ich własne doświadczenia z wypaleniem w open source i praktyki, które pomogły im zachować równowagę w pracy. W tym miejscu pojawia się koncepcja osobistej ekologii.
Czym więc jest ekologia osobista? Zgodnie z opisem Rockwood Leadership Institute,obejmuje ona "utrzymywanie równowagi, tempa i wydajności, aby utrzymać naszą energię przez całe życie." To nadało ramy naszym rozmowom, pomagając opiekunom rozpoznać ich działania i wkład jako części większego ekosystemu, który ewoluuje w czasie.Wypalenie, syndrom wynikający z przewlekłego stresu w miejscu pracy, zgodnie z [definicja WHO](https://icd.who.int/browse/2025-01/foundation/en#129180281), nie jest niczym niezwykłym wśród opiekunów. Często prowadzi to do utraty motywacji, niemożności skupienia się i braku empatii dla współpracowników i społeczności, z którą pracujesz.
Przyjmując koncepcję osobistej ekologii, opiekunowie mogą aktywnie unikać wypalenia, traktować priorytetowo dbanie o siebie i utrzymywać poczucie równowagi, aby wykonywać swoją najlepszą pracę.
## Wskazówki dotyczące dbania o siebie i unikania wypalenia zawodowego w roli opiekuna:
### Określ swoje motywacje do pracy w open source
Poświęć trochę czasu na zastanowienie się nad tym, jakie części utrzymania open source cię energetyzują. Zrozumienie swoich motywacji może pomóc w ustaleniu priorytetów pracy w sposób, który sprawi, że będziesz zaangażowany i gotowy na nowe wyzwania. Niezależnie od tego, czy chodzi o pozytywne opinie użytkowników, radość ze współpracy i kontaktów towarzyskich ze społecznością, czy też satysfakcję z zagłębiania się w kod, rozpoznanie motywacji może pomóc w skupieniu się na pracy.
### Zastanów się, co powoduje, że tracisz równowagę i stresujesz się
Ważne jest, aby zrozumieć, co powoduje nasze wypalenie. Oto kilka wspólnych tematów, które zaobserwowaliśmy wśród opiekunów open source:
* **Brak pozytywnych opinii:** Użytkownicy są znacznie bardziej skłonni do zgłaszania swoich skarg. Jeśli wszystko działa świetnie, mają tendencję do milczenia. Może to być zniechęcające, gdy widzi się rosnącą listę problemów bez pozytywnych opinii pokazujących, w jaki sposób Twój wkład robi różnicę.
* **Nie mówienie 'nie':** Łatwo jest wziąć na siebie więcej obowiązków niż jest to konieczne w projekcie open source. Niezależnie od tego, czy chodzi o użytkowników, współpracowników czy innych opiekunów - nie zawsze możemy spełnić ich oczekiwania.
* **Praca w samotności:** Bycie opiekunem może być niezwykle samotne. Nawet jeśli pracujesz z grupą opiekunów, ostatnie kilka lat było trudne dla osobistego zwoływania rozproszonych zespołów.
* **Niewystarczająca ilość czasu lub zasobów:** Jest to szczególnie prawdziwe w przypadku opiekunów-wolontariuszy, którzy muszą poświęcić swój wolny czas na pracę nad projektem.
* **Sprzeczne oczekiwania:** Open source jest pełne grup o różnych motywacjach, co może być trudne w obsłudze. Jeśli płacą ci za pracę nad open source, interesy twojego pracodawcy mogą być czasami sprzeczne ze społecznością.
### Zwróć uwagę na oznaki wypalenia
Czy jesteś w stanie utrzymać tempo przez 10 tygodni? 10 miesięcy? 10 lat?
Istnieją narzędzia, takie jak [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) od [@shaunagm](https://github.com/shaunagm) które mogą pomóc ci zastanowić się nad twoim obecnym tempem i sprawdzić, czy są jakieś poprawki, które możesz wprowadzić. Niektórzy opiekunowie używają również technologii do monitorowania takich wskaźników jak jakość snu i zmienność tętna (oba powiązane ze stresem).
### Czego potrzebujesz, aby utrzymać siebie i swoją społeczność?
Będzie to wyglądać inaczej dla każdego opiekuna i będzie się zmieniać w zależności od etapu życia i innych czynników zewnętrznych. Ale oto kilka tematów, które usłyszeliśmy:
* **Odciążenie społeczności:** Delegowanie i znajdowanie współpracowników może zmniejszyć obciążenie pracą. Posiadanie wielu osób do kontaktu w sprawie projektu może pomóc ci zrobić sobie przerwę bez zmartwień. Nawiązuj kontakty z innymi opiekunami i szerszą społecznością - w grupach takich jak [Maintainer Community](http://maintainers.github.com/). Może to być świetne źródło wzajemnego wsparcia i nauki.
Możesz także szukać sposobów na zaangażowanie społeczności użytkowników, aby regularnie otrzymywać informacje zwrotne i zrozumieć znaczenie swojej pracy w open source.
* **Znajdź finansowanie:** Niezależnie od tego, czy szukasz pieniędzy na pizzę, czy próbujesz przejść na pełny etat open source, istnieje wiele zasobów, które mogą Ci pomóc! Pierwszym krokiem jest włączenie opcji [Sponsorzy GitHub](https://github.com/sponsors), aby umożliwić innym sponsorowanie twojej pracy open source. Jeśli myślisz o przejściu na pełny etat, zgłoś się do następnej rundy [GitHub Accelerator](http://accelerator.github.com/).
* **Korzystaj z narzędzi:** Poznaj narzędzia takie jak [GitHub Copilot](https://github.com/features/copilot/) i [GitHub Actions](https://github.com/features/actions), aby zautomatyzować proste zadania i uwolnić swój czas na bardziej znaczący wkład.
* **Odpoczynek i regeneracja:** Znajdź czas na swoje hobby i zainteresowania poza open source. Weź wolne weekendy, aby się zrelaksować i zregenerować - i ustaw swój [status GitHub](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status), aby odzwierciedlał twoją dostępność! Dobry sen może mieć duży wpływ na twoją zdolność do utrzymania wysiłków w dłuższej perspektywie.
Jeśli pewne aspekty projektu sprawiają ci szczególną przyjemność, postaraj się tak zaplanować pracę, abyś mógł doświadczać ich w ciągu dnia.
* **Wyznacz granice:** Nie możesz zgodzić się na każdą prośbę. Może to być tak proste, jak powiedzenie: "Nie mogę się tym teraz zająć i nie planuję tego w przyszłości" lub wyszczególnienie tego, co chcesz zrobić, a czego nie, w pliku README. Na przykład, można powiedzieć: "Łączę tylko PR-y, które mają jasno wymienione powody, dla których zostały stworzone" lub "Przeglądam sprawy tylko we czwartki od 18:00 do 19:00". Określa to oczekiwania wobec innych i daje ci coś, na co możesz wskazać w innych momentach, aby pomóc zmniejszyć wymagania ze strony współpracowników lub użytkowników dotyczące twojego czasu.
Naucz się stanowczo odrzucać szkodliwe zachowania i negatywne interakcje. W dobrym tonie jest nie poświęcać energii rzeczom, na których ci nie zależy.
Pamiętaj, że ekologia osobista to ciągła praktyka, która będzie ewoluować w miarę postępów w podróży open source. Traktując priorytetowo dbanie o siebie i utrzymywanie poczucia równowagi, możesz wnieść swój wkład w społeczność open source w sposób skuteczny i zrównoważony, zapewniając zarówno dobre samopoczucie, jak i sukces swoich projektów na dłuższą metę.
## Dodatkowe materiały
* [Społeczność opiekunów](http://maintainers.github.com/)
* [Umowa społeczna open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [Jak radzić sobie z toksycznymi ludźmi](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Sztuka przywództwa](https://rockwoodleadership.org/art-of-leadership/), Rockwood
* [Mówienie "nie"](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Otwartość zarządzania](https://governingopen.com/)
* Program warsztatów został zaczerpnięty z serii [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/)
## Współtwórcy
Bardzo dziękujemy wszystkim opiekunom, którzy podzielili się z nami swoimi doświadczeniami i wskazówkami na potrzeby tego przewodnika!
Ten przewodnik został napisany przez [@abbycabs](https://github.com/abbycabs) z wkładem od:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + wiele innych osób!
================================================
FILE: _articles/pl/metrics.md
================================================
---
lang: pl
title: Metryki Open Source
description: Podejmuj świadome decyzje, aby pomóc w rozwoju projektu open source, mierząc i śledząc jego sukces.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Po co mierzyć?
Dane, jeśli są mądrze wykorzystywane, mogą pomóc w podejmowaniu lepszych decyzji jako opiekun oprogramowania typu open source.
Więcej informacji pozwala:
* Dowiedz się, jak użytkownicy reagują na nową funkcję
* Dowiedz się, skąd pochodzą nowi użytkownicy
* Zidentyfikuj i zdecyduj, czy wesprzeć przypadek użycia funkcji odstającej lub funkcjonalność
* Określ popularność swojego projektu
* Zrozum, w jaki sposób używany jest twój projekt
* Zbieraj pieniądze poprzez sponsoring i granty
Na przykład [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) stwierdza, że Google Analytics pomaga im nadać priorytet pracy:
> Homebrew jest oferowany bezpłatnie i jest prowadzony wyłącznie przez wolontariuszy w wolnym czasie. W rezultacie nie mamy zasobów do przeprowadzenia szczegółowych badań użytkowników Homebrew, aby zdecydować, jak najlepiej zaprojektować przyszłe funkcje i nadać priorytet bieżącym pracom. Anonimowe zagregowane analizy użytkowników pozwalają nam nadawać priorytet poprawkom i funkcjom w oparciu o to, jak, gdzie i kiedy ludzie korzystają z Homebrew.
Popularność to nie wszystko. Każdy dostaje się do open source z różnych powodów. Jeśli Twoim celem jako opiekuna oprogramowania typu open source jest pochwalenie się swoją pracą, zachowanie przejrzystości kodu lub po prostu dobra zabawa, wskaźniki mogą nie być dla Ciebie ważne.
Jeśli _jesteś_ zainteresowany zrozumieniem swojego projektu na głębszym poziomie, zapoznaj się ze sposobami analizy jego aktywności.
## Discovery
Zanim ktokolwiek będzie mógł wykorzystać Twój projekt lub wesprzeć go, musi wiedzieć, że on istnieje. Zadaj sobie pytanie: _czy ludzie znajdują ten projekt?_

Jeśli Twój projekt jest hostowany na GitHub, [możesz zobaczyć](https://help.github.com/articles/about-repository-graphs/#traffic), ile osób wylądowało na twoim projekcie i skąd pochodzi. Na stronie projektu kliknij „Statystyki”, a następnie „Ruch”. Na tej stronie możesz zobaczyć:
* **Łączna liczba wyświetleń strony:** Informuje, ile razy Twój projekt był oglądany
* **Całkowita liczba unikalnych odwiedzających:** Informuje, ile osób obejrzało Twój projekt
* **Witryny odsyłające:** Informują o pochodzeniu użytkowników. Te dane pomogą Ci dowiedzieć się, gdzie dotrzeć do odbiorców i czy działania promocyjne przynoszą efekty.
* **Popularna treść:** Informuje, gdzie odwiedzają Twój projekt, w podziale na wyświetlenia stron i unikalnych użytkowników.
[GitHub stars](https://help.github.com/articles/about-stars/) może również pomóc w zapewnieniu podstawowej miary popularności. Chociaż gwiazdy GitHub niekoniecznie korelują z pobieraniem i użytkowaniem, mogą powiedzieć, ile osób zwraca uwagę na Twoją pracę.
Możesz także chcieć [śledzić wykrywalność w określonych miejscach](https://opensource.com/business/16/6/pirate-metrics): na przykład Google PageRank, ruch z odsyłaczy z witryny Twojego projektu lub skierowania z innych otwartych projekty źródłowe lub strony internetowe.
## Stosowanie
Ludzie znajdują Twój projekt w tej szalonej i szalonej rzeczy, którą nazywamy internetem. Idealnie, gdy zobaczą Twój projekt, poczują się zmuszeni do zrobienia czegoś. Drugie pytanie, które chcesz zadać, to: _czy ludzie korzystają z tego projektu?_
Jeśli używasz menedżera pakietów, takiego jak npm lub RubyGems.org, do rozpowszechniania projektu, możesz być w stanie śledzić pobrania projektu.
Każdy menedżer pakietów może używać nieco innej definicji „pobierania”, a pobieranie niekoniecznie koreluje z instalacjami lub użyciem, ale zapewnia pewną podstawę do porównania. Spróbuj użyć [Libraries.io](https://libraries.io/) do śledzenia statystyk użytkowania wielu popularnych menedżerów pakietów.
Jeśli Twój projekt znajduje się na GitHub, ponownie przejdź do strony „Ruch drogowy”. Możesz użyć [wykres klonowania](https://github.com/blog/1873-clone-graphs), aby zobaczyć, ile razy twój projekt został sklonowany w danym dniu, w podziale na całkowitą liczbę klonów i unikatowych klonerów.

Jeśli użycie jest niskie w porównaniu z liczbą osób odkrywających Twój projekt, należy rozważyć dwa problemy. Zarówno:
* Twój projekt nie zmienia liczby odbiorców lub
* Przyciągasz niewłaściwych odbiorców
Na przykład, jeśli Twój projekt wyląduje na pierwszej stronie Hacker News, prawdopodobnie zobaczysz skok w odkrywaniu (ruch), ale niższy współczynnik konwersji, ponieważ docierasz do wszystkich w Hacker News. Jeśli Twój projekt Ruby jest prezentowany na konferencji Ruby, bardziej prawdopodobne jest, że zobaczysz wysoki współczynnik konwersji wśród docelowych odbiorców.
Spróbuj dowiedzieć się, skąd pochodzą Twoi odbiorcy i poproś innych o opinie na stronie projektu, aby dowiedzieć się, z którym z tych dwóch problemów masz do czynienia.
Gdy dowiesz się, że ludzie korzystają z Twojego projektu, możesz spróbować dowiedzieć się, co z nim robią. Czy bazują na nim, rozwodząc kod i dodając funkcje? Czy używają go do nauki czy biznesu?
## Zatrzymywanie
Ludzie znajdują Twój projekt i go używają. Następnym pytaniem, które chcesz sobie zadać, jest: _czy ludzie biorą udział w tym projekcie?_
Nigdy nie jest za wcześnie, aby zacząć myśleć o autorach. Bez udziału innych osób ryzykujesz, że wpadniesz w niezdrową sytuację, w której Twój projekt jest popularny (wiele osób go używa), ale nie jest wspierany (za mało czasu opiekuna na zaspokojenie popytu).
Przechowywanie wymaga również [napływu nowych współautorów](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), ponieważ wcześniej aktywni współautorzy w końcu przejdą dalej do innych rzeczy.
Przykłady wskaźników społeczności, które warto regularnie śledzić, obejmują:
* **Łączna liczba współpracowników i liczba zatwierdzeń na jednego współpracownika:** Informuje, ilu masz współpracowników i kto jest mniej lub bardziej aktywny. W serwisie GitHub możesz to wyświetlić w sekcji „Statystyki” -> „Współtwórcy”. W tej chwili ten wykres zlicza tylko autorów, którzy zaangażowali się w domyślną gałąź repozytorium.

* **Po raz pierwszy, nieformalny i powtarzający się współautorzy:** Pomagają śledzić, czy zdobywasz nowych współpracowników i czy wrócą. (Przypadkowi współpracownicy to współautorzy z małą liczbą zatwierdzeń. Niezależnie od tego, czy jest to jeden zatwierdzenie, mniej niż pięć zatwierdzeń, czy coś innego zależy od ciebie.) Bez nowych współpracowników społeczność twojego projektu może stać w stagnacji.
* **Liczba otwartych problemów i otwartych żądań ściągania:** Jeśli te liczby stają się zbyt wysokie, możesz potrzebować pomocy w analizowaniu problemów i przeglądaniu kodu.
* **Liczba _opened_ issues i _opened_ pull requests:** Otwarte problemy oznaczają, że ktoś dba o twój projekt, aby otworzyć problem. Jeśli liczba ta rośnie z czasem, sugeruje to, że ludzie są zainteresowani twoim projektem.
* **Rodzaje wkładów:** Na przykład zatwierdza, naprawia literówki lub błędy lub komentuje problem.
## Działalność maintainera
Wreszcie, będziesz chciał zamknąć pętlę, upewniając się, że opiekunowie twojego projektu są w stanie obsłużyć liczbę otrzymanych wkładów. Ostatnie pytanie, które chcesz sobie zadać, brzmi: _czy ja (lub my) odpowiadam na naszą społeczność?_
Niereagujący opiekunowie stają się wąskim gardłem dla projektów typu open source. Jeśli ktoś złoży datek, ale nigdy nie usłyszy od opiekuna, może poczuć się zniechęcony i odejść.
[Badania Mozilli](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) sugeruje, że czas reakcji opiekuna jest kluczowym czynnikiem w zachęcaniu do ponownego udziału.
Rozważ śledzenie, ile czasu zajmuje Tobie (lub innemu opiekunowi) odpowiedź na wkład, niezależnie od tego, czy jest to problem, czy prośba o wycofanie. Odpowiadanie nie wymaga podejmowania działań. Może to być tak proste, jak powiedzenie: _„Dziękujemy za przesłanie! Przejrzę to w ciągu następnego tygodnia.”_
Możesz także zmierzyć czas potrzebny na przejście między etapami procesu wkładu, na przykład:
* Średni czas, przez który problem pozostaje otwarty
* Czy problemy zostaną rozwiązane przez PR
* Czy przestarzałe problemy zostaną zamknięte
* Średni czas na scalenie żądania ściągnięcia
## Używaj 📊 aby uczyć się o ludziach
Zrozumienie wskaźników pomoże ci zbudować aktywny, rozwijający się projekt open source. Nawet jeśli nie śledzisz wszystkich danych na pulpicie nawigacyjnym, skorzystaj z powyższej struktury, aby skoncentrować się na typach zachowań, które pomogą w rozwoju projektu.
================================================
FILE: _articles/pl/security-best-practices-for-your-project.md
================================================
---
lang: pl
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/pl/starting-a-project.md
================================================
---
lang: pl
title: Rozpoczęcie projektu Open Source
description: Dowiedz się więcej o świecie open source i przygotuj się do uruchomienia własnego projektu.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## „Co” i „dlaczego” oprogramowania typu open source
Więc myślisz o rozpoczęciu pracy z oprogramowaniem typu open source? Gratulacje! Świat docenia twój wkład. Porozmawiajmy o tym, czym jest open source i dlaczego ludzie to robią.
### Co oznacza „open source”?
To znaczy, gdy projekt jest open source **każdy może swobodnie korzystać, studiować, modyfikować i rozpowszechniać Twój projekt w dowolnym celu.** Uprawnienia te są egzekwowane poprzez [licencję typu open source](https://opensource.org/licenses).
Open source jest potężny, ponieważ obniża bariery adopcji i współpracy, umożliwiając ludziom szybkie rozprzestrzenianie i ulepszanie projektów. Również dlatego, że daje użytkownikom możliwość kontrolowania własnego przetwarzania w odniesieniu do zamkniętego źródła. Na przykład firma korzystająca z oprogramowania typu open source ma możliwość zatrudnienia kogoś, kto wprowadzi niestandardowe ulepszenia oprogramowania, zamiast polegać wyłącznie na decyzjach dostawcy zamkniętego źródła.
_Wolne oprogramowanie_ odnosi się do tego samego zestawu projektów, co _otwarte źródło_. Czasami zobaczysz również [niniejsze warunki](https://en.wikipedia.org/wiki/Free_and_open-source_software) w połączeniu jako „bezpłatne i otwarte oprogramowanie” (FOSS) lub „wolne, darmowe i otwarte oprogramowanie” (OPLĄT). _Free_ i _libre_ odnoszą się do wolności, [nie ceny](../starting-a-project/#czy-open-source-oznacza-bezpłatnie).
### Dlaczego ludzie open source-ują swoją pracę?
[Jest wiele powodów](https://ben.balter.com/2015/11/23/why-open-source/) dlaczego osoba lub organizacja chciałaby otworzyć projekt. Niektóre przykłady obejmują:
* **Współpraca:** Projekty open source mogą akceptować zmiany od każdego na świecie. [Exercism](https://github.com/exercism/), na przykład, jest platformą ćwiczeń programistycznych z ponad 350 uczestnikami.
* **Adopcja i remiksowanie:** projekty open source mogą być wykorzystywane przez każdego do prawie dowolnego celu. Ludzie mogą nawet używać go do budowania innych rzeczy. [WordPress](https://github.com/WordPress), na przykład, zaczął się jako rozwidlenie istniejącego projektu o nazwie [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparentność:** Każdy może sprawdzić projekt open source pod kątem błędów lub niespójności. Przejrzystość ma znaczenie dla rządów takich jak [Bułgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) lub [Stany Zjednoczone](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), regulowane branże, takie jak bankowość lub opieka zdrowotna, oraz oprogramowanie zabezpieczające, takie jak [Let's Encrypt](https://github.com/letsencrypt).
Open source to nie tylko oprogramowanie. Możesz otworzyć wszystko, od zbiorów danych po książki. Sprawdź [GitHub Explore](https://github.com/explore), aby uzyskać pomysły na to, co jeszcze możesz otworzyć.
### Czy open source oznacza bezpłatnie
Jednym z największych losowań open source jest to, że nie kosztuje. „Bezpłatny” jest jednak produktem ubocznym ogólnej wartości open source.
Ponieważ [wymaga licencji typu open source](https://opensource.org/osd-annotated) że każdy może używać, modyfikować i udostępniać Twój projekt do prawie dowolnego celu, same projekty są zazwyczaj bezpłatne. Jeśli korzystanie z projektu kosztuje, każdy może legalnie wykonać kopię i zamiast tego skorzystać z darmowej wersji.
W rezultacie większość projektów typu open source jest darmowa, ale „bezpłatnie” nie jest częścią definicji open source. Istnieją sposoby pobierania opłat za projekty typu open source pośrednio poprzez podwójne licencjonowanie lub ograniczone funkcje, przy jednoczesnym zachowaniu zgodności z oficjalną definicją open source.
## Czy powinienem uruchomić własny projekt open source?
Krótka odpowiedź brzmi „tak”, ponieważ bez względu na wynik uruchomienie własnego projektu to świetny sposób, aby dowiedzieć się, jak działa open source.
Jeśli nigdy wcześniej nie korzystałeś z projektu, możesz być zdenerwowany tym, co powiedzą ludzie lub czy ktoś w ogóle to zauważy. Jeśli to brzmi jak ty, nie jesteś sam!
Praca open source jest jak każde inne działanie twórcze, czy to pisanie, czy malowanie. Dzielenie się pracą ze światem może być przerażające, ale jedynym sposobem na poprawę jest ćwiczenie - nawet jeśli nie masz publiczności.
Jeśli nie jesteś jeszcze przekonany, poświęć chwilę, aby pomyśleć o swoich celach.
### Wyznaczanie celów
Cele mogą pomóc Ci dowiedzieć się, nad czym pracować, w czym powiedzieć „nie” i gdzie potrzebujesz pomocy od innych. Zacznij od zadania sobie pytania: _dlaczego jestem otwarty na pozyskiwanie tego projektu?_
Nie ma jednej właściwej odpowiedzi na to pytanie. Możesz mieć wiele celów dla jednego projektu lub różnych projektów o różnych celach.
Jeśli Twoim jedynym celem jest pochwalenie się swoją pracą, możesz nawet nie chcieć wkładów, a nawet powiedzieć to w swoim README. Z drugiej strony, jeśli chcesz współpracowników, zainwestujesz czas w przejrzystą dokumentację i sprawi, że nowicjusze będą mile widziani.
W miarę rozwoju projektu Twoja społeczność może potrzebować czegoś więcej niż tylko kodu. Odpowiadanie na problemy, przeglądanie kodu i ewangelizacja projektu to ważne zadania w projekcie typu open source.
Chociaż ilość czasu poświęcanego na zadania niekodujące będzie zależeć od wielkości i zakresu projektu, powinieneś być przygotowany jako opiekun, aby zająć się nimi samodzielnie lub znaleźć kogoś, kto ci pomoże.
**Jeśli jesteś częścią firmy, która pozyskuje projekt,** upewnij się, że Twój projekt ma wewnętrzne zasoby potrzebne do rozwoju. Będziesz chciał określić, kto jest odpowiedzialny za utrzymanie projektu po uruchomieniu i jak udostępnisz te zadania swojej społeczności.
Jeśli potrzebujesz specjalnego budżetu lub personelu na promocję, operacje i utrzymanie projektu, rozpocznij te rozmowy wcześniej.
### Wkład w inne projekty
Jeśli Twoim celem jest nauczenie się, jak współpracować z innymi lub zrozumieć, jak działa open source, rozważ przyczynienie się do istniejącego projektu. Zacznij od projektu, którego już używasz i który kochasz. Wkład w projekt może być tak prosty, jak poprawianie literówek lub aktualizacja dokumentacji.
Jeśli nie masz pewności, jak rozpocząć pracę jako współpracownik, zapoznaj się z naszym [Jak przyczynić się do tworzenia otwartego oprogramowania](../how-to-contribute/).
## Uruchomienie własnego projektu open source
Nie ma idealnego czasu na otwarcie swojej pracy. Możesz otworzyć pomysł, projekt w toku lub po latach zamkniętego źródła.
Ogólnie rzecz biorąc, powinieneś otworzyć swój projekt, gdy czujesz się dobrze, gdy inni oglądają twoją pracę i wyrażają opinie na jej temat.
Bez względu na to, na jakim etapie zdecydujesz się na otwarcie projektu, każdy projekt powinien zawierać następującą dokumentację:
* [Open source license](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Contributing guidelines](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code of conduct](../code-of-conduct/)
Jako opiekun, te komponenty pomogą ci komunikować oczekiwania, zarządzać składkami i chronić prawa wszystkich osób (w tym własnych). Znacząco zwiększają twoje szanse na pozytywne doświadczenie.
Jeśli Twój projekt jest w GitHub, umieszczenie tych plików w katalogu głównym z zalecanymi nazwami plików pomoże GitHub rozpoznać i automatycznie udostępnić je czytelnikom.
### Wybór licencji
Licencja typu open source gwarantuje, że inni mogą używać, kopiować, modyfikować i wnosić wkład w projekt bez żadnych konsekwencji. Chroni również przed trudnymi sytuacjami prawnymi. **Musisz dołączyć licencję podczas uruchamiania projektu typu open source.**
Legalna praca to nie zabawa. Dobrą wiadomością jest to, że możesz skopiować i wkleić istniejącą licencję do swojego repozytorium. Ochrona twojej ciężkiej pracy zajmie tylko chwilę.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), i [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) są najpopularniejszymi licencjami typu open source, ale [istnieją inne opcje](https://choosealicense.com) do wyboru.
Podczas tworzenia nowego projektu w GitHub masz możliwość wybrania licencji. Dołączenie licencji open source sprawi, że Twój projekt GitHub stanie się open source.

Jeśli masz inne pytania lub wątpliwości związane z aspektami prawnymi zarządzania projektem typu open source, [zapewniamy Ci ochronę](../legal/).
### Pisanie README
Pliki README nie tylko wyjaśniają, jak korzystać z projektu. Wyjaśniają również, dlaczego Twój projekt ma znaczenie i co użytkownicy mogą z nim zrobić.
W README spróbuj odpowiedzieć na następujące pytania:
* Co robi ten projekt?
* Dlaczego ten projekt jest przydatny?
* Jak zacząć?
* Gdzie mogę uzyskać dodatkową pomoc, jeśli jej potrzebuję?
Możesz użyć swojego README, aby odpowiedzieć na inne pytania, takie jak sposób obsługi wkładów, jakie są cele projektu oraz informacje na temat licencji i atrybucji. Jeśli nie chcesz przyjmować datków lub twój projekt nie jest jeszcze gotowy do produkcji, zapisz te informacje.
Czasami ludzie unikają pisania pliku README, ponieważ uważają, że projekt jest niedokończony lub nie chcą wkładów. Są to bardzo dobre powody, aby napisać jeden.
Aby uzyskać więcej inspiracji, spróbuj użyć przewodnika @dguo ['Make README'](https://www.makeareadme.com/) lub @PurpleBooth w [szablon README](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) napisać kompletny plik README.
Po dołączeniu pliku README do katalogu głównego GitHub automatycznie wyświetli go na stronie głównej repozytorium.
### Pisanie swoich wytycznych
Plik CONTRIBUTING mówi odbiorcom, jak wziąć udział w projekcie. Na przykład możesz podać informacje o:
* Jak złożyć raport o błędzie (spróbuj użyć [szablonów zgłaszania problemów i pobierania](https://github.com/blog/2111-issue-and-pull-request-templates))
* Jak zasugerować nową funkcję
* Jak skonfigurować środowisko i uruchomić testy
Oprócz szczegółów technicznych plik CONTRIBUTING jest także okazją do wyrażenia swoich oczekiwań dotyczących wkładów, takich jak:
* Rodzaje składek, których szukasz
* Twoja mapa drogowa lub wizja projektu
* W jaki sposób współpracownicy powinni (lub nie powinni) się z Tobą skontaktować
Używanie ciepłego, przyjaznego tonu i oferowanie konkretnych sugestii dotyczących wkładu (takich jak pisanie dokumentacji lub tworzenie strony internetowej) może znacznie przyczynić się do tego, że nowo przybyli poczują się mile widziani i podekscytowani uczestnictwem.
Na przykład [Active Admin](https://github.com/activeadmin/activeadmin/) uruchamia [swój przewodnik pomocniczy](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) z:
> Po pierwsze, dziękuję za rozważenie włączenia się w Active Admin. Ludzie tacy jak Ty sprawiają, że Active Admin jest tak doskonałym narzędziem.
Na najwcześniejszych etapach projektu plik WKŁADU może być prosty. Zawsze powinieneś wyjaśniać, jak zgłaszać błędy lub problemy z plikami, a także wszelkie wymagania techniczne (takie jak testy), aby wnieść swój wkład.
Z czasem możesz dodawać inne często zadawane pytania do pliku WKŁAD. Zapisanie tych informacji oznacza, że coraz mniej osób będzie zadawać ci te same pytania w kółko.
Aby uzyskać więcej pomocy w pisaniu pliku WKŁAD, sprawdź @nayafia [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) lub @mozilla ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/).
Link do pliku CONTRIBUTING z README, dzięki czemu więcej osób go zobaczy. Jeśli [umieścisz plik CONTRIBUTING w repozytorium swojego projektu](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub automatycznie doda link do Twojego pliku, gdy współtwórca utworzy problem lub otworzy żądanie ściągnięcia.

### Ustanowienie kodeksu postępowania
Wreszcie kodeks postępowania pomaga ustalić podstawowe zasady postępowania dla uczestników projektu. Jest to szczególnie cenne, jeśli uruchamiasz projekt open source dla społeczności lub firmy. Kodeks postępowania umożliwia ci zdrowe, konstruktywne zachowanie społeczności, które zmniejszy stres jako opiekuna.
Aby uzyskać więcej informacji, zapoznaj się z naszym [Przewodnikiem Kodeksu Postępowania](../code-of-conduct/).
Oprócz informowania, w jaki sposób oczekuje się, że uczestnicy będą się zachowywać, kodeks postępowania ma również na celu opisanie, do kogo odnoszą się te oczekiwania, kiedy mają zastosowanie, i co zrobić, gdy nastąpi naruszenie.
Podobnie jak licencje typu open source, pojawiają się również nowe standardy kodeksów postępowania, więc nie musisz pisać własnych. [Porozumienie dla współautorów](https://contributor-covenant.org/) to rozwijany kodeks postępowania używany przez [ponad 40 000 projektów open source](https://www.contributor-covenant.org/adopters), w tym Kubernetes, Rails i Swift. Bez względu na to, jakiego tekstu użyjesz, powinieneś być przygotowany do egzekwowania swojego kodeksu postępowania, jeśli to konieczne.
Wklej tekst bezpośrednio do pliku CODE_OF_CONDUCT w repozytorium. Zachowaj plik w katalogu głównym projektu, aby łatwo go znaleźć i połączyć go z README.
## Nazewnictwo i branding twojego projektu
Branding to coś więcej niż efektowne logo lub chwytliwa nazwa projektu. Chodzi o to, jak mówisz o swoim projekcie i do kogo docierasz z przesłaniem.
### Wybór właściwej nazwy
Wybierz nazwę, która jest łatwa do zapamiętania i najlepiej daje wyobrażenie o tym, co robi projekt. Na przykład:
* [Sentry](https://github.com/getsentry/sentry) monitoruje aplikacje pod kątem zgłaszania awarii
* [Thin](https://github.com/macournoyer/thin) to szybki i prosty serwer internetowy Ruby
Jeśli bazujesz na istniejącym projekcie, użycie ich nazwy jako prefiksu może pomóc wyjaśnić, co robi twój projekt (na przykład, [node-fetch](https://github.com/bitinn/node-fetch) przynosi `window.fetch` do Node.js).
Rozważ przede wszystkim przejrzystość. Kalambury są zabawne, ale pamiętaj, że niektóre żarty mogą nie przekładać się na inne kultury lub osoby z różnymi doświadczeniami. Niektórzy z potencjalnych użytkowników mogą być pracownikami firmy: nie chcesz, aby czuli się niekomfortowo, gdy muszą wyjaśniać Twój projekt w pracy!
### Unikanie konfliktów nazw
[Sprawdź projekty open source o podobnej nazwie](http://ivantomic.com/projects/ospnc/), szczególnie jeśli korzystasz z tego samego języka lub ekosystemu. Jeśli twoje imię pokrywa się z popularnym istniejącym projektem, możesz pomylić odbiorców.
Jeśli chcesz, aby witryna internetowa, uchwyt na Twitterze lub inne właściwości reprezentowały Twój projekt, upewnij się, że możesz uzyskać odpowiednie nazwy. Najlepiej jest [zarezerwować teraz te nazwy](https://instantdomainsearch.com/) dla spokoju ducha, nawet jeśli jeszcze nie zamierzasz ich używać.
Upewnij się, że nazwa twojego projektu nie narusza żadnych znaków towarowych. Firma może poprosić cię o późniejsze wycofanie projektu, a nawet podjęcie kroków prawnych przeciwko tobie. To po prostu nie jest warte ryzyka.
Możesz sprawdzić [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) pod kątem konfliktów znaków towarowych. Jeśli pracujesz w firmie, jest to jedna z rzeczy, w których [zespół prawny może ci pomóc](../legal/).
Na koniec wykonaj szybkie wyszukiwanie w Google nazwy swojego projektu. Czy ludzie będą mogli łatwo znaleźć Twój projekt? Czy w wynikach wyszukiwania pojawia się coś jeszcze, czego nie chciałbyś, żeby zobaczyli?
### To, jak piszesz (i kodujesz), wpływa również na twoją markę!
Przez cały czas trwania projektu będziesz dużo pisać: CZYTELNIKI, samouczki, dokumenty społeczności, odpowiadanie na problemy, może nawet biuletyny i listy mailingowe.
Niezależnie od tego, czy jest to oficjalna dokumentacja, czy zwykły e-mail, styl pisania jest częścią marki Twojego projektu. Zastanów się, w jaki sposób możesz dotrzeć do odbiorców i czy to jest ton, który chcesz przekazać.
Używanie ciepłego, inkluzywnego języka (takiego jak „je”, nawet w odniesieniu do jednej osoby) może znacznie przyczynić się do tego, aby Twój projekt był przyjemny dla nowych współpracowników. Trzymaj się prostego języka, ponieważ wielu czytelników może nie być rodzimym językiem angielskim.
Poza tym, jak piszesz słowa, twój styl kodowania może również stać się częścią marki twojego projektu. [Angular](https://angular.io/guide/styleguide) i [jQuery](https://contribute.jquery.org/style-guide/js/) to dwa przykłady projektów z rygorystycznymi stylami kodowania i wytycznymi.
Nie musisz pisać przewodnika po stylu dla swojego projektu, gdy dopiero zaczynasz, i może się okazać, że lubisz włączać różne style kodowania do swojego projektu. Ale powinieneś przewidzieć, w jaki sposób Twój styl pisania i kodowania może przyciągać lub zniechęcać różne typy ludzi. Najwcześniejsze etapy projektu to okazja do ustanowienia precedensu, który chcesz zobaczyć.
## Twoja lista kontrolna przed uruchomieniem
Gotowy do otwarcia twojego projektu? Oto lista kontrolna, która pomoże. Zaznacz wszystkie pola? Jesteś gotowy! [Kliknij „opublikuj”](https://help.github.com/articles/making-a-private-repository-public/) i poklep się po plecach.
**Dokumentacja**
**Kod**
**Ludzie**
Jeśli jesteś osobą fizyczną:
Jeśli jesteś firmą lub organizacją:
## Zrobiłeś to!
Gratulujemy otwartego zaopatrzenia pierwszego projektu. Bez względu na wynik, praca publiczna jest darem dla społeczności. Z każdym żądaniem zatwierdzenia, komentarza i wyciągnięcia tworzysz możliwości dla siebie i innych do nauki i rozwoju.
================================================
FILE: _articles/pt/best-practices.md
================================================
---
lang: pt
title: Melhores Práticas para Mantenedores
description: Tornando sua vida mais fácil como um mantenedor open source, desde processos de documentação até o alavancar da sua comunidade.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## O que significa ser um mantenedor?
Se você mantém um projeto open source que muitas pessoas utilizam, você irá notar que está codificando menos e respondendo mais issues.
Nos primeiros estágios de um projeto, você está experimentando novas ideias e tomando decisões baseadas no que você quer. À medida que a popularidade do seu projeto aumenta, você terá a percepção que está trabalhando mais com seus usuários e contribuidores.
Manter um projeto exige mais do que simplesmente codificar. Há tarefas que são geralmente inesperadas, porém muito importantes para um projeto em crescimento. Reunimos algumas maneiras de tornar sua vida mais fácil, indo desde os processos de documentação até formas de alavancar sua comunidade.
## Documentando seus processos
Escrever é uma das coisas mais importante que você pode fazer como um mantenedor.
A documentação não só clareia seu próprio pensamento, como também ajuda outras pessoas a entenderem o que você precisa ou espera, antes mesmo delas perguntarem.
Escrever facilita dizer "não" quando alguma coisa não se encaixa no seu escopo. Assim como torna mais fácil a participação e a ajuda das pessoas. Você nunca saberá quem estará lendo ou usando o seu projeto.
Mesmo que você não use parágrafos completos, pontuar os principais tópicos é melhor do que não escrever nada.
Lembre-se de manter a sua documentação atualizada. Se você não está disponível para fazer isso, exclua a sua documentação desatualizada ou deixe explícito tal informação para que os contribuidores saibam que atualizações são bem-vindas.
### Escrevendo a visão do seu projeto
Inicie escrevendo os objetivos do seu projeto. Adicione eles ao README, ou crie um arquivo separado chamado VISÃO. Caso existam outros artefatos que possam ajudar, como o roadmap do projeto, torne-os públicos também.
Ter uma visão clara e documentada mantém você focado e ajuda a evitar a "fuga de escopo" das contribuições de outras pessoas.
Por exemplo, @lord descobriu que ter uma visão de projeto o ajudou a definir em quais requests gastaria seu tempo. Como um novo mantenedor, ele se arrependeu de não ter seguido o escopo quando recebeu sua primeira request para o [Slate](https://github.com/lord/slate).
### Comunique suas expectativas
Escrever regras pode ser estressante. Algumas vezes você pode sentir como se estivesse policiando o comportamento das outras pessoas ou acabando com a felicidade delas.
Entretanto, boas regras escritas e aplicadas, empoderam os mantenedores. Elas previnem você de ser arrastado a fazer coisas que não queria.
Muitas pessoas que tem contato com seu projeto não sabem nada sobre você ou sobre suas circunstâncias. Elas podem assumir que você é pago para trabalhar nisso, especialmente se é alguma coisa que elas usam regularmente e dependem. Talvez em algum momento você tenha dedicado muito tempo ao seu projeto, mas agora você está ocupado com um novo trabalho ou com um membro familiar.
Tudo isso é perfeitamente aceitável! Apenas tenha certeza de que as pessoas saibam disso.
Se a manutenção de seu projeto é em tempo parcial ou puramente voluntária, seja honesto(a) sobre quanto tempo você tem. Isso não é o mesmo que o quanto de tempo que você acha que o projeto requer, ou quanto tempo os outros querem que você gaste.
Aqui estão algumas regras que valem a pena escrever:
* Como uma contribuição é analisada e aceita (_Você precisa de testes? Um template de issue?_)
* Os tipos de contribuição que você irá aceitar (_Você só quer ajuda em uma certa parte de seu código?_)
* Quanto é apropriado seguir (_por exemplo, "Você pode esperar a resposta de um mantenedor dentro de 7 dias. Se não obtiver nada dele, sinta-se livre para fazer um ping no tópico."_)
* Quanto tempo você gasta no projeto (_por exemplo, "Nós só gastamos 5 horas por semana neste projeto"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), e [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) são vários exemplos de projetos com regras básicas para mantenedores e contribuidores.
### Mantenha a comunicação pública
Não se esqueça de documentar suas interações também. Onde você puder, mantenha a comunicação sobre seu projeto pública. Se alguém tentar contatar você privativamente para discutir uma feature request ou um suporte necessitado, dirija ela ao canal de comunicação público, como uma lista de e-mail ou um issue tracker.
Se você encontrar outros mantenedores, ou tomar uma importante decisão em particular, documente essas conversas em público, mesmo que sejam apenas suas anotações.
Deste modo, qualquer um(a) que adentrar na comunidade terá acesso à mesma informação que alguém que já se encontra na mesma há anos.
## Aprendendo a dizer não
Você escreveu as coisas. Idealmente, todo mundo iria ler sua documentação, porém na realidade, você terá que relembrar os outros que esse conhecimento existe.
Entretanto, estar tudo escrito ajuda a despersonalizar situações em que você precisa impor suas regras.
Dizer "não", não é divertido, mas _"A sua contribuição não corresponde aos critérios deste projeto"_ soa menos pessoal que _"Eu não gosto de sua contribuição"_.
Como mantenedor, você irá se deparar com diversas situações em que terá que dizer "não": solicitações de funcionalidades que não se encaixam no escopo, alguém provocando uma discussão, trazendo trabalho desnecessário aos outros.
### Mantenha o diálogo amigável
Um dos mais importantes lugares em que você irá praticar dizer não é em suas filas de issues e pull requests. Como um mantenedor de projeto, você irá inevitavelmente receber sugestões que não deseja aceitar.
Talvez uma contribuição mude o escopo do projeto ou não corresponde à sua visão. Talvez a ideia seja boa, porém a implementação seja pobre.
Independentemente do motivo, é possível lidar de forma diplomática com contribuições que não atendem aos padrões do seu projeto.
Se você recebe uma contribuição que não deseja aceitar, sua primeira reação pode ser ignorá-la ou fingir que não a viu. Fazer isso pode machucar o sentimento das outras pessoas e até mesmo desmotivar outros potenciais contribuidores em sua comunidade.
Não deixe uma contribuição indesejada aberta porque você se sente culpado ou quer ser legal. Com o passar do tempo, suas issues e PRs não respondidas farão o trabalho em seu projeto pareça mais estressante e intimidador.
É melhor fechar imediatamente as contribuições que você sabe que não deseja aprovar. Se seu projeto já sofre com um grande backlog, @steveklabnik tem sugestões para [como realizar a triagem de issues eficientemente](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Em segundo lugar, ignorar contribuições envia um sinal negativo para sua comunidade. Contribuir para um projeto pode ser intimidador, especialmente se é a primeira vez de alguém. Mesmo que você não aceite a contribuição dele(a), dê reconhecimento à pessoa por trás dela e agradeça pelo interesse. É um grande elogio!
Se você não deseja aceitar uma contribuição:
* **Agradeça ele(a)** pela contribuição
* **Explique porque não se encaixa** no escopo do projeto e ofereça sugestões claras de melhorias, se você for capaz. Seja gentil, mas firme.
* **Link para uma documentação relevante**, se houver. Se você notar repetidas solicitações por coisas que você não deseja aceitar, adicione elas à sua documentação para evitar ficar se repetindo.
* **Feche a request**
Você não precisará de mais de 1-2 sentenças para responder. Por exemplo, quando um(a) usuário(a) do [celery](https://github.com/celery/celery/) reporta um erro relacionado ao Windows, @berkerpeksag [respondeu com](https://github.com/celery/celery/issues/3383):

Se pensar em dizer "não" aterroriza você, você não está sozinho. Como @jessfraz relata
> Eu conversei com mantenedores de vários projetos de código aberto diferentes, Mesos, Kubernetes, Chromium, e todos concordam que uma das partes mais difíceis de ser um mantenedor é dizer "Não" aos patches que você não quer.
Não se sinta envergonhado em não querer aceitar a contribuição de alguém. A primeira regra do open source [de acordo com](https://twitter.com/solomonstre/status/715277134978113536) @shykes é: _"Não é temporário, sim é para sempre."_ Embora a empatia com o entusiasmo de outra pessoa seja uma coisa boa, rejeitar uma contribuição não é o mesmo que rejeitar a pessoa por trás dela.
Por fim, se uma contribuição não é boa o suficiente, você não possui a obrigação de aceitá-la. Seja gentil e responsivo quando as pessoas contribuírem com seu projeto, porém aceite somente mudanças que você realmente acredita que tornarão seu projeto melhor. Quanto mais você pratica dizer não, mais fácil se torna. Juro.
### Seja proativo
Para reduzir a quantidade de contribuições indesejadas, em primeiro lugar, explique, no guia de contribuição, o processo de submissão e aceitação das contribuições do seu projeto.
Se você está recebendo muitas contribuições de baixa qualidade, exija que esses contribuidores executem alguns passos antes, por exemplo:
* Preencher um template/checklist para issues ou PRs
* Abrir uma issue antes de submeter uma PR
Se eles não seguirem suas regras, feche a issue imediatamente e aponte para sua documentação.
Embora essa abordagem possa parecer indelicada a princípio, ser proativo é, na verdade, bom para as duas partes. Isso reduz as chances de alguém se esforçar durante horas de trabalho em uma pull request que você não irá aceitar. E além disso, torna seu fluxo de trabalho mais fácil de gerenciar.
Algumas vezes, quando você diz não, um potencial contribuidor pode chatear-se ou criticar sua decisão. Se o comportamento dele se tornar hostil, [siga os passos para amenizar a situação](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) ou até mesmo remova-o de sua comunidade, se ele não pretende colaborar de forma construtiva.
### Abrace a mentoria
Talvez alguém em sua comunidade, regularmente submeta contribuições que não casam com os padrões de seu projeto. Pode ser frustrante para ambas as partes passar por rejeições repetidamente.
Se você perceber que alguém está entusiasmado com seu projeto, mas necessita de um pouco de polimento, seja paciente. Explique claramente em cada situação porque as contribuições deles não atendem as expectativas do projeto. Tente mostrá-los uma tarefa mais fácil ou menos ambígua, como uma issue marcada como _"good first issue,"_ para que eles deem seus primeiros passos. Se você tiver tempo, considere ensiná-los a realizar sua primeira contribuição, ou encontre alguém em sua comunidade que possa estar disposto a orientá-los.
## Alavanque sua comunidade
Você não precisa fazer tudo sozinho. A comunidade do seu projeto existe por uma razão! Mesmo que você ainda não tenha uma comunidade de colaboradores ativos, se dispuser de muitos usuários, coloque-os para trabalhar.
### Compartilhe a carga de trabalho
Se você está procurando por outras pessoas, comece perguntando.
Quando perceber novos contribuidores fazendo contribuições repetidamente, reconheça o trabalho deles oferecendo mais responsabilidades. Documente como os outros podem crescer em termos de liderança no projeto se assim eles desejarem.
Encorajar os outros a [compartilhar a propriedade do projeto](../building-community/#compartilhe-a-responsabilidade-pelo-seu-projeto) pode rapidamente reduzir sua própria carga de trabalhos, assim como @lmccart descobriu no projeto dela, [p5.js](https://github.com/processing/p5.js).
Se você precisar se afastar de seu projeto, seja por um hiato ou permanentemente, não há vergonha em pedir para alguém assumir o controle para você.
Se outras pessoas estão entusiasmadas com a sua direção, conceda-lhes acesso de commit ou formalmente entregue o controle a outra pessoa. Se alguém "deu fork" em seu projeto e está ativamente mantendo-o em outro lugar, considere ligar o fork ao seu projeto original. É ótimo que tantas pessoas queiram que seu projeto continue vivo!
@progrium [descobriu que](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) documentar a visão de seu projeto, [Dokku](https://github.com/dokku/dokku), ajudou esses objetivos a sobreviverem, mesmo depois de seu afastamento:
> Eu escrevi um página wiki descrevendo o que queria e porque eu queria. Por alguma razão, para minha surpresa, os mantenedores começaram a fazer o projeto andar naquela direção! As coisas aconteceram exatamente da forma que eu faria? Nem sempre. Mas ainda trouxera o projeto para mais próximo do que escrevi.
### Deixe que os outros construam as soluções que precisam
Se um colaborador em potencial possui uma opinião diferente sobre o que o seu projeto deve fazer, convém incentivá-lo gentilmente a trabalhar em seu próprio fork.
Realizar o fork de um projeto não precisa ser uma coisa ruim. A capacidade de copiar e modificar projetos é uma das melhores coisas no open source. Incentivar os membros de sua comunidade a trabalharem em seus próprios forks pode fornecer a saída criativa de que precisam, sem entrar em conflito com a visão de seu projeto.
O mesmo se aplica a um usuário que realmente quer uma solução que você simplesmente não tem recurso suficiente para construir. Oferecer APIs e hooks de personalização pode ajudar as outras pessoas a atender as suas próprias necessidades, sem precisar que modificar o código fonte diretamente. @orta [descobriu que](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) estimular a criação de plugins para CocoaPods levou à "algumas das ideias mais interessantes":
> É quase inevitável que, quando um projeto se torna grande, os mantenedores precisam tornar-se mais conservadores sobre como eles introduzem código novo. Você se torna bom em dizer "não", mas muitas pessoas possuem necessidades legítimas. Então, em vez disso, você acaba transformando sua ferramenta em uma plataforma.
## Traga os robôs
Assim como há tarefas com as quais outras pessoas podem te ajudar, há também tarefas que nenhum humano deveria fazer. Os robôs são seus amigos. Utilize-os para tornar sua vida de mantenedor mais fácil.
### Exija testes e outras verificações para aumentar a qualidade de seu código
Uma das mais importantes formas de automatizar seu projeto é adicionando testes.
Testes ajudam os contribuidores a sentirem-se confiantes de que eles não quebrarão nada. Testes também tornam mais fácil, para você, revisar e aceitar contribuições rapidamente. Quanto mais responsivo você é, mais engajada sua comunidade poderá ser.
Configure testes automáticos que irão executar em todas as contribuições recebidas e garanta que seus teste poderão ser facilmente executados localmente por seus contribuidores. Exija que todas as contribuições de código passem em seus testes antes que possam ser submetidas. Você ajudará a definir um padrão mínimo de qualidade para todas as submissões. [Verificações de status obrigatórias](https://help.github.com/articles/about-required-status-checks/) no GitHub podem ajudar a garantir que nenhuma mudança seja aceita sem passar por seus testes.
Se você adicionar testes, tenha certeza de ter explicado como eles funcionam em seu arquivo de contribuição.
### Use ferramentas para automatizar tarefas básicas de manutenção
A boa notícia sobre manter um projeto popular é que outros mantenedores já enfrentaram problemas similares e construíram soluções para isso.
Existem uma [variedade de ferramentas disponíveis](https://github.com/showcases/tools-for-open-source) para ajudar a automatizar alguns aspectos do trabalho de manutenção. Veja alguns exemplos:
* [semantic-release](https://github.com/semantic-release/semantic-release) automatiza suas releases
* [mention-bot](https://github.com/facebook/mention-bot) menciona potenciais reviwers para pull requests
* [Danger](https://github.com/danger/danger) ajuda a automatizar o code review
Para relatório de bugs e outras contribuições comuns, o GitHub possui [Modelos de Issue e Modelos de Pull Request](https://github.com/blog/2111-issue-and-pull-request-templates), que você pode criar para simplificar a comunicação que você recebe. @TalAter fez o [guia Choose Your Own Adventure](https://www.talater.com/open-source-templates/#/), para ajudar você a escrever seus modelos de issue e PR.
Para gerenciar suas notificações de e-mail, você pode configurar [filtros de e-mail](https://github.com/blog/2203-email-updates-about-your-own-activity) para organizar por prioridade.
Se você deseja ir um pouco além, style guides e linters podem padronizar as contribuições do projeto e torná-las mais fáceis de revisar e aceitar.
Entretanto, se seus padrões são muito complicados, elas podem aumentar as barreiras para contribuição. Tenha certeza de adicionar apenas as regras suficientes para tornar a vida de todo mundo mais fácil.
Se você não está certo sobre quais ferramentas usar, procure ver o que outros projetos populares fazem, especialmente aqueles do seu ecossistema. Por exemplo, como é o processo de contribuição para outros módulos do Node? Usar ferramentas e abordagens semelhantes também tornará seu processo mais familiar para seus contribuidores-alvo.
## Não há problema em pedir pause
Trabalhar com Open Source uma vez lhe trouxe alegrias. Talvez agora esteja começando a fazer você se sentir esquivo ou culpado.
Talvez você se sinta sobrecarregado ou um sentimento crescente de pavor quando você pensa sobre seus projetos. E enquanto isso, as issues e pull requests se acumulam.
O burnout é um problema real e onipresente no trabalho open source, especialmente entre mantenedores. Como um mantenedor, sua felicidade é um requisito não-negociável para a sobrevivência de qualquer projeto open source.
Embora não seja preciso dizer, dê uma pausa! Você não deve esperar se sentir esgotado para tirar férias. @brettcannon, desenvolvedor do core do Python, decidiu tirar [um mês de férias](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) após 14 anos de trabalhos em software open source.
Assim como qualquer outro tipo de trabalho, fazer pausas regulares manterão você revigorado, feliz e excitado sobre seu trabalho.
Algumas vezes, pode ser difícil tirar férias de um trabalho open source quando parece que todo mundo precisa de você. As pessoas podem até tentar fazer você se sentir culpado por estar se afastando.
Faça seu melhor para dar suporte para seus usuários e sua comunidade enquanto estiver afastado do projeto. Se você não conseguir encontrar o apoio que precisa, tire um tempo mesmo assim. Certifique-se de comunicar quando não estiver disponível, para que as pessoas não fiquem confusas com sua falta de responsividade.
Intervalos sem aplicam a mais do que apenas as férias. Se você não quer trabalhar em open source nos finais de semana, ou durante suas horas de trabalho normais, comunique aos outros, então eles saberão que não devem incomodá-lo.
## Cuide-se primeiro!
Manter um projeto popular requer habilidades diferentes das primeiras etapas de crescimento, mas não é menos recompensador. Como um mantenedor, você praticará a liderança e suas habilidades pessoais em um nível que poucas experimentam. Embora nem sempre seja fácil gerenciá-lo, estabelecer limites claros e apenas aceitar o que lhe é mais conveniente ajudará você a se manter feliz, atualizado e produtivo.
================================================
FILE: _articles/pt/building-community.md
================================================
---
lang: pt
title: Construindo Comunidades Acolhedoras
description: Como construir uma comunidade que encoraje pessoas a utilizarem, contribuirem e evangelizarem o seu projeto
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Preparando o seu projeto para o sucesso
Você lançou o seu projeto, está espalhando a palavra e as pessoas estão dando uma olhada. Massa! Porém, e agora, como mantê-las por perto?
Uma comunidade acolhedora é um investimento no futuro do seu projeto e em sua reputação. Se o seu projeto está apenas começando a ter suas primeiras contribuições, comece dando aos primeiros contribuidores uma experiência positiva e faça com que seja fácil para eles continuar contribuindo.
### Faça com que as pessoas se sintam bem-vindas
Uma maneira de pensar sobre a comunidade do seu projeto é através do que @MikeMcQuaid chama de [funil do contribuidor](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

A medida em que você constrói a sua comunidade, considere como uma pessoa no topo do funil (um usuário em potencial), pode, teoricamente, fazer o seu caminho até o fundo (um mantenedor ativo). Seu objetivo é reduzir o atrito presente em cada etapa da experiência do contribuidor. Quando as pessoas tem vitórias fáceis, elas são incentivadas a fazer mais.
Comece com a documentação:
* **Faça com que seja fácil, para outras pessoas, utilizarem seu projeto.** [Um README amigável](../starting-a-project/#escrevendo-um-readme) e exemplos claros de código tornarão mais fáceis o início e ambientação de qualquer pessoa chegando ao seu projeto.
* **Explique claramente como contribuir**, usando [seu arquivo CONTRIBUTING](../starting-a-project/#escrevendo-suas-diretrizes-de-contribuição) e mantendo suas issues atualizadas.
A [GitHub's 2017 Open Source Survey](http://opensourcesurvey.org/2017/) mostrou que uma documentação incompleta ou confusa é um dos maiores problemas para usuários open source. Uma boa documentação é uma porta de entrada para que pessoas interajam com o seu projeto. Eventualmente, alguém abrirá uma issue ou pull request. Use essas interações como oportunidades para trazer essas pessoas para o fundo do funil.
* **Quando alguém chegar ao seu projeto, agradeça pelo interesse** Basta somente uma experiência negativa para que as pessoas não queiram voltar.
* **Seja responsivo.** Se você não responder às issues por um mês, as chances são de que as pessoas que as criaram já tenham se esquecido do seu projeto.
* **Seja mente aberta sobre os tipos de contribuições que você irá aceitar** Muitos contribuidores começam com um bug report ou um pequeno fix. Existem [diversas formas de contribuir](../how-to-contribute/#o-que-significa-contribuir) com um projeto. Faça com que as pessoas ajudem da forma como elas queiram.
* **Se houver alguma contribuição que você não concorde,** agradeça pela ideia e [explique por que](../best-practices/#aprendendo-a-dizer-não) ela não se encaixa no escopo do projeto, apontando para a documentação relevante, caso você a possua.
A maior parte dos contribuidores open source são contribuidores casuais: pessoas que contribuem com um projeto apenas ocasionalmente. Um contribuidor casual pode não ter tempo para acelerar completamente o seu projeto, portanto o seu trabalho é fazer com que seja mais fácil, para eles, contribuir.
Encorajar outros contribuidores é, também, um investimento em si mesmo. Quando você empondera seus maiores fãs a tocar o trabalho com o qual eles estão empolgados, há menos pressão para "fazer tudo você mesmo".
### Documente tudo
Quando você inicia um novo projeto, pode parecer natural manter o seu trabalho privado. Todavia, projetos open source prosperam quando você documenta seu processo em público.
Quando você escreve as coisas, mais pessoas podem participar a cada passo do caminho. Você pode obter ajuda em algo que você nem sabia que precisava.
Seja transparente sobre o roteiro do projeto, o tipo de contribuição que você está buscando, como os contribuidores são avaliados, ou por que você tomou certas decisões.
Se você reparar em vários usuários enfrentando os mesmos problemas, documente as soluções no README.
Sobre encontros e reuniões, considere publicar suas notas ou conclusões em uma issue relevante. O retorno que você obterá com desse tipo de transparência pode surpreendê-lo.
Documentar tudo aplica-se, também, ao trabalho que você produz. Se você está trabalhando em uma atualização substancial de um projeto, coloque isso em um pull request e marque como um trabalho em andamento (work in progress, WIP). Dessa forma, outras pessoas podem se sentir envolvidas no processo desde o início.
### Seja responsivo
Conforme você [promove seu projeto](../finding-users), as pessoas terão alguma opinião sobre você. Elas podem ter questionamentos sobre como as coisas funcionam, ou podem precisar de ajuda para começar.
Tente ser responsivo quando alguém registra uma issue, submete um pull request, ou faz alguma pergunta sobre o seu projeto. Quando você responde rapidamente, as pessoas se sentirão parte de um diálogo e mais entusiasmadas em participar.
Mesmo que não possa analisar o pull request imediatamente, reconhecê-lo cedo ajuda a aumentar o engajamento. Este é um exemplo de como @tdreyno respondeu um pull request no [Middleman](https://github.com/middleman/middleman/pull/1466):

[Um estudo da Mozilla mostrou que](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) contribuidores que tiveram os seus códigos revisados, em até 48 horas, voltaram a contribuir novamente no projeto, um número substancialmente maior de vezes.
Conversas sobre o seu projeto também podem estar acontecendo em outros lugares da internet, como no Stack Overflow, Twitter, ou Reddit. Você pode configurar as notificações em alguns desses locais, para ser alertado sempre que alguém menciona o seu projeto.
### Dê a sua comunidade um lugar para se reunir
Existem duas razões para dar a sua comunidade um lugar para se reunir.
A primeira razão é para a própria comunidade. Ajude as pessoas a conhecer umas as outras. Pessoas com interesses em comum irão inevitavelmente querer um lugar para falar sobre isso. E quando a comunicação é pública e acessível, qualquer um pode ler os arquivos anteriores para se ambientar, pegar o ritmo e participar.
A segunda razão é para você. Se você não der às pessoas um lugar público para falar sobre o seu projeto, elas provavelmente irão entrar em contato diretamente com você. No início, pode parecer razoavelmente fácil responder à mensagens privadas "somente desta vez". Porém ao longo do tempo, especialmente se seu projeto se tornar popular, você se sentirá exausto. Resista à tentação de se comunicar com as pessoas sobre o seu projeto em privado. Ao invés disso, direcione-as a um canal público.
A comunicação pública pode ser tão simples quanto direcionar as pessoas para uma issue aberta em vez de e-mails diretos ou comentários no seu blog. Você também pode configurar uma lista de e-mails, ou criar uma conta no Twitter, Slack, ou canal IRC, para as pessoas conversarem sobre o seu projeto. Alternativamente, tente todas essas opções!
O [Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) reserva horários durante o expediente, a cada duas semanas, para ajudar os membros da comunidade:
> O Kops também tem tempo reservado, a cada duas semanas, para oferecer ajuda e orientação para a comunidade. Os mantenedores do Kops concordaram em reservar um tempo especialmente dedicado ao trabalho com os novatos, ajudando com PRs e discutindo novas features.
Exceções dignas de nota a comunicação pública são: 1) problemas de segurança e 2) violações sensíveis de código de conduta. Você deve sempre disponibilizar, às pessoas, um meio de comunicação privado para tais fins. Se você não quer usar o seu e-mail pessoal, faça um dedicado.
## Fazendo sua comunidade crescer
Comunidades são extremamente poderosas. Esse poder pode ser uma benção ou uma maldição, dependendo de como você lida com isso. A medida em que sua comunidade crescer, sempre haverão maneiras de ajudá-la a se tornar uma força de construção, não de destruição.
### Não tolere mau comportamento
Qualquer projeto popular irá, inevitavelmente, atrair pessoas que prejudicam, ao invés de ajudar, sua comunidade. Eles podem iniciar debates desnecessários, discutir sobre questões triviais ou praticar bullying contra outras pessoas.
Dê o melhor de si para adotar uma política de tolerância zero contra esse tipo de gente. Se não forem controladas, elas farão com que outras pessoas na sua comunidade se sintam desconfortáveis, podendo até mesmo abandoná-la.
Debates recorrentes sobre aspectos triviais do seu projeto distraem os outros, incluindo você, das tarefas importantes. Novas pessoas que chegarem ao seu projeto poderão ver tais conversas e não querer participar.
Quando notar um comportamento negativo acontecendo no seu projeto, chame a atenção publicamente. Explique, em um tom gentil, porém firme, por que o comportamento não é aceitável. Se o problema persistir, você pode [pedir para que os envolvidos saiam](../code-of-conduct/#aplicando-o-seu-código-de-conduta). Seu [código de conduta](../code-of-conduct/) pode ser uma guia construtivo para essas conversas.
### Conheça os contribuidores onde eles estão
Uma boa documentação só se torna importante a medida em que sua comunidade cresce. Contribuidores casuais, que podem não estar familiarizados com o seu projeto, leem sua documentação para rapidamente pegarem o contexto de que precisam.
Em seu arquivo CONTRIBUTING, deixe claro, aos novos contribuidores, como começar. Você pode até mesmo dedicar uma seção inteira para esse propósito. O [Django](https://github.com/django/django), por exemplo, tem uma landing page especial para receber os novos contribuidores.

Na sua fila de issues, rotule os bugs de acordo com os diferentes tipos de contribuidores: por exemplo, [_"somente os novatos"_](https://kentcdodds.com/blog/first-timers-only), _"uma boa primeira issue"_, ou _"documentação"_. [Esses rótulos](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) fazem com que seja fácil, para alguém novo ao seu projeto, navegar entre as issues e começar a contribuir.
Por fim, use a sua documentação para fazer as pessoas se sentirem bem-vindas a cada passo do caminho.
Você não interagirá com a maior parte das pessoas que chegarem ao seu projeto. Podem haver contribuições que você não recebeu porque alguém se sentiu intimidado ou não soube como começar. Até mesmo algumas palavras gentis podem fazer com que alguém não deixe, frustradamente, o seu projeto.
Por exemplo, veja como [Rubinius](https://github.com/rubinius/rubinius/) introduz o [seu guia de contribuição](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Em primeiro lugar, gostaríamos de agradecer por usar o Rubinus. Este projeto é um trabalho de amor, e apreciamos todos os usuários que capturam bugs, fazem melhorias de desempenho, e ajudam com a documentação. Toda contribuição é importante, então obrigado por participar. Dito isso, aqui estão algumas orientações que pedimos que siga, de modo que possamos ter sucesso em identificar o seu problema.
### Compartilhe a responsabilidade pelo seu projeto
As pessoas se sentem motivadas em contribuir com projetos, de um modo geral, quando possuem um senso de propriedade, de responsabilidade, sobre ele, isto é, se sentem donas. Isso não significa que você precisa mudar a visão do seu projeto ou aceitar contribuições que não queira. Porém, quanto mais você dá crédito às outras pessoas, mais elas se manterão por perto.
Procure encontrar maneiras de compartilhar a propriedade com a sua comunidade o máximo que puder. Aqui estão algumas ideias:
* **Resista em consertar bugs fáceis (não-críticos).** Em vez disso, use-os como oportunidades de recrutar novos contribuidores, ou mentorar alguém que gostaria de contribuir. Pode parecer meio artificial no início, porém seu investimento irá render ao longo do tempo. Por exemplo, @michaeljoseph pediu para um contribuidor submeter um pull request em uma issue do [Cookiecutter](https://github.com/audreyr/cookiecutter), abaixo, em vez de consertá-la ele mesmo.

* **Crie um arquivo CONTRIBUTORS ou AUTHORS em seu projeto** que liste todos os que contribuíram para o seu projeto, como o [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md) faz.
* Se você possui uma comunidade de tamanho razoável, **envie uma newsletterm ou escreva um post em um blog** agradecendo aos contribuidores. A [This Week in Rust](https://this-week-in-rust.org/), do Rust, e a [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html), da Hoodie, são dois bons exemplos.
* **Dê permissão de commit para cada um dos contribuidores.** @felixge descobriu que isso fez as pessoas [mais entusiasmadas em polir suas modificações](https://felixge.de/2013/03/11/the-pull-request-hack.html), e até mesmo descobriu novos mantenedores para projetos que ele não havia trabalhado por algum tempo.
* Se o seu projeto está no GitHub, **mova-o da sua conta pessoal para uma [Organização](https://help.github.com/articles/creating-a-new-organization-account/)** e adicione pelo menos um administrador de backup. As organizações fazem com que seja mais fácil trabalhar em projetos com colaboradores externos.
A verdade é que [a maioria dos projetos tem somente](https://peerj.com/preprints/1233/) um ou dois mantenedores que fazem a maior parte do trabalho. Quanto maior o seu projeto, e maior a sua comunidade, mais fácil é encontrar ajuda.
Muito embora nem sempre você encontre alguém para responder ao chamado, colocar um aviso em algum lugar aumenta a chance de que outras pessoas contribuam. E quanto antes você começar, mais cedo as pessoas poderão ajudar.
## Resolvendo conflitos
No início do seu projeto, tomar decisões importantes é fácil. Quando você precisa de algo, basta fazê-lo.
A medida em que seu projeto se torna mais popular, mais pessoas se interessam pelas decisões que você toma. Mesmo que você não tenha uma grande comunidade de contribuidores, se seu projeto tem muitos usuários, você encontrará pessoas pesando suas decisões ou abrindo issues por conta própria.
Na maior parte das vezes, se você cultivou uma comunidade amigável e respeitosa, e documentou seus processos abertamente, sua comunidade deverá ser capaz de chegar a alguma resolução. Mas algumas vezes você se depara com um problema um pouco mais difícil de resolver.
### Mantenha o padrão de gentileza
Quando sua comunidade estiver enfrentando problemas com uma issue difícil, os ânimos podem ser aflorados. As pessoas podem ficar com raiva ou frustradas e descontar isso um no outro, ou em você.
Seu trabalho como um mantenedor é prevenir que tais situações cresçam, escalem. Mesmo que tenha uma forte opinião no tópico, tente tomar a posição de um moderador ou facilitador, em vez de entrar na briga e forçar seus pontos de vista. Se alguém estiver sendo indelicado ou monopolizando a conversa, [aja imediatamente](../building-community/#não-tolere-mau-comportamento) para manter as discussões civilizadas e produtivas.
Outras pessoas estão esperando por sua orientação. Seja um bom exemplo. Você ainda pode expressar desapontamento, infelicidade, ou preocupação, mas faça isso de maneira calma.
Manter a calma não é fácil, porém demonstrar liderança melhora a saúde da sua comunidade. A internet agradece.
### Trate o seu README como uma constituição
Seu README é [mais do que um conjunto de instruções](../starting-a-project/#escrevendo-um-readme). É também um lugar para discutir sobre os seus objetivos, visão de produto, e roteiro. Se as pessoas estão excessivamente focadas em debater o mérito de uma feature em particular, revisitar o seu README e falar sobre o seu projeto, de um ponto de vista mais alto nível, pode ajudar. Focar no seu README também despersonaliza a conversa, de modo que você pode ter uma discussão construtiva.
### Foque na jornada, não no destino
Alguns projetos utilizam um processo de votação para tomada de decisões importantes. Embora sensível à primeira vista, votar enfatiza chegar a uma "resposta", em vez de escutar e atender aos anseios de cada um.
Votar pode se tornar político, de um modo em que os membros da comunidade se sentem pressionados a prestar favores uns aos outros ou a votar de uma certa maneira. Além disso, nem todo mundo vota, seja a [maioria silenciosa](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) em sua comunidade, ou os atuais usuários que, na verdade, não sabiam que uma votação estava acontecendo.
As vezes, votar funciona como um desempate necessário. O máximo que puder, porém, enfatize ["a busca por um consenso"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making), em vez de um consenso.
Sob o processo de busca por um consenso, membros da comunidade discutem questões importantes até que eles sintam que tenham tido sua voz ouvida adequadamente. Quando restam somente questões menores, a comunidade segue em frente. "A busca pelo consenso" reconhece que a comunidade pode não ser capaz de chegar a uma resposta perfeita. Ao invés disso, ela prioriza ouvir e discutir.
Mesmo que você não adote um processo de busca por um consenso, como um mantenedor de um projeto, é importante que as pessoas saibam que você está ouvindo. Fazer com que as outras pessoas se sintam ouvidas, e assumir a responsabilidade de resolver seus anseios, é um grande passo para acalmar situações sensíveis. E então, faça suas ações corresponderem as suas palavras.
Não acelere a decisão com o objetivo de ter alguma resolução. Garanta que todos se sintam ouvidos e que toda a informação foi disponibilizada publicamente antes de se movimentar em direção a uma resolução.
### Mantenha o foco do diálogo na ação
Discussões são importantes, mas há uma diferença entre conversas produtivas e improdutivas.
Encoraje a discussão enquanto ela estiver se movendo ativamente em direção a uma resolução. Se está claro que a conversa está definhando ou tomando um rumo completamente diferente, as coisas estão sendo levadas para o lado pessoal, ou as pessoas estão discutindo sobre detalhes de menor importância, é hora de desligá-la.
Permitir que tais conversas continuem não é ruim somente para a atual issue, mas ruim para a saúde da sua comunidade. Isso passa a mensagem de que tais tipos de conversas são permitidas ou até mesmo encorajadas, e pode desencorajar pessoas a levantar ou resolver issues futuras.
Com todos os pontos feitos por você ou outros, pergunte a si mesmo, _"Como isso nos aproxima de uma resolução?"_
Se o diálogo está começando se desvanecer, pergunte ao grupo, _"Quais são os próximos passos que devemos tomar?"_ para retomar o foco da conversa.
Se está claro que uma conversa não está caminhando para nenhum lugar, não há nenhuma ação clara a ser tomada, ou a ação apropriada já foi tomada, feche a issue e explique por que fez.
### Escolha suas batalhas sabiamente
Contexto é importante. Considere quem está envolvido na discussão e como eles representam o resto da comunidade.
Todos na comunidade estão chateados, ou mesmo engajados, com esta issue? Ou se trata de um encrenqueiro solitário? Não se esqueça de considerar os membros silenciosos de sua comunidade, não somente as vozes ativas.
Se a issue não representa as necessidades gerais de sua comunidade, você pode precisar apenas reconhecer as preocupações de algumas pessoas. Se esta é uma issue recorrente sem uma resolução clara, aponte-as para discussões anteriores sobre o tópico e feche a thread.
### Identifique um desempatador da comunidade
Com uma boa atitude e uma comunicação clara, as situações mais difíceis podem ser resolvidas. Todavia, mesmo em uma conversa produtiva, pode haver simplesmente uma diferença de opiniões sobre como proceder. Nesses casos, identifique o individuo ou grupo que pode servir como desempatador.
Um desempatador poderia ser o mantenedor primário do projeto, ou um pequeno grupo de pessoas que tomam decisões baseadas em uma votação. Idealmente, você identificou um desempatador e o processo associado em um arquivo GOVERNANCE antes mesmo de ter de usá-lo.
Seu desempatador deve ser o seu último recurso. Issues divisoras de águas são uma oportunidade de crescer e aprender. Abrace essas oportunidades e use um processo colaborativo para chegar a uma resolução sempre que possível.
## A comunidade é o ❤️ do open source
Comunidades saudáveis e prósperas abastecem milhares de horas despejadas no open source toda semana. Muitos contribuidores atribuem a outras pessoas a razão por trabalhar - ou não - com open source. Aprendendo a como aproveitar esse poder construtivamente, você ajudará alguém lá fora a ter uma experiência open source inesquecível.
================================================
FILE: _articles/pt/code-of-conduct.md
================================================
---
lang: pt
title: Seu Código de Conduta
description: Facilite comportamentos saudáveis e construtivos em sua comunidade, adotando e reforçando um código de conduta
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Por que eu preciso de um código de conduta?
Um código de conduta é um documento que estabelece o comportamento esperado dos participantes do seu projeto. Adotar e aplicar um código de conduta pode ajudar a criar uma atmosfera social positiva para a sua comunidade.
Códigos de conduta ajudam a proteger não somente seus participantes, mas você mesmo. Se você mantém um projeto, pode chegar a conclusão de que atitudes improdutivas de outros participantes podem fazer com que você se sinta drenado ou infeliz com o seu trabalho ao longo do tempo.
Um código de conduta te empondera para facilitar comportamentos saudáveis e construtivos de sua comunidade. Ser proativo reduz a probabilidade de que você, ou outros, fiquem fatigados com o seu projeto, e os ajudam a tomar alguma ação quando alguém faz algo que você não concorde.
## Estabelecendo um código de conduta
Tente estabelecer um código de conduta o mais cedo quanto possível: idealmente, assim que você criar o seu projeto.
Além de comunicar aquilo que você espera, um código de conduta descreve o seguinte:
* Onde o código de conduta tem validade _(somente em issues e pull requests, ou atividades da comunidade, como eventos?)_
* A quem o código de conduta se aplica _(membros da comunidade e mantenedores, mas e sobre patrocinadores?)_
* O que acontece se alguém violar o código de conduta
* Como alguém pode reportar violações
Sempre que possível, use exemplos passados. O [Contributor Covenant](https://contributor-covenant.org/) é um código de conduta que é usado por mais de 40.000 projetos _open source_, incluindo Kubernetes, Rails, e Swift.
O [Django Code of Conduct](https://www.djangoproject.com/conduct/) e o [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) são, tambémm, outros dois bons exemplos de códigos de conduta.
Coloque um arquivo CODE_OF_CONDUCT no diretório raiz do seu projeto, e faça-o visivel a sua comunidade criando um link para ele no arquivo CONTRIBUTING ou README.
## Decidindo como você irá aplicar seu código de conduta
Você deve explicar como o seu código de conduta será aplicado **_antes_** que uma violação ocorra. Há inúmeras razões por trás disso:
* Demonstra sua seriedade sobre tomar as devidas ações, quando necessário.
* Sua comunidade irá se sentir mais reafirmada de que seus relatos são de fatos revisados.
* Você irá reafirmar a sua comunidade de que o processo de revisão é justo e transparente, caso eles se encontrem investigados por uma violação.
Você deve sempre dar as pessoas um modo privado (como um endereço de e-mail) para relatarem uma violação do código de conduta e informar os reponsáveis por receber as queixas. Pode ser um mantenedor, um grupo de mantenedores, ou um grupo de trabalho do código de conduta.
Não se esqueça de que alguém pode querer relatar uma violação sobre alguém que receba esses relatos. Neste caso, dê a eles uma opção para relatar violações a outra pessoa. Por exemplo, @ctb e @mr-c [explicam em seu projeto](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Casos de comportamento abusivo, de assédio, ou de outra forma inaceitável podem ser relatados enviando um e-mail para **khmer-project@idyll.org**, chegando somente a C. Titus Brown e Michael R. Crusoe. Para relatar um problema envolvendo algum deles, por favor envie um e-mail para **Judi Brown Clarke, Ph.D.**, o Diretor de Diversidade no Centro BEACON para o Estudo da Evolução em Ação, um Centro NSF para Ciência e Tecnologia.*
Para inspiração, dê uma olhada no [manual de aplicação](https://www.djangoproject.com/conduct/enforcement-manual/) do Django (embora possa ser o caso de você não precisar de algo tão compreensivo, dependendo do tamanho do seu projeto).
## Aplicando o seu código de conduta
As vezes, apesar dos seus melhores esforços, alguém irá fazer algo que viole o código. Há diversas formas de endereçar comportamentos negativos ou danosos quando isso acontece.
### Colete informações sobre a situação
Trate a voz de cada membro da comunidade como tão importante quanto a sua. Se você receber uma queixa de que alguém violou o código de conduta, assuma isso seriamente e investigue o assunto, mesmo que isso não corresponda a sua experiência pessoal com a pessoa em questão. Fazer isso sinaliza para a sua comunidade que você valoriza sua perspectiva e confia em seu julgamento.
O membro da comunidade em questão pode ser um infrator reincidente que, consistentemente, faz os outros se sentirem desconfortáveis, ou ele pode ter dito ou feito algo somente uma vez. Ambos podem motivar a tomada de ação, dependendo do contexto.
Antes de responder, tome algum tempo para entender o que aconteceu. Leia os comentários anteriores da pessoa e suas conversas, para entender melhor quem elas são e porque elas podem ter agido dessa forma. Tente coletar perspectivas de outros sobre esta pessoa e seu comportamento.
### Tome a ação apropriada
Após coletar e processar informação o suficiente, você precisa decidir o que fazer. Conforme você considerar os próximos passos, lembre-se de que o seu objetivo como um moderador é o de fomentar um ambiente seguro, respeitoso e colaborativo. Considere não somente como lidar com a situação em questão, mas como sua resposta irá afetar o comportamento e expectitativas do resto da comunidade daí em diante.
Quando alguém relata uma violação do código de conduta, é seu trabalho, e não o deles, lidar com isso. Algumas vezes, o relator está divulgando informação que põe em grande risco sua carreira, reputação ou segurança física. Forçá-los a confrontar seu assediador poderia colocar o relator em uma posição comprometedora. Você deve lidar diretamente com a comunicação com a pessoa em questão, a não ser que o relator explicitamente peça o contrário.
Existem algumas ações que você pode tomar para responder a uma violação ao código de conduta:
* **Dê à pessoa em questão uma advertência pública** e explique como o seu comportamento impactou negativamente os outros, preferencialmente no canal onde isso ocorreu. Quando possível, a comunicação pública transmite ao resto da comunidade que você toma o código de conduta seriamente. Seja gentil, mas firme em sua comunicação.
* **Entre em contato privado com a pessoa** em questão para explicar como o seu comportamento impactou os outros negativamente. Você pode querer utilizar um canal de comunicação privado se a situação envolver informação pessoal sensível. Se você se comunicar com alguem privadamente, é uma boa ideia enviar uma cópa do diálogo àqueles que primeiro relataram a situação, de modo que eles saibam que você tomou uma ação. Peça ao relator consentimento antes de enviá-lo tal cópia.
Algumas vezes, uma resolução não pode ser alcançada. A pessoa em questão pode se tornar agressiva ou hostil quando confrontada ou não muda seu comportamento. Nessa situação, você pode querer considerar tomar uma medida mais forte. Por exemplo:
* **Suspender a pessoa** em questão do projeto, reforçado por um banimento temporário na participação de qualquer aspecto do projeto.
* **Banir permanentemente** a pessoa do projeto.
O banimento de membros não deve ser tomado de forma branda e representa uma diferença de perspectivas permanente e irreconciliável. Você deve tomar tais medidas somente quando está claro que uma resolução não pode ser alcançada.
## Suas responsabilidades como mantenedor
Um código de conduta não é uma lei que é aplicada arbitrariamente. Você é o aplicador do código de conduta e é sua responsabilidade seguir as regras que o código de conduta estabelece.
Como um mantenedor você estabelece as guidelines para a sua comunidade e as aplica de acordo com as regras estabelecidas no seu código de conduta. Isso significa tomar qualquer relato de violação de um código de conduta seriamente. Ao relator é dada a devida revisão completa e justa de sua queixa. Se você determinar que o comportamento que eles relataram não é uma violação, comunique isso claramente a eles e explique por que você não irá tomar uma ação sobre o acontecido. O que eles farão com isso é responsabilidade deles: tolerar o comportamento com o qual eles tiveram um problema, ou parar de participar da comunidade.
Um relato de um comportamento que não viola, tecnicamente, o código de conduta pode, ainda, indicar que há um problema em sua comunidade, e você deve investigar esse problema em potencial e agir de acordo. Isso pode até mesmo incluir revisitar seu código de conduta para esclarecer comporamentos aceitáveis ou falar com a pessoa cujo comportamento foi relatado e dizer que, embora ela não tenha violado o código de conduta, ela está no limite daquilo que é aceito e está fazendo com que os outros participantes se sintam desconfortáveis.
No fim, como um mantenedor, você estabelece e aplica os padrões de comportamento aceitáveis. Você tem a habilidade de moldar os valores da comunidade do projeto, e os participantes esperam que você aplique tais valores de forma justa e imparcial.
## Encoraje o comportamento que você quer ver no mundo 🌎
Quando um projeto parece hostil ou não acolhedor, mesmo que seja somente uma pessoa cujo comportamento não é tolerado por outras, você corre o risco de perder muitos outros contribuidores, alguns dos quais você pode nem mesmo vir a conhecer. Nem sempre é fácil adotar e aplicar um código de conduta, mas fomentar um ambiente acolhedor irá ajudar sua comunidade a crescer.
================================================
FILE: _articles/pt/finding-users.md
================================================
---
lang: pt
title: Encontrando Usuários para Seu Projeto
description: Ajude seu projeto open source a crescer, colocando-o nas mãos de usuários felizes.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Espalhando a palavra
Não há uma regra que diga que você deve promover um projeto open source quando iniciar. Existem inúmeras razões para trabalhar em um projeto open source que não tem nada a ver com popularidade. Em vez de esperar que os outros encontrem e usem seu projeto open source, você pode divulgar o seu trabalho duro!
## Descubra sua mensagem
Antes de iniciar realmente o trabalho de promoção de seu projeto, você deve ser capaz de explicar o que ele faz e porque é importante.
O que faz o seu projeto diferente ou interessante? Porque o criou? Responder essas perguntas para você mesmo irá lhe ajudar a comunicar o significado de seu projeto.
Lembre-se de que as pessoas se involvem como usuários e eventualmente tornam-se contribuidores, porque seu projeto resolveu um problema deles. Ao pensar sobre a mensagem e o valor de seu projeto, tente visualizá-los através da lente do que os _usuários e colaboradores_ podem desejar.
Por exemplo, @robb usa exemplos de código para comunicar claramente porque o projeto dele, [Cartography](https://github.com/robb/Cartography), é útil:

Para um mergulho mais profundo nas mensagens, confira o exercício para desenvolvimento de personas de usuário da Mozilla: ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/).
## Ajudando pessoas a encontrar e seguir seu projeto
Ajude as pessoas a encontrar e lembrar de seu projeto apontando-as para um único namespace.
**Tenha um canal claro para promover seu trabalho.** Um usuário do Twitter, uma URL do GitHub ou um canal do IRC são jeitos fáceis de direcionar as pessoas para seu projeto. Esses canais também dão à sua crescente comunidade um lugar para se reunir.
Se você não deseja configurar canais para seu projeto ainda, atualize sua própria conta do Twitter ou do GitHub em qualquer coisa que você fizer. Atualizando seu canais do Twitter ou GitHub irá deixar as pessoas cientes de como contatar ou seguir o seu trabalho. Se você palestrar em um meetup ou evento, certifique-se de que suas informações de contato estão incluídas em sua biografia ou slides.
**Considere criar um website para seu projeto.** Um website torna seu projeto mais amigável e fácil de navegar, especialmente quando está emparelhando com uma documentação clara e tutoriais. Ter um website também sugere que seu projeto está ativo, o que fará com que o público se sinta mais à vontade para usá-lo. Disponibilize exemplos para dar as pessoas ideias de como usar o seu projeto.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), co-criador do Django, disse que um website foi _"de longe a melhor coisa que fizemos com Django no início"_.
Se seu projeto está hospedado no GitHub, você pode utilizar as [GitHub Pages](https://pages.github.com/) para fácilmente criar um website. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), e [Middleman](https://middlemanapp.com/) são [alguns exemplos](https://github.com/showcases/github-pages-examples) de websites excelentes e abrangentes.

Agora que você tem uma mensagem para seu projeto, e uma maneira fácil das pessoa o acharem, vamo lá falar com seu público!
## Vá para onde o público do seu projeto está (online)
Divulgação online é uma boa maneira de compartilhar e espalhar a palavra rapidamente. Usando canais online, você tem o potencial de atingir um público muito amplo.
Tome vantagem de comunidades e plataformas online existentes para atingir seu público. Se seu projeto open source é um projeto de software, você, provavelmente, pode encontrar seu público no [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), ou [Quora](https://www.quora.com/). Encontre os canais que você acha que as pessoas irão se beneficiar mais ou se excitar com o seu trabalho.
Veja se você pode encontrar maneiras de compartilhar seu projeto de maneiras relevantes:
* **Conheça projetos e comunidades open source relevantes.** Às vezes, você não precisa promover o seu projeto diretamente. Se seu projeto é perfeito para cientistas de dados que usam Python, conheça a comunidade de ciência de dados do Python. À medida que as pessoas o conhecerem, oportunidades de falar sobre e compartilhar seu trabalho surgirão naturalmente.
* **Encontre pessoas passando pelos problemas que seu projeto resolve.** Procure em fóruns relacionados as pessoas que se enquadram no público-alvo de seu projeto. Responda as questões deles e encontre uma maneira sutil, quando apropriado, de sugerir seu projeto como solução.
* **Peça feedback.** Introduza você mesmo e seu trabalho para uma audiência que o acharia relevante e interessante. Seja especifico sobre quem você acha que se beneficiaria com seu projeto. Tente completar a sentença: _"Eu acho que meu projeto realmente ajudaria X, que está tentando fazer Y_". Ouça e responda os feedbacks dos outros, em vez de simplesmente promover seu trabalho.
De um modo geral, foque em ajudar os outros antes de pedir coisas em troca. Como qualquer pessoa pode facilmente promover um projeto online, haverá muito ruído. Para se destacar da multidão, dê às pessoas um contexto para quem você e não apenas para o que você quer.
Se ninguém prestar atenção ou responder seu trabalho inicial, não desanime! A maioria dos lançamentos de projetos é um processo iterativo que pode levar meses ou anos. Se você não obtiver resposta na primeira vez, tente uma tática diferente, ou busque por caminhos que agreguem valor para os trabalhos dos outros primeiro. Promover e lançar seu projeto leva tempo e dedicação.
## Vá para onde o público do seu projeto está (offline)

Eventos offline são uma maneira popular de promover novos projetos para o público. Eles são uma ótima maneira de alcançar um público engajado e de construir relações humanas profundas, especialmente se você está interessado em encontrar desenvolvedores.
Se você é [novato na fala em público](http://speaking.io/), comece encontrando um meetup local que se relaciona com a linguagem ou com o ecossistema de seu projeto.
Se você nunca falou em um evento antes, é prefeitamente normal se sentir nervoso(a)! Lembre-se que seu público está lá porque ele querem genuinamente ouvir sobre seu trabalho.
Quando escrever sua fala, foque no que seu público irá achar interessante e irá obter valor. Mantenha sua linguagem amigável e acessível. Sorria, respire, e divirta-se.
Quando se sentir pronto(a), considere falar em uma conferência para promover seu projeto. Conferências podem ajudar você a alcançar mais pessoas, as vezes de todos os lugares do mundo.
Procure por conferências que são específicas para a sua linguagem ou ecossistema. Antes de submeter sua palestra, pesquise sobre a conferência para adaptar sua palestra para os participantes e aumentar suas chances de ser aceito(a) para falar na conferência. Muitas vezes você pode ter uma noção do seu público olhando para os palestrantes da conferência.
## Construa uma reputação
Além das estratégias descritas acima, a melhor forma de convidar pessoas para compartilhar e contribuir para seu projete é compartilhar e contribuir para os projetos delas.
Ajudar os recém-chegadors, compartilhar recursos, e fazer contribuições conscientes para os projetos dos outros o ajudará a construir uma reputação positiva. Ser um membro ativo na comunidade open source ajudará as pessoas a terem contexto sobre o seu trabalho e aumentará a probabilidade delas prestarem atenção e compartilharem seu projeto. Desenvolver relacionamentos com os outros projetos open source pode até levar a parcerias oficiais.
Nunca é cedo demais ou tarde demais para iniciar a construir sua reputação. Mesmo que você já tenha lançado seu próprio projeto, continue procurando por formas de ajudar os outros.
Não há uma solução instantânea para a construção de uma audiência. Ganhar a confiança e o respeito dos outros leva tempo, e a construção de sua reputação nunca acaba.
## Continue assim!
Pode levar um longo tempo antes das pessoas notarem seu projeto open source. Está tudo bem! Alguns dos projetos mais populares hoje levaram anos para atingir os níveis mais altos de atividade. Concentre-se em construir relacionamentos em vez de esperar que seu projeto espontâneamente ganhe popularidade. Seja paciente, e mantenha-se compartilhando seu trabalho com aqueles que o apreciam.
================================================
FILE: _articles/pt/getting-paid.md
================================================
---
lang: pt
title: Sendo Pago por Trabalhos Open Source
description: Mantenha seu trabalho open source conseguindo suporte financeiro por seu tempo ou seu projeto.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Por que algumas pessoas buscam suporte financeiro
Muito do trabalho open source é voluntário. Por exemplo, alguém pode se deparar com um bug em um projeto que utiliza e submeter uma pequena correção, ou gostar de fazer ajustes em um projeto open source durante o tempo livre.
Há inúmeras razões pelas quais as pessoas não gostariam de ser pagas pelos seus trabalhos open source.
* **Elas já podem possuir um trabalho em horário integral que elas amem,** o que as habilita a contribuir com o open source no seu tempo livre.
* **Elas gostam de pensar em open source como um hobby** ou escape criativo e não querem se sentir financeiramente obrigadas a trabalhar em seus projetos.
* **Elas conseguem outros benefícios a partir da contribuição com o open source,** como construir uma reputação ou portfolio, aprender uma nova habilidade, ou se sentirem mais próximas da comunidade.
Para outros, especialmente quando as contribuições estão em curso ou requerem um tempo significativo, ser pago para contribuir com open source é a única maneira através da qual eles podem participar, seja porque o projeto precisa disso ou por razões pessoais.
Manter projetos populares pode ser uma responsabilidade significativa, tomando até 10 ou 20 horas por semana, ao invés de algumas horas por mês.
O trabalho pago também permite a pessoas com diferentes contextos e esferas de vida a realizarem contribuições significativas. Algumas pessoas não podem gastar tempo "não-pago" em projetos open source, baseado em sua posição financeira atual, débito, família ou outras obrigações. Isso significa que o mundo nunca vê contribuições de pessoas talentosas que não podem voluntariar seu tempo. Isso tem implicações éticas, como @ashedryden [descreveu](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), uma vez que o trabalho que é feito é enviesado em favor daqueles que já possuem vantagens na vida, que então ganham vantagens adicionais baseadas em suas contribuições voluntárias, enquanto outros que não podem contribuir não conseguem oportunidades futuras, o que reforça a falta de diversidade na comunidade open source.
Se você está procurando por suporte financeiro, há dois caminhos a considerar. Você pode financiar o seu próprio tempo como contribuidor, ou pode encontrar um financiamento organizacional para o projeto.
## Financiando o seu próprio tempo
Hoje, muitas pessoas são pagas para trabalhar parcial ou integralmente com open source. A maneira mais comum de ser pago pelo seu tempo é falar com seu empregador.
É mais fácil convencer o seu empregador se sua empresa, de fato, utilizar o seu projeto, mas seja criativo com a sua proposta. Talvez seu projeto não seja utilizado, mas Python sim, e manter um projeto Python popular ajude a atrair novos desenvolvedores Python. Pode fazer com que sua empresa pareça mais developer-friendly, de um modo geral.
Se você não tem um projeto open source no qual gostaria de contribuir, mas contribuiria se o que fosse produzido no seu trabalho fosse de open source, convença o seu empregador a abrir o código de alguns dos softwares internos da empresa.
Muitas empresas estão desenvolvendo programas open source para construir suar marca e recrutar talentos de qualidade.
@hueniverse, por exemplo, descobriu que haviam razões financeiras para justificar [o investimento do Walmart em open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). E @jamesgpearce descobriu que o programa de open source do Facebook [fez uma diferença](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) no recrutamento:
> Está intimamente relacionado a nossa cultura hacker, e a como nossa organização foi percebida. Nós perguntamos aos nossos funcionários, "Você estava sabendo do programa de software open source do Facebook?". Dois terços disseram "Sim". Metade disse que o programa contribuiu positivamente na sua decisão de trabalhar para nós. Esses não são números marginais e se trata de uma tendência que eu espero que continue.
Se sua empresa tomar tal caminho, é importante manter os limites entre comunidade e atividade corporativa claros. Ultimamente, o open source se mantém através das contribuições de pessoas do mundo todo, e isso é maior do que qualquer empresa ou lugar.
Se você não pode convencer o seu atual empregador a priorizar trabalho open source, considere encontrar um novo empregador que encorage as contribuições open source de seus funcionários. Procure empresas que façam a sua dedicação ao trabalho open source explícita. Por exemplo:
* Algumas empresas, como a [Netflix](https://netflix.github.io/), têm websites que destacam o seu envolvimento com open source
Projetos que se originaram em uma grande empresa, como o [Go](https://github.com/golang) ou o [React](https://github.com/facebook/react), também irão possivelmente empregar pessoas para trabalhar com open source.
Dependendo de suas circunstâncias pessoais, você pode tentar conseguir dinheiro independentemente para financiar o seu trabalho open source. Por exemplo:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon financiou seu trabalho no [Redux](https://github.com/reactjs/redux) através de uma [campanha de crowdfunding no Patreon](https://redux.js.org/)
* @andrewgodwin financiou seu trabalho no Django schema migrations [através de uma campanha no Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
Finalmente, as vezes, projetos open source põem recompensas em issues que você pode considerar ajudar a resolver.
* @ConnorChristie conseguiu ser pago por [ajudar](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol a trabalhar em sua biblioteca JavaScript [através de uma recompensa em gitcoin](https://gitcoin.co/).
* @mamiM fez traduções para o Japonês para @MetaMask após a [issue ser financiada na Bounties Network](https://explorer.bounties.network/bounty/134).
## Encontrando financiamento para o seu projeto
Além de arranjos para contribuidores individuais, algumas vezes os projetos conseguem dinheiro de empresas, indivíduos ou outros para financiar trabalho em andamento.
O financiamento organizacional pode ir além do pagamento dos contribuidores atuais, cobrindo os custos de rodar o projeto (como por exemplo hospedagem grátis), ou investindo em novas features ou ideias.
A medida em que a popularidade do open source cresce, encontrar financiamento para o seu projeto ainda é experimental, mas há algumas opções comuns disponíveis.
### Arrecade dinheiro para o seu trabalho através de campanhas de crowdfunding ou patrocínios
Encontrar patrocínio funciona bem se você já tem uma forte audiência ou reputação, ou seu projeto é bastante popular.
Alguns exemplos de patrocínio incluem:
* O **[webpack](https://github.com/webpack)** arrecada dinheiro de empresas e indivíduos [através do OpenCollective](https://opencollective.com/webpack)
* A **[Ruby Together](https://rubytogether.org/),** é uma organização sem fins lucrativos que paga pelo trabalho no [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), e outros projetos de infraestrutura do Ruby.
### Crie um fluxo de receita
Dependendo do seu projeto, você pode ser capaz de cobrar por suporte comercial, opções de hospedagem, ou features adicionais. Alguns exemplos incluem:
* **[Sidekiq](https://github.com/mperham/sidekiq)** oferece versões pagas por suporte adicional
* **[Travis CI](https://github.com/travis-ci)** oferece versões pagas de seu produto
* **[Ghost](https://github.com/TryGhost/Ghost)** é uma organização sem fins lucrativos, com um serviço gerenciado pago
Alguns projetos populares, como o [npm](https://github.com/npm/cli) e o [Docker](https://github.com/docker/docker), conseguem até mesmo capital de risco para dar suporte ao crescimento de seu negócio.
### Solicite financiamento de subsídio
Algumas fundações de software e empresas oferencem subsídios pelo trabalho open source. Algumas vezes, os subsídios podem ser pagos a individuos sem a criação de uma entidade legal para o projetor.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** recebeu um subsídio do [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* O trabalho da **[OpenMRS](https://github.com/openmrs)** foi financiado pelo [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* O **[Libraries.io](https://github.com/librariesio)** recebeu um subsídio da [Sloan Foundation](https://sloan.org/programs/digital-technology)
* A **[Python Software Foundation](https://www.python.org/psf/grants/)** oferece subsídios para trabalhos relacionados ao Python
Para opniões mais detalhadas e estudos de caso, @nayafia [escreveu um guia](https://github.com/nayafia/lemonade-stand) de como ser pago por trabalho open source. Diferentes tipos de financiamento requerem diferentes habilidades, então considere suas capacidades para entender qual opção funciona melhor para você.
## Construindo um caso de suporte financeiro
Quer o seu projeto seja uma nova ideia, ou tenha estado por aí há anos, você deve esperar colocar um esforço mental significativo em identificar o seu financiador-alvo e fazer um caso convincente.
Quer você esteja querendo pagar pelo seu próprio tempo, ou angariando fundos para um projeto, você deve ser capaz de responder as seguintes questões.
### Impacto
Por que esse projeto é útil? Por que seus usuários, ou potenciais usuários, gostam tanto dele? Onde ele estará em cinco anos?
### Tração
Tente coletar evidências de que o seu projeto importa, sejam métricas, anedotas ou testemunhos. Há alguma empresa ou pessoa importante utilizando o seu projeto atualmente? Caso contrário, alguma pessoa proeminente o endossou?
### Valor para o financiador
Financiadores, seja o seu empregador ou fundação de grantmaking, são frequentemente abordadas por oportunidades. Por que elas deveriam dar suporte ao seu projeto ao invés de qualquer outra oportunidade? Como elas recebem algum benefício disso?
### Utilização dos financiamentos
O que, exatamente, você irá conquistar com o financiamento proposto? Foque nos objetivos ou resultados ao invés de pagar um salário.
### Como você irá receber os fundos
O financiador tem algum requisito acerca do desembolso? Por exemplo, pode ser necessário que você não tenha nenhum fim lucrativo ou que você tenha algum financiador fiscal sem fins lucrativos. Ou talvez os fundos devem ser dados a um contratante individual ao invés de uma organização. Tais requisitos variam entre financiadores, então tenha certeza de fazer sua pesquisa antecipadamente.
## Experimente e não desista
Conseguir dinheiro não é fácil, quer você seja um projeto open source, uma organização sem fins lucrativos ou uma startup de software, e, na maioria dos casos, requer que você seja criativo. Identificar o quanto você precisa ser pago, fazer sua pesquisa, e se colocar no lugar do seu financiador irá ajudá-lo a construir um caso convincente de financiamento.
================================================
FILE: _articles/pt/how-to-contribute.md
================================================
---
lang: pt
title: Como Contribuir para o Open Source
description: Quer contribuir para o open source? Um guia sobre como fazer contribuições, para novatos e veteranos.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Por que contribuir para o open source?
Contribuir para o open source pode ser uma maneira gratificante de aprender, ensinar e construir experiência em praticamente qualquer habilidade que você possa imaginar.
Por que as pessoas contribuem para o open source? Há muitas razões!
### Melhorar as habilidades existentes
Seja codificando, desenhando interface do usuário, desenhando gráfico, escrevendo ou organizando, se você está procurando por prática, há uma tarefa para você em um projeto open source.
### Encontre pessoas que estão interessadas em coisas parecidas
Projetos open source com comunidades calorosas e acolhedoras mantêm as pessoas voltando por anos. Muitas pessoas formam amizades duradouras através da participação em open source, seja em reuniões, em conferências ou conversas online sobre burritos.
### Encontre mentores e ensine outras pessoas
Trabalhar com outras pessoas em um projeto compartilhado significa que você terá que explicar como você faz as coisas, além de pedir ajuda a outras pessoas. Os atos de aprendizagem e ensino podem ser uma atividade gratificante para todos os envolvidos.
### Construa artefatos públicos que ajudam você a crescer sua reputação (e uma carreira)
Por definição, todo o seu trabalho open source é público, o que significa que você recebe exemplos gratuitos para levar a qualquer lugar como uma demonstração do que você pode fazer.
### Aprenda habilidades interpessoais
O open source oferece oportunidades para praticar habilidades de liderança e gerenciamento, como resolver conflitos, organizar equipes de pessoas e priorizar o trabalho.
### É empoderador poder fazer mudanças, mesmo pequenas
Você não precisa se tornar um contribuidor vitalício para participar no open source. Você já viu um erro de digitação em um site e desejou que alguém o consertasse? Em um projeto open source, você pode fazer exatamente isso. O open source ajuda as pessoas a sentirem propósito sobre suas vidas e como elas experimentam o mundo, e isso em si é gratificante.
## O que significa contribuir
Se você é um novo contribuidor open source, o processo pode ser intimidador. Como você encontra o projeto certo? E se você não souber codificar? E se algo der errado?
Não se preocupe! Há todo tipo de maneiras de se envolver com um projeto open source, e algumas dicas ajudarão você a aproveitar ao máximo sua experiência.
### Você não precisa contribuir com código
Um equívoco comum sobre contribuir para o open source é que você precisa contribuir com código. Na verdade, muitas vezes são as outras partes de um projeto que são [mais negligenciadas ou esquecidas](https://github.com/blog/2195-the-shape-of-open-source). Você fará um _grande_ favor ao projeto, oferecendo-se para contribuir com esses tipos de contribuições!
Mesmo se você gosta de escrever código, outros tipos de contribuições são uma ótima maneira de se envolver com um projeto e conhecer outros membros da comunidade. Construir esses relacionamentos lhe dará oportunidades de trabalhar em outras partes do projeto.
### Você gosta de planejar eventos?
* Organize workshops ou encontros sobre o projeto, [como @fzamperin fez para NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Organize a conferência do projeto (se eles tiverem uma)
* Ajude os membros da comunidade a encontrar as conferências apropriadas e a submeter propostas de apresentação
### Você gosta de design?
* Reestruture layouts para melhorar a usabilidade do projeto
* Realize pesquisas de usuário para reorganizar e refinar a navegação ou menu do projeto, [como sugere o Drupal](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Coloque junto um guia de estilo para ajudar o projeto a ter um design visual consistente
* Crie arte para camisetas ou um novo logotipo, [como os contribuidores do hapi.js fizeram](https://github.com/hapijs/contrib/issues/68)
### Você gosta de escrever?
* Escreva e melhore a documentação do projeto
* Organize uma pasta de exemplos mostrando como o projeto é usado
* Inicie uma newsletter para o projeto ou selecione resumos da lista de discussão
* Escreva tutoriais para o projeto, [como os contribuidores do PyPA fizeram](https://packaging.python.org/)
* Escreva uma tradução para a documentação do projeto
### Você gosta de organizar?
* Crie links para issues duplicadas, e sugira novos labels para issues, para manter as coisas organizadas
* Revise as issues abertas e sugira o fechamento das antigas, [como @nzakas fez para o ESLint](https://github.com/eslint/eslint/issues/6765)
* Faça perguntas de esclarecimento sobre issues abertas recentemente, para dar continuidade a discussão.
### Você gosta de codificar?
* Encontre um problema em aberto para resolver, [como @dianjin fez para o Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Pergunte se você pode ajudar a codificar uma nova função
* Automatize a configuração do projeto
* Melhore as ferramentas e os testes
### Você gosta de ajudar as pessoas?
* Responda a perguntas sobre o projeto, por exemplo no Stack Overflow ([como este exemplo do Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) ou Reddit
* Responda as pessoas, em questões que ainda estão abertas
* Ajude a moderar os painéis de discussão ou os canais de comunicação.
### Você gosta de ajudar os outros a codificar?
* Revise o código submetido por outras pessoas
* Escreva tutoriais sobre como um projeto pode ser usado
* Se ofereça para orientar outro contribuidor, [como @ereichert fez com @bronzdoc no Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Você não precisa apenas trabalhar em projetos de software!
Embora "open source" geralmente se refira a software, você pode colaborar em praticamente qualquer coisa. Existem livros, receitas, listas e aulas que são desenvolvidos como projetos open source.
Por exemplo:
* @sindresorhus faz a curadoria de uma [lista de listas "impressionantes"](https://github.com/sindresorhus/awesome)
* @h5bp mantém uma [lista de possíveis perguntas de entrevistas](https://github.com/h5bp/Front-end-Developer-Interview-Questions) para candidatos a desenvolvedor front-end
* @stuartlynn e @nicole-a-tesla fizeram uma [coleção de curiosidades sobre papagaios-do-mar](https://github.com/stuartlynn/puffin_facts)
Mesmo que você seja um desenvolvedor de software, trabalhar na documentação de um projeto pode ajudá-lo a começar no open source. Geralmente, é menos intimidador trabalhar em projetos que não envolvam código, e o processo de colaboração aumentará sua confiança e experiência.
## Se orientando para um novo projeto
Para qualquer outra coisa além de um erro de digitação, contribuir para o open source é como caminhar até um grupo de estranhos em uma festa. Se você começar a falar sobre lhamas, enquanto eles estavam mergulhados em uma discussão sobre peixinhos dourados, eles provavelmente olharão para você um pouco estranhamente.
Antes de pular cegamente com suas próprias sugestões, comece aprendendo a ler o ambiente. Isso aumenta as chances de que suas ideias sejam notadas e ouvidas.
### Anatomia de um projeto open source
Toda comunidade open source é diferente.
Passar anos em um projeto open source significa que você conheceu um projeto open source. Mude para um projeto diferente, e você pode achar que o vocabulário, as normas e os estilos de comunicação são completamente diferentes.
Dito isso, muitos projetos open source seguem uma estrutura organizacional similar. Entender os diferentes papéis da comunidade e o processo geral ajudará você a se orientar rapidamente em qualquer novo projeto.
Um típico projeto open source tem os seguintes tipos de pessoas:
* **Autor:** A pessoa ou organização que criou o projeto
* **Proprietário:** Pessoa(s) que tem propriedade administrativa sobre a organização ou repositório (nem sempre é o autor original)
* **Mantenedores:** Colaboradores que são responsáveis por conduzir a visão e gerenciar os aspectos organizacionais do projeto. (Eles também podem ser autores ou proprietários do projeto.)
* **Colaboradores:** Todos que contribuíram com algo para o projeto.
* **Membros da comunidade:** Pessoas que usam o projeto. Eles podem ser ativos em diálogos ou expressar sua opinião sobre a direção do projeto.
Projetos maiores também podem ter subcomitês ou grupos de trabalho focados em tarefas diferentes, como ferramentas, triagem, moderação da comunidade e organização de eventos. Procure no site do projeto uma página "equipe" ou no repositório procure por documentação sobre governança, para encontrar essas informações.
Um projeto também possui documentação. Esses arquivos são geralmente listados no nível superior de um repositório.
* **LICENSE:** Por definição, todo projeto open source deve ter uma [licença open source](https://choosealicense.com). Se o projeto não tiver uma licença, não é open source.
* **README:** O README é o manual de instruções que dá as boas-vindas aos novos membros da comunidade para o projeto. Isso explica por que o projeto é útil e como começar.
* **CONTRIBUTING:** Enquanto os READMEs ajudam as pessoas a _usar_ o projeto, os documentos sobre contribuição ajudam as pessoas a _contribuir_ para o projeto. Ele explica quais tipos de contribuições são necessários e como o processo funciona. Embora nem todo projeto tenha um arquivo CONTRIBUTING, sua presença sinaliza que este é um projeto acolhedor a novas contribuições.
* **CODE_OF_CONDUCT:** O código de conduta estabelece as regras básicas para o comportamento dos participantes e ajuda a facilitar um ambiente amigável e acolhedor. Embora nem todo projeto tenha um arquivo CODE_OF_CONDUCT, sua presença indica que este é um projeto acolhedor a novas contribuições.
* **Outros documentos:** Pode haver documentação adicional, como tutoriais, instruções passo a passo ou políticas de controle, especialmente em projetos maiores.
Por fim, os projetos open source usam as seguintes ferramentas para organizar a discussão. Ao ler os arquivos, você terá uma boa ideia de como a comunidade pensa e trabalha.
* **Issue tracker:** Onde as pessoas discutem issues relacionadas ao projeto.
* **Pull requests:** Onde as pessoas discutem e revisam as alterações que estão em andamento.
* **Fóruns de discussão ou listas de discussão:** Alguns projetos usam esses canais para tópicos de conversação (por exemplo, _"Como faço para ..."_ ou _"O que você acha sobre ..."_ em vez de relatórios de bugs ou solicitações de recursos). Outros usam o issue tracker para todas as conversas.
* **Canais de bate-papo:** Alguns projetos usam canais de bate-papo (como o Slack ou o IRC) para conversas casuais, colaboração e trocas rápidas.
## Encontrando um projeto para contribuir
Agora que você descobriu como os projetos open source funcionam, é hora de encontrar um projeto para contribuir!
Se você nunca contribuiu para o open source antes, siga alguns conselhos do presidente dos EUA John F. Kennedy, que uma vez disse: _"Não pergunte o que seu país pode fazer por você - pergunte o que você pode fazer pelo seu país."_
Contribuir para o open source acontece em todos os níveis nos projetos. Você não precisa pensar sobre o que exatamente será sua primeira contribuição ou como será sua aparência.
Em vez disso, comece pensando nos projetos que você já usa ou deseja usar. Os projetos para os quais você contribuirá ativamente são aqueles para os quais você voltará.
Dentro desses projetos, sempre que você se perceber pensando que algo poderia ser melhor ou diferente, aja de acordo com seu instinto.
O open source não é um clube exclusivo; é feito por pessoas como você. "Open source" é apenas um termo chique para tratar os problemas do mundo como "consertáveis".
Você pode ler um README e encontrar um link quebrado ou um erro de digitação. Ou você é um novo usuário e percebeu que algo está quebrado ou um problema que você acha que deveria estar na documentação. Em vez de ignorá-lo e seguir em frente, ou pedir a alguém para consertá-lo, veja se você pode ajudar. É disso que se trata o open source!
> [28% das contribuições casuais](https://www.igor.pro.br/publica/papers/saner2016.pdf) para o open source são de documentação, como uma correção de erro de digitação, reformatação ou escrita de tradução.
Você também pode usar um dos seguintes recursos para ajudá-lo a descobrir e contribuir para novos projetos:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Um checklist antes de você contribuir
Quando você encontrar um projeto para o qual gostaria de contribuir, faça uma verificação rápida para garantir que o projeto seja adequado para aceitar contribuições. Caso contrário, seu trabalho duro poderá nunca obter uma resposta.
Aqui está um checklist útil para avaliar se um projeto é bom para novos contribuidores.
**Atende a definição de open source**
**O projeto aceita contribuições ativamente**
Veja a atividade de commit no branch main. No GitHub, você pode ver essas informações na página inicial de um repositório.
Em seguida, examine as issues do projeto.
Agora faça o mesmo para os pedidos de pull requests do projeto.
**Projeto é acolhedor**
Um projeto que é amigável e acolhedor indica que eles serão receptivos a novos contribuidores.
## Como submeter uma contribuição
Você encontrou um projeto que gosta e está pronto para fazer uma contribuição. Finalmente! Veja como realizar sua contribuição de forma correta.
### Se comunicando de forma eficaz
Seja você um colaborador ocasional ou esteja tentando entrar em uma comunidade, trabalhar com outras pessoas é uma das habilidades mais importantes que você desenvolverá no open source.
Antes de abrir uma issue, pull request ou fazer uma pergunta no bate-papo, ter os pontos a seguir em mente irá ajudar a transmitir sua ideia de maneira eficaz.
**Contextualize** Ajude os outros a entenderem rapidamente. Se você está patinando em um erro, explique o que você está tentando fazer e como reproduzir este erro. Se você está sugerindo um nova ideia, explique por que você acha que ela seria útil para o projeto (não apenas para você).
> 😇 _"Não acontece X quando eu faço Y"_
>
> 😢 _"X esta quebrado! Por favor conserte isto."_
**Faça, antes, sua lição de casa.** Não há problema em não saber as coisas, mas mostre que você tentou. Antes de pedir ajuda, verifique o README de um projeto, a documentação, as issues (abertas ou fechadas), a lista de e-mail e procure na internet por uma resposta. As pessoas vão gostar quando você demonstrar que está tentando aprender.
> 😇 _"Não sei como implementar o X. Verifiquei os documentos de ajuda e não encontrei nada mencionando."_
>
> 😢 _"Como eu faço X?"_
**Mantenha-se conciso e direto.** Assim como enviar um e-mail, todas as contribuições, por mais simples ou úteis, exigem a análise de outra pessoa. Muitos projetos têm mais solicitações recebidas do que pessoas disponíveis para ajudar. Seja conciso. Você aumentará a chance de que alguém possa ajudá-lo.
> 😇 _"Eu gostaria de escrever um tutorial da API"_
>
> 😢 _"Eu estava dirigindo pela estrada no outro dia e parei para abastecer, e então eu tive essa ideia incrível para algo que deveríamos fazer, mas antes de explicar isso, deixe-me mostrar-lhe ..."_
**Mantenha toda a comunicação pública** Embora seja tentador, não procure mantenedores de forma privada, a menos que você precise compartilhar informações confidenciais (como um problema de segurança ou violação grave de conduta). Quando você mantém a conversa pública, mais pessoas podem aprender e se beneficiar com a sua troca. As discussões podem ser, em si mesmas, contribuições.
> 😇 _(um comentário) "@-maintainer Olá! Como devemos proceder neste PR?"_
>
> 😢 _(um email) "Ei, desculpe incomodá-lo por e-mail, mas eu queria saber se você teve a chance de rever o meu PR"_
**Não há problema em fazer perguntas (mas seja paciente!).** Todo mundo já foi novo no projeto em algum momento, e até colaboradores experientes precisam se atualizar quando olham para um novo projeto. Da mesma forma, mantenedores de longa data nem sempre estão familiarizados com todas as partes do projeto. Mostre a mesma paciência que você gostaria que eles tivessem com você.
> 😇 _"Obrigado por pegar este erro. Eu segui sua sugestão. Aqui está a saída."_
>
> 😢 _"Porque você não pode resolver meu problema? Este projeto não é seu?"_
**Respeite a decisão da comunidade.** Suas ideias podem ser diferentes das prioridades ou visão da comunidade. Eles podem oferecer feedback ou decidir não seguir sua ideia. Enquanto você deve discutir e procurar uma solução, os mantenedores têm que viver com sua decisão por mais tempo do que você. Se você não concordar com a decisão deles, você pode sempre trabalhar em sua própria cópia do projeto ou iniciar seu próprio projeto.
> 😇 _"Estou desapontado por não poder apoiar o meu caso de uso, mas como você explicou, isso afeta apenas uma pequena parte dos usuários, eu entendo o porquê. Obrigado por ouvir."_
>
> 😢 _"Porque você não dá suporte ao meu caso de uso? Isto é inaceitável!"_
**Acima de tudo, mantenha a classe.** O open source é composto por contribuidores de todo o mundo. O contexto se perde em idiomas, culturas, regiões geográficas e fusos horários. Além disso, a comunicação escrita torna mais difícil transmitir um tom ou humor. Assuma boas intenções nessas conversas. É normal se desfazer de uma ideia de forma educada e pedir mais contexto ou esclarecer melhor sua posição. Apenas tente deixar a internet melhor do que quando você a encontrou.
### Capturando o contexto
Antes de fazer qualquer coisa, faça uma verificação rápida para garantir que a sua ideia não tenha sido discutida em outro lugar. Explore o README do projeto, os problemas (abertos e fechados), a lista de e-mails e o Stack Overflow. Você não tem que gastar horas passando por tudo, mas uma busca rápida por alguns termos-chave pode lhe dar uma boa visão.
Se você não encontrar sua ideia em outro lugar, você está pronto para fazer uma contribuição. Se o projeto estiver no GitHub, você provavelmente se comunicará abrindo uma issue ou pull request:
* **Issues** são como o início de uma conversa ou discussão
* **Pull requests** são para início dos trabalhos em uma solução
* **Para comunicações leves,** para esclarecimentos ou questões de como fazer, tente perguntar no Stack Overflow, IRC, Slack, ou outro canal de comunicação, se o projeto tiver.
Antes de abrir uma issue ou pull request, verifique os documentos de contribuição do projeto (geralmente um arquivo chamado CONTRIBUTING ou no README), para ver se é necessário incluir algo específico. Por exemplo, eles podem pedir que você siga um modelo ou exigir que você use testes.
Se você quiser fazer uma contribuição substancial, abra uma issue para perguntar antes de trabalhar nela. É útil olhar o projeto por um tempo (no GitHub, [você pode clicar em "Watch"](https://help.github.com/articles/watching-repositories/) para ser notificado de todas as conversas) e conhecer os membros da comunidade, antes de realizar trabalhos que possam não ser aceitos.
### Abrindo uma issue
Você deve normalmente abrir uma issue nas seguintes situações:
* Reportar um erro que você não pode resolver por conta própria.
* Discutir um tópico de alto nível ou ideia (por exemplo, comunidade, visão ou políticas)
* Propor uma nova função ou outra ideia do projeto.
Dicas para se comunicar sobre problemas:
* **Se você vir uma issue aberta que deseja resolver,** comente na issue para que as pessoas saibam que você está interessado nela. Dessa forma, as pessoas estarão menos propensas a duplicar seu trabalho.
* **Se uma issue foi aberta há algum tempo,** É possível que ela esteja sendo resolvida em algum outro lugar ou já tenha sido resolvida, por isso, comente para pedir confirmação antes de iniciar o trabalho.
* **Se você abriu uma issue, mas descobriu a resposta mais tarde,** comente na issue para que as pessoas saibam, então feche a issue. Mesmo este registro serve como documentação para o projeto.
### Abrindo um pull request
Você deve normalmente abrir um pull request nas seguintes situações:
* Envio de correções triviais (por exemplo, um erro de digitação, um link quebrado ou um erro óbvio)
* Iniciar o trabalho em uma contribuição que já foi discutida, ou que você já tenha discutido em uma issue
Um pull request não precisa representar o trabalho final. Geralmente, é melhor abrir um pull request no início, para que outras pessoas possam acompanhar ou dar feedback sobre seu progresso. Basta marcá-lo com um "WIP" (Work in Progress) na linha de assunto. Você sempre pode adicionar mais commits depois.
Se o projeto estiver no GitHub, veja como enviar um pull request:
* **[Faça um fork do repositório](https://guides.github.com/activities/forking/)** e clone localmente. Conecte seu repositório local com o "upstream" adicionado-o como repositório remoto. Baixe as alterações do "upstream" com frequência para que você fique atualizado, quando enviar seu pull request, os conflitos de mesclagem serão menos prováveis. (Veja instruções mais detalhadas [aqui](https://help.github.com/articles/syncing-a-fork/).)
* **[Crie um branch](https://guides.github.com/introduction/flow/)** para suas edições.
* **Referencie qualquer issue relevante** ou documentação de suporte em seu PR (por exemplo, "Closes #37.")
* **Inclua imagens do antes e depois** se suas mudanças incluírem diferenças no HTML/CSS. Copie e cole as imagens na mensagem do seu pull request.
* **Teste suas mudanças!** Execute suas alterações em relação a quaisquer testes existentes, e crie novos quando necessário. Se os testes existirem sempre verifique se suas alterações não quebram o projeto existente.
* **Contribua para o estilo do projeto** para melhorar suas habilidades. Isso pode significar usar recuos, ponto-e-vírgula ou comentários de maneira diferente do que você faria em seu próprio repositório, mas torna mais fácil para o mantenedor unir códigos, e para outros manter, entender e melhorar no futuro.
Se este é o seu primeiro pull request, confira [Faça um pull request](http://makeapullrequest.com/), que @kentcdodds criou como um tutorial em vídeo passo a passo. Você também pode praticar a criação de um pull request no repositório [Primeira Contribuição](https://github.com/Roshanjossey/first-contributions), criado por @Roshanjossey.
## O que acontece depois que você envia uma contribuição
Você conseguiu! Parabéns por se tornar um contribuidor open source. Esperamos que seja a primeira de muitas.
Depois de enviar uma contribuição, uma das seguintes situações ocorrerá:
### 😭 Você não recebe uma resposta.
Espero que você [tenha checado o projeto em busca de sinais de atividade](#um-checklist-antes-de-você-contribuir) antes de fazer uma contribuição. Mesmo em um projeto ativo, no entanto, é possível que sua contribuição não receba uma resposta.
Se você não obtiver uma resposta após uma semana, é justo responder educadamente no mesmo tópico, pedindo a revisão de alguém. Se você souber o nome da pessoa certa para revisar sua contribuição, você poderá @-mencioná-la nesse tópico.
**Não** contate essa pessoa em particular; Lembre-se de que a comunicação pública é vital para projetos open source.
Se você fizer uma chamada educada e ninguém responder, é possível que ninguém responda, nunca. Não é um sentimento agradável, mas não deixe que isso o desanime. Aconteceu com todos! Existem muitas razões possíveis pelas quais você não recebeu uma resposta, incluindo circunstâncias pessoais que podem estar fora de seu controle. Tente encontrar outro projeto ou uma maneira de contribuir. Bem como outros motivos, esta é uma boa razão para não investir muito tempo em fazer uma contribuição antes que outros membros da comunidade estejam engajados e responsivos.
### 🚧 Alguém solicita alterações na sua contribuição.
É comum que você seja solicitado a fazer alterações em sua contribuição, ou mesmo feedback sobre o escopo de sua ideia ou alterações em seu código.
Quando alguém solicitar alterações, seja responsivo. Eles levaram algum tempo para revisar sua contribuição. Abrir um PR e ir embora é má educação. Se você não souber como fazer as alterações, pesquise o problema e peça ajuda se precisar.
Se você não tiver mais tempo para trabalhar no assunto (por exemplo, se a conversa já dura meses, e suas circunstâncias mudaram), informe ao mantenedor para que ele não esteja esperando uma resposta. Alguém pode ficar feliz em assumir o controle.
### 👎 Sua contribuição não é aceita.
Sua contribuição pode ou não ser aceita no final. Espero que você não tenha trabalhado muito nisso até então. Se você não tem certeza do motivo pelo qual não foi aceito, é perfeitamente razoável pedir feedback e esclarecimentos ao mantenedor. Em última análise, no entanto, você precisa respeitar que essa é a decisão deles. Não discuta ou seja hostil. Você é sempre bem vindo para fazer uma cópia e trabalhar em sua própria versão, se você não concordar!
### 🎉 Sua contribuição é aceita.
Viva! Você fez uma contribuição open source com sucesso!
## Você conseguiu!
Se você acabou de fazer sua primeira contribuição open source ou está procurando novas maneiras de contribuir, esperamos que você esteja inspirado a agir. Mesmo que sua contribuição não tenha sido aceita, não se esqueça de agradecer quando um mantenedor se esforçar para ajudá-lo. O open source é feito por pessoas como você: uma issue, pull request, comentário ou high-five de cada vez.
================================================
FILE: _articles/pt/index.html
================================================
---
layout: index
title: Guias de código aberto
lang: pt
permalink: /pt/
---
================================================
FILE: _articles/pt/leadership-and-governance.md
================================================
---
lang: pt
title: Liderança e Governança
description: Projetos de open source em expansão podem se beneficiar de regras formais para tomar decisões.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Entendendo a governança para seu projeto em crescimento
Seu projeto está crescendo, pessoas estão engajadas, e você esta comprometido em manter isso em andamento. Neste ponto, você pode estar imaginando como incorporar contribuidores regulares do projeto em seu workflow, seja para dar acesso de commit para alguém ou resolver debates da comunidade. Se você possui dúvidas, nós temos as respostas.
## Quais são os exemplos de papéis formais usados em projetos open source?
Muitos projetos seguem um estrutura similar para funções e reconhecimento de contribuidores.
O que essas funções realmente significam, entretanto, depende inteiramente de você. Aqui estão alguns tipos de papéis que você pode reconhecer:
* **Maintainer**
* **Contributor**
* **Committer**
**Para alguns projetos, "maintainers"** são as únicas pessoas no projeto com permissão de commit. Em outros projetos, eles são simplesmente pessoas que estão listadas no README como mantenedores.
Um maintainer não precisa necessariamente ser alguém que escreve código para seu projeto. Pode ser alguém que tenha feito muito trabalho para evangelizar seu projeto, ou escreveu documentação que torna o projeto mais acessível aos outros. Independentemente do que eles fazem no dia-a-dia, um maintainer é provavelmente alguém que se sente responsável pela direção do projeto e está comprometido em melhorá-lo.
**Um "contribuidor" pode ser qualquer um** que comente em uma issue ou pull request, pessoas que adicionam valor ao projeto (seja triando issues, escrevendo código, ou organizando eventos), ou qualquer pessoa com um pull request mesclado (talvez a mais estreita definição de um contributor).
**O termo "committer"** pode ser usado para distinguir o acesso de commit, que é um tipo específico de responsabilidade, de outras formas de contribuição.
Embora você possa definir os papéis do seu projeto da maneira que preferir, [considere o uso de definições mais amplas](../how-to-contribute/#o-que-significa-contribuir) para encorajar mais formas de contribuição. Você pode usar papéis de liderança para formalmente reconhecer pessoas que fizeram contribuições notáveis para seu projeto, independentemente das habilidades tecnicas deles.
## Como eu formalizo esses papéis de liderança?
Fomalizar seus papéis de liderança ajuda as pessoas a sentirem-se proprietárias e mostra aos outros membros da comunidade quem procurar caso precisem de ajuda.
Para um projeto menor, designar lideres pode ser tão simples quanto adicionar os nomes deles ao arquivo de texto de seu README ou de seu CONTRIBUTORS.
Para um projeto maior, se você possui um website, crie uma página para o time ou liste seus lideres de projeto lá. Por exemplo, o [Postgres](https://github.com/postgres/postgres/) possui uma [página de time completa](https://www.postgresql.org/community/contributors/), com perfis curtos para cada contribuidor.
Se seu projeto possui uma comunidade contribuinte muito ativa, você pode formar uma "equipe principal" de mantenedores, ou até mesmo subcomitês de pessoas que terão a propriedade do projeto em diferentes áreas de issues (por exemplo, segurança, triagem de issues ou conduta da comunidade). Deixe as pessoas se auto-organizarem e voluntariarem para os papéis que eles mais se identificam, em vez de atribuí-los.
Times de lideranças podem querer criar um canal designado (como no IRC) ou se encontrar regularmente para discutir o projeto (como no Gitter ou Google Hangouts). Você pode sempre tornar essas reuniões públicas para que outras pessoãs possam escutá-las. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), por exemplo, [disponibiliza horários de atendimento toda semana](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Uma vez que você tenha estabelecido papéis de liderança, não esqueça de documentar como as pessoas podem alcançá-los! Estabeleça um processo claro de como alguém pode se tornar um mantenedor, ou se juntar à um subcomitê em seu projeto, e escreva isso em seu arquivo GOVERNANCE.md.
Ferramentas como [Vossibility](https://github.com/icecrime/vossibility-stack) podem ajudar você a rastrear publicamente quem está (ou não) fazendo contribuições para o projeto. A documentação dessas informações evita a percepção da comunidade de que os mantenedores são um grupo que toma suas decisões de maneira privada.
Por fim, se seu projeto está no GitHub, considere movê-lo de sua conta pessoal para uma Organização e adicionar ao menos um admin de backup. [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) torna mais fácil de gerenciar permissões e múltiplos repositórios e protege o legado de seu projeto por meio de [propriedade compartilhada](../building-community/#compartilhe-a-responsabilidade-pelo-seu-projeto).
## Quando eu devo dar acesso de commit a alguém?
Algumas pessoas pensam que você deve dar acesso de commit para todo mundo que faz um contribuição. Isso pode incentivar mais pessoas a se sentirem responsáveis pelo seu projeto.
Por outro lado, especialmente para projetos maiores e mais complexos, você pode querer dar acesso de commit apenas para pessoas que demonstraram compromisso. Não há um jeito certo de fazer isso - faça o que te deixa mais confortável!
Se seu projeto está no GitHub, você pode usar os [branches protegidos](https://help.github.com/articles/about-protected-branches/) para gerenciar quem e sob quais circustâncias, pode efetuar um push em um branch particular.
## Quais são algumas das estruturas de governança comuns em projetos open source?
Existem três estruturas de governança comuns associadas a projetos open source.
There are three common governance structures associated with open source projects.
* **BDFL:** BDFL significa "Benevolent Dictator for Life". Sob essa estrutura, uma pessoa (comumente o autor inicial do projeto) tem a palavra final em todas as principais decisões do projeto. O [Python](https://github.com/python) é um exemplo clássico. Projetos menores são provavelmente BDFL por padrão, porque existe apenas um ou dois mantenedores. Um projeto criado dentro de uma companhia também pode cair na categoria BDFL.
* **Meritocracy:** **(Note: o termo "meritocracy" carrega uma conotação negativa em algumas comunidades e possui [uma história política e social complexa](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Sob a meritocracy, contribuidores ativos do projeto (aqueles que demonstram "mérito") recebem um papel formal de tomada de decisão. As decisões, geralmente, são tomadas baseadas em puro consenso de voto. O conceito de meritocracy foi cunhado pela [Apache Foundation](https://www.apache.org/); [todos os projetos Apache](https://www.apache.org/index.html#projects-list) são meritocracias. Contribuições só podem ser feitas por indivíduos representando eles mesmos, não por uma companhia.
* **Liberal contribution:** Sob um modelo liberal contribution, as pessoas que trabalham mais são reconhecidas como mais influentes, mas isso é baseado no trabalho atual e não no histórico de contribuições. As principais decisões do projeto são tomadas com base em um processo de busca por consenso (discuta as principais queixas) em vez de voto puro, e se esforçam para incluir o máximo de perspectivas da comunidade possível. Exemplos populares de projetos que usam o modelo liberal contribution incluem o [Node.js](https://foundation.nodejs.org/) e o [Rust](https://rust-lang.org/).
Qual delas você deve usar? A decisão é sua! Todos os modelos possuem vantagens e desvantagens. E possam parecer bastante diferentes à primeira vista, todos os três modelos tem mais em comum do que parecem. Se você está interessado em adotar algum desses modelos, veja esses templates:
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Preciso de documentos de governança quando lançar meu projeto?
Não há tempo certo para escrever a governança de seu projeto, mas é muito mais fácil definir uma vez que você viu dinâmica de sua comunidade. A melhor (e mais difícil) parte da governança open source é que ela é moldada pela comunidade!
No entanto, alguma documentação inicial irá inevitavelmente contribuir para a governança do seu projeto, então comece a escrever o que você puder. Por exemplo, você pode definir expectativas claras de comportamento ou como o processo da contribuição funciona, mesmo no lançamento do seu projeto.
Se você faz parte de uma empresa que está lançando um projeto de código aberto, vale a pena ter uma discussão interna antes do lançamento sobre como sua empresa espera manter e tomar decisões sobre o andamento do projeto. Você também pode querer explicar publicamente qualquer coisa em particular sobre como sua empresa irá (ou não) se envolver com o projeto.
## O que acontece se empregados de uma corporação começam a submeter contribuições?
Projetos open source de sucesso são utilizados por muitas pessoas e companhias, e algumas companhias podem, eventualmente, ter fluxos de receitas vinculados ao projeto. Por exemplo, uma empresa pode usar o código do projeto como um componente em uma oferta de serviço comercial.
A medida que o projeto se torna mais amplamente utilizado, pessoas que possuem expertise nele tornam-se mais demandadas - você pode ser uma delas! - e irão, algumas vezes, serem pagas pelo trabalho que fazem no projeto.
É importante tratar atividades comerciais como normais e como somente uma outra fonte de energia para o desenvolvimento. Desenvolvedores pagos não devem receber tratamento especial em relação aos não pagos, é claro; cada contribuição deve ser avaliada por seus méritos técnicos. No entanto, as pessoas devem se sentir confortáveis para se em engajarem em atividades comerciais e à vontade em declarar seus casos de uso ao argumentarem a favor de uma melhoria ou feature em particular.
O "comercial" é completamente compatível com o "open source". O "comercial" apenas significa que há dinheiro envolvido em algum lugar - que o software é usado no comércio, o que é cada vez mais provável a medida que um projeto ganha adoção. (Quando um software open source é usado como parte de um produto non-open-source, o produto total ainda é um software "proprietário", embora, assim como no open source, possa ser usado para fins comerciais ou não comerciais.)
Como qualquer outro, desenvolvedores comercialmente motivados ganham influência no projeto pela qualidade e quantidade de susas contribuições. Obviamente, um desenvolvedor que é pago por seu tempo, pode ser capaz de fazer mais do que alguém que não é pago, mas isso é ok: o pagamento é somente uma dos muitos possíveis fatores que podem afetar o quanto uma pessoa faz. Mantenha as discussões de seu projeto focadas nas contribuições, não em fatores externos que habilitam as pessoas a fazerem tais contribuições.
## Preciso de uma entidade legal para apoiar o meu projeto?
Você não precisa de uma entidade legal para apoiar seu projeto open source, a menos que esteja lidando com dinheiro.
Por exemplo, se você quer criar um negócio comercial, você irá querer montar uma C Corp ou LLC (se estiver nos EUA). Se você está apenas fazendo um contrato relacionado ao seu projeto open source, pode aceitar dinheiro como único proprietário ou criar uma LLC (se estiver nos EUA).
Se desejar aceitar doações para seu projeto open source, você pode configurar um botão de doações (usando PayPal ou Stripe, por exemplo), mas o dinheiro não será livre de tributação, a menos que você seja uma organização sem fins lucrativos (uma 501c3, se estiver nos EUA).
Muitos projetos não querem se dar ao trabalho de criar uma organização sem fins lucrativos, então encontram um patrocinador fiscal sem fins lucrativos. Um patrocinador fiscal aceita doações em seu nome, geralmente em troca de uma porcentagem da doação. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) e [Open Collective](https://opencollective.com/opensource) são exemplos de organizações que servem como patrocinadores fiscais para projetos open source.
Se o seu projeto estiver intimamente associado a uma determinada linguagem ou ecossistema, também poderá haver uma fundação de software relacionada com a qual você possa trabalhar. Por exemplo, a [Python Software Foundation](https://www.python.org/psf/) ajuda a apoiar o [PyPI](https://pypi.org/), gerenciador de pacotes do Python, e a [Node.js Foundation](https://foundation.nodejs.org/) ajuda a apoiar o [Express.js](https://expressjs.com/), um framework baseado em Node.
================================================
FILE: _articles/pt/legal.md
================================================
---
lang: pt
title: O Lado Legal do Open Source
description: Tudo que você sempre imaginou sobre o lado legal do open source, e algumas coisas que você não pensou.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Entendendo as implicações legais do open source
Compartilhar seu trabalho criativo com o mundo pode ser uma experiência empolgante e recompensadora. Isso também pode significar um monte de coisas legais que você não sabia que tinha que se preocupar. Felizmente, você não precisa começar do zero. Nós temos suas necessidades legais identificadas. (Antes de entrar, leia nosso [aviso](/notices/).)
## Por que as pessoas se importam tanto com o lado legal do open source?
Ainda bem que perguntou! Quando você faz um trabalho criativo (como escrever, gráficos, ou codigo), por padrão este trabalho esta sob direitos autorais exclusivos. Ou seja, a lei assume que, como autor do seu trabalho, você deve dizer como os outros podem utilizá-lo.
Em geral, isso significa que ninguém mais pode usar, copiar, distribuir ou modificar seu trabalho sem correr o risco de perdas, danos ou litigios.
O open source é uma circunstância incomum, todavia, porque o autor espera que os outros usem, modifiquem e compartilhem o trabalho. Mas como o padrão legal ainda é direitros autorais exclusivos, você precisa de uma licença que declare explicitamente essas permissões.
Se você não declarar uma licença open source, todos que contribuem para o seu projeto também se tornam detentores exclusivos dos direitos autorais de seu trabalho. Isso significa que ninguém pode usar, copiar, distribuir ou modificar suas contribuições - e "ninguém" significa inclusive você.
Finalmente, seu projeto pode ter dependências que tenham licença ou cuja licença especifique alguns requisitos que você não conhecia. A comunidade do seu projeto ou as políticas do seu empregador também podem exigir que seu projeto use licenças específicas open source. Nós vamos cobrir essas situações abaixo.
## Os projetos públicos do GitHub são open source?
Quando você [cria um novo projeto](https://help.github.com/articles/creating-a-new-repository/) no GitHub, você tem a opção de criar um repositório **privado** ou **público**.

**Tornar seu projeto no GitHub publico não é o mesmo que licenciar seu projeto.** Projetos publicos são cobertos pelos [Termos de Servicos do GitHub](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), o que permite que outras pessoas vejam e copiem seu projeto, mas seu trabalho vem sem permissões.
Se você quiser que outras pessoas usem, distribuam, modifiquem ou contribuam com seu projeto, você precisa incluir uma licença open source. Por exemplo, alguém não pode usar legalmente qualquer parte de seu projeto do GitHub em seu código pessoal, mesmo que seu projeto seja público, a menos que você conceda explicitamente a eles o direito de fazer isso.
## Apenas me diga o que eu preciso fazer para proteger o meu projeto.
Você está com sorte, porque hoje, as licenças open source são padronizadas e fáceis de usar.
Você pode copiar e colar uma licença existente diretamente no seu projeto.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), e [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) são as licenças open source mais populares, mas há outras opções disponíveis. Você pode encontrar o texto completo destas licenças e instruções de como usá-las, em [choosealicense.com](https://choosealicense.com/).
Quando você criar um novo projeto no GitHub, será [dada a opção de adição de uma licença](https://help.github.com/articles/open-source-licensing/).
## Qual licença open source é apropriada para meu projeto?
Se você está iniciando do zero, a opção mais indicada é a [MIT License](https://choosealicense.com/licenses/mit/). É curta, muito fácil de entender e permite que qualquer pessoa faça qualquer coisa desde que mantenha uma cópia da licença, incluindo o aviso de direitos autorais. Você poderá liberar o projeto com uma licença diferente, se precisar.
Entretanto, escolher a licença open source correta para o seu projeto depende dos seus objetivos.
Seu projeto provavelmente tem (ou terá) **dependências**. Por exemplo, se você estiver abrindo um projeto Node.js, provavelmente usará bibliotecas do Node Package Manager (npm). Cada uma das bibliotecas das quais você depende terá sua própria licença open source. Se cada uma de suas licenças for "permissiva" (dá permissão pública para usar, modificar e compartilhar, sem qualquer condição para licenciamento downstream), você pode usar qualquer licença que desejar. Licenças permissivas comuns incluem MIT, Apache 2.0, ISC e BSD.
Por outro lado, se qualquer uma das licenças de suas dependências for "copyleft" (também fornece as mesmas permissões públicas, sujeita à condição de usar a mesma licença downstream), seu projeto terá que usar a mesma licença. Licenças copyleft comuns incluem GPLv2, GPLv3 e AGPLv3.
Você também pode querer considerar a **comunidade** que você espera que irá utilizar e contribuir para seu projeto:
* **Você quer que seu projeto seja usado como dependência por outros projetos?** Provavelmente, é melhor usar a licença mais popular e relevante em sua comunidade. Por exemplo, a [MIT](https://choosealicense.com/licenses/mit/) é a licença mais popular para [bibliotecas npm](https://libraries.io/search?platforms=NPM).
* **Você quer que seu projeto atraia grandes empresas?** Uma grande empresa provavelmente desejará uma licença de patente expressa de todos os colaboradores. Nesse caso, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) abrange você (e eles).
* **Você quer que seu projeto atraia os colaboradores que não querem que suas contribuições sejam usadas em software de código fechado?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) ou (se eles também não quiserem contribuir para serviços de código fechado) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) irá cair muito bem.
Sua **empresa** pode ter requisitos de licenciamento específicos para seus projetos open source. Por exemplo, pode exigir uma licença permissiva para que a empresa possa usar seu projeto no produto de código fechado da empresa. Ou a sua empresa pode exigir uma licença copyleft forte e um contrato de contribuição adicional (veja abaixo) para que apenas sua empresa, e ninguém mais, possa usar seu projeto em software de código fechado. Ou a sua empresa pode ter certas necessidades relacionadas a padrões, responsabilidade social ou transparência, e qualquer uma delas pode exigir uma estratégia de licenciamento específica. Fale com o [departamento jurídico da sua empresa](#o-que-a-equipe-jurídica-da-minha-empresa-precisa-saber).
Quando você cria um novo projeto no GitHub, você tem a opção de selecionar uma licença. A inclusão de uma das licenças mencionadas acima tornará seu projeto open source no GitHub. Se você gostaria de ver outras opções, confira [choosealicense.com](https://choosealicense.com) para encontrar a licença certa para o seu projeto, mesmo que [não seja software](https://choosealicense.com/non-software/).
## E se eu quiser mudar a licença do meu projeto?
A maioria dos projetos nunca precisa alterar as licenças. Mas ocasionalmente as circunstâncias mudam.
Por exemplo, a medida em que seu projeto cresce, ele adiciona dependências ou usuários, ou a sua empresa altera a estratégia, e qualquer uma delas pode exigir ou precisar de uma licença diferente. Além disso, se você deixou de licenciar seu projeto desde o início, adicionar uma licença é efetivamente o mesmo que trocar de licença. Há três coisas fundamentais para considerar quando adicionar ou alterar a licença do seu projeto:
**Isto é complicado.** Determinar a compatibilidade e a conformidade da licença e quem detém os direitos autorais pode ficar complicado e confuso rapidamente. Mudar para uma nova licença compatível para novos lançamentos e contribuições é diferente de relicenciar todas as contribuições existentes. Envolva sua equipe jurídica a primeira sugestão ou desejo de alterar as licenças. Mesmo que você tenha ou possa obter permissão dos detentores dos direitos autorais de seu projeto para uma alteração de licença, considere o impacto da alteração nos outros usuários e colaboradores de seu projeto. Pense em uma mudança de licença como um "evento de governança" para o seu projeto que, com maior probabilidade, ocorrerá sem problemas quando houver comunicação e consultas claras com as partes interessadas do projeto. Mais uma razão para escolher e usar uma licença apropriada para o seu projeto desde o início!
**Licença existente do seu projeto.** Se a licença existente do seu projeto for compatível com a licença que você deseja alterar, você poderá começar a usar a nova licença. Isso porque, se a licença A for compatível com a licença B, você cumprirá os termos de A enquanto cumpre os termos de B (mas não necessariamente vice-versa). Portanto, se você estiver usando uma licença permissiva (por exemplo, MIT), poderá mudar para uma licença com mais condições, contanto que mantenha uma cópia da licença do MIT e de quaisquer avisos de direitos autorais associados (ou seja, continue a obedecer à licença). Condições mínimas da licença MIT). Mas se a sua licença atual não for permissiva (por exemplo, copyleft ou você não tiver uma licença) e você não for o único detentor dos direitos autorais, não será possível alterar a licença do seu projeto para o MIT. Essencialmente, com uma licença permissiva, os detentores dos direitos autorais do projeto devem dar permissão prévia para alterar as licenças.
**Seu projeto possui detentores de direitos autorais.** Se você é o único contribuidor para o seu projeto, então você ou sua empresa é o único detentor dos direitos autorais do projeto. Você pode adicionar ou alterar qualquer licença que você ou sua empresa desejarem. Caso contrário, pode haver outros detentores de direitos autorais dos quais você precisa consentimento para alterar as licenças. Quem são eles? Um bom lugar para começar é olhar as pessoas que contribuiram para o seu projeto. Mas, em alguns casos, os direitos autorais serão mantidos pelos empregadores dessas pessoas. Em alguns casos, as pessoas só fizeram contribuições mínimas, mas não há nenhuma regra rígida e rápida de que as contribuições sob um certo número de linhas de código não estão sujeitas a direitos autorais. O que fazer? Depende. Para um projeto relativamente pequeno e jovem, pode ser viável fazer com que todos os contribuidores existentes aceitem uma alteração de licença através de uma issue ou pull request. Para projetos grandes e de longa duração, você pode ter que procurar muitos colaboradores e até mesmo seus herdeiros. A Mozilla levou anos (2001-2006) para relicenciar o Firefox, Thunderbird e softwares relacionados.
Como alternativa, você pode fazer com que os colaboradores concordem com antecedência (por meio de um acordo de colaborador adicional - veja abaixo) com determinadas alterações de licença em determinadas condições, além daquelas permitidas pela sua licença open source existente. Isso muda um pouco a complexidade de alterar licenças. Você precisará de mais ajuda de seus advogados lá na frente, e você ainda vai querer se comunicar claramente com as partes interessadas do seu projeto ao executar uma alteração de licença.
## Meu projeto precisa de um contrato de contribuição adicional?
Provavelmente não. Para a grande maioria dos projetos open source, uma licença open source serve implicitamente como a licença de entrada (de contribuidores) e de saída (para outros contribuidores e usuários). Se o seu projeto estiver no GitHub, os Termos de Serviço do GitHub tratam "entrada=saída" como o [padrão explícito](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Um contrato de contribuidor adicional - geralmente chamado de Contrato de Licença de Contribuidor (CLA) -- pode criar trabalho administrativo para os mantenedores do projeto. Quanto trabalho um contrato adiciona depende do projeto e da implementação. Um acordo simples pode exigir que os contribuidores confirmem, com um clique, que têm os direitos necessários para contribuir com a licença open source do projeto. Um acordo mais complicado pode exigir revisão legal e aprovação dos empregadores dos colaboradores.
Além disso, adicionando "papelada" que alguns acreditam ser desnecessária, difícil de entender ou injusta (quando o destinatário do contrato obtém mais direitos que os contribuidores ou o público por meio da licença open source do projeto), um acordo de contribuição adicional pode ser considerado hostil para a comunidade do projeto.
Algumas situações em que você pode querer considerar um contrato de contribuição adicional para o seu projeto incluem:
* Seus advogados querem que todos os colaboradores aceitem expressamente os termos de contribuição (_assinem_, online ou offline), talvez porque achem que a licença open source em si não é suficiente (mesmo que seja!). Se essa for a única preocupação, um acordo de contribuidores que afirme a licença open source do projeto deve ser suficiente. O [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) é um bom exemplo de um acordo de contribuição adicional leve. Para alguns projetos, um [Certificado de Origem do Desenvolvedor](https://github.com/probot/dco) pode ser uma alternativa.
* Seu projeto usa uma licença open source que não inclui uma concessão de patente expressa (como MIT) e você precisa de uma concessão de patente de todos os contribuidores, alguns dos quais podem trabalhar para empresas com grandes portfólios de patentes que poderiam ser usados contra você ou os outros contribuidores e usuários do projeto. O [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) é um contrato de contribuição adicional comumente usado que tem uma concessão de patente espelhando a encontrada na Licença Apache 2.0.
* Seu projeto está sob uma licença copyleft, mas você também precisa distribuir uma versão proprietária do projeto. Você precisará que todo colaborador assine, garantindo a você ou lhe outorgando direitos autorais (mas não ao público) uma licença permissiva. O [MongoDB Contributor Agreement](https://www.mongodb.com/legal/contributor-agreement) é um exemplo desse tipo de acordo.
* Você acha que seu projeto talvez precise alterar as licenças ao longo de sua vida útil e deseja que os colaboradores concordem antecipadamente com essas alterações.
Se você precisar usar um contrato de contribuição adicional com seu projeto, considere usar uma integração como a [CLA assistant](https://github.com/cla-assistant/cla-assistant) para minimizar a distração do contribuidor.
## O que a equipe jurídica da minha empresa precisa saber?
Se você está lançando um projeto open source como funcionário da empresa, primeiro, sua equipe jurídica deve saber que você está abrindo mão de um projeto.
Para melhor ou pior, considere deixá-los sabendo de tudo, mesmo que seja um projeto pessoal. Você provavelmente tem um "contrato de propriedade intelectual de funcionários" com sua empresa, que lhes dá algum controle sobre seus projetos, especialmente se eles estiverem relacionados aos negócios da empresa ou se você usar algum recurso da empresa para desenvolver o projeto. Sua empresa _deve_ facilmente dar-lhe permissão, e talvez já tenha feito através de um contrato de propriedade intelectual amigável aos funcionários ou uma política da empresa. Se não, você pode negociar (por exemplo, explicar que seu projeto atende aos objetivos profissionais de aprendizado e desenvolvimento da empresa) ou evitar trabalhar em seu projeto até encontrar uma empresa melhor.
**Se você está abrindo mão de um projeto para sua empresa,** então definitivamente deixe-os saber. Sua equipe jurídica provavelmente já possui políticas para qual licença open source (e talvez o acordo de contribuição adicional) deve ser utilizada, com base nos requisitos de negócios e na experiência da empresa para garantir que seu projeto esteja em conformidade com as licenças de suas dependências. Se não, você e eles estão com sorte! Sua equipe jurídica deve estar ansiosa para trabalhar com você para descobrir essas coisas. Algumas coisas para pensar:
* **Material de terceiros:** Seu projeto tem dependências criadas por outras pessoas ou inclui ou usa códigos de outras pessoas? Se estes forem open source, você precisará cumprir as licenças open source das dependências. Isso começa com a escolha de uma licença que funciona com as licenças open source de terceiros (veja acima). Se o seu projeto modifica ou distribui material open source de terceiros, então sua equipe jurídica também desejará saber se você está cumprindo outras condições das licenças open source de terceiros, como a retenção de avisos de direitos autorais. Se o seu projeto usa código de outros que não têm uma licença open source, você provavelmente terá que pedir aos mantenedores desses projetos para [adicionar uma licença open source](https://choosealicense.com/no-license/#for-users), e se você não conseguir um, pare de usar o código deles no seu projeto.
* **Segredos comerciais:** Considere se existe alguma coisa no projeto que a empresa não queira disponibilizar para o público em geral. Se assim for, você pode abrir o código do resto do seu projeto, depois de extrair o material que deseja manter privado.
* **Patentes:** Sua empresa está solicitando uma patente a qual tornar seu projeto open source constituiria [divulgação pública](https://en.wikipedia.org/wiki/Public_disclosure)? Infelizmente, você pode ser solicitado a esperar (ou talvez a empresa reconsidere o conhecimento aplicado no aplicativo). Se você está esperando contribuições para seu projeto de funcionários de empresas com grandes carteiras de patentes, sua equipe jurídica pode querer que você use uma licença com uma concessão de patente expressa de colaboradores (como Apache 2.0 ou GPLv3) ou um contrato de contribuição adicional (Veja acima).
* **Marcas registradas:** Verifique extensivamente se o nome do seu projeto [não entra em conflito com alguma marca comercial conhecida](../starting-a-project/#evitando-conflitos-de-nomes). Se você usar marcas registradas de sua própria empresa no projeto, verifique se elas não causam conflitos. [FOSSmarks](http://fossmarks.org/) é um guia prático para entender marcas registradas no contexto de projetos gratuitos e open source.
* **Privacidade:** Seu projeto coleta dados sobre usuários? "Telefone residencial" para servidores da empresa? Sua equipe jurídica pode ajudá-lo a cumprir as políticas da empresa e as regulamentações externas.
Se você está lançando o primeiro projeto open source da sua empresa, as dicas acima são mais do que suficiente (mas não se preocupe, a maioria dos projetos não deve levantar grandes preocupações).
A longo prazo, sua equipe jurídica pode fazer mais para ajudar a empresa a obter mais de seu envolvimento em open source e permanecer segura:
* **Políticas de contribuição para funcionários:** Considere desenvolver uma política corporativa que especifique como seus funcionários contribuem para projetos open source. Uma política clara reduzirá a confusão entre seus funcionários e os ajudará a contribuir para projetos open source no melhor interesse da empresa, seja como parte de seus trabalhos ou em seu tempo livre. Um bom exemplo é o [Modelo de propriedade intelectual e políticas de contribuição para projetos abertos](https://ospo.co/blog/crafting-your-open-source-contribution-policy/) da Rackspace.
* **O que liberar:** [(Quase) tudo?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Se a sua equipe jurídica entender e investir na estratégia open source da sua empresa, ela será mais capaz de ajudar do que atrapalhar seus esforços.
* **Conformidade:** Mesmo que sua empresa não libere nenhum projeto open source, ela usa o software open source dos outros. [Conscientização e processo](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) pode evitar dores de cabeça, atrasos de produtos e ações judiciais.
* **Patentes:** Sua empresa pode querer participar do [Open Invention Network](https://www.openinventionnetwork.com/), um conjunto de patentes defensivas compartilhadas para proteger o uso de grandes projetos open source pelos membros, ou explorar outros [licenciamentos alternativos de patentes](https://www.eff.org/document/hacking-patent-system-2016).
* **Governança:** Especialmente se e quando fizer sentido mover um projeto para um [entidade legal fora da empresa](../leadership-and-governance/#preciso-de-uma-entidade-legal-para-apoiar-o-meu-projeto).
================================================
FILE: _articles/pt/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: pt
title: Mantendo o Equilíbrio para Mantenedores de Código Aberto
description: Dicas para o autocuidado e evitar o esgotamento como mantenedor.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
Com o crescimento de popularidade de projetos código aberto, se torna importante definir limites para te ajudar a equilibrar se manter motivado e produtivo ao longo do tempo.
Para obter insights sobre as experiências dos mantenedores e suas estratégias para encontrar equilíbrio, realizamos uma oficina com 40 membros da Comunidade de Mantenedores, permitindo-nos aprender com suas experiências pessoais de esgotamento em código aberto e as práticas que os ajudaram a manter o equilíbrio em seu trabalho. É aqui que o conceito de ecologia pessoal entra em jogo.
Então, o que é a ecologia pessoal? Conforme descrito pelo Instituto de Liderança Rockwood, envolve "manter o equilíbrio, o ritmo e a eficiência para sustentar nossa energia ao longo de uma vida." Isso moldou nossas conversas, ajudando os mantenedores a reconhecerem suas ações e contribuições como partes de um ecossistema maior que evolui ao longo do tempo. O esgotamento, uma síndrome resultante do estresse crônico no local de trabalho, conforme [definido pela OMS](https://icd.who.int/browse/2025-01/foundation/en#129180281), não é incomum entre mantenedores. Isso frequentemente leva a uma perda de motivação, incapacidade de se concentrar e falta de empatia pelos colaboradores e comunidade com os quais você trabalha.
Ao abraçar o conceito de ecologia pessoal, os mantenedores podem evitar o esgotamento de forma proativa, priorizar o autocuidado e manter um senso de equilíbrio para fazer o seu melhor trabalho.
## Dicas de Autocuidado e Prevenção do Esgotamento como Mantenedor:
### Identifique suas motivações para trabalhar em código aberto
Dedique um tempo para refletir sobre quais aspectos da manutenção em código aberto o energizam. Compreender suas motivações pode ajudá-lo a priorizar o trabalho de uma maneira que o mantenha envolvido e pronto para novos desafios. Seja o retorno positivo dos usuários, a alegria de colaborar e socializar com a comunidade ou a satisfação de mergulhar no código, reconhecer suas motivações pode ajudar a direcionar o seu foco.
### Reflita sobre o que causa desequilíbrio e estresse
É importante entender o que nos leva ao esgotamento. Aqui estão alguns temas comuns que encontramos entre mantenedores de código aberto:
* **Falta de feedback positivo:** Os usuários tendem a entrar em contato quando têm uma reclamação. Se tudo funciona bem, tendem a ficar em silêncio. Pode ser desanimador ver uma crescente lista de problemas sem o feedback positivo mostrando como suas contribuições fazem a diferença.
* **Não dizer 'não':** Pode ser fácil assumir mais responsabilidades do que se deveria em um projeto de código aberto. Seja de usuários, colaboradores ou outros mantenedores, nem sempre podemos corresponder às expectativas deles.
* **Trabalhar sozinho:** Ser um mantenedor pode ser incrivelmente solitário. Mesmo se você trabalha com um grupo de mantenedores, os últimos anos têm sido difíceis para reunir equipes distribuídas pessoalmente.
* **Falta de tempo ou recursos:** Isso é especialmente verdade para mantenedores voluntários que têm que sacrificar seu tempo livre para trabalhar em um projeto.
* **Demandas conflitantes:** O código aberto é cheio de grupos com diferentes motivações, o que pode ser difícil de navegar. Se você é pago para fazer código aberto, os interesses de seu empregador às vezes podem entrar em conflito com a comunidade.
### Fique atento aos sinais de esgotamento
Você consegue manter seu ritmo por 10 semanas? 10 meses? 10 anos?
Existem ferramentas como a [Lista de Verificação de Esgotamento](https://governingopen.com/resources/signs-of-burnout-checklist.html) de [@shaunagm](https://github.com/shaunagm) que podem ajudá-lo a refletir sobre seu ritmo atual e ver se há ajustes que você pode fazer. Alguns mantenedores também usam tecnologia vestível para acompanhar métricas como qualidade do sono e variabilidade da frequência cardíaca (ambas ligadas ao estresse).
### O que você precisa para continuar sustentando a si mesmo e à sua comunidade?
Isso será diferente para cada mantenedor e mudará dependendo de sua fase de vida e outros fatores externos. Mas aqui estão alguns temas que ouvimos:
* **Conte com a comunidade:** Delegação e encontrar colaboradores podem aliviar a carga de trabalho. Ter vários pontos de contato para um projeto pode ajudar você a tirar uma folga sem preocupações. Conecte-se com outros mantenedores e a comunidade em geral – em grupos como a [Comunidade de Mantenedores](http://maintainers.github.com/). Isso pode ser uma ótima fonte de apoio mútuo e aprendizado.
Você também pode procurar maneiras de se envolver com a comunidade de usuários, para ouvir regularmente feedback e entender o impacto de seu trabalho de código aberto.
* **Explore o financiamento:** Esteja você procurando um dinheiro extra para pizza ou tentando se dedicar integralmente ao código aberto, há muitos recursos disponíveis! Como primeiro passo, considere ativar [Patrocinadores do GitHub](https://github.com/sponsors) para permitir que outros patrocinem seu trabalho de código aberto. Se você está pensando em dar o salto para o tempo integral, inscreva-se para a próxima rodada do [GitHub Accelerator](http://accelerator.github.com/).
* **Use ferramentas:** Explore ferramentas como [GitHub Copilot](https://github.com/features/copilot/) e [GitHub Actions](https://github.com/features/actions/) para automatizar tarefas mundanas e liberar tempo para contribuições mais significativas.
* **Descanse e recarregue:** Reserve tempo para seus hobbies e interesses fora do código aberto. Tire os fins de semana para relaxar e rejuvenescer - e ajuste seu [status do GitHub](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) para refletir sua disponibilidade! Uma boa noite de sono pode fazer uma grande diferença em sua capacidade de manter seus esforços a longo prazo.
Se você encontrar certos aspectos de seu projeto particularmente agradáveis, tente estruturar seu trabalho de forma que você possa experimentá-los ao longo do dia.
* **Estabeleça limites:** Você não pode dizer sim para todos os pedidos. Isso pode ser tão simples quanto dizer: "Não consigo fazer isso agora e não tenho planos de fazê-lo no futuro" ou listar o que você tem interesse em fazer e o que não tem no README. Por exemplo, você pode dizer: "Só aceito solicitações de pull que tenham razões claras para sua criação" ou "Só reviso problemas em todas as quintas-feiras, das 18h às 19h." Isso estabelece expectativas para os outros e fornece algo a que você pode se referir em outros momentos para ajudar a reduzir as demandas de colaboradores ou usuários sobre o seu tempo.
Aprenda a ser firme em desligar comportamentos tóxicos e interações negativas. Não há problema em não dar energia a coisas com as quais você não se importa.
Lembre-se, a ecologia pessoal é uma prática contínua que evoluirá à medida que você avança em sua jornada de código aberto. Ao priorizar o autocuidado e manter um senso de equilíbrio, você pode contribuir para a comunidade de código aberto de forma eficaz e sustentável, garantindo tanto o seu bem-estar quanto o sucesso de seus projetos a longo prazo.
## Recursos Adicionais
* [Comunidade de Mantenedores](http://maintainers.github.com/)
* [O contrato social do código aberto](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [Como lidar com pessoas tóxicas](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Arte da Liderança Rockwood](https://rockwoodleadership.org/art-of-leadership/)
* [Dizer Não](hhttps://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governança do Código Aberto](https://governingopen.com/)
* A agenda do workshop foi adaptada a partir da série [Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) da Mozilla.
## Contribuidores
Muito obrigado a todos os mantenedores que compartilharam suas experiências e dicas conosco para este guia!
Este guia foi escrito por [@abbycabs](https://github.com/abbycabs) com contribuições de:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + muitos outros!
================================================
FILE: _articles/pt/metrics.md
================================================
---
lang: pt
title: Métricas do Open Source
description: Tome decisões bem embasadas para ajudar o seu projeto open source a prosperar, medindo e acompanhando seu sucesso.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Por que medir algo?
Os dados, quando usados com sabedoria, podem ajudá-lo a tomar decisões melhores como um mantenedor open source.
Com mais informações, você pode:
* Entender como usuários respondem a uma nova funcionalidade
* Descubrir de onde os novos usuários vêm
* Identificar e decidir se deve suportar um caso de uso ou uma funcionalidade sugerida.
* Quantificar a popularidade do seu projeto
* Entender como seu projeto é usado
* Arrecadar dinheiro através de patrocínios e doações
Por exemplo, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) descobriu que o Google Analytics os ajuda a priorizar o trabalho:
> Homebrew é fornecido gratuitamente e mantido inteiramente por voluntários em seu tempo livre. Por isso, não temos recursos para fazer estudos detalhados com os usuários do Homebrew para decidir sobre a melhor forma de projetar recursos futuros e priorizar o trabalho atual. Análises agregadas de dados de usuários anônimos nos permitem priorizar correções e recursos com base em como, onde e quando as pessoas usam o Homebrew.
Popularidade não é tudo. As pessoas entram no open source por diferentes razões. Se o seu objetivo como mantenedor open source for mostrar seu trabalho, ser transparente sobre seu código ou apenas se divertir, as métricas podem não ser importantes para você.
Se você _está_ interessado em entender seu projeto em um nível mais profundo, leia as seguintes maneiras de analisar a atividade do seu projeto.
## Descubra
Antes das pessoas poderem contribuir para com seu projeto, elas precisam saber que o projeto existe. Pergunte a si mesmo: _as pessoas estão encontrando este projeto?_

Se seu projeto esta hospedado no GitHub, [você pode ver](https://help.github.com/articles/about-repository-graphs/#traffic) como as pessoas navegam no seu projeto e de onde elas vêm. Na página do seu projeto, clique "Insights" e então em "Traffic". Nesta página, você pode ver:
* **Total de visualizações da página:** Informa quantas vezes seu projeto foi visualizado
* **Total de visitantes únicos:** Informa quantas pessoas visualizaram seu projeto
* **Referência de sites:** Informa de onde vieram os visitantes. Essa métrica pode ajudar você a descobrir como alcançar seu público-alvo e se seus esforços de promoção estão funcionando.
* **Conteudo popular:** Informa a você onde os visitantes vão em seu projeto, a exibição mostra o número de visualizações por página e quantidade de visitantes.
As [GitHub stars](https://help.github.com/articles/about-stars/) também podem ajudar a fornecer uma medida básica de popularidade. Embora as GitHub stars não estejam necessariamente relacionadas a downloads e uso, elas podem dizer quantas pessoas estão percebendo seu trabalho.
Talvez você também queira [rastrear a descoberta apartir de lugares específicos](https://opensource.com/business/16/6/pirate-metrics): por exemplo, Google PageRank, tráfego de referência do site do seu projeto ou referências de outros projetos ou sites open source.
## Uso
As pessoas estão encontrando seu projeto nesta coisa selvagem e louca que chamamos de internet. O ideal é que, quando elas notarem seu projeto, se sintam compelidos a fazer alguma coisa. A segunda pergunta a se fazer é: _as pessoas estão utilizando este projeto?_
Se você usa um gerenciador de pacotes, como npm ou RubyGems.org, para distribuir seu projeto, você será capaz de rastrear os downloads do seu projeto.
Cada gerenciador de pacotes pode usar uma definição ligeiramente diferente de "download". Os downloads não necessariamente estão relacionados a instalação ou ao uso, mas fornecem uma base para comparação. Tente usar a [Libraries.io](https://libraries.io/) para rastrear estatísticas de uso em muitos gerenciadores de pacotes populares.
Se o seu projeto está no GitHub, navegue novamento até a página "Traffic". Você pode usar o [clone graph](https://github.com/blog/1873-clone-graphs) para ver quantas vezes o seu projeto foi clonado em determinada data, a apresentação mostra o total de clonagem e as clonagens por pessoa.

Se a clonagem é baixa comparada com a quantidade de pessoas que descobrem seu projeto, há duas coisas a se considerar. São elas:
* Seu projeto não esta obtendo sucesso em converter sua audiência, ou
* Você esta atraindo a audiência errada
Por exemplo, se o seu projeto chegar na primeira página do Hacker News, você provavelmente verá um pico na descoberta (tráfego), mas uma taxa de conversão mais baixa, porque você está alcançando todos no Hacker News. Se o seu projeto Ruby é apresentado em uma conferência Ruby, no entanto, é mais provável que você veja uma alta taxa de conversão de um público-alvo.
Tente descobrir de onde vem seu público e peça a opinião de outras pessoas na página do projeto para descobrir quais desses dois problemas você está enfrentando.
Uma vez que você saiba que as pessoas estão usando o seu projeto, você pode tentar descobrir o que elas estão fazendo com ele. Eles estão construindo nele através e forks ou adicionando novos recursos? Estão usando isso para ciência ou negócios?
## Retenção
As pessoas estão encontrando seu projeto e estão usando. A próxima pergunta a se fazer é: _as pessoas estão contribuindo de volta para este projeto?_
Nunca é cedo demais para pensar nos contribuidores. Sem outras pessoas colaborando, você corre o risco de se colocar em uma situação insustentável onde seu projeto é _popular_ (muitas pessoas o usam), mas não há _suporte_ (não há tempo suficiente para atender a demanda).
A retenção também requer o [ingresso de novos colaboradores](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), entenda que contribuidores anteriormente ativos acabarão por fazer outras coisas.
Exemplos de métricas da comunidade que você pode acompanhar regularmente incluem:
* **Total de contribuidores e número de commits por contribuidor:** Mostra quantos contribuidores você tem, e quem é mais ou menos ativo. No GitHub, você pode ver isso em "Insights" -> "Contributors." Neste momento, este gráfico conta apenas os contribuidores que se comprometeram com o branch padrão do repositório.

* **Primeira vez, casual, e contribuidores recorrentes:** Ajuda você a acompanhar se está recebendo novos contribuidores e se eles retornam. (Contribuidores ocasionais são pessoas com um baixo número de commits. Se é um commit, menos de cinco commits, ou qualquer outra coisa, é com você.) Sem novos contribuidores, a comunidade do seu projeto pode ficar estagnada.
* **Números de issues abertas e pull requests em abertos:** Se esses números ficarem muito altos, talvez você precise de ajuda com a triagem de problemas e as revisões de código.
* **Número de issues _abertas_ e pull requests _abertos_:** Issues abertas, significa que alguém se preocupa o suficiente com o seu projeto para abrir um problema. Se esse número aumenta com o tempo, isso sugere que as pessoas estão interessadas em seu projeto.
* **Tipos de contribuições:** Por exemplo, commits, correções textuais or correções de bugs, ou comentários em uma issue.
## Atividade do mantenedor
Finalmente, você desejará fechar o loop certificando-se de que os mantenedores do seu projeto sejam capazes de lidar com o volume de contribuições recebidas. A última pergunta que você deve se fazer é: _eu estou (ou estamos) respondendo à nossa comunidade?_
Mantenedores não responsivos se tornam um gargalo para projetos open source. Se alguém enviar uma contribuição, mas nunca receber uma resposta de um mantenedor, ela poderá se sentir desencorajada e sair.
[Pesquisa da Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) sugere que a capacidade de resposta do mantenedor é um fator crítico para incentivar contribuições recorrentes.
Considere acompanhar quanto tempo leva para você (ou outro mantenedor) responder às contribuições, seja um issue ou um pull request. A resposta não exige ação. Pode ser tão simples como dizer: _"Obrigado pela sua contribuição! E irei revisá-la dentro da próxima semana."_
Você também pode medir o tempo necessário para mover entre as etapas no processo de contribuição, como:
* Tempo médio que um problema permanece em aberto
* Se as questões são fechadas por PRs
* Se as issues obsoletas são fechadas
* Tempo médio para fazer o merge de um pull request
## Use 📊 para aprender sobre pessoas
Entender as métricas ajudará você a construir um projeto open source ativo e crescente. Mesmo que você não acompanhe todas as métricas em um painel, use a estrutura acima para focar sua atenção no tipo de comportamento que ajudará seu projeto a prosperar.
================================================
FILE: _articles/pt/security-best-practices-for-your-project.md
================================================
---
lang: pt
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/pt/starting-a-project.md
================================================
---
lang: pt
title: Iniciando um Projeto Open Source
description: Saiba mais sobre o mundo do open source e se prepare para começar o seu próprio projeto
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## O "o que" e "porquê" do open source
Então você está pensando em começar com open source? Parabéns! O mundo aprecia sua contribuição. Vamos falar sobre o que o open source é e porque as pessoas fazem isso.
### O que significa "open source"?
Quando um projeto é open source, isso significa que **Qualquer um pode ver, usar, modificar e distribuir o projeto por qualquer motivo**. Essas permissões são reforçadas através de [uma licença open source](https://opensource.org/licenses).
O open source é poderoso porque diminui as barreiras para adoção, o que permite às ideias se espalhar rapidamente.
Para entender como funciona, imagine que seu amigo está dando uma festa, e você leva uma torta de cereja.
* Todos experimentam a torta (_usa_)
* A torta é um sucesso! Eles te pedem a receita, que você disponibiliza (_vê_)
* Um amigo, Alex, que é um chefe de pastelaria, sugere reduzir o açúcar (_modifica_)
* Outra amiga, Lisa, pede para utilizá-la em um jantar na próxima semana (_distribui_)
Em comparação, um processo de código fechado seria ir a um restaurante e pedir um pedaço de torta. Você tem que pagar uma taxa para comer a torta, e o restaurante provavelmente não te dará a receita. Se você copiasse a torta deles exatamente e a vendesse sob seu próprio nome, o restaurante poderia abrir uma ação contra você.
### Por que as pessoas tornam seu trabalho open source?
[Há muitas razões](https://ben.balter.com/2015/11/23/why-open-source/) pela qual uma pessoa ou organização iria querer tornar um projeto open source. Alguns exemplos incluem:
* **Colaboração:** Projetos open source podem aceitar mudanças de qualquer pessoa no mundo. [Exercism](https://github.com/exercism/), por exemplo, é uma plataforma de exercícios de programação com mais de 350 contribuidores.
* **Adoção e remixing:** Projetos open source podem ser utilizados por qualquer um para praticamente qualquer propósito. As pessoas podem até mesmo utilizá-lo para construir outras coisas. [WordPress](https://github.com/WordPress), por exemplo, começou como um fork de um projeto chamado [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparência:** Qualquer um pode inspecionar um projeto open source por erros ou inconsistências. A transparência importa a governos como a [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) ou os [Estados Unidos](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), indústrias regulamentadas como bancos ou indústrias de saúde, e softwares de segurança como [Let's Encrypt](https://github.com/letsencrypt).
Open source não é só sobre software. Você pode tornar qualquer coisa open source, de conjuntos de dados a livros. Dê uma olhada no [GitHub Explore](https://github.com/explore) por ideias do que você pode tornar open source.
### Open source significa "grátis"?
Uma das maiores atrações do open source é que ele tem custo zero. "Grátis", porém, é um subproduto do valor total do open source.
Como [uma licença open source requer](https://opensource.org/osd-annotated) que qualquer um possa usar, modificar e compartilhar o seu projeto por aproximadamente qualquer propósito, os projetos, por si só, tendem a ser livres de qualquer custo. Se o projeto cobra para ser utilizado, qualquer um poderia, em vez disso, legalmente fazer uma cópia e utilizar a versão grátis.
Como resultado, a maior parte dos projetos open source são grátis, mas "grátis" não faz parte da definição do open source. Há maneiras de cobrar por um projeto open source indiretamente através de licenças duais ou features limitadas, enquanto ainda de acordo com a definição oficial de open source.
## Eu deveria lançar o meu próprio projeto open source?
A resposta curta é sim, porque não importa o resultado, lançar o seu próprio projeto é uma ótima maneira de aprender como o open source funciona.
Se você nunca tornou um projeto open source antes, você pode se sentir nervoso sobre o que as pessoas irão falar, ou mesmo se alguém vai dar a ele alguma atenção. Se isso soa familiar para você, saiba que não está sozinho!
O open source funciona como qualquer outra atividade criativa, seja escrita ou pintura. Pode parecer assustador compartilhar o seu trabalho com o mundo, mas a única maneira de se aperfeiçoar é praticando - mesmo que você não possua uma audiência.
Se você ainda não está convencido, reserve um momento para pensar sobre quais são seus objetivos.
### Definindo os seus objetivos
Os objetivos podem te ajudar a descobrir no que trabalhar, para o que dizer não, e onde você precisa da ajuda de outros. Comece perguntando a si mesmo, _por que estou tornando esse projeto open source?_
Não há uma resposta definitiva para essa questão. Você pode ter múltiplos objetivos para um dado projeto, ou diferentes projetos com diferentes objetivos.
Se seu único objetivo é mostrar seu trabalho, você pode não querer contribuições e até mesmo deixar isso claro em seu README. Por outro lado, se você procura contribuidores, você investirá um certo tempo em produzir uma documentação clara e fazer com que os novatos se sintam bem vindos.
A medida que o seu projeto cresce, sua comunidade pode precisar de mais do que apenas código de você. Responder issues, revisar código e evangelizar o seu projeto são todas tarefas importantes em um projeto open source.
Enquanto a quantidade de tempo que você gasta em tarefas que não envolvem código depende do tamanho e escopo do seu projeto, você deve estar preparado, como um mantenedor, a cuidar delas você mesmo ou a encontrar alguém para ajudá-lo.
**Se você faz parte de uma empresa tornando um projeto open source,** certifique-se de que seu projeto tem os recursos internos que ele precisa para florescer. Você irá querer identificar quem é responsável por manter o projeto após o almoço e compartilhar essas tarefas com a comunidade.
Se você precisar de uma renda dedicada ou pessoal para promoção, operações e manutenção do projeto, comece essas discussões cedo.
### Contribuindo para outros projetos
Se seu objetivo é aprender como contribuir com outras pessoas ou entender como o open source funciona, considere contribuir para um projeto existente. Comece com um projeto que você utiliza e ama. Contribuir para um projeto pode ser tão simples quanto consertar erros de escrita ou atualizar uma documentação.
Se você não tem uma ideia clara de como iniciar enquanto contribuidor, dê uma olhada em [How to Contribute to Open Source guide](../how-to-contribute/).
## Lançando o seu próprio projeto open source
Não há um momento perfeito para tornar o seu trabalho open source. Você pode tornar uma ideia open source, um trabalho em andamento ou mesmo um trabalho que passou anos como código fechado.
De um modo geral, você deve tornar o seu projeto open source quando se sentir confortável em ter outras pessoas vendo e dando feedback no seu trabalho.
Independente do estágio em que você decida tornar o seu projeto open source, todo projeto deve incluir as seguintes documentações:
* [Open source license](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Contributing guidelines](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code of conduct](../code-of-conduct/)
Como um mantenedor, esses componentes irão ajudá-lo a comunicar suas expectativas, administrar contribuições, e proteger o direito legal de todos (inclusive o seu). Eles aumentam suas chances de ter uma experência positiva significativamente.
Se seu projeto está no GitHub, colocar esses arquivos no seu diretório root com os nomes recomendados ajudará o GitHub a reconhecê-los e automaticamente mostrá-los da maneira apropriada aos seus leitores.
### Escolhendo uma licença
Uma licença open source garante que outros possam utilizar, copiar, modificar e contribuir com o seu projeto sem repercussões. Ela também lhe protege de situações legais problemáticas. **Você deve incluir uma licença sempre que lançar um projeto open source.**
Trabalho legal não é divertido. A boa noticia é que você pode copiar e colar uma licença existente no seu repositório. Só levará um minuto e vai proteger seu trabalho duro.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), e [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) são as licenças open source mais populares, mas [há outras opções](https://choosealicense.com) disponíveis.
Quando você cria um projeto do GitHub, é dada a opção de escolher uma licença. Incluir uma licença open source fará seu projeto GitHub open source.

Se você possui outros questionamentos e preocupações acerca dos aspectos legais da administração de um projeto open source, [podemos te ajudar](../legal/).
### Escrevendo um README
READMEs fazem mais do que explicar como usar o seu projeto. Eles também explicam porque o seu projeto importa, e o que os seus usuários podem fazer com ele.
No seu README, tente responder as seguintes questões:
* O que esse projeto faz?
* Por que esse projeto é útil?
* Como começo?
* Onde posso conseguir ajuda, seu eu precisar?
Você pode usar o seu README para responder outras questões, por exemplo como você lida com contribuições, quais são os objetivos do projeto e informações sobre licenças e atribuições. Se você não quer aceitar contribuições, ou seu projeto não está pronto para produção, escreva no README essa informação.
Algumas vezes, as pessoas evitam escrever um README porque sentem que o projeto não está finalizado, ou não querem contribuições. Essas são todas boas razões para escrever um.
Para mais inspiração, tente usar o ["Making READMEs Readable"](https://pages.18f.gov/open-source-guide/making-readmes-readable/) do @18F ou o [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) do @PurpleBooth para escrever um README completo.
Quando você inclui um arquivo de README no seu diretório raiz, o GitHub irá automaticamente renderizá-lo na página inicial do projeto.
### Escrevendo suas diretrizes de contribuição
Um arquivo CONTRIBUTING diz a sua audiência como participar no seu projeto. Por exemplo, você pode incluir informações sobre:
* Como criar um relatório de bug (tente usar um [template de issue ou pull request](https://github.com/blog/2111-issue-and-pull-request-templates))
* Como sugerir uma nova feature
* Como configurar o seu ambiente e rodar testes
Além dos detalhes técnicos, um arquivo CONTRIBUTING é uma oportunidade de comunicar suas expectativas para contribuições, como:
* Os tipos de contribuições que você está procurando
* Seu roadmap ou visão para o projeto
* Como contribuidores devem (ou não devem) entrar em contato com você
Usar um tom acolhedor, amigável e oferecer sugestões específicas para contribuições (como escrever uma documentação, ou fazer um website) pode fazer uma grande diferença em fazer com que novos contribuidores se sintam bem vindos e felizes em participar.
Por exemplo, o [Active Admin](https://github.com/activeadmin/activeadmin/) começa [seu guia de contribuição](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) com:
> Primeiramente, obrigado por considerar contribuir para o Active Admin. São pessoas como você que fazem o Active Admin esta grande ferramenta.
Nos primeiros estágios do seu projeto, seu arquivo de CONTRIBUTING pode ser simples. Você deve sempre explicar como relatar bugs ou registrar issues, e qualquer requisito técnico (como testes) necessário para se fazer uma contribuição.
Ao longo do tempo, você pode adicionar outras questões frequentemente respondidas ao seu arquivo CONTRIBUTING. Escrever essas informações significa que menos pessoas te farão as mesmas perguntas repetidas vezes.
Para mais ajuda em como escrever seu arquivo CONTRIBUTING, dê uma olhada no [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) de @nayafia ou o ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/) do @mozilla.
Crie um link para seu arquivo CONTRIBUTING a partir do seu README, de modo que mais pessoas possam vê-lo. Se você [colocar seu arquivo CONTRIBUTING no repositório do seu projeto](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), o GitHub irá automaticamente "linkar" para o seu arquivo quando um contribuidor criar uma issue ou abrir um pull request.

### Estabelecendo um código de conduta
Finalmente, um código de conduta ajuda a criar regras básicas de comportamento para os participantes do seu projeto. Isso possui um valor especial se você está lançando um projeto open source para a comunidade ou alguma empresa. Um código de conduta te dá o poder de facilitar um comportamento saudável e construtivo da comunidade, o que irá reduzir seu estresse como mantenedor.
Para mais informações, dê uma olhada no nosso [guia do Código de Conduta](../code-of-conduct/).
Além de comunicar _como_ você espera que os participantes se comportem, um código de conduta também tende a descrever a quem essas expectativas se aplicam, quando se aplicam e o que fazer se uma violação ocorrer.
De modo muito parecido com licenças open source, também há padrões emergentes para códigos de conduta, de modo que você não precisa escrever o seu. O [Contributor Covenant](https://contributor-covenant.org/) é um código de conduta "pronto para o uso" que é usado por [mais de 40,000 projetos open source](https://www.contributor-covenant.org/adopters), incluindo Kubernetes, Rails, e Swift. Não importa que texto você utilize, você deve estar sempre preparado para impor o seu código de conduta quando necessário.
Cole o texto diretamente em um arquivo CODE_OF_CONDUCT no seu repositório. Mantenha o arquivo no diretório raiz do seu projeto, de modo que ele seja fácil de ser encontrado, e crie um link para ele a partir do seu README.
## Nomeando e criando uma marca para o seu projeto
Uma marca é mais do que uma logo chamativa ou um nome atraente. É sobre como você fala sobre o seu projeto, e quem você atinge com sua mensagem.
### Escolhendo o nome certo
Escolha um nome que é fácil de lembrar e, idealmente, dê alguma ideia sobre o que o projeto faz. Por exemplo:
* [Sentry](https://github.com/getsentry/sentry) monitora aplicações para criar relatórios de falha
* [Thin](https://github.com/macournoyer/thin) é um servidor web Ruby rápido e simples
Se você está construindo algo sobre um projeto existente, usar o nome deles como prefixo pode ajudar a esclarecer o que o seu projeto faz (por exemplo, [node-fetch](https://github.com/bitinn/node-fetch) traz o `window.fetch` para o Node.js).
Considere clareza acima de tudo. Trocadilhos são engraçados, mas lembre-se de que algumas piadas podem não possuir tradução para outras culturas ou pessoas com experiências diferentes das suas. Alguns dos seus potenciais usuários podem ser funcionários de alguma empresa: você não quer fazê-los sentirem-se desconfortáveis ao explicar o seu projeto no trabalho!
### Evitando conflitos de nomes
[Procure projetos open source com um nome similar](http://ivantomic.com/projects/ospnc/), especialmente se você compartilha a mesma linguagem ou ecossistema. Se seu nome se sobrepõe ao de um projeto popular existente, você pode confundir sua audiência.
Se você quer um website, Twitter handle, ou outras propriedades para representar o seu projeto, assegure-se de que você pode ter os nomes que procura. Idealmente, [reserve tais nomes agora](https://instantdomainsearch.com/) para paz mental, mesmo que você não planeje utilizá-los no momento.
Assegure-se de que o nome do seu projeto não infringe nenhuma marca registrada. Uma empresa pode pedir que você derrube seu projeto no futuro, ou até mesmo tomar alguma ação legal contra você. Simplesmente não vale o risco.
Você pode conferir o [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) por conflitos com marcas registradas. Se você está em uma empresa, essa é uma das coisas em que [o seu time legal pode ajudá-lo](../legal/).
Finalmente, realize uma busca rápida no Google pelo nome do seu projeto. As pessoas encontrarão o seu projeto com facilidade? Há algo que aparece nos resultados de busca que você não gostaria que eles vissem?
### Como você escreve (e "coda") afeta sua marca, também!
Ao longo da vida do seu projeto, você escreverá bastante: READMEs, tutoriais, documentos da comunidade, responder a issues, talvez até mesmo newsletters e listas de email.
Quer seja documentação oficial ou um email casual, seu estilo de escrita é parte da marca do seu projeto. Considere como você se portará diante de sua audiência e se esse é o tom que você deseja transmitir.
Utilizar uma linguagem acolhedora e inclusiva (como "eles", mesmo quando se referindo a uma única pessoa) pode fazer uma grande diferença em fazer com que seu projeto seja acolhedor para novos contribuidores. Permaneça com uma linguagem simples, já que muitos dos seus leitores podem não ser falantes nativos de inglês.
Muito além de como você escreve palavras, seu estilo de código também pode se tornar parte da marca do seu projeto. [Angular](https://github.com/johnpapa/angular-styleguide) e [jQuery](https://contribute.jquery.org/style-guide/js/) são dois exemplos de projetos com estilos de códificação e guidelines rigorozas.
Não é necessário escrever um guia de estilo para o seu projeto quando você está apenas começando, e você pode descobrir que você gosta de incorporar diferentes estilos de codificação no seu projeto, de qualquer forma. Porém você deve antecipar como seu estilo de escrita e codificação pode atrair ou desencorajar diferentes tipos de pessoas. Os estágios mais iniciais do seu projeto são sua oportunidade de definir o precedente que você deseja ver.
## Seu checklist pré-lançamento
Pronto para tornar o seu projeto open source? Aqui está uma checklist para ajudar. Marcou todas as caixas? Você está pronto! [Clique em "publish"](https://help.github.com/articles/making-a-private-repository-public/) e dê um tapinha em suas costas.
**Documentação**
**Code**
**Pessoas**
Se você é um indivíduo:
Se você está em uma empresa ou organização:
## Você conseguiu!
Parabéns em tornar seu primeiro projeto open source. Não importa o resultado, trabalhar em público é um presente para a comunidade. Com cada commit, comentário, e pull request, você está criando oportunidades para você e para os outros de aprender e crescer.
================================================
FILE: _articles/ro/best-practices.md
================================================
---
lang: ro
title: Cele mai bune practici pentru întreținători
description: Ușurarea vieții tale în calitate de întreținător open source, de la documentarea proceselor la mobilizarea comunității
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Ce înseamnă să fii un întreținător?
Dacă întreții un proiect cu sursă deschisă pe care mulți oameni îl folosesc, poate ai observat că programezi mai puțin și răspunzi la probleme mai mult.
În primele etape ale unui proiect, experimentezi cu idei noi și decizi bazat pe ce vrei tu. Pe măsură ce proiectul crește în popularitate, te vei afla lucrând cu utilizatorii și contributorii tăi mai mult.
Întreținerea unui proiect necesită mai mult decât cod. Aceste sarcini sunt deseori neașteptate, dar ele sunt exact la fel de importante pentru un proiect în creștere. Am adunat câteva metode pentru a-ți ușura viața, de la documentarea proceselor la mobilizarea comunității tale.
## Documentarea proceselor tale
Notarea lucrurilor este unul dintre cele mai importante lucruri pe care le poți face în calitate de întreținător.
Documentația nu doar clarifică propria ta gândire, ci și ajută alți oameni să înțeleagă de ce ai nevoie sau ce aștepți, chiar înainte ca ei să întrebe.
Notând lucruri face mai ușor să spui „nu” când ceva nu se încadrează în domeniul tău. De asemenea face mai ușor pentru oameni să pășească înăuntru și să ajute. Nu știi niciodată cine ar putea citi sau folosi proiectul tău.
Chiar dacă nu folosești paragrafe complete, notarea bulinelor este mai bună decât să nu scrii nimic.
Ține minte să-ți păstrezi documentația actualizată. Dacă nu ești capabil să faci asta mereu, șterge documentația ta expirată sau indică faptul că este expirată astfel încât contributorii să știe că actualizările sunt binevenite.
### Notează viziunea proiectului tău
Începe prin a scrie scopurile proiectului tău. Adaugă-le la README-ul tău, sau creează un fișier separat numit VISION. Dacă există alte artefacte care ar putea ajuta, cum ar fi o foaie de parcurs a proiectului, fă-le publice și pe acestea.
A avea o viziune clară, documentată te ține concentrat și te ajută să eviți „deriva obiectivelor” din cauza contribuțiilor altora.
De exemplu, @lord a descoperit că având o viziune a proiectului l-a ajutat să-și dea seama pe care cereri să-și petreacă timpul. În calitate de nou întreținător, el a regretat că nu s-a lipit de scopul proiectului lui când a primit prima lui cerere de facilitate pentru [Slate](https://github.com/lord/slate).
### Comunică-ți așteptările
Regulile pot fi enervante când le scrii. Câteodată te-ai putea simți ca și cum faci politică pentru comportamentul altor oameni sau distrugi toată distracția.
Scrise și impuse corect, totuși, regulile bune împuternicesc întreținătorii. Ele te previn din a fi târât în a face lucruri pe care nu vrei să le faci.
Cei mai mulți oameni care ajung la proiectul tău nu știu nimic despre tine sau despre circumstanțele tale. Ei pot presupune că ești plătit să lucrezi pe el, în special dacă este ceva pe care ei îl folosesc în mod obișnuit și de care depind. Poate într-un punct tu depui mult timp în proiectul tău, dar acum ești ocupat cu un nou loc de muncă sau membru de familie.
Toate acestea sunt perfect OK! Doar asigură-te că ceilalți știu despre acestea.
Dacă întreținerea proiectului tău este part-time sau pur voluntară, fii sincer în legătură cu cât de mult timp ai. Acesta nu este același cu cât timp crezi tu că proiectul necesită, sau cât timp alții vor să cheltui tu.
Iată câteva reguli care merită notate:
* Cum o contribuție este analizată și acceptată (_Au nevoie de teste? Un șablon pentru probleme?_)
* Tipurile de contribuții pe care le vei accepta (_Vrei ajutor doar la o anumită parte a codului tău?_)
* Când este potrivit să răspundă (_de exemplu, „Puteți aștepta un răspuns de la un întreținător în 7 zile. Dacă nu ați auzit nimic până atunci, simțiți-vă liberi să bâzâiți firul de discuție.”_)
* Cât de mult timp cheltui pe proiect (_de exemplu, „Cheltuim doar aproximativ 5 ore pe săptămână pe acest proiect”_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), și [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) sunt câteva exemple de proiecte cu reguli de bază pentru întreținători și contributori.
### Păstrează comunicarea publică
Nu uita să documentezi interacțiunile tale, de asemenea. Oriunde poți, păstrează comunicarea despre proiectul tău publică. Dacă cineva încearcă să te contacteze în privat să discutați despre o cerere de facilitate sau o nevoie de asistență, direcționează-l politicos către un canal de comunicare public, cum ar fi o listă de email-uri sau un urmăritor de probleme.
Dacă te întâlnești cu alți întreținători, sau faci o decizie majoră în privat, documentează aceste conversații în public, chiar dacă înseamnă doar postarea notițelor tale.
În acest mod, oricine se alătură comunității tale va avea acces la aceleași informații ca cineva care a fost acolo de ani de zile.
## Învățând să spui „nu”
Ai notat lucruri. În mod normal, toată lumea ți-ar citi documentația, dar în realitate, va trebui să reamintești celorlalți că aceste cunoștințe există.
Având totul scris, totuși, ajută la depersonalizarea situațiilor când trebuie să-ți impui regulile.
A spune „nu” nu este distractiv, dar _„Contribuția ta nu se potrivește cu criteriile acestui proiect”_ se simte mai puțin personal decât _„Nu-mi place contribuția ta”_.
A spune „nu” se aplică la multe situații peste care vei da în calitate de întreținător: cereri de facilități care nu se încadrează în domeniu, cineva care deraiază o discuție, făcând muncă nefolositoare pentru alții.
### Păstrează conversația prietenoasă
Unul dintre cele mai importante locuri unde vei practica spunerea de nu este asupra cozii tale de probleme și cereri de pull. În calitate de întreținător de proiect, vei primi inevitabil sugestii pe care nu dorești să le accepți.
Poate contribuția schimbă domeniul proiectului tău sau nu se potrivește cu viziunea ta. Poate ideea este bună, dar implementarea este slabă.
Indiferent de motiv, este posibil să gestionezi cu mult tact contribuțiile care nu se ridică la standardele proiectului tău.
Dacă primești o contribuție pe care nu vrei să o accepți, prima ta reacție ar putea fi să o ignori sau să pretinzi că nu ai văzut-o. Făcând astfel ar putea răni sentimentele celeilalte persoane și chiar să demotiveze alți potențiali contributori din comunitatea ta.
Nu lăsa o contribuție nedorită deschisă pentru că te simți vinovat sau dorești să fii drăguț. În timp, problemele la care nu s-a răspuns și PR-urile vor face lucrul pe proiectul tău să se simtă cu foarte mult mai stresant și mai intimidant.
Este mai bine să închizi imediat contribuțiile pe care știi că nu vrei să le accepți. Dacă proiectul tău suferă deja de restanțe mari, @steveklabnik are sugestii pentru [cum să triezi problemele eficient](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
În al doilea rând, ignorarea contribuțiilor trimite un semnal negativ către comunitatea ta. A contribui la un proiect poate fi intimidant, în special pentru prima dată. Chiar dacă nu accepți contribuția, consideră persoana din spatele ei și mulțumește-i pentru interes. Este un mare compliment!
Dacă nu dorești să accepți o contribuție:
* **Mulțumește-i** pentru contribuția ei
* **Explică de ce nu se încadrează** în domeniul proiectului, și oferă sugestii clare de îmbunătățire, dacă poți. Fii bun, dar ferm.
* **Leagă către documentația relevantă**, dacă o ai. Dacă observi cereri repetate de lucruri pe care nu vrei să le accepți, adaugă-le în documentația ta pentru a evita să te repeți.
* **Închide cererea**
Nu ar trebui să ai nevoie de mai mult de 1-2 enunțuri pentru a răspunde. De exemplu, când un utilizator al [celery](https://github.com/celery/celery/) a raportat o eroare legată de Windows, @berkerpeksag [a răspuns cu](https://github.com/celery/celery/issues/3383):

Dacă gândul de a spune „nu” te îngrozește, nu ești singur. După cum @jessfraz [a spus](https://blog.jessfraz.com/post/the-art-of-closing/):
> Am discutat cu întreținători din câteva proiecte diferite cu sursă deschisă, Mesos, Kubernetes, Chromium, și ei toți cad de acord că una dintre cele mai grele părți de a fi un întreținător este să spui „Nu” la patch-uri pe care nu le vrei.
>
> I've talked to maintainers from several different open source projects, Mesos, Kubernetes, Chromium, and they all agree one of the hardest parts of being a maintainer is saying "No" to patches you don't want.
Nu te simți vinovat în legătură cu a nu vrea să accepți contribuția cuiva. Prima regulă a open source, [după](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"Nu este temporar, da este pentru totdeauna.”_ În timp ce a empatiza cu entuziasmul altei persoane este un lucru bun, a respinge o contribuție nu este același lucru cu a respinge persoana din spatele ei.
În cele din urmă, dacă o contribuție nu este destul de bună, nu ai nicio obligație să o accepți. Fii amabil și sensibil când oameni contribuie la proiectul tău, dar acceptă doar schimbări despre care chiar crezi că vor face proiectul tău mai bun. Cu cât mai des practici a spune „nu”, cu atât devine mai ușor. Promit.
### Fii proactiv
Pentru a reduce în primul rând volumul de contribuții nedorite, explică procesul proiectului tău pentru trimiterea și acceptarea contribuțiilor în ghidul tău de contribuire.
Dacă tu primești prea multe contribuții de calitate slabă, cere contributorilor să facă puțină muncă înainte, de exemplu:
* Completează un șablon sau o listă de verificare, la o problemă sau un PR
* Deschide o problemă înainte de a trimite un PR
Dacă ei nu îți urmează regulile, închide problema imediat și fă trimitere către documentația ta.
În timp ce această abordare se poate simți necuviincioasă la început, fiind proactiv este de fapt bine pentru ambele părți. Aceasta reduce șansele ca cineva să pună multe ore pierdute de muncă într-o cerere de pull pe care nu o vei accepta. Și îți face volumul de muncă mai ușor de gestionat.
Uneori, când spui „nu”, contributorul tău potențial ar putea să se supere sau să-ți critice decizia. Dacă comportamentul lui devine ostil, [ia măsuri să dezamorsezi situația](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) sau chiar să-l înlături din comunitatea ta, dacă nu dorește să colaboreze constructiv.
### Îmbrățișează mentoratul
Poate cineva din comunitatea ta trimite în mod regulat contribuții care nu respectă standardele proiectului tău. Poate fi frustrant pentru ambele părți să treacă în mod repetat prin respingeri.
Dacă vezi că cineva este entuziast în legătură cu proiectul tău, dar are nevoie de un pic de finisare, fii răbdător. Explică în mod clar în fiecare situație de ce contribuția lui nu respectă așteptările proiectului. Încearcă să-l trimiți la o sarcină mai ușoară sau mai puțin ambiguă, cum ar fi o problemă marcată _„good first issue,”_ pentru a-l obișnui cu situații noi. Dacă ai timp, consideră să-l mentorezi prin prima lor contribuție, sau găsește pe altcineva din comunitatea ta care ar putea fi doritor să-l mentoreze.
## Mobilizarea comunității tale
Nu trebuie să faci totul de unul singur. Comunitatea proiectului tău există cu un motiv! Chiar dacă nu ai încă o comunitate activă de contributori, dacă ai mulți utilizatori, pune-i la muncă.
### Împarte volumul de muncă
Dacă ești în căutarea altora să pășească înăuntru, începe prin a întreba prin jur.
Când vezi contributori noi făcând contribuții repetate, recunoaște munca lor oferind mai multă responsabilitate. Documentează cum pot alții crește în roluri de conducere dacă doresc.
Încurajându-i pe alții să [împartă proprietatea proiectului](../building-community/#împarte-proprietatea-proiectului-tău) poate reduce foarte mult propriul tău volum de muncă, după cum @lmccart a descoperit pe proiectul ei, [p5.js](https://github.com/processing/p5.js).
Dacă trebuie să renunți la proiectul tău, fie ca pauză sau permanent, nu este nicio rușine în a cere altcuiva să-l preia pentru tine.
Dacă alți oameni sunt entuziaști în legătură cu direcția lui, dă-le permisiunea de a face commit sau predă controlul în mod formal altcuiva. Dacă cineva a bifurcat proiectul tău și îl menține activ altundeva, consideră legarea către copie din proiectul tău original. Este minunat că atât de mulți oameni vor ca proiectul tău să trăiască!
@progrium [a găsit că](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) documentarea viziunii pentru proiectul său, [Dokku](https://github.com/dokku/dokku), a ajutat aceste scopuri să trăiască mai departe chiar și după ce el a ieșit din proiect:
> Am scris o pagină de wiki descriind ce îmi doream și de ce îmi doream acele lucruri. Din anumite motive a venit ca o surpriză că întreținătorii au început să miște proiectul în acea direcție! S-a întâmplat exact cum aș fi făcut-o eu? Nu întotdeauna. Dar totuși a adus proiectul mai aproape de ceea ce scrisesem.
>
> I wrote a wiki page describing what I wanted and why I wanted it. For some reason it came as a surprise to me that the maintainers started moving the project in that direction! Did it happen exactly how I'd do it? Not always. But it still brought the project closer to what I wrote down.
### Lasă-i pe ceilalți să construiască soluțiile de care au nevoie
Dacă un contributor potențial are o părere diferită despre ce ar trebui să facă proiectul tău, poate ai vrea să îl încurajezi cu blândețe să lucreze pe propria lui copie.
Copierea proiectului nu trebuie să fie un lucru rău. Fiind capabil să copiezi și să modifici proiectele este unul dintre cele mai bune lucruri despre open source. Încurajând membrii comunității tale să lucreze pe propria lor copie poate furniza ieșirea creativă de care ei au nevoie, fără să intre în conflict cu viziunea proiectului tău.
Același lucru se aplică unui utilizator care chiar dorește o soluție pentru care pur și simplu nu ai lățimea de bandă să o construiești. A oferi API-uri și cârlige de personalizare poate să-i ajute pe alții să-și satisfacă nevoile lor, fără să trebuiască să modifice sursa direct. @orta [a găsit că](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) încurajarea plugin-urilor pentru CocoaPods a dus la „unele dintre cele mai interesante idei":
> Este aproape inevitabil ca odată ce un proiect devine mare, întreținătorii să trebuiască să devină tot mai conservatori în legătură cu felul în care ei introduc cod nou. Devii bun la a spune „nu”, dar o mulțime de oameni au nevoi legitime. Astfel, în schimb sfârșești prin a-ți transforma unealta într-o platformă.
>
> It's almost inevitable that once a project becomes big, maintainers have to become a lot more conservative about how they introduce new code. You become good at saying "no", but a lot of people have legitimate needs. So, instead you end up converting your tool into a platform.
## Cheamă roboții
Exact cum există sarcini cu care alți oameni te pot ajuta, există de asemenea sarcini pe care niciun om nu ar trebui să le îndeplinească vreodată. Roboții sunt prietenii tăi. Folosește-i pentru a-ți face viața în calitate de întreținător mai ușoară.
### Cere teste și alte verificări pentru a îmbunătăți calitatea codului tău
Una dintre cele mai importante căi prin care poți să-ți automatizezi proiectul este adăugarea de teste.
Testele îi fac pe contributori să se simtă încrezători că ei nu strică nimic. Ele de asemenea îți ușurează analizarea și acceptarea rapidă a contribuțiilor. Cu cât ești mai receptiv, cu atât comunitatea ta poate fi mai angajată.
Configurează teste automate care vor rula pe toate contribuțiile ce vin, și asigură-te că testele pot fi ușor rulate local de contributori. Cere ca toate contribuțiile să treacă testele tale înainte de a putea fi trimise. Vei ajuta la stabilirea unui standard minim de calitate pentru toate trimiterile. [Cererile de verificare de stare](https://help.github.com/articles/about-required-status-checks/) pe GitHub pot asigura că nicio schimbare nu este îmbinată fără să treacă testele tale.
Dacă adaugi teste, asigură-te că explici cum funcționează în fișierul tău CONTRIBUTING.
### Folosește unelte pentru a automatiza sarcini de bază de întreținere
Vestea bună despre menținerea unui proiect popular este că alți întreținători probabil au întâmpinat probleme asemănatoare și au construit o soluție pentru ele.
Există o [varietate de unelte disponibile](https://github.com/showcases/tools-for-open-source) pentru a ajuta la automatizarea unor aspecte ale muncii de întreținere. Câteva exemple:
* [semantic-release](https://github.com/semantic-release/semantic-release) automatizează lansările tale
* [mention-bot](https://github.com/facebook/mention-bot) menționează examinatori potențiali pentru cererile de pull
* [Danger](https://github.com/danger/danger) ajută la automatizarea examinării codului
Pentru rapoartele de bug-uri și alte contribuții obișnuite, GitHub are [Șabloane de probleme și șabloane de cereri de pull](https://github.com/blog/2111-issue-and-pull-request-templates), pe care le poți crea pentru a simplifica informațiile pe care le primești. @TalAter a făcut un [ghid Alege-ți propria aventură](https://www.talater.com/open-source-templates/#/) pentru a te ajuta să-ți scrii șabloanele de probleme și de PR-uri.
Pentru a gestiona notificările tale prin email, poți seta [filtre de email](https://github.com/blog/2203-email-updates-about-your-own-activity) pentru a organiza după prioritate.
Dacă vrei să devii puțin mai avansat, ghidurile de stil și linteri pot standardiza contribuțiile proiectului și să le facă mai ușor de examinat și acceptat.
Totuși, dacă standardele sunt prea complicate, ele pot crește barierele în calea contribuției. Asigură-te că adaugi doar destule reguli încât să faci viețile tuturor mai ușoare.
Dacă nu ești sigur ce unelte să folosești, privește la ce fac alte proiecte populare, în special cele din ecosistemul tău. De exemplu, cum arată procesul de contribuție pentru alte module Node? Folosind unelte și abordări asemănătoare va face procesul tău mai familiar pentru contributorii tăi țintă.
## Este OK să apeși pauză
Munca pe sursă deschisă ți-a adus odată bucurie. Poate acum începe să te facă să te simți evitant sau vinovat.
Poate te simți copleșit sau simți un sentiment în creștere de groază când te gândești la proiectele tale. Și între timp, problemele și cererile de pull se adună.
Burnout-ul este o problemă reală și universală în munca pe sursă deschisă, în special în rândul întreținătorilor. În calitate de întreținător, fericirea ta este o cerință nenegociabilă pentru supraviețuirea oricărui proiect cu sursă deschisă.
Cu toate că ar trebui să meargă fără să se spună, fă o pauză! Nu ar trebui să aștepți până te simți extenuat pentru a-ți lua o vacanță. @brettcannon, un dezvoltator din inima Python, a decis să-și ia [o vacanță de o lună de zile](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) după 14 ani de muncă voluntară pe OSS.
Exact la fel ca oricare alt fel de muncă, luarea de pauze dese te va păstra revigorat, fericit, și încântat de munca ta.
Câteodată, poate fi greu să faci o pauză de la muncă pe sursă deschisă când simți ca și cum toți au nevoie de tine. Oamenii ar putea chiar să încerce să te facă să te simți vinovat pentru că te retragi.
Fă tot posibilul să găsești asistență pentru utilizatorii și comunitatea ta cât timp ești departe de un proiect. Dacă nu poți obține asistența de care ai nevoie, fă o pauză oricum. Asigură-te să comunici când nu ești disponibil, astfel încât oamenii nu sunt confuzionați de lipsa ta de reacție.
Luarea de pauze se aplică la mai mult decât doar vacanțe, de asemenea. Dacă nu dorești să faci muncă pe sursă deschisă în sfârșiturile de săptămână, sau în timpul orelor de lucru, comunică aceste așteptări celorlalți, astfel încât ei știu să nu te deranjeze.
## Ai grijă de tine mai întâi!
Întreținerea unui proiect popular cere abilități diferite față de stadiile anterioare ale creșterii, dar nu este mai puțin recompensant. În calitate de întreținător, vei practica abilități de conducere și personale la un nivel pe care puțini oameni ajung să-l experimenteze. Cu toate că nu este ușor întotdeauna să gestionezi, stabilirea de limite clare și asumarea doar a lucrurilor cu care te simți confortabil te va ajuta să rămâi fericit, revigorat, și productiv.
================================================
FILE: _articles/ro/building-community.md
================================================
---
lang: ro
title: Clădirea comunităților primitoare
description: Construirea unei comunități care încurajează oamenii să folosească, să contribuie la, și să promoveze proiectul tău
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Configurarea proiectului tău pentru succes
Ți-ai lansat proiectul, răspândești cuvântul, și oamenii îi aruncă priviri. Minunat! Acum, cum îi faci să rămână prin preajmă?
O comunitate primitoare este o investiție în viitorul și reputația proiectului tău. Dacă proiectul tău abia începe să își vadă primele contribuții, începe prin a da contributorilor timpurii o experiență pozitivă, și fă-le ușor să se tot întoarcă.
### Fă oamenii să se simtă bineveniți
Un mod de a te gândi la comunitatea proiectului tău este prin ceea ce @MikeMcQuaid numește [pâlnia contributorilor](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

Pe măsură ce îți construiești comunitatea, consideră cum cineva din partea de sus a pâlniei (un utilizator potențial) ar putea teoretic să își facă un drum către partea din jos (un întreținător activ). Scopul tău este să reduci fricțiunea la fiecare etapă a experienței contributorilor. Când oamenii înving ușor, se vor simți stimulați să facă mai mult.
Începe cu documentația ta:
* **Fă ușor pentru cineva să-ți folosească proiectul.** [Un README prietenos](../starting-a-project/#scrierea-unui-readme) și exemple clare de cod vor face mai ușor pentru oricine care ajunge la proiectul tău să înceapă.
* **Explică clar cum se contribuie**, folosind [fișierul tău CONTRIBUTING](../starting-a-project/#scrierea-direcțiilor-tale-de-contribuție) și păstrându-ți problemele actualizate.
[Sondajul open source 2017 al GitHub](http://opensourcesurvey.org/2017/) a arătat că documentația incompletă sau confuzionantă este cea mai mare problemă pentru utilizatorii de sursă deschisă. Documentația bună invită oamenii să interacționeze cu proiectul tău. În cele din urmă, cineva va deschide o problemă sau o cerere de pull. Folosește aceste interacții ca oportunități de a-i muta în jos pe pâlnie.
* **Când cineva nou ajunge la proiectul tău, mulțumește-i pentru interesul său!** E nevoie de doar o singură experiență negativă pentru a face pe cineva să nu vrea să se întoarcă.
* **Fii receptiv.** Dacă nu răspunzi la problema lui/ei timp de o lună, șansele sunt că a uitat deja de proiectul tău.
* **Deschide-ți mintea în legătură cu tipurile de contribuții pe care le vei accepta.** Mulți contributori încep cu un raport de bug sau o corectare mică. Există [multe căi de a contribui](../how-to-contribute/#ce-înseamnă-să-contribui) la un proiect. Lasă-i pe oameni să ajute cum vor ei să ajute.
* **Dacă există o contribuție cu care nu ești de acord,** mulțumește-i pentru ideea sa și [explică de ce](../best-practices/#învățând-să-spui-nu) nu se încadrează în domeniul proiectului, legând către documentație relevantă dacă ai una.
Majoritatea contributorilor la sursă deschisă sunt „contributori ocazionali”: oameni care contribuie la un proiect doar ocazional. Un contributor ocazional ar putea să nu aibă timp să ajungă la maximă viteză cu proiectul tău, deci sarcina ta este să faci să fie ușor să contribuie.
Încurajarea altor contributori este o investiție în tine însuți, de asemenea. Când împuternicești cei mai mari fani să meargă cu munca de care sunt încântați, este mai puțină presiune să faci totul de unul singur.
### Documentează totul
Când începi un proiect nou, poate să se simtă natural să-ți păstrezi munca privată. Dar proiectele cu sursă deschisă prosperă când tu documentezi procesul tău în public.
Când notezi lucruri, mai mulți oameni pot participa la fiecare pas al drumului. Ai putea primi ajutor la ceva despre care nici nu știai că e necesar.
Scriind lucruri înseamnă mai mult decât doar documentație tehnică. În oricare moment în care simți nevoia de a scrie ceva sau de a discuta în privat proiectul tău, întreabă-te dacă poți să faci acel lucru public.
Fii transparent în legătură cu foaia de parcurs a proiectului tău, tipurile de contribuții pe care le cauți, cum sunt examinate contribuțiile, sau de ce ai făcut anumite decizii.
Dacă observi mai mulți utilizatori care dau peste aceeași problemă, documentează răspunsul în README.
Pentru întâlniri, consideră publicarea notițelor sau a pachetelor tale într-o problemă relevantă. Feedback-ul pe care îl vei primi de la acest nivel de transparență te poate surprinde.
Documentarea a tot se aplică și muncii pe care o faci. Dacă lucrezi pe o actualizare substanțială pentru proiectul tău, pune-o într-o cerere de pull și marcheaz-o ca lucrare în desfășurare (WIP). În acest mod, alți oameni pot să se simtă implicați în proces mai devreme.
### Fii receptiv
Pe măsură ce [îți promovezi proiectul](../finding-users), oamenii vor avea feedback pentru tine. Ei ar putea avea întrebări despre cum merg lucrurile, sau să aibă nevoie de ajutor să înceapă.
Încearcă să fii receptiv când cineva completează o problemă, trimite o cerere de pull, sau pune o întrebare despre proiectul tău. Când răspunzi repede, oamenii vor simți că sunt o parte din dialog, și ei vor fi mai entuziaști în legătură cu participarea.
Chiar dacă nu poți examina cererea imediat, recunoașterea ei devreme ajută mărirea implicării. Iată cum @tdreyno a răspuns unei cereri de pull pentru [Middleman](https://github.com/middleman/middleman/pull/1466):

[Un studiu Mozilla a găsit că](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) contributorii care au primit examinări de cod în 48 de ore au avut o rată de întoarcere și de contribuire repetată mult mai mare.
Conversațiile despre proiectul tău ar putea de asemenea să aibă loc în alte locuri de pe Internet, cum ar fi Stack Overflow, Twitter, sau Reddit. Poți configura notificări în unele din aceste locuri astfel încât ești alertat când cineva îți menționează proiectul.
### Dă comunității tale un loc de adunare
Există două motive pentru care să dai comunității tale un loc de adunare.
Primul motiv este pentru ei. Ajută oamenii să se cunoască între ei. Oamenii cu interese comune vor dori în mod inevitabil un loc unde să vorbească despre acestea. Și când comunicarea este publică și accesibilă, oricine poate citi arhivele trecutului pentru a ajunge la viteză și a participa.
Al doilea motiv este pentru tine. Dacă nu dai oamenilor un loc public pentru a vorbi despre proiectul tău, ei probabil te vor contacta direct. La început, ar putea părea destul de ușor să răspunzi la mesaje private „doar de data asta”. Dar cu timpul, în special dacă proiectul tău devine mai popular, te vei simți epuizat. Rezistă tentației de a comunica cu oameni despre proiectul tău în privat. În schimb, direcționează-i către un canal public desemnat.
Comunicarea publică poate fi atât de ușoară ca direcționarea oamenilor către deschiderea unei probleme în schimbul trimiterii de email direct ție sau comentarea pe blogul tău. Ai putea de asemenea configura o listă de email-uri, sau crea un cont Twitter, Slack, sau un canal IRC pentru oameni să vorbească despre proiectul tău. Sau încearcă-le pe toate de mai sus!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) pune deoparte ore de birou din 2 în 2 săptămâni pentru a ajuta membrii comunității:
> Kops de asemenea are timp pus deoparte din 2 în 2 săptămâni pentru a oferi ajutor și îndrumare comunitații. Întreținătorii Kops au căzut de acord să pună timp deoparte specific dedicat lucrului cu nou-veniții, ajutării cu PR-urile, și discutării de noi facilități.
>
> Kops also has time set aside every other week to offer help and guidance to the community. Kops maintainers have agreed to set aside time specifically dedicated to working with newcomers, helping with PRs, and discussing new features.
Excepții notabile pentru comunicarea publică sunt: 1) probleme de securitate și 2) încălcări sensibile ale codului de conduită. Ar trebui să ai întotdeauna o cale pentru oameni să raporteze aceste probleme în mod privat. Dacă nu dorești să folosești adresa ta de email personală, configurează o adresă de email dedicată.
## Dezvoltarea comunității tale
Comunitățile sunt extrem de puternice. Acea putere poate fi o binecuvântare sau un blestem, depinzând de cum o mânuiești. Pe măsură ce comunitatea proiectului tău crește, există moduri de a o ajuta să devină o forță a construirii, nu a distrugerii.
### Nu tolera actori răi
Oricare proiect popular va atrage inevitabil oameni care rănesc, în loc de a ajuta, comunitatea ta. Ei ar putea începe dezbateri inutile, să se certe asupra unor facilități triviale, sau să hărțuiască pe alții.
Fă tot ce poți pentru a adopta o politică de toleranță zero față de aceste tipuri de oameni. Dacă rămân neverificați, oamenii negativi vor face alți oameni în comunitatea ta incomozi. Ei ar putea chiar să plece.
Dezbateri obișnuite asupra unor aspecte triviale ale proiectului tău îi distrag pe alții, inclusiv pe tine, de la concentrarea pe sarcinile importante. Noi oameni care ajung la proiectul tău ar putea vedea aceste conversații și să nu dorească să participe.
Când vezi comportament negativ întâmplându-se pe proiectul tău, numește-l în public. Explică, cu un ton bun dar ferm, de ce comportamentul lor nu este acceptabil. Dacă problema persistă, ar putea fi nevoie să [le ceri să plece](../code-of-conduct/#impunerea-codului-tău-de-conduită). [Codul tău de conduită](../code-of-conduct/) poate fi un ghid constructiv pentru aceste conversații.
### Întâlnește-i pe contributori unde lucrează
Documentația bună devine doar mai importantă pe măsură ce comunitatea ta crește. Contributorii ocazionali, care ar putea să nu fie în caz contrar familiari cu proiectul tău, citesc documentația ta pentru a primi rapid contextul de care au nevoie.
În fișierul tău CONTRIBUTING, spune-le în mod explicit contributorilor noi cum să înceapă. Ai putea chiar să vrei să faci o secțiune dedicată cu acest scop. [Django](https://github.com/django/django), de exemplu, are o pagină specială de destinație pentru primirea noilor contributori.

În coada ta de probleme, etichetează bug-urile care sunt potrivite pentru diferite tipuri de contributori: de exemplu, [_"first timers only"_](https://kentcdodds.com/blog/first-timers-only), _"good first issue"_, sau _"documentation"_. [Aceste etichete](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) fac ușor pentru un nou-venit la proiectul tău să scaneze rapid problemele tale și să înceapă.
În cele din urmă, folosește-ți documentația pentru a-i face pe oameni să se simtă bineveniți la fiecare pas pe drum.
Nu vei interacționa niciodată cu marea majoritate a oamenilor care ajung la proiectul tău. Ar putea fi contribuții pe care nu le-ai primit deoarece cineva s-a simțit intimidat sau nu a știut de unde să înceapă. Chiar câteva cuvinte puține pot ține un om să nu părăsească frustrat proiectul tău.
De exemplu, iată cum [Rubinius](https://github.com/rubinius/rubinius/) începe [ghidul său de contribuire](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Vrem să începem prin a vă mulțumi că folosiți Rubinius. Acest proiect este o muncă a iubirii, și apreciem toți utilizatorii care descoperă bug-uri, fac îmbunătățiri de performanță, și ajută cu documentația. Orice contribuție este semnificativă, deci vă mulțumim pentru participare. Acestea fiind spuse, iată câteva instrucțiuni pe care vă cerem să le urmați pentru ca să vă abordăm cu succes problema.
>
> We want to start off by saying thank you for using Rubinius. This project is a labor of love, and we appreciate all of the users that catch bugs, make performance improvements, and help with documentation. Every contribution is meaningful, so thank you for participating. That being said, here are a few guidelines that we ask you to follow so we can successfully address your issue.
### Împarte proprietatea proiectului tău
Oamenii sunt stârniți să contribuie la proiecte când au un sens al proprietății. Aceasta nu înseamnă că trebuie să întorci viziunea proiectului tău sau să accepți contribuții pe care nu le vrei. Dar cu cât dai mai mult credit altora, cu atât vor sta prin preajmă mai mult.
Vezi dacă poți găsi moduri de a împărți proprietatea cu comunitatea ta cât de mult poți. Iată câteva idei:
* **Rezistă la rezolvarea bug-urilor ușoare (non-critice).** În schimb, folosește-le ca oportunități pentru a recruta noi contributori, sau mentorează pe cineva care ar dori să contribuie. I-ar putea părea nenatural la început, dar investiția ta va plăti în timp. De exemplu, @michaeljoseph a cerut unui contributor să trimită o cerere de pull la o problemă a [Cookiecutter](https://github.com/audreyr/cookiecutter) de mai jos, în loc să o rezolve el însuși.

* **Începe un fișier CONTRIBUTORS sau AUTHORS în proiectul tău** care listează pe toți cei care au contribuit la proiectul tău, la fel cum face [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* Dacă ai o comunitate considerabilă, **trimite un buletin informativ sau scrie o postare de blog** mulțumind contributorilor. [This Week in Rust](https://this-week-in-rust.org/) al Rust și [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) al Hoodie sunt două exemple bune.
* **Dă tuturor contributorilor accesul pentru a face commit-uri** @felixge a găsit că aceasta a făcut oamenii [mai încântați să-și finiseze patch-urile](https://felixge.de/2013/03/11/the-pull-request-hack.html), și el chiar a găsit noi întreținători pentru proiecte la care n-a lucrat de ceva timp.
* Dacă proiectul tău este pe GitHub, **mută-ți proiectul din contul tău personal într-o [Organizație](https://help.github.com/articles/creating-a-new-organization-account/)** și adaugă cel puțin un administrator de rezervă. Organizațiile fac mai ușor să lucrezi pe proiecte cu colaboratori externi.
Realitatea este că [cele mai multe proiecte au doar](https://peerj.com/preprints/1233/) unul sau doi întreținători care fac cea mai multă muncă. Cu cât mai mare este proiectul tău, și mai mare comunitatea ta, cu atât mai ușor este să găsești ajutor.
În timp ce poate tu nu găsești întotdeauna pe cineva să răspundă la apel, punând un semnal acolo crește șansele ca alți oameni să intre pe teren. Și cu cât începi mai devreme, cu atât mai devreme oamenii pot ajuta.
## Rezolvarea conflictelor
În stadiile de început ale proiectului tău, a face decizii majore este ușor. Când vrei să faci ceva, pur și simplu faci.
Pe măsură ce proiectul tău devine mai popular, mai mulți oameni se vor interesa de deciziile pe care le faci. Chiar dacă nu ai o comunitate mare de contributori, dacă proiectul tău are mulți utilizatori, vei găsi oameni cântărind deciziile sau ridicând probleme pe cont propriu.
În cea mai mare parte, dacă ai cultivat o comunitate prietenoasă și respectuoasă și ai documentat procesele tale în mod deschis, comunitatea ta ar trebui să poată să găsească soluționare. Dar câteodată dai peste o problemă care este puțin mai greu de abordat.
### Stabilește standardul pentru bunătate
Când comunitatea ta se luptă cu o problemă dificilă, mânia poate crește. Oamenii pot deveni nervoși sau frustrați și pot să arunce asupra altora, sau asupra ta.
Slujba ta în calitate de întreținător este să ferești aceste situații de la escaladare. Chiar dacă ai o părere solidă cu privire la subiect, încearcă să iei poziția de moderator sau facilitator, în loc să sari în luptă și să-ți împingi părerile. Dacă cineva este aspru sau monopolizează conversația, [acționează imediat](../building-community/#nu-tolera-actori-răi) pentru a menține discuțiile politicoase și productive.
Alți oameni vă caută pentru îndrumare. Stabilește un exemplu bun. Încă poți exprima dezamăgire, nefericire, sau îngrijorare, dar fă aceasta cu calm.
A-ți păstra calmul nu este ușor, dar conducerea demonstrată îmbunătățește sănătatea comunității tale. Internetul îți mulțumește.
### Tratează-ți README-ul ca pe o constituție
README-ul tău este [mai mult decât doar o mulțime de instrucțiuni](../starting-a-project/#scrierea-unui-readme). Este de asemenea un loc pentru a vorbi despre scopurile tale, viziunea produsului, și foaia de parcurs. Dacă oamenii sunt prea concentrați pe a dezbate meritul unei anumite facilități, poate ajuta să-ți revizuiești README-ul și să vorbești despre viziunea superioară a proiectului tău. Concentrarea pe README-ul tău de asemenea depersonalizează conversația, astfel încât puteți avea o discuție constructivă.
### Concentrează-te pe călătorie, nu pe destinație
Unele proiecte folosesc un proces de votare pentru a face decizii majore. În timp ce e sensibilă la prima privire, votarea accentuează mai degrabă ajungerea la un „răspuns,” în loc de a asculta și a aborda fiecare îngrijorările celuilalt.
Votarea poate deveni politică, situație în care membrii comunității se simt presați să facă favoruri unul celuilalt sau să voteze într-un anumit mod. Și nu toți votează, fie că este [majoritatea tăcută](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) din comunitatea ta, fie utilizatorii curenți care nu știau că un vot avea loc.
Uneori, votarea este o departajare necesară. Totuși, cât de mult poți, accentuează mai degrabă [„căutarea de consens”](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) în locul unui consens.
În cadrul unui proces de căutare a consensului, membrii comunității discută îngrijorările majore până când se simt că au fost auziți în mod adecvat. Când doar îngrijorări minore rămân, comunitatea merge înainte. „Căutarea consensului” recunoaște că o comunitate ar putea să nu fie capabilă să ajungă la un răspuns perfect. În schimb, ea prioritizează ascultarea și discuția.
Chiar dacă nu adopți de fapt un proces de căutare a consensului, în calitate de întreținător de proiect, este important ca oamenii să știe că asculți. A face alți oameni să se simtă auziți, și a te angaja să le rezolvi îngrijorările, merge mult spre a împrăștia situațiile sensibile. Apoi, urmează-ți cuvintele cu acțiuni.
Nu te grăbi să iei o decizie de dragul de a avea o soluționare. Asigură-te că toți se simt auziți și că toate acele informații au fost făcute publice înainte de a înainta către o rezoluție.
### Menține conversația axată pe acțiune
Discuția este importantă, dar există o diferență între conversațiile productive și cele neproductive.
Încurajează discuția atâta timp cât înaintează activ către o soluționare. Dacă este clar că acea conversație se stinge sau merge în afara subiectului, împunsăturile devin personale, sau oamenii se ceartă asupra unor detalii minore, este timpul să o oprești.
Permițând acestor conversații să continue nu este rău doar pentru problema la îndemână, ci și pentru sănătatea comunității tale. Aceasta trimite mesajul că aceste tipuri de conversații sunt permise sau chiar încurajate, și aceasta poate descuraja oameni de la a ridica sau rezolva probleme viitoare.
Cu fiecare punct făcut de tine sau de alții, întreabă-te, _„Cum ne aduce aceasta mai aproape de o soluționare?”_
Dacă conversația începe să se dezvăluie, întreabă grupul, _„Care sunt pașii pe care să-i facem în continuare?”_ pentru a reorienta conversația.
Dacă o conversație în mod clar nu merge nicăieri, nu sunt măsuri clare de luat, sau măsura potrivită a fost deja luată, închide problema și explică de ce ai închis-o.
### Alege-ți bătăliile cu înțelepciune
Contextul este important. Consideră cine este implicat în discuție și cum reprezintă ei/ele restul comunității.
Este toată lumea din comunitate supărată pe, sau chiar angajată în, această problemă? Sau este un scandalagiu singuratic? Nu uita să consideri membrii tăcuți ai comunitații tale, nu doar vocile active.
Dacă problema nu reprezintă nevoile extinse ale comunității tale, ar trebui doar să recunoști îngrijorările câtorva oameni. Dacă aceasta este o problemă recurentă fără o soluționare clară, indică-le discuțiile anterioare asupra subiectului și închide firul de discuție.
### Identifică o departajare a comunității
Cu o atitudine bună și o comunicare clară, cele mai dificile situații sunt rezolvabile. Totuși, chiar într-o conversație productivă, poate exista pur și simplu o diferență de opinie cu privire la cum să se procedeze. În aceste cazuri, identifică un individ sau un grup de oameni care pot servi ca o departajare.
O departajare ar putea fi principalul întreținător al proiectului, sau poate fi un grup mic de oameni care fac o decizie bazată pe votare. În mod ideal, ai identificat o departajare și procesul asociat într-un fișier GOVERNANCE înainte de a avea vreodată nevoie să o folosești.
Departajarea ta ar putea fi ultima soluție. Problemele dezbinătoare sunt o oportunitate pentru comunitatea ta de a crește și a învăța. Îmbrățișează aceste oportunități și folosește un proces colaborativ pentru a te mișca înspre o soluționare oriunde este posibil.
## Comunitatea este ❤️ a open source
Comunități sănătoase, înfloritoare alimentează miile de ore turnate în open source săptămânal. Mulți contributori indică spre alți oameni ca fiind motivul muncii lor - sau non-muncii - pe open source. Învățând cum să accesezi acea putere constructiv, vei ajuta pe cineva acolo să aibă o experiență open source de neuitat.
================================================
FILE: _articles/ro/code-of-conduct.md
================================================
---
lang: ro
title: Codul tău de conduită
description: Facilitează comportamente constructive și sănătoase în comunitate prin adoptarea și impunerea unui cod de conduită.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## De ce am nevoie de un cod de conduită?
Un cod de conduită este un document care stabilește așteptări de comportament pentru participanții la proiectul tău. Adoptarea, și aplicarea, unui cod de conduită poate contribui la crearea unei atmosfere sociale pozitive pentru comunitatea ta.
Codurile de conduită ajută la protejarea nu doar a participanților tăi, ci și a ta. Dacă întreții un proiect, ai putea constata că atitudinile neproductive de la alți participanți pot să te facă să te simți stors sau nefericit în legătură cu munca ta de-a lungul timpului.
Un cod de conduită te împuternicește să facilitezi comportament sănătos, constructiv în comunitate. A fi proactiv reduce probabilitatea că tu, sau alții, veți deveni obosiți cu proiectul tău, și te ajută să iei măsuri când cineva face ceva cu care nu ești de acord.
## Stabilirea unui cod de conduită
Încearcă să stabilești un cod de conduită cât mai devreme: în mod ideal, când creezi prima dată proiectul.
Pe lângă comunicarea așteptărilor tale, un cod de conduită descrie următoarele:
* Unde are efect codul de conduită _(doar la probleme și cereri de pull, sau și activități comunitare cum ar fi evenimente?)_
* La cine se aplică codul de conduită _(membrii comunității și întreținători, dar ce se întâmplă cu sponsorii?)_
* Ce se întâmplă dacă cineva încalcă codul de conduită
* Cum poate cineva semnala încălcări
Oricând poți, folosește stadiul cunoscut al tehnicii. [Contributor Covenant](https://contributor-covenant.org/) este un cod de conduită ușor de instalat care este folosit de peste 40.000 de proiecte cu sursă deschisă, inclusiv Kubernetes, Rails, și Swift.
[Codul de conduită Django](https://www.djangoproject.com/conduct/) și [Citizen Code of Conduct](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) sunt de asemenea două exemple bune de coduri de conduită.
Amplasează un fișier CODE_OF_CONDUCT în directorul rădăcină al proiectului tău, și fă-l vizibil pentru comunitatea ta legând către el din fișierele tale CONTRIBUTING sau README.
## Decizând cum îți vei impune codul de conduită
Ar trebui să explici cum codul tău de conduită va fi impus **_înainte_** ca o încălcare să aibă loc. Sunt câteva motive pentru a face astfel:
* El demonstrează că ești serios în legătură cu luarea de măsuri când este necesar.
* Comunitatea ta se va simți asigurată că plângerile sunt de fapt analizate.
* Îți vei asigura comunitatea că procesul de analizare este corect și transparent, dacă vreodată ei se vor găsi investigați pentru o încălcare.
Ar trebui să oferi oamenilor o cale privată (cum ar fi o adresă de email) pentru a raporta o încălcare a codului de conduită și să explici cine primește raportul. Ar putea fi un întreținător, un grup de întreținători, sau un grup de lucru pentru codul de conduită.
Nu uita că cineva ar putea să vrea să raporteze o încălcare despre o persoană care primește aceste rapoarte. În acest caz, dă-le o opțiune să raporteze încălcările altcuiva. De exemplu @ctb și @mr-c [explică despre proiectul lor](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Exemple de comportament abuziv, hărțuitor, sau altfel inacceptabil pot fi raportate scriind email către **khmer-project@idyll.org** care ajung doar la C. Titus Brown și Michael R. Crusoe. Pentru a raporta o problemă care implică pe oricare din aceștia te rugăm să scrii email către **Judi Brown Clarke, Ph.D.** Directorul pentru Diversitate la Centrul BEACON pentru Studiul Evoluției în Acțiune, un Centru NSF pentru Știință și Tehnologie.
>
> Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by emailing **khmer-project@idyll.org** which only goes to C. Titus Brown and Michael R. Crusoe. To report an issue involving either of them please email **Judi Brown Clarke, Ph.D.** the Diversity Director at the BEACON Center for the Study of Evolution in Action, an NSF Center for Science and Technology.
Pentru inspirație, aruncă o privire la [manualul impunerii](https://www.djangoproject.com/conduct/enforcement-manual/) al Django (deși poate nu vei avea nevoie de ceva atât de cuprinzător, depinzând de dimensiunea proiectului tău).
## Impunerea codului tău de conduită
Uneori, în ciuda celor mai bune eforturi ale tale, cineva va face ceva ce încalcă acest cod. Există câteva căi de abordare a comportamentului negativ sau dăunător când apare.
### Adună informații despre situație
Tratează fiecare voce a unui membru al comunității ca pe a ta. Dacă primești un raport cum că cineva a încălcat codul de conduită, ia-l în serios și investighează problema, chiar dacă nu se potrivește cu experiența ta proprie cu acea persoană. Făcând astfel va semnala comunității că le prețuiești perspectiva și ai încredere în judecata lor.
Membrul în cauză al comunității poate fi un recidivist care îi face în mod consecvent pe alții să se simtă inconfortabil, sau ei ar putea să fi spus sau făcut ceva doar o dată. Ambele situații pot fi baza luării de măsuri, depinzând de context.
Înainte de a răspunde, dă-ți timp să înțelegi ce s-a întâmplat. Citește prin comentariile și conversațiile trecute ale acestei persoane pentru a înțelege mai bine cine este și de ce a acționat într-un asemenea mod. Încearcă să culegi perspective, altele decât propria ta perspectivă despre această persoană și comportamentul ei.
### Ia măsurile corespunzătoare
După colectarea și procesarea de informații suficiente, va trebui să decizi ce să faci. Pe măsură ce consideri următorii tăi pași, ține minte că scopul tău ca moderator este să întreții un mediu sigur, respectuos, și colaborativ. Consideră nu doar cum să te ocupi cu situația în cauză, dar și cum răspunsul tău va afecta comportamentul și așteptările de a merge înainte ale restului comunității.
Când cineva raportează o încălcare a codului de conduită, este sarcina ta, nu a lor, de a o trata. Câteodată, cel/cea care raportează dezvăluie informații cu mare risc pentru cariera, reputația, sau siguranța lor fizică. Forțându-i să se confrunte cu hărțuitorul/oarea ar putea pune persoana care a raportat într-o poziție compromițătoare. Ar trebui să gestionezi comunicarea directă cu persoana în cauză, dacă persoana care raportează nu cere în mod explicit altfel.
Există câteva moduri în care poți răspunde la o încălcare a codului de conduită:
* **Oferă persoanei în cauză o avertizare publică** și explică cum comportamentul ei are un impact negativ asupra celorlalți, preferabil în canalul în care a apărut. Unde este posibil, comunicarea publică transmite restului comunității că iei codul de conduită în serios. Fii bun, dar ferm în comunicarea ta.
* **Ia legătura cu persoana în cauză în mod privat** pentru a explica felul în care comportamentul a avut un impact negativ asupra celorlalți. Ai putea vrea să folosești un canal de comunicare privat dacă situația implică informații personale sensibile. Dacă comunici în privat cu cineva, este o idee bună să trimiți un CC celor care au raportat situația primii, ca să știe că ai luat măsuri. Întreabă persoana care a raportat pentru consimțământ înainte de a le trimite CC.
Uneori, nu se poate ajunge la o soluționare. Persoana în cauză ar putea deveni agresivă sau ostilă când este confruntată sau nu își schimbă comportamentul. În această situație, poate ai vrea să consideri luarea de măsuri mai puternice. De exemplu:
* **Suspendarea persoanei** în cauză din proiect, impusă printr-o interdicție temporară de a participa la oricare aspect al proiectului.
* **Interzicerea permanentă** a persoane din proiect
Interzicerea membrilor ar trebui să nu fie luată cu ușurință și reprezintă o permanentă și ireconciliabilă diferență de perspective. Ar trebui să iei aceste măsuri doar când este clar că nu se poate ajunge la o soluționare.
## Responsabilitățile tale în calitate de întreținător
Un cod de conduită nu este o lege care este impusă arbitrar. Tu ești impunătorul codului de conduită și este responsabilitatea ta să urmezi regulile pe care codul de conduită le stabilește.
În calitate de întreținător stabilești direcțiile de ghidare pentru comunitatea ta și impui aceste direcții în conformitate cu regulile prezentate în codul tău de conduită. Aceasta înseamnă a lua în serios orice raport de încălcare a codului de conduită. Celui care raportează i se datorează o analiză completă și corectă a plângerii lui. Dacă determini că comportamentul pe care el l-a raportat nu este o încălcare, comunică-i aceasta clar și explică de ce nu vei lua măsuri în legătură cu acesta. Ce face el/ea cu aceasta este treaba lui: tolerează comportamentul cu care au avut o problemă, sau se oprește din a face parte din comunitate.
Un raport al comportamentului care nu încalcă _tehnic_ codul de conduită poate totuși indica faptul că este o problemă în comunitatea ta, și ar trebui să investighezi această problemă potențială și să acționezi în consecință. Aceasta ar putea include revizuirea codului tău de conduită pentru a clarifica comportamentele acceptabile și/sau a vorbi cu persoana al cărei comportament a fost raportat și a-i spune că, deși nu a încălcat codul de conduită, ea se apropie de limita a ceea ce este așteptat și îi face pe unii participanți să se simtă neconfortabil.
În cele din urmă, în calitate de întreținător, stabilești și impui standardele pentru comportament acceptabil. Ai abilitatea de a contura valorile comunitare ale proiectului, și participanții așteaptă de la tine să impui aceste valori într-un mod corect și nepărtinitor.
## Încurajează comportamentul pe care vrei să îl vezi în lume 🌎
Când un proiect pare ostil și neprimitor, chiar dacă este doar o persoană cea al cărei comportament este tolerat de ceilalți, riști să pierzi mulți alți contributori, dintre care pe unii nu-i vei întâlni niciodată. Nu este întotdeauna ușor să adopți sau să impui un cod de conduită, dar întreținerea unui mediu primitor va ajuta comunitatea ta să crească.
================================================
FILE: _articles/ro/finding-users.md
================================================
---
lang: ro
title: Găsirea de utilizatori pentru proiectul tău
description: Ajută-ți proiectul cu sursă deschisă să crească punându-l în mâinile utilizatorilor fericiți.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Răspândirea cuvântului
Nu există o regulă care spune că trebuie să-ți promovezi proiectul cu sursă deschisă când îl lansezi. Există multe motive împlinitoare de a lucra în open source care nu au nimic de a face cu popularitatea. În loc să speri că alții vor găsi și vor folosi proiectul tău cu sursă deschisă, trebuie să răspândești cuvântul despre munca ta grea!
## Găsește-ți mesajul
Înainte de a începe activitatea propriu-zisă de promovare a proiectului tău, ar trebui să poți să explici ce face, și de ce contează.
Ce face proiectul tău diferit sau interesant? De ce l-ai creat? Răspunzându-ți ție la aceste întrebări te va ajuta să comunici semnificația proiectului tău.
Ține minte că oamenii se implică în calitate de utilizatori, și eventual devin contributori, deoarece proiectul tău rezolvă o problemă pentru ei. Pe măsură ce te gândești la mesajul și valoarea proiectului tău, încearcă să le vezi prin lentilele a ceea ce ar putea vrea _utilizatorii și contributorii_.
De exemplu, @robb folosește exemple de cod pentru a comunica clar de ce proiectul lui, [Cartography](https://github.com/robb/Cartography), este folositor:

Pentru o vedere mai adâncă în mesagerie, aruncă o privire la exercițiul ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) al Mozilla pentru dezvoltarea persona-urilor pentru utilizatori.
## Ajută oamenii să-ți găsească și să-ți urmeze proiectul
Ajută oamenii să îți găsească și să îți țină minte proiectul direcționându-i către un singur domeniu.
**Obține un mâner clar pentru a-ți promova munca.** Un mâner Twitter, un URL GitHub, sau canal IRC este un mod ușor de a direcționa oamenii către proiectul tău. Aceste prize oferă de asemenea comunității în creștere a proiectului tău un loc de convocare.
Dacă nu dorești să configurezi prize pentru proiectul tău încă, promovează-ți propriul tău mâner Twitter sau GitHub în orice faci. Promovarea mânerului tău Twitter sau GitHub va înștiința oamenii cum să te contacteze sau să-ți urmeze munca. Dacă vorbești la o întâlnire sau un eveniment, asigură-te că informațiile tale de contact sunt incluse în biografia ta sau în diapozitive.
**Consideră crearea unui site web pentru proiectul tău.** Un site web face proiectul tău mai prietenos și mai ușor de navigat, în special când este cuplat cu documentație și tutoriale clare. Având un site web sugerează de asemenea că proiectul tău este activ ceea ce îți va face publicul să se simtă mai confortabil folosindu-l. Furnizează exemple pentru a oferi oamenilor idei despre cum să folosească proiectul tău.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), co-creator al Django, a spus că un site web era _„de departe cel mai bun lucru pe care l-am făcut cu Django în primele zile”_.
Dacă proiectul tău este găzduit pe GitHub, poți folosi [GitHub Pages](https://pages.github.com/) pentru a face cu ușurință un site web. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), și [Middleman](https://middlemanapp.com/) sunt [câteva exemple](https://github.com/showcases/github-pages-examples) de site-uri web excelente, cuprinzătoare.

Acum că ai un mesaj pentru proiectul tău, și o cale ușoară pentru oameni să-ți găsească proiectul, haide să mergem acolo și să vorbim cu publicul!
## Mergi acolo unde este audiența proiectului tău (online)
Extinderea online este o modalitate excelentă de a împărtăși și răspândi cuvântul mai repede. Utilizând canale online, ai potențialul de a ajunge la un public foarte larg.
Profită de comunitățile online și platformele existente pentru a ajunge la publicul tău. Dacă proiectul tău open source este un proiect software, probabil îți poți găsi publicul pe [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), sau [Quora](https://www.quora.com/). Găsește canalele unde tu crezi că oamenii vor beneficia cel mai mult de munca ta sau vor fi cei mai încântați de munca ta.
Vezi dacă poți găsi metode relevante de a-ți împărtăși proiectul:
* **Fă cunoștință cu proiecte și comunități open source relevante.** Câteodată, nu trebuie să îți promovezi direct proiectul. Dacă proiectul tău este perfect pentru cercetători de date care folosesc Python, fă cunoștință cu comunitatea de știința datelor în Python. Pe măsură ce oamenii fac cunoștință cu tine, oportunități naturale vor răsări pentru a vorbi despre și a-ți împărtăși munca.
* **Găsește oameni care experimentează problema pe care proiectul tău o rezolvă.** Caută prin forumuri similare oameni care intră în publicul țintă al proiectului tău. Răspunde la întrebarea lor și găsește o cale cu tact, când este adecvat, pentru a-ți sugera proiectul ca o soluție.
* **Cere feedback.** Introdu-te și introdu-ți munca ta unui public care ar găsi-o relevantă și interesantă. Fii specific despre cine crezi că ar beneficia de pe urma proiectului tău. Încearcă să completezi enunțul: _„Cred că proiectul meu l-ar putea ajuta cu adevărat pe X, care încearcă să facă Y”_. Ascultă și răspunde la feedback-ul altora, în loc să-ți promovezi pur și simplu munca.
În general vorbind, concentrează-te pe a ajuta pe alții înainte de a cere lucruri în schimb. Deoarece oricine poate promova ușor un proiect online, va exista mult zgomot. Pentru a ieși din mulțime, dă oamenilor context în legătură cu cine ești și nu doar ce vrei.
Dacă nimeni nu acordă atenție sau nu răspunde la mobilizarea ta inițială, nu te descuraja! Cele mai multe lansări de proiecte sunt un proces iterativ care poate lua luni sau ani. Dacă nu primești un răspuns prima dată, încearcă o tactică diferită, sau caută modalități de a adăuga valoare la munca celorlalți întâi. Promovarea și lansarea unui proiect necesită timp și dedicare.
## Mergi acolo unde este audiența proiectului tău (offline)

Evenimentele offline sunt o modalitate populară de a promova noi proiecte publicurilor. Ele sunt o cale excelentă de a ajunge la un public angajat și de a construi conexiuni umane mai profunde, în special dacă ești interesat în a ajunge la dezvoltatori.
Dacă ești [începător la vorbitul în public](https://speaking.io/), începe prin a găsi o întâlnire locală care are o legătură cu limbajul sau ecosistemul proiectului tău.
Dacă nu ai vorbit niciodată la un eveniment înainte, este perfect normal să te simți nervos! Ține minte că publicul tău este acolo deoarece ei sincer își doresc să audă despre munca ta.
Pe măsură ce-ți scrii discursul, concentrează-te pe ce va găsi interesant publicul tău și din ce va obține valoare. Păstrează-ți limbajul prietenos și abordabil. Zâmbește, respiră, și distrează-te.
Când te simți pregătit, consideră a vorbi la o conferință pentru a-ți promova proiectul. Conferințele te pot ajuta să ajungi la mai mulți oameni, câteodată din toate colțurile lumii.
Caută conferințe care sunt specifice limbajului sau ecosistemului tău. Înainte de a-ți trimite discursul, cercetează conferința pentru a-ți adapta discursul pentru participanți și a-ți mări șansele de a fi acceptat să vorbești la conferință. Deseori poți obține un simț al publicului tău privind vorbitorii conferinței.
## Construiește-ți o reputație
Pe lângă strategiile schițate mai sus, cea mai bună cale de a invita oameni să împărtășească și să contribuie la proiectul tău este să împărtășești și să contribui la proiectele lor.
Ajutând nou-veniții, împărțind resurse, și făcând contribuții gândite bine la proiectele altora te va ajuta să-ți construiești o reputație pozitivă. Fiind un membru activ în comunitatea open source îi va ajuta pe oameni să aibă context despre munca ta și să fie mai probabil să acorde atenție la și să împărtășească proiectul tău. Dezvoltarea relațiilor cu alte proiecte cu sursă deschisă poate duce chiar la parteneriate oficiale.
Nu este niciodată prea devreme, sau prea tâziu, să începi să-ți construiești reputația. Chiar dacă ți-ai lansat deja propriul tău proiect, continuă să cauți căi de a-i ajuta pe ceilalți.
Nu există o soluție peste noapte de a construi un public. Obținerea încrederii și respectului celorlalți ia timp, și construirea reputației tale nu se sfârșește niciodată.
## Continuă!
Este posibil să dureze mult înainte ca utilizatorii să observe proiectul tău cu sursă deschisă. Este în regulă! Unele dintre cele mai populare proiecte de astăzi au avut nevoie de ani pentru a atinge nivele înalte de activitate. Concentrează-te pe a construi relații în loc de a spera că proiectul tău va câștiga popularitate în mod spontan. Fii răbdător, și continuă să împărtășești munca ta cu cei care o apreciază.
================================================
FILE: _articles/ro/getting-paid.md
================================================
---
lang: ro
title: Cum să fii plătit pentru muncă open source
description: Susține-ți munca în open source obținând sprijin financiar pentru timpul sau proiectul tău.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## De ce unii oameni caută sprijin financiar
O mare parte din munca open source este voluntară. De exemplu, cineva ar putea da peste un bug într-un proiect pe care îl folosește și să trimită o reparație rapidă, sau ar putea să se bucure să meșterească pe un proiect cu sursă deschisă în timpul său liber.
Există multe motive pentru care o persoană nu ar dori să fie plătită pentru munca ei open source.
* **Este posibil ca ea să aibă deja un loc de muncă cu normă întreagă pe care îl iubește,** ceea ce îi permite să contribuie la open source în timpul liber.
* **Ea se bucură de a gândi la open source ca la un hobby** sau ca despre o evadare creativă și nu vrea să se simtă obligată financiar să lucreze pe proiectele sale.
* **Ea obține alte beneficii de la contribuirea pe open source,** cum ar fi construirea reputației sau a portofoliului său, învățarea de noi abilități, sau se simte mai aproape de comunitate.
Pentru alții, în special când contribuțiile sunt în curs de desfășurare sau necesită timp semnificativ, a fi plătiți să contribuie la open source este singura cale în care ei pot participa, fie fiindcă proiectul cere asta, fie din motive personale.
Întreținerea de proiecte populare poate fi o responsabilitate semnificativă, luând până la 10 sau 20 de ore pe săptămână în loc de câteva ore pe lună.
Munca plătită de asemenea dă șanse oamenilor cu diferite moduri de viață să facă contribuții semnificative. Unii oameni nu-și pot permite să petreacă timp neplătit pe proiecte cu sursă deschisă, bazat pe poziția lor financiară curentă, datorii, sau familie sau alte obligații de îngrijire. Aceasta înseamnă că lumea nu ajunge niciodată să vadă contribuții de la oameni talentați care nu-și pot permite să facă voluntariat cu timpul lor. Aceasta are implicații etice, după cum @ashedryden [a descris](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), fiindcă munca făcută este părtinitoare în favoarea acelora care deja au avantaje în viață, care apoi obțin avantaje în plus bazate pe contribuțiile lor voluntare, în timp ce alții care nu sunt capabili să facă voluntariat apoi nu mai primesc oportunitați mai încolo, ceea ce consolidează lipsa de diversitate din prezent în comunitatea open source.
Dacă ești în căutare de sprijin financiar, există două căi pe care să le consideri. Îți poți finanța propriul timp în calitate de contributor, sau poți găsi finanțare organizațională pentru proiect.
## Finanțarea propriului tău timp
Astăzi, mulți oameni sunt plătiți să lucreze cu normă parțială sau întreagă pe open source. Cea mai obișnuită modalitate de a fi plătit pentru timpul tău este să vorbești cu angajatorul tău.
Este mai ușor să faci un caz pentru muncă open source dacă angajatorul tău folosește de fapt proiectul, dar devino creativ cu pasul tău. Poate angajatorul tău nu folosește proiectul, dar el folosește Python, și întreținerea unui proiect popular Python ajută la atragerea de noi dezvoltatori Python. Poate îl face pe angajatorul tău să arate mai prietenos cu dezvoltatorii în general.
Dacă nu ai un proiect cu sursă deschisă existent pe care ți-ar plăcea să lucrezi, dar preferi ca să se deschidă sursa rezultatelor muncii tale curente, fă un caz pentru angajatorul tău să deschidă sursa unei părți din software-urile sale interne.
Multe companii dezvoltă programe open source pentru a-și construi marca și a recruta talent de calitate.
@hueniverse, de exemplu, a constatat că există motive financiare pentru a justifica [investiția Walmart în open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). Și @jamesgpearce a constatat că programul open source al Facebook [a făcut o diferență](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) în recrutare:
> Este strâns aliniată cu cultura noastră a hackerilor, și cu felul în care organizația noastră a fost percepută. Ne-am întrebat angajații, „Ai fost conștient de programul software open source la Facebook?”. Două treimi au zis „Da”. O jumătate a zis că programul a contribuit în mod pozitiv la decizia de a lucra pentru noi. Acestea nu sunt numere marginale, ci, sper eu, o tendință care continuă.
>
> It is closely aligned with our hacker culture, and how our organization was perceived. We asked our employees, "Were you aware of the open source software program at Facebook?". Two-thirds said "Yes". One-half said that the program positively contributed to their decision to work for us. These are not marginal numbers, and I hope, a trend that continues.
Dacă compania ta coboară pe acest traseu, este important să păstrezi granițele între comunitate și activitatea corporativă clare. În fine, open source se susține pe sine prin contribuții de la oameni din întreaga lume, și aceasta este mai mare decât oricare companie sau locație.
Dacă nu îți poți convinge angajatorul curent să acorde prioritate muncii open source, consideră să găsești un nou angajator care încurajează contribuțiile angajaților la open source. Caută companii care își fac dedicarea la munca open source în mod explicit. De exemplu:
* Unele companii, cum ar fi [Netflix](https://netflix.github.io/), au site-uri web care evidențiază implicarea lor în open source
* [Rackspace](https://www.rackspace.com/en-us) și-a publicat [politica de contribuire la open source](https://blog.rackspace.com/rackspaces-policy-on-contributing-to-open-source/) pentru angajați
Proiectele care provin de la o companie mare, cum ar fi [Go](https://github.com/golang) sau [React](https://github.com/facebook/react), probabil vor angaja de asemenea oameni să lucreze pe open source.
În funcție de circumstanțele tale personale, poți încerca să strângi bani în mod independent pentru a-ți finanța munca open source. De exemplu:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon și-a finanțat munca pe [Redux](https://github.com/reactjs/redux) printr-o [campanie de finanțare colectivă Patreon](https://redux.js.org/)
* @andrewgodwin a finanțat munca pe migrațiile de scheme Django [printr-o campanie Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
În cele din urmă, uneori proiectele cu sursă deschisă pun recompense pe probleme la care ai putea considera să ajuți.
* @ConnorChristie a putut să fie plătită pentru că [a ajutat](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol să lucreze pe biblioteca lor JavaScript [printr-o recompensă pe gitcoin](https://gitcoin.co/).
* @mamiM a făcut traduceri în japoneză pentru @MetaMask după ce [problema a fost finanțată pe Bounties Network](https://explorer.bounties.network/bounty/134).
## Găsirea de finanțare pentru proiectul tău
Dincolo de aranjamente pentru contributori individuali, uneori proiectele strâng bani de la companii, indivizi, sau alții pentru a finanța muncă în derulare.
Finanțarea organizațională ar putea să vină în favoarea contributorilor actuali, acoperind costurile de derulare a proiectului (cum ar fi taxe de găzduire), sau în favoarea investirii în noi facilități și idei.
Pe măsură ce popularitatea open source crește, a găsi finanțare pentru proiecte este încă experimental, dar există câteva opțiuni comune disponibile.
### Strângerea de bani pentru munca ta prin campanii de finanțare colectivă sau sponsorizări
Găsirea sponsorizărilor funcționează bine dacă ai deja un public puternic sau o reputație puternică, sau dacă proiectul tău este foarte popular.
Câteva exemple de proiecte sponsorizate includ:
* **[webpack](https://github.com/webpack)** strânge bani de la companii și indivizi [prin OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** o organizație nonprofit care plătește pentru munca pe [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), și alte proiecte de infrastructură Ruby
### Creează un flux de venit
Depinzând de proiectul tău, ai putea să taxezi sprijin comercial, opțiuni de găzduire, sau facilități în plus. Câteva exemple includ:
* **[Sidekiq](https://github.com/mperham/sidekiq)** oferă versiuni plătite pentru asistență în plus
* **[Travis CI](https://github.com/travis-ci)** oferă versiuni plătite ale produsului său
* **[Ghost](https://github.com/TryGhost/Ghost)** este un nonprofit cu un serviciu gestionat plătit
Unele proiecte populare, cum ar fi [npm](https://github.com/npm/cli) și [Docker](https://github.com/docker/docker), chiar strâng capital de risc pentru a susține creșterea afacerii lor.
### Aplicați pentru finanțare nerambursabilă
Unele fundații software și companii oferă subvenții pentru muncă pe sursă deschisă. Uneori, subvențiile pot fi plătite către indivizi fără să se stabilească o entitate juridică pentru proiect.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** a primit o subvenție de la [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* Munca **[OpenMRS](https://github.com/openmrs)** a fost finanțată de [Open-Source Retreat al Stripe](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** a primit o subvenție de la [Fundația Sloan](https://sloan.org/programs/digital-technology)
* **[Python Software Foundation](https://www.python.org/psf/grants/)** oferă subvenții pentru muncă legată de Python
Pentru mai multe opțiuni detaliate și studii de caz, @nayafia [a scris un ghid](https://github.com/nayafia/lemonade-stand) pentru a deveni plătit pentru muncă pe sursă deschisă. Diferite tipuri de finanțare necesită abilități diferite, deci consideră-ți punctele forte pentru a afla care opțiune funcționează cel mai bine pentru tine.
## Construirea unui caz pentru sprijin financiar
Fie că proiectul tău este o idee nouă, fie că a fost prin preajmă de ani, ar trebui să te aștepți să pui gândire semnificativă în identificarea finanțatorului tău țintă și să faci un caz convingător.
Fie că ești în căutare să plătești pentru propriul tău timp, fie ca să strângi fonduri pentru un proiect, ar trebui să fii capabil să răspunzi la următoarele întrebari.
### Impact
De ce este acest proiect folositor? De ce utilizatorii tăi, sau utilizatori potențiali, îl plac atât de mult? Unde va fi el în cinci ani?
### Tracțiune
Încearcă să colectezi dovezi că proiectul tău contează, fie că sunt măsurători, anecdote, sau mărturii. Există companii sau oameni remarcabili care îți folosesc proiectul chiar acum? Dacă nu, l-a susținut o persoană importantă?
### Valoare finanțatorului
Finanțatorii, fie că este angajatorul tău sau o fundație de finanțare, sunt deseori abordați cu oportunități. De ce ar trebui să susțină ei proiectul tău deasupra oricărei alte oportunitați? Cum beneficiază ei personal?
### Folosirea fondurilor
Ce, mai exact, vei reuși cu finanțarea propusă? Concentrează-te pe etapele de proiect sau rezultate mai degrabă decât pe plătirea unui salariu.
### Cum vei primi fondurile
Are finanțatorul vreo cerință în legătură cu plata? De exemplu, ar putea să fie necesar să fii o organizație nonprofit sau să ai un sponsor fiscal nonprofit. Sau poate fondurile trebuie date unui contractant individual în loc de o organizație. Aceste cerințe variază între finanțatori, deci asigură-te că îți faci cercetarea în prealabil.
## Experimentează și nu renunța
A strânge bani nu este ușor, fie că ai un proiect cu sursă deschisă, o organizație nonprofit, sau un startup software, și în cele mai multe cazuri trebuie să fii creativ. Identificând cum vrei să fii plătit, făcându-ți cercetarea, și punându-te pe tine însuți în pantofii finanțatorului te vor ajuta să construiești un caz convingător pentru finanțare.
================================================
FILE: _articles/ro/how-to-contribute.md
================================================
---
lang: ro
title: Cum să contribui la open source?
description: Dorești să contribui la open source? Un ghid pentru facerea de contribuții open source, pentru începători și pentru veterani.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## De ce să contribui la open source?
Contribuind la open source poate fi un cale recompensantă de a învăța, a preda și a construi experiență în aproape oricare abilitate pe care ți-o poți imagina.
De ce oamenii contribuie la open source? O mulțime de motive!
### Îmbunătățirea abilităților existente
Fie că este programare, proiectarea interfeței grafice, proiectare grafică, scriere, sau origanizare, dacă ești în căutare de practică, este o sarcină pentru tine pe un proiect cu sursă deschisă.
### Întâlnesc oameni care sunt interesați de lucruri asemănătoare
Proiectele cu sursă deschisă cu comunități calde, primitoare păstrează oamenii revenind peste ani. Mulți oameni formează prietenii care durează o viață prin participarea lor la open source, fie că este vorba de a-i întâlni la conferințe sau noaptea târziu în chat-uri despre burrito-uri.
### Găsesc mentori și îi învață pe alții
Lucrând cu alții pe un proiect comun înseamnă că va trebui să explici cum faci lucrurile, și de asemenea să ceri ajutor altora. Actele de învățare și predare pot fi o activitate împlinitoare pentru oricine e implicat.
### Construiesc artefacte publice care îi ajută să crească o reputație (și o carieră)
Prin definiție, toată munca ta open source este publică, ceea ce înseamnă că primești exemple gratuite de purtat oriunde ca o demonstrație a ceea ce poți face.
### Învață abilități de lucru cu oameni
Open source oferă oportunități de a practica abilități de conducere și management, cum ar fi rezolvarea conflictelor, organizarea de echipe de oameni, și prioritizarea muncii.
### Este încurajant să fii capabil să faci schimbări, chiar și mici
Nu trebuie să fii un contributor de o viață să te bucuri de a participa la open source. Ai văzut vreodată o greșeală gramaticală pe un site, și ți-ai dorit ca cineva să o corecteze? Pe un proiect cu sursă deschisă, poți să faci exact acel lucru. Open source ajută oamenii să simtă intervenția lor asupra propriei vieți și asupra a cum experimentează lumea, și aceasta în sine este recompensant.
## Ce înseamnă să contribui
Dacă ești un contributor open source nou, procesul poate fi intimidant. Cum găsești proiectul corect? Dar dacă nu știi să programezi? Dar dacă ceva merge greșit?
Nu te îngrijora! Există o mulțime mare de feluri de a te implica într-un proiect cu sursă deschisă, și câteva sfaturi te vor ajuta să obții cel mai mult din experiența ta.
### Nu trebuie să contribui cu cod
O neînțelegere comună despre contribuirea la open source este că trebuie să contribui cu cod. De fapt, deseori sunt celelalte părți ale unui proiect care sunt [cele mai neglijate și omise](https://github.com/blog/2195-the-shape-of-open-source). Vei face proiectului o _gigantică_ favoare oferindu-te să pășești înăuntru cu aceste tipuri de contribuții!
Chiar dacă îți place să scrii cod, alte tipuri de contribuții sunt o cale grozavă de a te implica într-un proiect și de a întâlni alți membri ai comunității. Construind aceste relații îți va da oportunități de a lucra pe alte părți ale proiectului.
### Îți place să planifici evenimente?
* Organizează ateliere sau întâlniri despre proiect, [precum @fzamperin a făcut pentru NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Organizează conferința proiectului (dacă au una)
* Ajută membrii comunității să găsească conferința potrivită și să trimită propuneri pentru discursuri
### Îți place să proiectezi?
* Restructurează aspectul pentru a îmbunătăți uzabilitatea proiectului
* Condu o cercetare asupra utilizatorilor pentru a reorganiza și rafina navigarea și meniurile proiectului, [precum sugerează Drupal](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Pune laolaltă un ghid de stil pentru a ajuta proiectul să aibă un aspect visual consistent
* Creează artă pentru tricouri sau o nouă siglă, [precum contribuitorii hapi.js au făcut](https://github.com/hapijs/contrib/issues/68)
### Îți place să scrii?
* Scrie și îmbunătățește documentația proiectului
* Selectează un dosar de exemple arătând cum este folosit proiectul
* Începe un buletin informativ pentru proiect, sau selectează sublinieri din lista de email-uri
* Scrie tutoriale pentru proiect, [cum au făcut contribuitorii PyPA](https://packaging.python.org/)
* Scrie o traducere pentru documentația proiectului
### Îți place să organizezi?
* Fă legături la probleme duplicate, și sugerează noi etichete de probleme, pentru a păstra lucrurile organizate
* Treci prin problemele deschise și sugerează închiderea celor vechi, [cum @nzakas a făcut pentru ESLint](https://github.com/eslint/eslint/issues/6765)
* Cere clarificarea întrebărilor din problemele deschise recent pentru a mișca discuția înainte
### Îți place să programezi?
* Găsește o problemă existentă pentru a o aborda, [precum @dianjin a făcut pentru Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Întreabă dacă poți ajuta la scrierea unei noi facilități
* Automatizează configurarea proiectului
* Îmbunătățește uneltele și testarea
### Îți place să ajuți oameni?
* Răspunde la întrebări despre proiect pe, de exemplu, Stack Overflow ([ca acest exemplu Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) sau Reddit
* Răspunde la întrebări pentru oameni în probleme deschise
* Ajută la moderarea forumurilor sau a canalelor de conversații
### Îți place să ajuți pe alții să programeze?
* Revizuiește codul din postările celorlalți
* Scrie tutoriale pentru cum poate fi utilizat un proiect
* Oferă-te să mentorezi un alt contributor, [cum a făcut @ereichert pentru @bronzdoc cu Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Nu trebuie obligatoriu să lucrezi pe proiecte software!
În timp ce „open source” se referă deseori la software, poți colabora pe aproape orice. Există cărți, rețete, liste, și cursuri care sunt dezvoltate ca proiecte cu sursă deschisă.
De exemplu:
* @sindresorhus selectează o [listă de liste „grozave”](https://github.com/sindresorhus/awesome)
* @h5bp menține o [listă de potențiale întrebări de interviu](https://github.com/h5bp/Front-end-Developer-Interview-Questions) pentru candidați la poziția de dezvoltatori front-end
* @stuartlynn și @nicole-a-tesla au făcut o [colecție despre adevăruri amuzante despre păsări marine cu cioc mare](https://github.com/stuartlynn/puffin_facts)
Chiar dacă ești un dezvoltator software, lucrând pe un proiect de documentație te poate ajuta să începi în open source. Este deseori mai puțin intimidant să lucrezi pe proiecte care nu includ cod, și procesul de colaborare îți va construi încrederea și experiența.
## Orientându-te către un nou proiect
Pentru orice mai mult decât o corectare gramaticală, contribuind la open source este ca a merge la un grup de străini la o petrecere. Dacă începi să vorbești despre lame, în timp ce ei erau adânc într-o discuție despre peștișori de aur, probabil se vor uita la tine puțin ciudat.
Înainte de a sări orbește cu propriile tale sugestii, începe prin a învăța cum să citești încăperea. Făcând astfel mărești șansele ca ideile tale să fie obsevate și auzite.
### Anatomia unui proiect cu sursă deschisă
Oricare comunitate open source este diferită.
A petrece ani pe un singur proiect cu sursă deschisă înseamnă că ai ajuns să cunoști un singur proiect cu sursă deschisă. Treci la un alt proiect, și poate vei găsi că vocabularul, normele, și stilurile de comunicare sunt complet diferite.
Acestea fiind spuse, multe proiecte cu sursă deschisă urmează o structură organizațională asemănătoare. Înțelegând rolurile diferite din comunitate și procesul în ansamblu te va ajuta să te orientezi rapid către oricare proiect nou.
Un proiect cu sursă deschisă are următoarele tipuri de persoane:
* **Autor:** Persoana/persoanele sau organizația care a creat proiectul
* **Proprietar:** Persoana/persoanele care au proprietate administrativă asupra organizației sau a depozitului (nu întotdeauna același cu autorul original)
* **Întreținători:** Contributori care sunt responsabili pentru a conduce viziunea și a organiza aspectele organizaționale ale proiectului (Ei pot de asemenea fi autori sau proprietari ai proiectului.)
* **Contributori:** Oricine a contribuit cu ceva înapoi la proiect
* **Membrii comunității:** Persoane care folosesc proiectul. Ei ar putea fi activi în conversații sau să-și exprime părerea asupra direcției proiectului
Proiectele mai mari pot de asemenea avea subcomitete sau grupuri de lucru axate pe sarcini diferite, cum ar fi uneltele, triajul, moderarea comunității, și organizarea evenimentelor. Caută pe site-ul unui proiect pentru o pagină „echipa” sau în depozit pentru documentația de guvernare, pentru a găsi această informație.
Un proiect are de asemenea documentație. Aceste fișiere sunt de obicei listate în rădăcina depozitului.
* **LICENSE:** Prin definiție, oricare proiect cu sursă deschisă trebuie să aibă o [licență de sursă deschisă](https://choosealicense.com). Dacă proiectul nu are o licență, el nu este cu sursă deschisă.
* **README:** README-ul este manualul de instrucțiuni care întâmpină noi membri ai comunității la proiect. El explică de ce proiectul este folositor și cum să începi.
* **CONTRIBUTING:** În timp ce README-urile ajută oamenii să _folosească_ proiectul, documentația de contribuire ajută oamenii să _contribuie_ la proiect. Ea explică ce tipuri de contribuții sunt necesare și cum funcționează procesul. În timp ce nu oricare proiect are un fișier CONTRIBUTING, prezența lui semnalează că acesta este un proiect primitor la care să contribui.
* **CODE_OF_CONDUCT:** Codul de conduită stabilește reguli de bază pentru comportamentul asociat al participanților și ajută la facilitarea unui mediu prietenos și primitor. În timp ce nu oricare proiect are un fișier CODE_OF_CONDUCT, prezența lui semnalează că acesta este un proiect primitor la care să contribui.
* **Altă documentație:** Ar putea fi documentație în plus, cum ar fi tutoriale, prezentări, sau politici de guvernare, în special în cazul proiectelor mai mari.
În cele din urmă, proiectele cu sursă deschisă folosesc următoarele unelte pentru organizarea discuțiilor. Citirea prin arhive îți va oferi o imagine bună despre cum gândește și lucrează comunitatea.
* **Urmăritorul de probleme:** Unde oamenii discută problemele legate de proiect.
* **Cereri de pull:** Unde oamenii discută și analizează schimbările în progres.
* **Forumuri de discuții și liste de email-uri:** Unele proiecte pot folosi aceste canale pentru subiecte conversaționale (de exemplu, _"Cum să..."_ sau _"Ce credeți despre..."_ în loc de rapoarte de bug-uri sau cereri de facilități). Alții folosesc urmăritorul de probleme pentru toate conversațiile.
* **Canal sincron de chat:** Unele proiecte utilizează canale de chat (cum ar fi Slack sau IRC) pentru conversații cazuale, colaborări, și schimburi rapide.
## Găsind un proiect la care să contribui
Acum că ți-ai dat seama cum lucrează proiectele cu sursă deschisă, este timpul să găsim un proiect la care să contribui!
Dacă nu ai contribuit niciodată la open source până acum, primește niște sfaturi de la Președintele S.U.A. John F. Kennedy, care a spus odată, _„Întreabă nu ceea ce țara ta poate face pentru tine - întreabă ce poți face tu pentru țara ta.”_
Contribuirea la open source are loc la toate nivelele, de-a lungul proiectelor. Nu trebuie să gândești prea mult care mai exact va fi prima ta contribuție, sau cum va arăta.
În schimb, începe prin a gândi despre proiectele pe care le folosești deja, sau pe care vrei să le folosești. Aceste proiecte la care vei contribui activ sunt acelea la care te vei vedea întorcându-te.
În aceste proiecte, de fiecare dată când te prinzi gândindu-te că ceva ar putea fi mai bine sau diferit, acționează pe baza instinctului.
Open source nu este un club exclusivist; el este făcut din oameni exact ca tine. „Open source” este doar un termen extravagant pentru a trata problemele lumii ca rezolvabile.
Ai putea scana un README sau găsi un link stricat sau o greșeală gramaticală. Sau ești un nou utilizator și ai observat că ceva este stricat, sau o problemă despre care crezi că într-adevăr ar trebui să fie în documentație. În loc de a o ignora sau de a trece mai departe, sau a cere altcuiva să o rezolve, vezi dacă poți ajuta pășind înăuntru. Despre aceasta este tot open source!
> [28% din contribuțiile ocazionale](https://www.igor.pro.br/publica/papers/saner2016.pdf) la open source sunt documentație, cum ar fi o corectare gramaticală, reformatare, sau scrierea unei traduceri.
>
> [28% of casual contributions](https://www.igor.pro.br/publica/papers/saner2016.pdf) to open source are documentation, such as a typo fix, reformatting, or writing a translation.
Poți de asemenea folosi una dintre următoarele resurse pentru a te ajuta să descoperi și să contribui la noi proiecte:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### O listă de verificare înainte de a contribui
Când ai găsit un proiect la care ai dori să contribui, fă o scanare rapidă pentru a te asigura că proiectul este potrivit pentru a accepta contribuții. Altfel, munca ta grea ar putea să nu primească niciodată un răspuns.
Aici este o listă de verificare la îndemână pentru a evalua dacă un proiect este bun pentru noi contributori.
**Respectă definiția open source**
**Proiectul acceptă în mod activ contribuțiile**
Uită-te la activitatea de commit-uri pe ramura master. Pe GitHub, poți vedea aceste informații pe pagina principală a depozitului.
Apoi, privește problemele proiectului.
Acum fă la fel pentru cererile de pull ale proiectului.
**Proiectul este primitor**
Un proiect prietenos și primitor semnalează că ei vor fi receptivi la noi contributori.
## Cum să trimiți o contribuție?
Ai găsit un proiect care îți place, și ești pregătit să faci o contribuție. În sfârșit! Iată cum să îți pui contribuția în direcția corectă.
### Comunicând în mod eficient
Fie că ești un contributor de o singură dată sau încerci să te alături unei comunități, lucrând cu alții este cea mai importantă abilitate pe care o vei dezvolta în open source.
Înainte de a deschide o problemă sau o cerere de pull, sau a întreba în chat, păstrează aceste puncte în minte pentru a-ți ajuta ideile să vină eficient.
**Dă context.** Ajută-i pe ceilalți să ajungă la viteză. Dacă dai peste o eroare, explică ce încerci să faci și cum se poate reproduce. Dacă sugerezi o idee nouă, explică de ce crezi că ar fi folositoare proiectului (nu doar pentru tine!).
> 😇 _"X nu se întâmplă când fac Y"_
>
> 😢 _"X este stricat! Te rog repară-l."_
**Mai întâi fă-ți temele.** Este OK să nu știi lucruri, dar arată că ai încercat. Înainte de a cere ajutor, asigură-te să verifici README-ul proiectului, documentația, problemele (deschise sau închise), lista de email-uri, și caută pe Internet după un răspuns. Oamenii vor aprecia când demonstrezi că încerci să înveți.
> 😇 _"Nu sunt sigur cum să implementez X. Am verificat documentația de ajutor și nu am găsit nicio mențiune."_
>
> 😢 _"Cum fac X?"_
**Păstrează cererile scurte și directe.** Aproape ca la trimiterea unui email, fiecare contribuție, oricât de simplă sau ajutătoare, cere analiza altcuiva. Multe proiecte au mai multe cereri de intrare decât oameni disponibili să ajute. Fii concis. Vei mări șansele ca cineva să te poată ajuta.
> 😇 _"Mi-ar plăcea să scriu un tutorial API."_
>
> 😢 _"Conduceam pe autostradă în ziua anterioară și am oprit pentru alimentare, și atunci am avut această idee grozavă pentru ceva ce noi ar trebui să facem, dar înainte de a explica aceea, dă-mi voie să-ți arăt..."_
**Păstrează toate comunicațiile publice.** Deși este tentant, nu lua legătura cu întreținătorii în mod privat, decât dacă trebuie să împarți informații sensibile (cum ar fi o problemă de securitate sau o violare serioasă a conduitei). Când păstrezi conversația publică, mai mulți oameni pot învăța și beneficia de schimbul tău. Discuțiile pot fi, în sine, contribuții.
> 😇 _(ca un comentariu) "@-întreținător Salut! Cum ar trebui să procedăm cu acest PR?"_
>
> 😢 _(ca un email) "Hei, îmi pare rău că te deranjez prin email, dar mă întrebam dacă ai avut o șansă de a-mi revizui PR-ul"_
**Este OK să pui întrebări (dar ai răbdare!).** Oricine a fost nou în proiect la un moment dat, și chiar contributorii cu experiență trebuie să ajungă la viteză când privesc un proiect nou. În același timp, chiar întreținătorii pe termen lung nu sunt familiari întotdeauna cu oricare parte a proiectului. Arată-le aceeași răbdare pe care ai dori să ți-o arate ei ție.
> 😇 _"Mersi pentru că te-ai uitat la această eroare. Am urmat sugestiile tale. Aici este ieșirea."_
>
> 😢 _"De ce nu-mi poți rezolva problema? Nu este acesta proiectul tău?"_
**Respectă deciziile comunității.** Ideile tale pot diferi de prioritățile și viziunea comunității. Ei ar putea oferi feedback sau decide să nu-ți urmeze ideea. În timp ce ar trebui să discutați și să căutați compromis, întreținătorii trebuie să trăiască cu decizia ta mai mult decât o vei face tu. Dacă nu ești de acord cu direcția lor, tu poți mereu lucra pe propria ta ramură sau să începi propriul tău proiect.
> 😇 _"Sunt dezamăgit că nu puteți susține cazul meu de utilizare, dar după cum ați explicat el afectează doar o porțiune mică din utilizatori, înțeleg de ce. Mersi că m-ai ascultat."_
>
> 😢 _"De ce nu îmi veți susține cazul de utilizare? Este inacceptabil!"_
**Mai presus de toate, păstrează eleganța.** Open source este alcătuit din colaboratori din toată lumea. Contextul se pierde de-a lungul limbilor, culturilor, geografiilor, și fusurilor orare. În plus, comunicarea scrisă face mai dificilă transmiterea unui ton sau a unei dispoziții. Presupune intenții bune în aceste conversații. Este bine să împingi politicos o idee, să ceri mai mult context, sau să îți clarifici poziția mai departe. Doar încearcă să lași internetul un loc mai bun decât cum l-ai găsit.
### Obținerea de context
Înainte de a face orice, realizează o verificare rapidă să te asiguri că ideea ta nu a fost discutată altundeva. Răsfoiește README-ul proiectului, problemele (deschise și închise), lista de email-uri, și Stack Overflow. Nu trebuie să petreci ore trecând prin tot, dar după o căutare rapidă pentru câțiva termeni cheie ajută mult.
Dacă nu-ți poți găsi ideea altundeva, ești pregătit să faci o mutare. Dacă proiectul este pe GitHub, probabil vei comunica deschizând o problemă sau o cerere de pull:
* **Problemele** sunt precum ai începe o conversație sau o discuție
* **Cererile de pull** sunt pentru a începe lucrul pe o soluție
* **Pentru comunicare ușoară,** cum ar fi o întrebare clarificatoare sau de tip cum-să, încercați să întrebați pe Stack Overflow, IRC, Slack, sau alte canale de chat, dacă proiectul are unul
Înainte de a deschide o problemă sau o cerere de pull, verifică documentația de contribuire a proiectului (de obicei un fișier numit CONTRIBUTING, sau în README), pentru a vedea dacă trebuie să incluzi ceva specific. De exemplu, ei îți pot cere să urmezi un șablon, sau să îți ceară să folosești teste.
Dacă dorești să faci o contribuție substanțială, deschide o problemă și întreabă înainte de a lucra pe ea. Este de ajutor să urmăriți proiectul un timp (pe GitHub, [poți da clic pe "Watch"](https://help.github.com/articles/watching-repositories/) pentru a fi anunțat de toate conversațiile), și să începi să cunoști membrii comunității, înainte de a face muncă ce ar putea să nu fie acceptată.
### Deschiderea unei probleme
De obicei tu ar trebui să deschizi o problemă în următoarele situații:
* Raportezi o eroare pe care nu o poți rezolva singur
* Discutați un subiect de nivel înalt sau o idee (de exemplu, comunitate, viziune sau politici)
* Propui o nouă facilitate sau altă idee de proiect
Sfaturi pentru comunicarea pe probleme:
* **Dacă vezi o problemă deschisă pe care vrei să o abordezi,** comentează la ea pentru a lăsa oamenii să știe că lucrezi pe ea. În acest fel, este mai puțin probabil ca oamenii să îți dubleze munca.
* **Dacă o problemă a fost deschisă cu ceva timp în urmă,** este posibil ca aceasta să fie adresată în altă parte, sau a fost deja rezolvată, deci comentează pentru a cere confirmare înainte de a începe munca.
* **Dacă ai deschis o problemă, dar ți-ai dat seama de răspuns singur mai târziu,** comentează la problemă pentru a lăsa oamenii să știe, apoi închideți problema. Chiar documentarea acestui rezultat este o contribuție la proiect.
### Deschiderea unei cereri de pull
Ar trebui de obicei să deschideți o cerere de pull în următoarele situații:
* Trimiți corectări simple (de exemplu, o greșeală gramaticală, un link nefuncțional sau o eroare evidentă)
* Începi lucrul pe o contribuție care a fost deja cerută, sau pe care ați discutat-o deja, într-o problemă
O cerere de pull nu trebuie să reprezinte muncă finalizată. Este de obicei mai bine să deschizi o cerere de pull mai devreme, astfel încât alții pot să urmărească sau să ofere feedback asupra progresului tău. Doar marcheaz-o ca „WIP” (Work in Progress) în linia de subiect. Poți întotdeauna adăuga mai multe commit-uri mai târziu.
Dacă proiectul este pe GitHub, iată cum trimiți o cerere de pull:
* **[Bifurcă depozitul](https://guides.github.com/activities/forking/)** și clonează-l local. Conectează depozitul local la depozitul „upstream” original prin adăugarea lui ca un remote. Trage înăuntru schimbările din „upstream” des pentru a fii la curent astfel încât când îți trimiți cererea de pull, conflictele de îmbinare vor fi mai puțin probabile. (Vezi instrucțiuni mai detaliate [aici](https://help.github.com/articles/syncing-a-fork/).)
* **[Creează o ramură](https://guides.github.com/introduction/flow/)** pentru editările tale.
* **Referă oricare problemă relevantă** sau documentație justificativă în PR-ul tău (de exemplu, „Closes #37.”)
* **Include capturi de ecran de dinainte și de după** dacă schimbările tale includ diferențe în HTML/CSS. Trage și lasă imaginile în corpul cererii tale de pull.
* **Testează-ți schimbările!** Rulează-ți schimbările prin oricare teste existente și creează noi teste când este necesar. Fie că testele există sau nu, asigură-te că schimbările tale nu strică proiectul existent.
* **Contribuie în stilul proiectului** cât de bine poți. Aceasta poate însemna a folosi indentări, punct și virgulă, sau comentarii în mod diferit față de cum le-ai folosi în propriul tău depozit, dar face mai ușor pentru întreținător să îmbine, altora să înțeleagă și să întrețină în viitor.
Dacă acesta este prima ta cerere de pull, aruncă o privire la [Make a Pull Request](http://makeapullrequest.com/), pe care @kentcdodds l-a creat ca un tutorial video. Poți de asemenea practica facerea de cereri de pull în depozitul [First Contributions](https://github.com/Roshanjossey/first-contributions), creat de @Roshanjossey.
## Ce are loc după ce trimiți o contribuție?
Ai făcut-o! Felicitări pentru că ai devenit un contributor la open source. Sperăm că este prima contribuție din multe.
După ce ai trimis o contribuție, una din următoarele va avea loc:
### 😭 Nu primești un răspuns.
Sperăm că ai [verificat proiectul pentru semne de activitate](#o-listă-de-verificare-înainte-de-a-contribui) înainte de a face o contribuție. Chiar și pe un proiect activ, totuși, este posibil ca a ta contribuție să nu primească un răspuns.
Dacă nu ai primit un răspuns în peste o săptămână, este corect să răspunzi politicos în același fir de discuție, cerând cuiva o analiză. Dacă știi numele persoanei potrivite care să-ți analizeze contribuția, o poți @-menționa în acel fir de discuție.
**Nu** aborda acea persoană în privat; ține minte că comunicarea publică este vitală la proiectele cu sursă deschisă.
Dacă faci un bump politicos și încă nimeni nu răspunde, este posibil ca nimeni să nu răspundă, niciodată. Nu este un sentiment grozav, dar nu-l lăsa să te descurajeze. S-a întâmplat tuturor! Sunt multe motive posibile pentru care tu nu ai primit un răspuns, incluzând circumstanțe personale care ar putea fi în afara controlului tău. Încearcă să găsești un alt proiect sau cale de a contribui. Dacă e ceva, acesta este un bun motiv pentru a nu investi prea mult timp în a face o contribuție înainte ca alți membri ai comunității să fie implicați și sensibili.
### 🚧 Cineva cere schimbări la contribuția ta.
Este obișnuit ca cineva să îți ceară să faci schimbări la contribuția ta, fie că aceasta este feedback în domeniul ideii tale, sau schimbări la codul tău.
Când cineva cere schimbări, fii sensibil. Ei și-au luat din timp pentru a analiza contribuția ta. Deschiderea unui PR și apoi plecarea departe este o formă proastă. Dacă nu știi cum să faci schimbări, cercetează problema, apoi cere ajutor dacă ai nevoie de el.
Dacă nu ai timp să mai lucrezi pe problemă (de exemplu, dacă conversația are loc de câteva luni, și circumstanțele tale s-au schimbat), lasă întreținătorul să știe ca să nu aștepte un răspuns. Altcineva ar putea fi fericit să preia controlul.
### 👎 Contribuția ta nu este acceptată.
Contribuția ta poate fi sau nu acceptată la sfârșit. Sperăm că nu ai pus prea mult efort în ea deja. Dacă nu ești sigur de ce nu a fost acceptată, este perfect rezonabil să întrebi ceri întreținătorului feedback și clarificare. În final, oricum, trebuie să respecți că aceasta este decizia lor. Nu certa și nu deveni ostil. Ești întotdeauna binevenit să bifurci și să lucrezi pe propria ta versiune dacă nu ești de acord!
### 🎉 Contribuția ta este acceptată.
Ura! Ai făcut cu succes o contribuție open source!
## Ai făcut-o!
Fie că ai făcut doar prima ta contribuție open source, sau cauți noi căi de a contribui, sperăm că ești inspirat să acționezi. Chiar dacă contribuția ta nu a fost acceptată, nu uita să spui mersi când un întreținător a pus efort în a te ajuta. Open source este făcut de oameni ca tine: câte o problemă, cerere de pull, un comentariu, sau un bate-palma pas cu pas.
================================================
FILE: _articles/ro/index.html
================================================
---
layout: index
title: Ghiduri Open Source
lang: ro
permalink: /ro/
---
================================================
FILE: _articles/ro/leadership-and-governance.md
================================================
---
lang: ro
title: Conducere și guvernare
description: Proiectele în creștere cu sursă deschisă pot beneficia de reguli formale pentru luarea deciziilor.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Înțelegerea guvernării pentru proiectul tău în creștere
Proiectul tău este în creștere, oamenii sunt angajați, și ești angajat să ții acest lucru tot așa. În această etapă, s-ar putea să te întrebi cum să încorporezi contributori obișnuiți ai proiectului în fluxul tău de lucru, fie că este vorba de a da cuiva permisiunea de a face commit-uri sau rezolvarea dezbaterilor comunității. Dacă tu ai întrebări, noi avem răspunsuri.
## Care sunt exemplele de roluri formale utilizate în proiecte cu sursă deschisă?
Multe proiecte urmează o structură similară pentru rolurile și recunoașterea contributorilor.
Ce aceste roluri înseamnă de fapt, totuși, depinde doar de tine. Iată câteva tipuri de roluri pe care le-ai putea recunoaște:
* **Întreținător**
* **Contributor**
* **Committer**
**Pentru unele proiecte, „întreținătorii”** sunt singurele persoane din proiect cu acces de commit. În alte proiecte, ei sunt pur și simplu oamenii care sunt listați în README ca întreținători.
Un întreținător nu trebuie să fie neapărat cineva care scrie cod pentru proiectul tău. Poate fi cineva care a făcut multă muncă promovându-ți proiectul, sau a scris documentație care a făcut proiectul mai accesibil altora. Indiferent de ce face zi de zi, un întreținător este probabil cineva care simte responsabilitate asupra direcției proiectului și este angajat la îmbunătățirea lui.
**Un „contributor” ar putea fi oricine** care comentează la o problemă sau la o cerere de pull, oameni care adaugă valoare proiectului (fie că este trierea de probleme, scrierea de cod, sau organizarea de evenimente), sau oricine cu o cerere de pull îmbinată (poate cea mai restrânsă definiție a unui contributor).
**Termenul „committer”** poate fi folosit pentru a distinge accesul la commit, care este un tip specific de responsabilitate, de alte forme de contribuție.
În timp ce poți defini rolurile proiectului tău în orice fel îți place, [consideră folosirea de definiții mai largi](../how-to-contribute/#ce-înseamnă-să-contribui) pentru a încuraja mai multe forme de contribuție. Poți folosi roluri de conducere pentru a recunoaște în mod oficial pe oamenii care au făcut contribuții remarcabile la proiectul tău, indiferent de abilitățile lor tehnice.
## Cum formalizez aceste roluri de conducere?
Formalizarea rolurilor de conducere ajută oamenii să se simtă proprietari și spune celorlalți membri ai comunității pe cine să caute pentru ajutor.
Pentru un proiect mai mic, desemnarea liderilor poate fi atât de simplă ca adăugarea numelor lor la fișierul tău text README sau CONTRIBUTORS.
Pentru un proiect mai mare, dacă ai un site web, creează o pagină a echipei sau listează liderii proiectului tău acolo. De exemplu, [Postgres](https://github.com/postgres/postgres/) are o [pagină cuprinzătoare a echipei](https://www.postgresql.org/community/contributors/) cu profiluri scurte pentru fiecare contributor.
Dacă proiectul tău are o comunitate de contributori foarte activă, ai putea să formezi o „echipă de bază” a întreținătorilor, sau chiar subcomitete ale oamenilor care preiau conducerea unor domenii de probleme diferite (de exemplu, securitate, trierea problemelor, sau conduita comunității). Lasă oamenii să se autoorganizeze și să aplice pentru voluntariat în rolurile de care sunt cei mai încântați, în loc să li le atribui.
Echipele de conducere ar putea dori să creeze un canal desemnat (cum ar fi pe IRC) sau să se întâlnească periodic să discute despre proiect (cum ar fi pe Gitter sau Google Hangouts). Poți chiar face aceste întâlniri publice astfel încât alți oameni pot asculta. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), de exemplu, [găzduiește ore de lucru săptămânal](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Odată ce ai stabilit roluri de conducere, nu uita să documentezi modul în care oamenii pot să le atingă! Stabilește un proces clar pentru cum cineva poate deveni un întreținător sau să se alăture unui subcomitet în cadrul proiectului tău, și scrie aceasta în GOVERNANCE.md-ul tău.
Unelte cum ar fi [Vossibility](https://github.com/icecrime/vossibility-stack) pot să te ajute să urmărești în mod public cine face (sau nu) contribuții la proiect. Documentarea acestor informații evită percepția comunității că întreținătorii sunt o clică ce își ia deciziile în privat.
În cele din urmă, dacă proiectul tău este pe GitHub, consideră mutarea proiectului tău din contul personal într-o organizație și adăugarea a cel puțin unui administrator de rezervă. [Organizațiile GitHub](https://help.github.com/articles/creating-a-new-organization-account/) ușurează gestionarea permisiunilor și multiplelor depozite și protejează moștenirea proiectului tău prin [proprietate comună](../building-community/#împarte-proprietatea-proiectului-tău).
## Când ar trebui să dau cuiva acces de commit?
Unii oameni gândesc că ar trebui să dea acces de commit la oricine face o contribuție. Făcând astfel ar putea încuraja mai mulți oameni să se simtă proprietari asupra proiectului tău.
Pe de altă parte, în special pentru proiectele mai mari, mai complexe, ai putea vrea să dai acces de commit doar oamenilor care și-au demonstrat angajamentul. Nu există o singură cale corectă de a face aceasta - fă ce te face cel mai confortabil!
Dacă proiectul tău este pe GitHub, poți folosi [ramuri protejate](https://help.github.com/articles/about-protected-branches/) pentru a gestiona cine poate face push spre o anumită ramură, și în care circumstanțe.
## Care sunt unele dintre structurile obișnuite de guvernanță pentru proiectele cu sursă deschisă?
Există trei structuri obișnuite de guvernanță asociate cu proiectele cu sursă deschisă.
* **BDFL:** BDFL înseamnă "Benevolent Dictator for Life" (Dictator binevoitor pentru viață). În cadrul acestei structuri, o persoană (de obicei autorul inițial al proiectului) are ultimul cuvânt asupra tuturor deciziilor majore legate de proiect. [Python](https://github.com/python) este un exemplu clasic. Proiectele mai mici sunt probabil BDFL în mod implicit, deoarece există doar unul sau doi întreținători. Un proiect care își are originea la o companie ar putea de asemenea intra în categoria BDFL.
* **Meritocrația:** **(Notă: termenul „meritocrație” are conotații negative pentru unele comunități și are o [istorie socială și politică complexă](http://geekfeminism.wikia.com/wiki/Meritocracy).)** În cadrul unei meritocrații, contributorii activi ai proiectului (aceia care demonstrează „merit”) primesc un rol oficial de luare a deciziilor. Deciziile sunt de obicei luate bazat pe consens pur votat. Conceptul de meritocrație o are ca pionieră pe [Fundația Apache](https://www.apache.org/); [toate proiectele Apache](https://www.apache.org/index.html#projects-list) sunt meritocrații. Contribuțiile pot fi făcute doar de indivizi care se reprezintă pe sine, nu printr-o companie.
* **Contribuție liberală:** În cadrul unui model de contribuție liberală, oamenii care fac cea mai multă muncă sunt recunoscuți ca cei mai influenți, dar aceasta se bazează pe munca din prezent și nu pe contribuții istorice. Deciziile majore legate de proiect sunt făcute pe baza unui proces de căutare de consens (discută plângerile majore) în loc de votare pură, și se străduiesc să includă cât mai multe perspective posibil din comunitate. Exemple populare de proiecte care folosesc un model de contribuție liberală includ [Node.js](https://foundation.nodejs.org/) și [Rust](https://www.rust-lang.org/).
Pe care dintre ele ar trebui să o folosești? Depinde de tine! Fiecare model are avantaje și compromisuri. Și chiar dacă ele ar putea să-ți pară destul de diferite la început, toate cele trei modele au mai mult în comun decât pare. Dacă ești interesat în a adopta una dintre aceste modele, aruncă o privire la aceste șabloane:
* [șablon pentru modelul BDFL](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [șablon pentru modelul meritocratic](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [politica de contribuție liberală a Node.js](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Am nevoie de documente de guvernare atunci când lansez proiectul meu?
Nu există moment potrivit să notezi guvernarea proiectului tău, dar este mult mai ușor să o definești odată ce ai văzut acea dinamică a comunitații jucând. Cea mai bună (și cea mai grea) parte despre guvernarea open source este faptul că este modelată de comunitate!
Totuși unele documente inițiale vor contribui la guvernarea proiectului tău în mod inevitabil, deci începe să notezi ce poți. De exemplu, poți defini așteptări clare privind comportamentul, sau cum funcționează procesul tău de contribuire, chiar la lansarea proiectului tău.
Dacă ești parte dintr-o companie care lansează un proiect cu sursă deschisă, merită să aveți o discuție internă înainte de lansare despre cum compania voastră se așteaptă să mențină și să facă decizii cu privire la proiectul care merge înainte. Poate ați dori de asemenea să explicați în mod public oricare detaliu cu privire la cum compania va fi (sau nu va fi!) implicată în proiect.
## Ce se întâmplă dacă angajați din companii încep să trimită contribuții?
Proiectele open source de succes sunt folosite de mulți oameni și companii, și unele companii pot avea în cele din urmă fluxuri de venit eventual legate de proiect. De exemplu, o companie ar putea folosi codul proiectului ca o componentă într-o ofertă de serviciu comercial.
Pe măsură ce proiectul este utilizat pe scară mai largă, oamenii care au experiență în acest domeniu devin mai solicitați - tu ai putea fi unul dintre ei! - și câteodată vor fi plătiți pentru munca pe care o fac în cadrul proiectului.
Este important să tratezi activitatea comercială ca normală și exact ca pe o altă sursă de energie de dezvoltare. Dezvoltatorii plătiți nu ar trebui să primească tratament special în comparație cu cei neplătiți, de sigur; fiecare contribuție trebuie să fie evaluată pe baza meritelor ei tehnice. Totuși, oamenii ar trebui să se simtă confortabil cu angajarea în activitate comercială, și să se simtă confortabil când își afirmă cazurile de utilizare când argumentează în favoarea unei anumite îmbunătățiri sau facilități.
„Comercial” este complet compatibil cu „sursă deschisă”. „Comercial” doar înseamna că acolo undeva sunt bani implicați - că softul este folosit în comerț, ceea ce este din ce în ce mai probabil pe măsură ce un proiect devine mai adoptat. (Când un soft cu sursă deschisă este folosit ca parte dintr-un produs cu sursă nedeschisă, produsul în ansamblu este încă soft „proprietar”, totuși, la fel ca sursa deschisă, el poate fi folosit pentru scopuri comerciale sau necomerciale.)
La fel ca oricine altcineva, dezvoltatorii motivați comercial câștigă influență în proiect prin calitatea și cantitatea contribuțiilor lor. În mod evident, un dezvoltator care este plătit pentru timpul său ar putea să facă mai mult decât cineva care nu este plătit, dar asta este OK: plata este doar unul dintre posibilii factori care ar putea afecta cât face cineva. Păstrează-ți discuțiile de proiect concentrate pe contribuții, nu pe factorii externi care dau posibilitatea oamenilor să facă aceste contribuții.
## Am nevoie de o entitate juridică pentru a-mi susține proiectul?
Nu ai nevoie de o entitate juridică pentru a-ți susține proiectul cu sursă deschisă decât dacă lucrezi cu bani.
De exemplu, dacă dorești să creezi o afacere comercială, vei dori să înființezi un C Corp sau LLC (dacă ești stabilit în SUA). Dacă faci doar muncă cu contract legată de proiectul tău cu sursă deschisă, poți accepta bani ca unic proprietar, sau să înființezi un LLC (dacă ești stabilit în SUA).
Dacă vrei să accepți donații pentru proiectul tău cu sursă deschisă, poți crea un buton de donație (folosind PayPal sau Stripe, de exemplu), dar banii nu vor fi deductibili fiscal decât dacă ești o organizație nonprofit calificată (un 501c3, dacă ești în SUA).
Multe proiecte nu doresc să treacă prin dificultățile de înființare a unei organizații nonprofit, deci ele găsesc în schimb un sponsor fiscal nonprofit. Un sponsor fiscal acceptă donații în numele tău, de obicei în schimbul unui procent din donație. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) și [Open Collective](https://opencollective.com/opensource) sunt exemple de organizații care servesc drept sponsori fiscali pentru proiecte cu sursă deschisă.
Dacă proiectul tău este strâns legat de un anumit limbaj sau ecosistem, ar putea de asemenea exista o fundație software cu care poți lucra. De exemplu, [Python Software Foundation](https://www.python.org/psf/) ajută la sprijinirea [PyPI](https://pypi.org/), gestionarul de pachete Python, și [Node.js Foundation](https://foundation.nodejs.org/) ajută la sprijinirea [Express.js](https://expressjs.com/), un cadru de lucru bazat pe Node.
================================================
FILE: _articles/ro/legal.md
================================================
---
lang: ro
title: Latura juridică a open source
description: Tot ce te-ai întrebat vreodată de latura juridică a open source, și câteva lucruri de care nu te-ai întrebat.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Înțelegerea implicațiilor legale ale sursei deschise
Împărtășirea muncii tale creative cu lumea poate fi o experiență încântătoare și recompensantă. Ea poate să însemne de asemenea o grămadă de lucruri legale de care nu știai că trebuia să te îngrijorezi. Din fericire, nu trebuie să începi de la zero. Îți avem nevoile legale acoperite. (Înainte de săpa, asigură-te că ne citești [exonerarea](/notices/).)
## De ce oamenilor le pasă atât de mult de partea juridică a open source?
Mă bucur că ai întrebat! Când realizezi muncă creativă (cum ar fi scris, grafică, sau cod), acea muncă este sub drepturi de autor exclusive în mod implicit. Aceasta înseamnă că legea presupune că fiind autorul muncii tale, ai un cuvânt de spus în legătură cu ce pot ceilalți să facă cu ea.
În general, aceea înseamnă că nimeni altcineva nu poate folosi, copia, distribui, sau modifica munca ta fără să fie sub riscul de dărâmări, scuturări, sau litigii.
Open source este o circumstanță neobișnuită, totuși, deoarece autorul se așteaptă că ceilalți vor folosi, modifica, și distribui munca. Dar fiindcă implicitul legal este încă drepturi de autor exclusive, ai nevoie de o licență care afirmă în mod explicit aceste permisiuni.
Dacă nu aplici o licență open source, oricine contribuie la proiectul tău devine de asemenea un deținător exclusiv de drepturi de autor al muncii lor. Aceasta înseamnă că nimeni nu poate folosi, copia, distribui, sau modifica acele contribuții ale lor -- și că acel „nimeni” te include pe tine.
În cele din urmă, proiectul tău poate avea dependențe cu cerințe de licență de care nu ai cunoștință. Comunitatea proiectului tău, sau politicile angajatorului tău, pot de asemenea să ceară proiectului tău să folosească anumite licențe open source. Vom acoperi aceste situații mai jos.
## Sunt proiectele GitHub publice open source?
Când tu [creezi un proiect nou](https://help.github.com/articles/creating-a-new-repository/) pe GitHub, ai opțiunea să faci depozitul **privat** sau **public**.

**A face proiectul tău GitHub public nu este același lucru cu licențierea proiectului tău.** Proiectele publice sunt acoperite de [Termenii serviciului GitHub](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), care permite altora să vadă și să bifurce proiectul tău, dar munca ta în rest vine fără permisiuni.
Dacă dorești ca alții să folosească, să distribuie, să modifice, sau să contribuie înapoi la proiectul tău, tu trebuie să incluzi o licență open source. De exemplu, cineva nu poate în mod legal folosi nicio parte a proiectului tău GitHub în codul lor, chiar dacă este public, decât dacă tu le dai în mod explicit dreptul să facă acest lucru.
## Doar dă-mi TL;DR-ul a ce-mi trebuie pentru a-mi proteja proiectul.
Ai noroc, deoarece astăzi, licențele de sursă deschisă sunt standardizate și ușor de folosit. Poți da copiere-lipire unei licențe existente direct în proiectul tău.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), și [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) sunt cele mai populare licențe open source, dar există alte opțiuni din care să alegi. Poți găsi textul întreg al acestor licențe, și instrucțiuni despre cum să le folosești, pe [choosealicense.com](https://choosealicense.com/).
Când creezi un nou proiect pe GitHub, ți se va [cere să adaugi o licență](https://help.github.com/articles/open-source-licensing/).
## Ce licență open source este potrivită pentru proiectul meu?
Dacă pornești cu o tablă curată, este greu să greșești cu [licența MIT](https://choosealicense.com/licenses/mit/). Este scurtă, foarte ușor de înțeles, și permite oricui să facă orice atâta timp cât păstrează o copie a licenței, inclusiv nota ta cu drepturile de autor. Vei putea să-ți lansezi proiectul sub o licență diferită dacă vei avea nevoie vreodată.
Altfel, a alege licența potrivită de sursă deschisă pentru proiectul tău depinde de obiectivele tale.
Proiectul tău cel mai probabil are (sau va avea) **dependențe**. De exemplu, dacă deschizi sursa unui proiect Node.js, probabil vei folosi biblioteci din Node Package Manager (npm). Fiecare din acele biblioteci de care depinzi va avea propria sa licență de sursă deschisă. Dacă fiecare din licențele lor este „permisivă” (dă permisiunea publică de a folosi, modifica, și distribui, fără nicio condiție pentru licențierea în aval), poți folosi oricare licență vrei. Licențe permisive obișnuite includ MIT, Apache 2.0, ISC, și BSD.
Pe de altă parte, dacă oricare din licențele dependențelor tale este „copyleft puternic” (de asemenea oferă aceleași permisiuni publice, cu condiția de a folosi aceeași licență în aval), atunci proiectul tău va trebui să folosească aceeași licență. Licențele obișnuite cu copyleft puternic includ GPLv2, GPLv3, și AGPLv3.
Poate dorești de asemenea să consideri **comunitățile** care speri că vor folosi și contribui la proiectul tău:
* **Dorești ca proiectul tău să fie folosit ca o dependență de alte proiecte?** Probabil cel mai bine este să utilizezi cea mai populară licență în comunitatea ta relevantă. De exemplu, [MIT](https://choosealicense.com/licenses/mit/) este cea mai populară licență pentru [biblioteci npm](https://libraries.io/search?platforms=NPM).
* **Dorești ca proiectul tău să atragă afaceri mari?** O afacere mare cel mai probabil va dori o licență de brevet expres de la toți contributorii. În acest caz, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) te are (și îi are) acoperit.
* **Dorești ca proiectul tău să atragă contributori care nu doresc ca acele contribuții ale lor să fie folosite în software cu sursă închisă?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) sau (dacă ei de asemenea nu vor să contribuie la servicii cu sursă închisă) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) vor merge mai bine.
Este posibil ca această **companie** a ta să aibă cerințe specifice de licențiere pentru proiectele ei cu sursă deschisă. De exemplu, ar putea avea nevoie de o licență permisivă astfel încât compania poate folosi proiectul tău în produsul cu sursă închisă al companiei. Sau compania ta ar putea necesita o licență cu copyleft puternic și un acord de contributor în plus (vezi mai jos) astfel încât doar compania ta, și nimeni altcineva, poate folosi proiectul tău în software cu sursă închisă. Sau compania ta ar putea avea anumite nevoi legate de standarde, responsabilitate socială, sau transparență, oricare din acestea putând necesita o anumită strategie de licențiere. Vorbește cu [departamentul juridic al companiei tale](#ce-trebuie-să-știe-echipa-juridică-a-companiei-mele).
Când creezi un proiect nou pe GitHub, ți se dă opțiunea de a alege o licență. Incluzând una din licențele menționate mai sus îți va face proiectul tău GitHub să fie open source. Dacă dorești să vezi alte opțiuni, aruncă o privire la [choosealicense.com](https://choosealicense.com) pentru a găsi licența potrivită pentru proiectul tău, chiar dacă el [nu este software](https://choosealicense.com/non-software/).
## Ce se întâmplă dacă vreau să schimb licența proiectului meu?
Majoritatea proiectelor nu necesită niciodată schimbarea licențelor. Dar ocazional circumstanțele se schimbă.
De exemplu, pe măsură ce proiectul tău crește el adaugă dependențe sau utilizatori, sau compania ta schimbă strategiile, oricare din acestea ar putea necesita sau dori o licență diferită. De asemenea, dacă ai neglijat licențierea proiectului tău de la început, adăugarea unei licențe este efectiv la fel ca schimbarea licențelor. Există trei lucruri fundamentale de considerat când se adaugă sau se schimbă licența proiectului tău:
**Este complicat.** Determinarea compatibilității și conformității licenței și cine deține drepturile de autor poate deveni complicat și confuz foarte repede. Trecerea la o licență nouă dar compatibilă pentru lansări și contribuții noi este diferită de relicențierea tuturor contribuțiilor existente. Implică echipa ta juridică la primul indiciu de orice dorință de a schimba licențele. Chiar dacă ai sau poți obține permisiunea de la deținătorii de drepturi de autor ai proiectului tău pentru o schimbare de licență, consideră impactul schimbării asupra celorlalți utilizatori și contributori ai proiectului tău. Gândește-te la o schimbare a licenței ca la un „eveniment de guvernare” pentru proiectul tău care va decurge lin mai probabil cu comunicări clare și consultări cu părțile interesate ale proiectului tău. Cu atât mai mult motiv pentru a alege și a folosi o licență potrivită pentru proiectul tău încă de la început!
**Licența existentă a proiectului tău.** Dacă licența existentă a proiectului tău este compatibilă cu licența la care vrei să treci, ai putea pur și simplu să începi să folosești noua licență. Aceasta este fiindcă dacă licența A este compatibilă cu licența B, te vei conforma termenilor lui A în timp ce te conformezi termenilor lui B (dar nu în mod necesar vice versa). Deci dacă tu folosești în prezent o licență permisivă (de exemplu, MIT), ai putea să treci la o licență cu mai multe condiții, atâta timp cât păstrezi o copie a licenței MIT și oricare note de drepturi de autor asociate (adică să continui să te conformezi condițiilor minimale ale licenței MIT). Dar dacă licența curentă a ta nu este permisivă (de exemplu, copyleft, sau nu ai o licență) și tu nu ești singurul deținător de drepturi de autor, nu ai putea pur și simplu să schimbi licența proiectului tău la MIT. Pe scurt, cu o licență permisivă deținătorii de drepturi de autor ai proiectului au oferit permisiunea în avans de schimbare a licențelor.
**Deținătorii existenți de drepturi de autor ai proiectului tău.** Dacă ești singurul contributor la proiectul tău atunci fie tu, fie compania ta, ești singurul deținător de drepturi de autor al proiectului. Poți adăuga sau trece la orice licență dorești tu sau compania ta. Altfel ar putea exista alți deținători de drepturi de autor de la care ai nevoie de acord pentru a schimba licențele. Cine sunt ei? Oamenii care au commit-uri în proiectul tău sunt un punct bun de pornire. Dar în unele cazuri drepturile de autor vor fi păstrate de angajatorii acelor oameni. În unele cazuri oamenii vor fi având doar contribuții minimale, dar nu există o regulă grea și rapidă că acele contribuții sub un anumit număr de linii de cod nu sunt subiectul drepturilor de autor. Ce să faci? Depinde. Pentru un proiect relativ mic și tânăr, ar putea fi fezabil să obții acordul tuturor contributorilor existenți asupra schimbării unei licențe într-o problemă sau o cerere de pull. Pentru proiecte mari și de lungă durată, ar putea fi nevoie să cauți mulți contributori și chiar moștenitorii lor. Mozilla a avut nevoie de ani (2001-2006) pentru a relicenția Firefox, Thunderbird, și software-uri aferente.
În mod alternativ, poți avea contributori care să fie de acord în prealabil (printr-un acord în plus de contributor -- vezi mai jos) cu anumite schimbări ale licenței în unele condiții, dincolo de cele permise de licența ta open source existentă. Aceasta schimbă complexitatea schimbării licențelor puțin. Vei avea nevoie de mai mult ajutor din partea avocaților tăi, și încă vei dori să comunici clar cu părțile interesate ale proiectului tău când execuți o modificare a licenței.
## Proiectul meu are nevoie de o înțelegere cu contributorii în plus?
Probabil că nu. Pentru marea majoritate a proiectelor open source, o licență open source implicit servește atât ca licență de intrare (de la contributori) cât și de ieșire (celorlalți contributori și utilizatori). Dacă proiectul tău este pe GitHub, Termenii serviciului GitHub fac „intrare = ieșire” [explicitul implicit](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Un acord de contributor în plus -- deseori numit un Contributor License Agreement (CLA) -- poate crea muncă administrativă pentru întreținătorii proiectului. Cât de multă muncă adaugă un acord depinde de proiect și de implementare. Un simplu acord ar putea necesita ca acei contributori să confirme, cu un clic, că ei au drepturile necesare să contribuie în baza licenței open source a proiectului. Un acord mai complicat ar putea necesita revizuire juridică și semnături de la angajatorii contributorilor.
De asemenea, prin adăugarea de „hârtii” pe care unii le cred nenecesare, greu de înțeles, sau nedrepte (când beneficiarul acordului primește mai multe drepturi decât contributorii sau public prin licența open source a proiectului), un acord în plus de contributor poate fi perceput ca neprietenos pentru comunitatea proiectului.
Unele situații în care ai putea dori să consideri un acord suplimentar de contributor pentru proiectul tău includ:
* Avocații tăi vor ca toți contributorii să accepte în mod expres (_semneze_, online sau offline) termenii de contribuție, poate deoarece ei simt că licența open source în sine nu este destul (chiar dacă este!). Dacă aceasta este singura îngrijorare, un acord de contributor care afirmă licența de sursă deschisă a proiectului ar trebui să fie destul. [jQuery Individual Contributor License Agreement](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) este un exemplu bun de un acord suplimentar ușor de contributor. Pentru unele proiecte, un [Developer Certificate of Origin](https://github.com/probot/dco) poate fi o alternativă.
* Proiectul tău folosește o licență de sursă deschisă care nu include o acordare expresă de brevet (cum ar fi MIT), și ai nevoie de o acordare de brevet de la toți contributorii, dintre care unii ar putea lucra pentru companii cu portofolii largi de brevete care ar putea să fie folosite să te țintească pe tine sau pe ceilalți contributori și utilizatori ai proiectului. [Individual Contributor License Agreement al Apache](https://www.apache.org/licenses/icla.pdf) este un acord suplimentar de contributor folosit în mod obișnuit care are o acordare de brevet oglindind-o pe cea găsită în Apache License 2.0.
* Proiectul tău se află sub o licență copyleft, dar tu trebuie de asemenea să distribui o versiune de proprietate a proiectului. Îți va trebui ca fiecare contributor să-ți atribuie drepturile de autor ție sau să-ți acorde ție (dar nu publicului) o licență permisivă. [Contributor Agreement al MongoDB](https://www.mongodb.com/legal/contributor-agreement) este un exemplu de acest tip de acord.
* Te gândești că proiectul tău ar putea necesita schimbarea licențelor de-a lungul duratei lui de viață și dorești ca acești contributori să fie de acord în avans cu asemenea schimbări.
Dacă într-adevăr ai nevoie să folosești un acord suplimentar de contributor cu proiectul tău, consideră folosirea unei integrări cum ar fi [CLA assistant](https://github.com/cla-assistant/cla-assistant) pentru a minimiza distragerea contributorilor.
## Ce trebuie să știe echipa juridică a companiei mele?
Dacă lansezi un proiect cu sursă deschisă ca un angajat de companie, în primul rând, echipa voastră juridică ar trebui să știe că deschizi sursa unui proiect.
Spre mai bine sau mai rău, consideră să-i anunți chiar dacă este un proiect personal. Probabil ai un „acord de angajat asupra proprietății intelectuale” cu compania ta care le dă ceva control asupra proiectelor tale, în special dacă ele sunt chiar puțin legate de afacerea companiei sau folosești vreo resursă a companiei pentru a-ți dezvolta proiectul. Compania ta _ar trebui_ să-ți dea ușor permisiunea, și poate deja a făcut-o printr-un acord de proprietate intelectuală prietenos cu angajatul sau o politică a companiei. Dacă nu, poți negocia (de exemplu, explică faptul că proiectul tău servește obiectivelor companiei de învățare și dezvoltare personală pentru tine), sau evită a lucra pe proiectul tău până când găseși o companie mai bună.
**Dacă deschizi sursa unui proiect pentru compania ta,** atunci în mod sigur lasă-i să știe. Echipa juridică probabil deja are politici pentru ce licență de sursă deschisă (și posibil un acord suplimentar de contributor) să folosească bazat pe cerințele de afaceri ale companiei și expertiza în jurul asigurării că proiectul tău se conformează licențelor dependențelor lui. Dacă nu, tu și ei sunteți norocoși! Echipa voastră juridică ar trebui să fie dornică să lucreze cu tine să rezolvi aceste treburi. Câteva lucruri la care să vă gândiți:
* **Material din terță parte:** Are proiectul tău dependențe create de alții sau altfel include sau folosește codul altora? Dacă acestea sunt cu sursă deschisă, va trebui să te conformezi licențelor de sursă deschisă ale materialelor. Aceasta începe cu alegerea unei licențe care funcționează cu licențele de sursă deschisă din terță parte (vezi mai sus). Dacă proiectul tău modifică sau distribuie material cu sursă deschisă din terță parte, atunci echipa voastră juridică va dori de asemenea să știe că satisfaci alte condiții ale licențelor de sursă deschisă din terță parte cum ar fi păstrarea notelor de drepturi de autor. Dacă proiectul tău folosește codul altora care nu are o licență de sursă deschisă, probabil va trebui să ceri întreținătorilor din terță parte să [adauge o licență de sursă deschisă](https://choosealicense.com/no-license/#for-users), și dacă nu poți obține una, oprește-te din a folosi codul lor în proiectul tău.
* **Secrete comerciale:** Consideră dacă există ceva în proiect pe care compania nu îl vrea disponibil publicului larg. Dacă da, ai putea deschide sursa restului proiectului, după extragerea materialului pe care vreți să îl păstrați privat.
* **Brevete:** Compania ta aplică pentru un brevet pentru care deschiderea sursei proiectului tău ar constitui [divulgare publică](https://en.wikipedia.org/wiki/Public_disclosure)? În mod trist, ți s-ar putea cere să aștepți (sau poate compania va reconsidera înțelepciunea aplicației). Dacă aștepți contribuții la proiectul tău de la angajatori ai unor companii cu portofolii mari de brevete, echipa voastră juridică ar putea să vrea ca tu să folosești o licență cu o acordare expresă de brevet de la contributori (cum ar fi Apache 2.0 sau GPLv3), sau un acord suplimentar de contributor (vezi mai sus).
* **Mărci comerciale:** Verifică dublu că numele proiectului tău [nu este în conflict cu vreo marcă comercială existentă](../starting-a-project/#evitarea-conflictelor-de-nume). Dacă folosești mărcile comerciale ale propriei companii în proiect, verifică că nu cauzează niciun conflict. [FOSSmarks](http://fossmarks.org/) este un ghid practic pentru înțelegerea mărcilor comerciale în contextul proiectelor cu sursă liberă sau deschisă.
* **Confidențialitate:** Proiectul tău colectează date de la utilizatori? „Telefon acasă” pe serverele companiei? Echipa voastră juridică te poate ajuta să te conformezi cu politicile companiei și reglementările externe.
Dacă lansezi primul proiect cu sursă deschisă al companiei, ce este scris mai sus este mai mult decât suficient pentru a trece peste (dar nu îți face griji, majoritatea proiectelor nu ar trebui să ridice nicio îngrijorare majoră).
Pe termen lung, echipa voastră juridică poate face mai mult pentru a ajuta compania să obțină mai mult din implicarea ei în open source, și pentru a rămâne în siguranță:
* **Politici de contribuție a angajaților:** Consideră dezvoltarea unei politici corporative care specifică felul în care angajații dumneavoastră contribuie la proiecte cu sursă deschisă. O politică clară va reduce confuzia în rândul angajaților dumneavoastră și îi va ajuta să contribuie la proiecte cu sursă deschisă în interesul companiei, fie ca parte a locurilor lor de muncă sau în timpul lor liber. Un exemplu este [Model IP and Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/) al Rackspace.
* **Ce să lansezi:** [(Aproape) totul?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Dacă echipa voastră juridică înțelege și este investită în strategia open source a companiei voastre, ei vor fi cel mai bine capabili să te ajute în loc să împiedice eforturile tale.
* **Conformare:** Chiar dacă compania ta nu lansează niciun proiect cu sursă deschisă, ea folosește software open source al altora. [Conștientizarea și procesul](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) pot preveni dureri de cap, întârzieri de produs, și procese.
* **Brevete:** Compania ta ar putea dori să se alăture la [Open Invention Network](https://www.openinventionnetwork.com/), un grup comun defensiv de brevete cu scopul de a proteja a membrilor utilizare de proiecte open source majore, sau explorează alte [licențieri alternative de brevete](https://www.eff.org/document/hacking-patent-system-2016).
* **Guvernare:** În special dacă și când are sens să treci proiectul la o [entitate juridică din afara companiei](../leadership-and-governance/#am-nevoie-de-o-entitate-juridică-pentru-a-mi-susține-proiectul).
================================================
FILE: _articles/ro/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: ro
untranslated: true
title: Maintaining Balance for Open Source Maintainers
description: Tips for self-care and avoiding burnout as a maintainer.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
As an open source project grows in popularity, it becomes important to set clear boundaries to help you maintain balance to stay refreshed and productive for the long run.
To gain insights into the experiences of maintainers and their strategies for finding balance, we ran a workshop with 40 members of the Maintainer Community, allowing us to learn from their firsthand experiences with burnout in open source and the practices that have helped them maintain balance in their work. This is where the concept of personal ecology comes into play.
So, what is personal ecology? As described by the Rockwood Leadership Institute, it involves "maintaining balance, pacing, and efficiency to sustain our energy over a lifetime." This framed our conversations, helping maintainers recognize their actions and contributions as parts of a larger ecosystem that evolves over time. Burnout, a syndrome resulting from chronic workplace stress as [defined by the WHO](https://icd.who.int/browse/2025-01/foundation/en#129180281), is not uncommon among maintainers. This often leads to a loss of motivation, an inability to focus, and a lack of empathy for the contributors and community you work with.
By embracing the concept of personal ecology, maintainers can proactively avoid burnout, prioritize self-care, and uphold a sense of balance to do their best work.
## Tips for Self-Care and Avoiding Burnout as a Maintainer:
### Identify your motivations for working in open source
Take time to reflect on what parts of open source maintenance energizes you. Understanding your motivations can help you prioritize the work in a way that keeps you engaged and ready for new challenges. Whether it's the positive feedback from users, the joy of collaborating and socializing with the community, or the satisfaction of diving into the code, recognizing your motivations can help guide your focus.
### Reflect on what causes you to get out of balance and stressed out
It's important to understand what causes us to get burned out. Here are a few common themes we saw among open source maintainers:
* **Lack of positive feedback:** Users are far more likely to reach out when they have a complaint. If everything works great, they tend to stay silent. It can be discouraging to see a growing list of issues without the positive feedback showing how your contributions are making a difference.
* **Not saying 'no':** It can be easy to take on more responsibilities than you should on an open source project. Whether it's from users, contributors, or other maintainers – we can't always live up to their expectations.
* **Working alone:** Being a maintainer can be incredibly lonely. Even if you work with a group of maintainers, the past few years have been difficult for convening distributed teams in-person.
* **Not enough time or resources:** This is especially true for volunteer maintainers who have to sacrifice their free time to work on a project.
* **Conflicting demands:** Open source is full of groups with different motivations, which can be difficult to navigate. If you're paid to do open source, your employer's interests can sometimes be at odds with the community.
### Watch out for signs of burnout
Can you keep up your pace for 10 weeks? 10 months? 10 years?
There are tools like the [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) from [@shaunagm](https://github.com/shaunagm) that can help you reflect on your current pace and see if there are any adjustments you can make. Some maintainers also use wearable technology to track metrics like sleep quality and heart rate variability (both linked to stress).
### What would you need to continue sustaining yourself and your community?
This will look different for each maintainer, and will change depending on your phase of life and other external factors. But here are a few themes we heard:
* **Lean on the community:** Delegation and finding contributors can alleviate the workload. Having multiple points of contact for a project can help you take a break without worrying. Connect with other maintainers and the wider community–in groups like the [Maintainer Community](http://maintainers.github.com/). This can be a great resource for peer support and learning.
You can also look for ways to engage with the user community, so you can regularly hear feedback and understand the impact of your open source work.
* **Explore funding:** Whether you're looking for some pizza money, or trying to go full time open source, there are many resources to help! As a first step, consider turning on [GitHub Sponsors](https://github.com/sponsors) to allow others to sponsor your open source work. If you're thinking about making the jump to full-time, apply for the next round of [GitHub Accelerator](http://accelerator.github.com/).
* **Use tools:** Explore tools like [GitHub Copilot](https://github.com/features/copilot/) and [GitHub Actions](https://github.com/features/actions) to automate mundane tasks and free up your time for more meaningful contributions.
* **Rest and recharge:** Make time for your hobbies and interests outside of open source. Take weekends off to unwind and rejuvenate–and set your [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) to reflect your availability! A good night's sleep can make a big difference in your ability to sustain your efforts long-term.
If you find certain aspects of your project particularly enjoyable, try to structure your work so you can experience it throughout your day.
* **Set boundaries:** You can't say yes to every request. This can be as simple as saying, "I can't get to that right now and I do not have plans to in the future," or listing out what you're interested in doing and not doing in the README. For instance, you could say: "I only merge PRs which have clearly listed reasons why they were made," or, "I only review issues on alternate Thursdays from 6 -7 pm.”This sets expectations for others, and gives you something to point to at other times to help de-escalate demands from contributors or users on your time.
Learn to be firm in shutting down toxic behavior and negative interactions. It's okay to not give energy to things you don't care about.
Remember, personal ecology is an ongoing practice that will evolve as you progress in your open source journey. By prioritizing self-care and maintaining a sense of balance, you can contribute to the open source community effectively and sustainably, ensuring both your well-being and the success of your projects for the long run.
## Additional Resources
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Contributors
Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@abbycabs](https://github.com/abbycabs) with contributions from:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/ro/metrics.md
================================================
---
lang: ro
title: Măsurători Open Source
description: Ia decizii în cunoștință de cauză pentru a-ți ajuta proiectul cu sursă deschisă să prospere măsurând și urmărindu-i succesul.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## De ce să măsori totul?
Informațiile, când sunt folosite înțelept, te pot ajuta să iei decizii mai bune în calitate de întreținător de sursă deschisă.
Cu mai multe informații, poți:
* Înțelege cum răspund utilizatorii la o nouă facilitate
* Descoperi de unde vin utilizatorii noi
* Identifica și decide dacă dorești să susții un caz de utilizare sau funcționalitate marginale
* Cuantifica popularitatea proiectului tău
* Înțelege cum este folosit proiectul tău
* Aduna bani prin sponsorizări și subvenții
De exemplu, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) constată că Google Analytics îi ajută să prioritizeze munca:
> Homebrew este oferit gratuit și condus în întregime de voluntari în timpul lor liber. Ca rezultat, noi nu avem resursele pentru a face studii detaliate de utilizatori despre utilizatorii Homebrew pentru a decide asupra cum să proiectăm cel mai bine viitoarele facilități și cum să prioritizăm munca din prezent. Analizele de utilizatori agregate anonime ne permit să prioritizăm reparațiile și facilitățile bazat pe cum, când și unde folosesc oamenii Homebrew.
>
> Homebrew is provided free of charge and run entirely by volunteers in their spare time. As a result, we do not have the resources to do detailed user studies of Homebrew users to decide on how best to design future features and prioritise current work. Anonymous aggregate user analytics allow us to prioritise fixes and features based on how, where and when people use Homebrew.
Popularitatea nu este totul. Oricine intră în open source din motive diferite. Dacă scopul tău în calitate de întreținător open source este să-ți prezinți munca, fii transparent în legătură cu codul tău, sau doar distrează-te, măsurătorile ar putea să nu fie importante pentru tine.
Dacă _ești_ interesat în înțelegerea proiectului tău la un nivel mai profund, citește în continuare pentru a afla modalități de a analiza activitatea proiectului tău.
## Descoperire
Înainte ca oricine să poată folosi sau contribui înapoi la proiectul tău, ei trebuie să știe că el există. Întreabă-te: _găsesc oamenii acest proiect?_

Dacă proiectul tău este găzduit pe GitHub, [poți vizualiza](https://help.github.com/articles/about-repository-graphs/#traffic) câți oameni ajung la proiectul tău și de unde vin ei. Din pagina proiectului tău, fă clic pe „Insights”, apoi „Traffic”. Pe această pagină, poți vedea:
* **Vizualizări totale ale paginii:** Îți spune de câte ori a fost văzut proiectul tău
* **Totalul vizitatorilor unici:** Îți spune câti oameni au văzut proiectul tău
* **Site-uri de referință:** Îți spune de unde au venit vizitatorii. Această măsurătoare te poate ajuta să-ți dai seama unde să ajungi la publicul tău și dacă eforturile tale de promovare funcționează.
* **Conținut popular:** Îți spune unde merg vizitatorii în proiectul tău, defalcat în funcție de vizualizările de pagini și vizitatori unici.
[Stelele GitHub](https://help.github.com/articles/about-stars/) pot, de asemenea, furniza o măsură de bază a popularității. În timp ce stelele GitHub nu sunt neapărat corelate cu descărcările și utilizarea, ele îți pot spune cât de mulți oameni îți iau la cunoștință munca.
Poate ai dori de asemenea să [urmărești abilitatea de a fi descoperit în locuri specifice](https://opensource.com/business/16/6/pirate-metrics): de exemplu, Google PageRank, trafic trimis din site-ul web al proiectului tău, sau trimiteri de la alte proiecte cu sursă deschisă sau site-uri web.
## Folosire
Oamenii îți găsesc proiectul pe acest sălbatic și nebun lucru pe care îl numim Internet. În mod ideal, când îți văd proiectul, ei se vor simți obligați să facă ceva. A doua întrebare pe care o vei vrea să o pui este: _oamenii folosesc acest proiect?_
Dacă folosesți un gestionar de pachete, cum ar fi npm sau RubyGems.org, pentru a-ți distribui proiectul, ai putea să urmărești descărcările proiectului tău.
Fiecare gestionar de pachete ar putea folosi o definiție ușor diferită pentru „descărcare”, și descărcările nu sunt neapărat corelate cu instalările sau utilizarea, dar ele furnizează o bază pentru comparație. Încearcă să folosești [Libraries.io](https://libraries.io/) pentru a urmări statisticile de utilizare pe mulți gestionari populari de pachete.
Dacă proiectul tău este pe GitHub, navighează din nou pe pagina „Traffic”. Poți folosi [graficul de clonare](https://github.com/blog/1873-clone-graphs) pentru a vedea de câte ori a fost clonat proiectul tău într-o anumită zi, defalcat în funcție de totalul de clone și clonatori unici.

Dacă utilizarea este scăzută în comparație cu numărul de oameni care îți descoperă proiectul, există două probleme de luat în considerare. Fie:
* Proiectul tău nu convertește publicul tău cu succes, fie
* Atragi publicul greșit
De exemplu, dacă proiectul tău ajunge pe prima pagină a Hacker News, probabil vei vedea un vârf în descoperire (trafic), dar o rată de conversie mai mică, deoarece ajungi la toată lumea de pe Hacker News. Dacă proiectul tău Ruby este prezentat la o conferință Ruby, totuși, este mai probabil să vezi o rată de conversie înaltă de la publicul vizat.
Încearcă să-ți dai seama de unde vine publicul tău și să ceri altora feedback asupra paginii proiectului tău pentru a afla cu care din aceste două probleme te confrunți.
Odată ce știi că oamenii îți folosesc proiectul, ai putea să dorești să încerci să afli ce fac ei cu el. Ei construiesc peste el bifurcându-ți codul și adăugând facilități? Ei îl folosesc pentru știință sau afaceri?
## Retenție
Oamenii îți găsesc proiectul și îl folosesc. Întrebarea următoare pe care vei vrea să ți-o pui este: _oamenii contribuie înapoi la acest proiect?_
Nu este niciodată prea devreme să începi să te gândești la contributori. Fără ca alți oameni să pășească înăuntru, riști să te pui într-o situație nesănătoasă în care proiectul tău este _popular_ (mulți oameni îl folosesc) dar nu _susținut_ (insuficient timp al întreținătorului pentru a satisface cererea).
Retenția de asemenea cere un [influx de contributori noi](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), deoarece contributorii activi înainte vor trece la alte lucruri eventual.
Exemple de măsurători ale comunității pe care ai putea dori să le urmărești în mod obișnuit:
* **Numărul total de contributori și numărul de commit-uri per contributor:** Îți spune cât de mulți contributori ai, și cine este mai mult sau mai puțin activ. Pe GitHub, poți vizualiza aceasta în „Insights” -> „Contributors.” În prezent, acest grafic numără doar contributorii care au făcut commit către ramura implicită a depozitului.

* **Contributori pentru prima dată, ocazionali sau repetitivi:** Te ajută să urmărești dacă primești contributori noi, și dacă ei revin. (Contributorii ocazionali sunt contributori cu un număr mic de commit-uri. Fie că aceasta înseamnă un commit, mai puțin de cinci commit-uri, sau altceva, depinde de tine.) Fără contributori noi, comunitatea proiectului tău poate deveni stagnantă.
* **Numărul de probleme deschise și de cereri de pull deschise _în momentul prezent_:** Dacă aceste numere devin prea mari, ai putea avea nevoie de ajutor cu trierea problemelor și revizuirile de cod.
* **Numărul de probleme deschise și de cereri de pull deschise _până în momentul prezent_:** Problemele deschise înseamnă că cuiva îi pasă destul de proiectul tău pentru a deschide o problemă. Dacă acel număr crește de-a lungul timpului, aceasta sugerează că oameni sunt interesați de proiectul tău.
* **Tipuri de contribuții:** De exemplu, commit-uri, corectarea greșelilor de scriere sau rezolvarea de bug-uri, sau comentarea asupra unei probleme.
## Activitatea întreținătorilor
În cele din urmă, vei dori să închizi bucla asigurându-te că întreținătorii proiectului tău sunt capabili să gestioneze volumul de contribuții primit. Ultima întrebare pe care vei vrea să ți-o pui este: _răspund eu (sau răspundem noi) comunității noastre?_
Întreținătorii care nu răspund devin un blocaj pentru proiectele open source. Dacă cineva trimite o contribuție dar nu aude niciodată niciun răspuns de la un întreținător, el s-ar putea simți descurajat și ar putea pleca.
[Cercetări de la Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) sugerează că această capacitate de reacție a întreținătorilor este un factor critic în încurajarea contribuțiilor repetate.
Ia în considerare urmărirea a cât de mult durează pentru tine (sau pentru alt întreținător) să răspunzi contribuțiilor, fie o problemă, fie o cerere de pull. A răspunde nu necesită luarea de măsuri. Poate fi atât de simplu ca a spune: _„Mersi pentru înregistrare! O voi revizui pe parcursul săptămânii viitoare.”_
Ai putea de asemenea măsura timpul necesar pentru a trece între etapele din procesul de contribuție, cum ar fi:
* Durata medie de timp în care o problemă rămâne deschisă
* Dacă problemele se închid prin PR-uri
* Dacă problemele vechi se închid
* Durata medie de timp pentru a îmbina o cerere de pull
## Folosește 📊 pentru a învăța despre oameni
Înțelegerea măsurătorilor te va ajuta să construiești un proiect cu sursă deschisă activ, în creștere. Chiar dacă nu urmărești toate măsurătorile pe un panou de control, folosește cadrul de lucru de mai sus pentru a-ți concentra atenția pe tipul de comportament care îți va ajuta proiectul să prospere.
================================================
FILE: _articles/ro/security-best-practices-for-your-project.md
================================================
---
lang: ro
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/ro/starting-a-project.md
================================================
---
lang: ro
title: Pornind un proiect cu sursă deschisă
description: Învață mai multe despre lumea open source și pregătește-te să-ți lansezi primul proiect.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## „Care”-urile și „de ce”-urile open source
Deci te gândești la a începe cu open source? Felicitări! Lumea îți apreciază contribuția. Haide să discutăm despre ce este open source și de ce oamenii fac asta.
### Ce înseamnă „open source”?
Când un proiect este cu sursă deschisă, aceasta înseamnă că **oricine poate vizualiza, utiliza, modifica și distribui proiectul tău în orice scop.** Aceste permisiuni sunt impuse printr-o [licență open source](https://opensource.org/licenses).
Open source este puternic deoarece coboară barierele în calea adoptării, permițând ideilor să se răspândească repede.
Pentru a înțelege cum funcționează, imaginează-ți că prietenul tău la cină are ghiveci, și tu aduci o plăcintă cu cireșe.
* Toată lumea încearcă plăcinta (_folosește_)
* Plăcinta este un hit! Ei îți cer rețeta, pe care o furnizezi (_vizualizează_)
* Un prieten, Alex, care este un bucătar de patiserie, sugerează reducerea zahărului (_modifică_)
* Un alt prieten, Lisa, cere să o folosească pentru o cină săptămâna viitoare (_distribuie_)
Prin comparație, într-un proces cu sursă închisă mergi la un restaurant și comanzi o felie de plăcintă cu cireșe. Trebuie să plătești o taxă pentru a mânca plăcinta, și restaurantul probabil nu-ți va da rețeta lui. Dacă ai copia plăcinta lui exact și ai vinde-o cu un nume al tău, restaurantul ar putea lua măsuri împotriva ta.
### De ce oamenii deschid sursa muncii lor?
[Există numeroase motive](https://ben.balter.com/2015/11/23/why-open-source/) pentru care o persoană sau o organizație ar dori să deschidă sursa unui proiect. Exemplele includ:
* **Colaborarea:** Proiectele cu sursă deschisă pot accepta schimbări de la oricine din lume. [Exercism](https://github.com/exercism/), de exemplu, este o platformă de exerciții de programare cu peste 350 de contributori.
* **Adoptarea și remixarea:** Proiectele cu sursă deschisă pot fi folosite de oricine pentru aproape orice scop. Oamenii le pot folosi chiar și pentru a construi alte lucruri. [WordPress](https://github.com/WordPress), de exemplu, a început ca o bifurcație a unui proiect existent numit [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparența:** Oricine poate inspecta un proiect cu sursă deschisă pentru erori sau neconcordanțe. Transparența contează pentru guverne, cum ar fi [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) sau [Statele Unite](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), industrii reglementate cum ar fi sectorul bancar sau asistența medicală, și software-uri de securitate cum ar fi [Let's Encrypt](https://github.com/letsencrypt).
Open source nici nu este doar pentru software. Poți deschide sursa a orice de la seturi de date la cărți. Aruncă o privire la [GitHub Explore](https://github.com/explore) pentru idei despre sursa a ce altceva poți deschide.
### Cu sursă deschisă înseamnă „gratuit”?
Una dintre cele mai mari remize ale open source este că nu costă bani. Cu toate acestea, „gratuit” este un produs secundar al valorii totale a open source.
Deoarece [o licență de sursă deschisă cere](https://opensource.org/osd-annotated) ca oricine să poată folosi, modifica, și distribui proiectul tău pentru aproape orice scop, proiectele însele tind să fie gratuite. Dacă un proiect costă bani pentru a fi folosit, oricine ar putea face o copie în mod legal și să folosească versiunea gratuită în loc.
Ca rezultat, cele mai multe proiecte cu sursă deschisă sunt gratuite, dar „gratuit” nu este parte din definiția open source. Există căi de a taxa pentru proiecte cu sursă deschisă indirect prin licențiere duală sau facilități limitate, în timp ce încă respectă definiția oficială a sursei deschise.
## Ar trebui să-mi lansez propriul meu proiect cu sursă deschisă?
Răspunsul scurt este da, deoarece indiferent de rezultat, lansarea propriului tău proiect este o modalitate excelentă de a învăța cum open source lucrează.
Dacă nu ai deschis sursa niciunui proiect înainte, ai putea fi stresat de ce oamenii vor spune, sau dacă măcar cineva va observa. Dacă aceasta sună ca tine, nu ești singur!
Munca pe sursă deschisă este ca oricare altă activitate creativă, fie că este scriere sau pictură. Poate părea înfricoșător să împarți munca ta cu lumea, dar singura cale de a deveni mai bun este să practici - chiar dacă nu ai o audiență.
Dacă nu ești încă convins, fă-ți o clipă să te gândești la care ar putea fi scopurile tale.
### Stabilirea obiectivelor
Scopurile pot să te ajute să-ți dai seama pe ce să lucrezi, la ce să spui nu, și unde să ceri ajutor de la alții. Începe prin a te întreba, _de ce deschid sursa acestui proiect?_
Nu există un răspuns singur corect la această întrebare. Ai putea avea multiple scopuri pentru un singur proiect, sau proiecte diferite cu scopuri diferite.
Dacă propriul tău scop este să îți arăți munca, poate nici nu vei vrea contribuții, și poate chiar vei spune asta în README. Pe de altă parte, dacă tu vrei contributori, vei investi timp într-o documentație clară și în a face noii veniți să se simtă bineveniți.
Pe măsură ce proiectul tău crește, comunitatea ta poate avea nevoie de mai mult decât doar cod din partea ta. Răspunzând la probleme, analizând cod, și promovând proiectul sunt toate sarcini importante într-un proiect cu sursă deschisă.
În timp ce timpul pe care îl cheltuiți pe sarcini care nu sunt legate de programare va depinde de mărimea și scopul proiectului tău, tu ar trebui să fii pregătit în calitate de întreținător să te adresezi lor tu însuți sau să găsești pe cineva să te ajute.
**Dacă ești parte dintr-o companie care deschide sursa unui proiect,** asigurați-vă că proiectul vostru are resursele interne de care are nevoie să prospere. Veți dori să identificați cine este responsabil pentru întreținerea proiectului după lansare, și cum veți împărți aceste sarcini cu comunitatea voastră.
Dacă aveți nevoie de un buget dedicat sau de personal pentru promovare, logistică și menținerea proiectului, începeți aceste conversații devreme.
### Contribuind pe alte proiecte
Dacă obiectivul tău este să înveți cum să colaborezi cu alții sau să înțelegi cum funcționează open source, consideră contribuirea la un proiect existent. Începe cu un proiect pe care deja îl folosești și iubești. Contribuind la un proiect poate fi atât de simplu ca și corectarea greșelilor gramaticale sau actualizarea documentației.
Dacă nu ești sigur cum să începi ca un contributor, aruncă o privire peste [Cum să contribui la open source?](../how-to-contribute/).
## Lansându-ți propriul tău proiect cu sursă deschisă
Nu există timpul perfect pentru a deschide sursa muncii tale. Poți deschide o idee, o muncă în progres, sau după ani în care a fost cu sursă închisă.
În general, ar trebui să deschizi sursa proiectului tău când te simți confortabil lăsându-i pe alții să vadă munca ta, să dea feedback asupra muncii tale.
Indiferent de stadiul în care decizi să deschizi sursa proiectului, oricare proiect ar trebui să includă următoarea documentație:
* [Licența de sursă deschisă](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Direcții de contribuție](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Codul de conduită](../code-of-conduct/)
Ca și întreținător, aceste componente te vor ajuta să comunici așteptări, să gestionezi contribuții, și să protejezi drepturile legale ale tuturor (inclusiv ale tale). Ele cresc semnificativ șansele de a avea o experiență pozitivă.
Dacă proiectul tău este pe GitHub, punerea acestor fișiere în directorul rădăcină cu numele de fișiere recomandate va ajuta GitHub să recunoască și automat să le ridice la suprafață pentru cititorii tăi.
### Alegerea unei licențe
O licență de sursă deschisă garantează că alții pot folosi, copia, modifica, și contribui înapoi la proiectul tău fără repercursiuni. De asemenea te protejează de situații juridice lipicioase. **Tu trebuie să incluzi o licență când lansezi un proiect cu sursă deschisă.**
Munca judiciară nu este distractivă. Veștile bune sunt că tu poți copia și lipi o licență existentă în depozitul tău. Îți va lua doar un minut pentru a proteja munca ta grea.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), și [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) sunt cele mai populare licențe de sursă deschisă, dar [sunt și alte opțiuni](https://choosealicense.com) din care să alegi.
Când creezi un nou proiect pe GitHub, ți se dă opțiunea de a selecta o licență. Incluzând o licență de sursă deschisă îți va face proiectul GitHub open source.

Dacă ai alte întrebări sau îngrijorări în legătură cu aspectele juridice de gestionare a unui proiect cu sursă deschisă, [te-am acoperit](../legal/).
### Scrierea unui README
README-urile fac mai mult decât să explice cum să se folosească proiectul tău. Ele de asemenea explică de ce proiectul tău contează, și ce pot face utilizatorii cu acesta.
În README-ul tău, încearcă să răspunzi următoarelor întrebări:
* Ce face acest proiect?
* De ce acest proiect este folositor?
* Cum să încep?
* Unde pot obține mai mult ajutor, dacă am nevoie de el?
Poți să-ți folosești README-ul pentru a răspunde altor întrebări, cum ar fi cum tratezi contribuțiile, care sunt scopurile proiectului, și informații despre licențe și drepturi. Dacă tu nu vrei să accepți contribuții, sau proiectul tău nu este pregătit încă pentru producție, scrie aceste informații.
Uneori, oamenii evită scrierea unui README deoarece simt că proiectul este nefinalizat, sau ei nu vor contribuții. Acestea sunt toate motive foarte bune pentru a scrie unul.
Pentru mai multă inspirație, încearcă să folosești [ghidul „Make a README”](https://www.makeareadme.com/) al lui @dguo sau [șablonul README](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) al lui @PurpleBooth pentru a scrie un README complet.
Când incluzi un fișier README în directorul rădăcină, GitHub îl va afișa automat pe pagina acasă a depozitului.
### Scrierea direcțiilor tale de contribuție
Un fișier CONTRIBUTING spune audienței tale cum să participe în proiectul tău. De exemplu, tu ai putea include informații despre:
* Cum se înregistrează un raport de bug (încearcă folosirea [șabloanelor de probleme și cereri de pull](https://github.com/blog/2111-issue-and-pull-request-templates))
* Cum se sugerează o nouă facilitate
* Cum se configurează mediul și se rulează testele
În plus pe lângă detalii tehnice, un fișier CONTRIBUTING este o oportunitate de a comunica așteptările tale de la contribuții, cum ar fi:
* Tipurile de contribuții pe care le cauți
* Planul sau viziunea pentru proiect
* Cum contributorii ar trebui (sau nu) să ia legătura cu tine
Folosind un ton cald și prietenos și oferind sugestii specifice pentru contribuții (cum ar fi scrierea documentației, sau facerea unui site web) poate parcurge o cale lungă pentru a face nou-veniții să se simtă bineveniți și entuziasmați să participe.
De exemplu, [Active Admin](https://github.com/activeadmin/activeadmin/) începe [ghidul său de contribuire](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) cu:
> Mai întâi de toate, îți mulțumesc pentru că ai considerat să contribui la Active Admin. Oamenii ca voi sunt cei care fac Active Admin o unealtă grozavă.
>
> First off, thank you for considering contributing to Active Admin. It's people like you that make Active Admin such a great tool.
În primele etape ale proiectului tău, fișierul tău CONTRIBUTING poate fi simplu. Ar trebui mereu să explici cum se raportează bug-uri sau înregistrează probleme, și oricare cerință tehnică (cum ar fi teste) pentru a face o contribuție.
Cu timpul, ai putea adăuga alte întrebări puse des în fișierul tău CONTRIBUTING. Scriind aceste informații înseamnă că mai puțini oameni vă vor întreba aceleași întrebări de mai multe ori.
Pentru mai mult ajutor cu scrierea fișierului tău CONTRIBUTING, aruncă o privire la [șablonul de ghid de contribuire](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) al @nayafia sau [„How to Build a CONTRIBUTING.md”](https://mozillascience.github.io/working-open-workshop/contributing/) al @mozilla.
Leagă către fișierul tău CONTRIBUTING din README-ul tău, astfel încât mai mulți oameni îl văd. Dacă [amplasezi fișierul tău CONTRIBUTING în depozitul proiectului tău](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub va lega automat către fișierul tău când un contributor creează o problemă sau deschide o cerere de pull.

### Stabilirea unui cod de conduită
În cele din urmă, un cod de conduită ajută la stabilirea unor reguli de bază pentru comportament pentru participanții la proiectul tău. Acest lucru este valoros în special dacă lansezi un proiect cu sursă deschisă pentru o comunitate sau o companie. Un cod de conduită te împuternicește să facilitezi comportamentul sănătos, constructiv al comunității, ceea ce îți va reduce stresul în calitate de întreținător.
Pentru mai multe informații, aruncă o privire la [ghidul nostru privind codul de conduită](../code-of-conduct/).
Pe lângă comunicarea _modului_ în care te aștepți ca participanții să se comporte, un cod de conduită tinde să descrie de asemenea la cine se aplică aceste așteptări, când se aplică, și ce se face dacă o încălcare are loc.
Aproape la fel ca licențele de sursă deschisă, sunt de asemenea și standarde în curs de dezvoltare pentru coduri de conduită, deci nu trebuie să vă scrieți propriul cod de conduită. [Contributor Covenant](https://contributor-covenant.org/) este un cod de conduită care se introduce cu o singură mutare în proiecte și este utilizat de [peste 40.000 de proiecte cu sursă deschisă](https://www.contributor-covenant.org/adopters), incluzând Kubernetes, Rails, și Swift. Indiferent de textul folosit, tu trebuie să fii pregătit să impui codul de conduită când e necesar.
Lipește textul direct într-un fișier CODE_OF_CONDUCT în depozitul tău. Păstrează fișierul în directorul rădăcină al proiectului tău ca să fie ușor de găsit, și leagă înspre el din README-ul tău.
## Numirea și marcarea proiectului tău
Marcarea este mai mult decât o siglă pâlpâitoare sau un nume de proiect atrăgător. Este despre cum vorbești despre proiectul tău, și la cine ajungi cu mesajul tău.
### Alegerea numelui potrivit
Alege un nume care este ușor de memorat și, în mod ideal, dă o idee despre ce face proiectul. De exemplu:
* [Sentry](https://github.com/getsentry/sentry) monitorizează aplicații pentru raportarea de accidente
* [Thin](https://github.com/macournoyer/thin) este un server web Ruby rapid și simplu
Dacă construiești peste un proiect existent, folosind numele lor ca prefix poate ajuta să clarifice ce face proiectul tău (de exemplu, [node-fetch](https://github.com/bitinn/node-fetch) aduce `window.fetch` la Node.js).
Consideră claritatea mai presus de toate. Jocurile de cuvinte sunt distractive, dar ține minte că unele glume ar putea să nu se traducă pentru alte culturi sau oameni cu experiențe diferite de ale tale. Unii din utilizatorii tăi potențiali ar putea fi angajați din companii: nu vrei să îi faci stânjeniți când trebuie să explice proiectul tău la muncă!
### Evitarea conflictelor de nume
[Caută proiecte cu sursă deschisă cu un nume asemănător](http://ivantomic.com/projects/ospnc/), în special dacă împărțiți aceeași limbă sau ecosistem. Dacă numele tău se suprapune cu un proiect popular existent, ai putea confuziona audiența.
Dacă dorești un site web, un Twitter, sau alte proprietăți să-ți reprezinte proiectul, asigură-te că poți obține numele dorite. În mod ideal, [rezervă aceste nume acum](https://instantdomainsearch.com/) pentru pacea minții, chiar dacă nu intenționezi să le folosești încă.
Asigură-te că numele proiectului tău nu încalcă nicio marcă comercială. O companie ar putea să-ți ceară să dobori proiectul mai târziu, sau chiar să ia măsuri legale împotriva ta. Pur și simplu, nu merită riscul.
Puteți verifica [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) pentru conflicte de mărci comerciale. Dacă ești la o companie, aceasta este una din lucrurile cu care [echipa juridică te poate ajuta](../legal/).
În cele din urmă, fă o căutare Google rapidă pentru numele proiectului tău. Vor putea oamenii să găsească ușor proiectul tău? Apare alt lucru în rezultatele căutării pe care ai dori ca ei să nu îl vadă?
### Cum scrii (și programezi) îți afectează marca, de asemenea!
De-a lungul vieții proiectului tău, veți face multă scriere: README-uri, tutoriale, documente pentru comunitate, răspunderea la probleme, poate chiar buletine informative și liste de email-uri.
Fie că este vorba de documentație oficială sau de un email obișnuit, stilul tău de scriere este parte a mărcii proiectului tău. Consideră cum ai putea să ajungi la audiență și dacă acesta este tonul pe care dorești să-l transmiți.
Folosirea unui limbaj cald și incluziv (cum ar fi „ei”, chiar când mă refeream la o singură persoană) poate face un drum lung în a face proiectul tău să fie simțit primitor de noii contributori. Lipește-te de limbajul simplu, fiindcă mulți din cititorii tăi ar putea să nu fie vorbitori nativi de engleză.
Dincolo de modul în care scrii cuvinte, stilul tău de programare poate de asemenea deveni parte din marca proiectului tău. [Angular](https://angular.io/guide/styleguide) și [jQuery](https://contribute.jquery.org/style-guide/js/) sunt două exemple de proiecte cu stiluri de programare și direcții de ghidare riguroase.
Nu este necesar să scrii un ghid de stil pentru proiectul tău la început, și tu poți afla că te bucuri de a incorpora diferite stiluri de programare în proiectul tău oricum. Dar ar trebui să anticipezi cum stilurile de scriere și programare pot atrage sau descuraja diferite tipuri de oameni. Primele etape ale proiectului tău sunt oportunitatea ta de a stabili precedentul pe care dorești să îl vezi.
## Lista ta de verificări înainte de lansare
Ești pregătit să deschizi sursa proiectului tău? Iată o listă de verificare pentru a te ajuta. Bifezi toate cutiile? Ești gata să pornești! [Dă clic pe „publish”](https://help.github.com/articles/making-a-private-repository-public/) și mângâie-te pe spate.
**Documentație**
**Cod**
**Oameni**
Dacă ești persoană fizică:
Dacă sunteți o companie sau organizație:
## Ai făcut-o!
Felicitări pentru prima ta deschidere a sursei unui proiect. Indiferent de rezultat, a lucra în public este un dar pentru comunitate. Cu fiecare commit, comentariu, și cerere de pull, tu creezi oportunități pentru tine și pentru alții de a învăța și a crește.
================================================
FILE: _articles/ru/best-practices.md
================================================
---
lang: ru
title: Хорошие практики для мейнтейнеров
description: Облегчение вашей жизни в качестве мейнтейнера опенсорс-проекта — от документирования процессов до привлечения вашего сообщества.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Что значит быть мейнтейнером?
Если вы поддерживаете опенсорс-проект, которым пользуется множество людей, возможно, вы заметили, что стали меньше писать код и больше отвечать на ишью.
На ранних стадиях проекта вы экспериментируете с новыми идеями и принимаете решения, основываясь на собственных предпочтениях. По мере роста популярности вашего проекта вы будете больше работать со своими пользователями и контрибьюторами.
Для поддержки проекта требуется нечто большее, чем просто код. Эти задачи часто бывают неожиданными, но они не менее важны для растущего проекта. Мы собрали несколько способов облегчить вашу жизнь — от документирования процессов до привлечения вашего сообщества.
## Документирование процессов
Как мейнтейнеру вам предстоит много писать, — это одна из наиболее главных ваших задач.
Документация не только проясняет вашу голову, но и помогает другим людям понять, что вам нужно или чего вы ждете, еще до того, как они спросят.
На письме легче сказать «нет», когда что-то не вписывается в рамки проекта. Это также поможет людям присоединиться и помочь вам. Ведь никогда не знаешь, кто может интересоваться или использовать ваш проект.
Даже если вы не собираетесь писать много текста, наброска с основными тезисами будет вполне достаточно, по крайней мере это лучше, чем ничего.
Не забывайте обновлять документацию. Если не всегда получается это сделать, удалите устаревшую документацию или укажите, что она устарела, таким образом участники могут помочь с этим.
### Запишите видение проекта
Начните с составления целей вашего проекта. Добавьте их в свой README или создайте отдельный файл с именем VISION. Если есть другая похожая информация, которая может помочь, например план развития (дорожная карта) проекта, то также сделайте их общедоступными.
Наличие четкого и задокументированной концепции проекта поможет вам сосредоточиться на главном и избежать «неконтролируемого роста проекта» от участия других людей.
Например, @lord обнаружил, что видение проекта помогло ему понять правильно расставить приоритеты. Как новый мейнтейнер, он сожалел, что не проследил за расползанием границ проекта, когда получил свой первый запрос на реализацию новой функциональности в [Slate](https://github.com/lord/slate).
### Сообщите о своих ожиданиях
Написание правил может утомлять вас. Иногда вам может показаться, что вы следите за поведением других людей или убиваете все веселье.
Однако справедливое выполнение хорошо составленных правил расширяют возможности мейнтейнеров. Это избавит вас от вовлечения в малоприятные дела.
Большинство людей, сталкивающиеся с вашим проектом, ничего не знают о вас или ваших обстоятельствах. Они могут предположить, что вам платят за работу над проектом, особенно если они его регулярно используют и полагаются на него. Может быть, когда-то вы уделили много времени своему проекту, но теперь заняты новой работой или семейными занятиями.
Всё это абсолютно нормально! Только дайте знать об этом другим людям.
Если вы занимаетесь проектом нерегулярно или на добровольных началах, честно признайте, сколько у вас есть времени. Не стоит путать имеющиеся у вас время и время, которое, по вашему мнению, требуется для проекта или от вас ожидают другие.
Вот несколько правил, которые стоит установить:
* Как рассматривается и принимается вклад (_Нужно ли написать тесты? Шаблон ишью?_)
* Типы вкладов, которые вы принимаете (_Вам нужна помощь только с определенной частью вашего кода?_)
* Когда следует предпринять последующие действия (_например, «Вы можете ожидать ответа от мейнтейнера в течение 7 дней. Если после этого времени вы не получили ответ, не стесняйтесь поднимать тему»._)
* Сколько времени вы тратите на проект (_например, «Мы тратим на этот проект всего около 5 часов в неделю»_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules) и [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) — это лишь несколько примеров проектов с основными правилами для мейнтейнеров и контрибьюторов.
### Поддерживайте публичность обсуждений
Не забывайте также фиксировать свои беседы. Там, где это возможно, делитесь информацией о своем проекте публично. Если кто-то пытается связаться с вами напрямую, чтобы обсудить реализацию новой функциональности или получить помощь, вежливо направьте его на общедоступный канал связи, такой как список рассылки или ишью.
Если вы встречаетесь с другими мейнтейнерами или принимаете важное решение в частном порядке, записывайте всё, даже если это просто публикация ваших заметок.
Таким образом, любой, кто присоединится к вашему сообществу, будет иметь доступ к той же информации, что и тот, кто был там годами.
## Научитесь говорить «нет»
Вы всё записали. В идеальном мире все бы прочитали документацию, но вот только в реальности вам придется напоминать людям об её существовании.
Однако ссылка на письменные объяснения поможет обезличить ситуации, когда нужно обеспечить соблюдение правил.
Также сам отказ следует сделать как можно менее личным, например, вместо _«Мне не нравится ваш вклад»_ намного лучше написать _«Ваш вклад не соответствует критериям этого проекта»_.
Отказывать применимо во многих ситуациях, с которыми вы столкнетесь как мейнтейнер, например, когда кто-то просит реализовать новую функциональность, которая не вписывается в проект, или мешает обсуждению, либо выполняет ненужную для других работу.
### Поддерживайте дружескую беседу
Как правило, в ишью и пул-реквестах вы будете практиковаться отказывать людям. Как мейнтейнер проекта, вы неизбежно будете получать ненужные предложения.
Возможно вклад сильно меняет суть проекта или не соответствует вашему видению. Может идея хорошая, но реализация оставляет желать лучшего.
Независимо от причины, нужно с пониманием относится к предлагаемым изменениям, которые не соответствуют стандартам вашего проекта.
Если видите вклад, который не собираетесь принимать, первой реакцией может быть проигнорировать его или притвориться, что его нет. Однако это может обидеть автора, и даже демотивировать потенциальных контрибьюторов.
Не оставляйте ненужным вклад открытым из-за чувства вины или вежливости. Со временем все оставшиеся без ответа ишью и PR только усложнят и замедлят вашу работу над проектом.
Если вы понимаете, что не сможете принять вклад, лучше сразу его закройте. Если в вашем проекте уже накопилось большое количество нерассмотренных заявок, у @steveklabnik есть предложения по [эффективной сортировке ишью](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Кроме того, игнорирование вкладов оказывает отрицательное воздействие на ваше сообщество. Участие в проекте может быть пугающим, особенно в первый раз. Даже если вы не собираетесь принимать вклад, поблагодарите его автора за проявленный интерес. Это большой комплимент!
Если вы не хотите принимать вклад:
* **Поблагодарите автора** за работу
* **Объясните, почему он вписывается** в рамки проекта, и, если можете, подготовьте четкие предложения по улучшению. Будьте добрым, но строгим.
* **Прикрепите ссылку на соответствующую документацию**, если она у вас есть. Если вы замечаете повторяющиеся нежелательные пул-реквесты, напишите об этом в документации.
* **Закройте пул-реквест**
Для ответа достаточно будет 1-2 предложений. Например, когда пользователь [celery](https://github.com/celery/celery/) сообщил об ошибке, связанной с Windows, @berkerpeksag [ответил](https://github.com/celery/celery/issues/3383):

Если мысль о том, чтобы сказать «нет», пугает вас, вы не одиноки. Как [выразился](https://blog.jessfraz.com/post/the-art-of-closing/) @jessfraz:
> Я разговаривал с мейнтейнерами из нескольких различных опенсорс-проектов, Mesos, Kubernetes, Chromium, и все они согласны с тем, что одна из самых сложных частей работы мейнтейнера — это отказаться от ненужных патчей.
Не чувствуйте себя виноватым из-за того, что не хотите принимать чей-то вклад. Первое правило опенсорса, [согласно](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _«Нет — временно, да — навсегда»._ Сочувствовать энтузиазму другого человека - это хорошо, отказываться от его вклада — не значит отвергать его автора.
В конечном итоге, если вклад недостаточно хорош, вы не обязаны его принимать. Будьте добры и отзывчивы, когда люди вносят свой вклад в ваш проект, но принимайте только те изменения, которые, по вашему мнению, сделают ваш проект лучше. Чем чаще вы будете говорить «нет», тем легче будет это получаться. Обещаю.
### Будьте инициативным(ой)
Прежде всего, чтобы уменьшить количество нежелательных вкладов, распишите процесс отправки и принятия вкладов в своем руководстве по участию вашего проекта.
Если вам приходят слишком много некачественных вкладов, потребуйте от контрибьюторов выполнить ряд условий, например:
* Заполнить шаблон/контрольный список для в ишью или пул-реквесте
* Открыть ишью перед отправкой пул-реквеста
Если люди не соблюдают ваши правила, немедленно закройте ишью и укажите им на предварительные требования.
Поначалу такой подход может показаться суровым, но на самом деле проактивность полезна для обеих сторон. Это снижает вероятность того, что кто-то потратит впустую много часов работы на ненужный для вас пул-реквест. А ещё для вас снизится нагрузка.
Иногда, когда вы говорите «нет», потенциальный контрибьютор может расстроиться или раскритиковать ваше решение. Если его поведение становится враждебным, [примите меры, чтобы разрядить ситуацию](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) или даже удалите его из вашего сообщества, если он не готов к конструктивному сотрудничеству.
### Примите наставничество
Возможно, кто-то из вашего сообщества регулярно отправляет вклады, не соответствующие стандартам вашего проекта. Не только автор, но мейнтейнер может быть разочарован, если постоянно приходится отказывать в принятии вклада.
Если вы видите, что кто-то с энтузиазмом подходит к вашему проекту, но его работа требует доработки, будьте терпеливы. Четко объясните в каждой ситуации, почему их вклад не соответствует ожиданиям проекта. Попробуйте предложить людям более легкую или менее расплывчатую задачу, например, ишью с ярлыком _"good first issue"_, чтобы набраться опыта и попробовать себя. Если у вас есть время, подумайте о наставничестве в их первом вкладе, или найдите кого-нибудь в вашем сообществе, кто согласился стать ментором.
## Используйте силу сообщества
Необязательно все делать самому. Сообщество вашего проекта существует не просто так! Даже если у вас еще нет активных контрибьюторов, но зато есть много пользователей, попробуйте привлечь их.
### Распределите рабочую нагрузку
Если вы ищете, кто мог бы помочь, начните с расспросов.
Один из способов привлечь новых контрибьюторов — [добавить ярлык на те ишью, которые достаточно просты для начинающих](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). Затем GitHub будет отображать их в различных местах сайта, делая тем самым их более заметными.
Когда вы видите, что новые контрибьюторы неоднократно вносят свой вклад, признайте их работу, предложив больше ответственности. Задокументируйте, как люди могут занять руководящие роли, если захотят.
Побуждение других [разделить владение проектом](../building-community/#совместное-владение-вашим-проектом) может значительно снизить вашу нагрузку, как обнаружила @lmccart в своем проекте [p5.js](https://github.com/processing/p5.js).
Если вам нужно отойти от проекта, будь то сделать перерыв или навсегда покинуть его, нет ничего постыдного в том, чтобы попросить кого-то другого взять на себя ваши обязанности.
Если другие люди полны энтузиазма относительно направления развития проекта, предоставьте им доступ к отправке коммитов или официально передайте контроль кому-то другому. Если кто-то форкнул ваш проект и начал активно заниматься его копией, подумайте о том, чтобы указать ссылку на него в уже вашем (оригинальном) проекте. Здорово, что так много людей хотят, чтобы ваш проект продолжал развиваться!
@progrium [обнаружил, что](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) документирование видения его проекта [Dokku](https://github.com/dokku/dokku) помогло достичь этих целей даже после того, как он ушел из проекта:
> Я написал вики-страницу с описанием того, что я хотел сделать и почему. Почему-то для меня стало неожиданностью, что мейнтейнеры начали двигать проект в этом направлении! Всё происходило именно так, как я хотел? Не всегда. Но все же приблизило проект к тому, что я написал.
### Позвольте другим создавать нужные им решения
Если потенциальный контрибьютор придерживается другого мнения, что должен делать ваш проект, вы можете мягко подтолкнуть его к работе над собственным форком.
Не следует воспринимать копии проекта чем-то плохим. Возможность копировать и изменять проекты — одна из лучших особенностей опенсорса. Содействие членов вашего сообщества к работе над собственным форком может дать им необходимую творческую отдушину, без ущерба вашему проекту.
То же самое относится к пользователю, которому действительно нужно решение, но для создания которого у вас просто нет ресурсов. Предлагая API-интерфейсы и хуки для кастомизации, можно помочь другим пользователям решить их задачи без необходимости напрямую изменять исходный код. @orta [обнаружил, что](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) поощрение плагинов для CocoaPods привело к «некоторым из самых интересных идей»:
> Почти неизбежно, что когда проект становится большим, мейнтейнеры должны стать более консервативными касательно нового кода. Вы научитесь отказывать, несмотря, что у многих людей есть разумные причины. Так что в итоге вы превращаете свой инструмент в платформу.
## Задействуйте роботов
Подобно тому, как есть задачи, с которыми вам могут помочь другие люди, так и есть задачи, которые не должен выполнять ни один человек. Роботы — ваши друзья. Используйте их, чтобы облегчить себе жизнь в качестве мейнтейнера.
### Требуйте тесты и другие проверки для улучшения качества кода
Один из наиболее важных способов автоматизации проекта — это написание тестов.
Тесты помогают участникам чувствовать себя уверенно в том, что в результате новых изменений ничего не было сломано. Они также облегчают рассмотрение и принятие вкладов. Чем активнее вы будете реагировать, тем более заинтересованным может быть ваше сообщество.
Настройте автотесты, которые будут запускаться на всех входящих вкладов, и убедитесь, что они могут быть выполнены контрибьюторами локально. Требуйте, чтобы весь код от контрибьюторов проходил тесты, до того, как они отправлять сам вклад. Вы поможете установить минимальный стандарт качества для всех отправляемых вкладов. [Обязательные проверки статуса](https://help.github.com/articles/about-required-status-checks/) на GitHub помогут проследить за тем, что никакие изменения не будут объединены без прохождения тестов.
Если вы добавляете тесты, обязательно объясните, как они работают в файле CONTRIBUTING.
### Используйте инструменты для автоматизации основных задач сопровождения
Что хорошо в поддержке популярного проекта, так это то, что другие мейнтейнеры, вероятно, сталкивались с аналогичными проблемами и решили их.
Существует [множество инструментов](https://github.com/showcases/tools-for-open-source), которые помогают автоматизировать некоторые аспекты работ по сопровождению. Несколько примеров:
* [semantic-release](https://github.com/semantic-release/semantic-release) автоматизирует ваши релизы
* [mention-bot](https://github.com/facebook/mention-bot) упоминает потенциальных ревьюеров для пул-реквеста
* [Danger](https://github.com/danger/danger) помогает автоматизировать проверку кода
* [no-response](https://github.com/probot/no-response) закрывает ишью, если автор не предоставил дополнительную информацию
* [dependabot](https://github.com/dependabot) ежедневно следует за актуальностью зависимостей, и если находит что-то новое, то открывает отдельные пул-реквесты
Для сообщений об ошибках и других общих проблем на GitHub есть [шаблоны для ишью и пул-реквеста](https://github.com/blog/2111-issue-and-pull-request-templates), которые можно создать для упрощения взаимодействия с сообществом. @TalAter создал [руководство Choose Your Own Adventure](https://www.talater.com/open-source-templates/#/), чтобы помочь вам написать собственные шаблоны ишью и пул-реквеста.
Для управления уведомлениями по электронной почте вы можете настроить [фильтры электронной почты](https://github.com/blog/2203-email-updates-about-your-own-activity), чтобы отсортировать их по приоритету.
Если вы хотите ещё немного продвинуться, руководства по стилю и линтеры помогут стандартизировать вклады в проект и упростить их просмотр и принятие.
Однако, если ваши стандарты слишком сложные, они могут увеличить препятствия на пути к участию. Убедитесь, что вы добавляете только необходимые правила, чтобы облегчить всем жизнь.
Если вы не знаете, какие инструменты использовать, посмотрите на опыт других популярных проектов, особенно в вашей экосистеме. Например, как выглядит процесс участия в других модулей Node? Использование похожих инструментов и подходов также сделает ваш процесс более знакомым для потенциальных контрибьюторов.
## Взять паузу — это нормально
Когда-то опенсорс-работа приносила вам радость. А возможно теперь вы начинаете чувствовать себя виноватым или не идите на контакт.
Возможно, вы чувствуете себя разбитым или вас не покидает растущее чувство страха, когда думаете о своих проектах. А между тем ишью и пул-реквесты накапливаются.
Выгорание — реальная и распространенная проблема при работе над опенсорсом, особенно среди мейнтейнеов. Ваше счастье как мейнтейнера — непреложное условие для выживания любого опенсорс-проекта.
Хотя это само собой разумеется, но делайте перерыв! Не нужно ждать, пока вы почувствуете выгорание, чтобы взять отпуск. @brettcannon, разработчик ядра Python, решил взять [отпуск на месяц](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) после 14 лет волонтерской работы в опенсорсе.
Как и любой другой вид работы, регулярные перерывы позволяют вам оставаться бодрым, счастливым и увлечённым своей работой.
Иногда бывает трудно сделать перерыв в опенсорс-работе, когда кажется, что вы нужны всем. Люди могут даже попытаться заставить вас почувствовать себя виноватым за то, что вы временно отошли от дел.
Постарайтесь найти поддержку для своих пользователей и сообщества на время вашего отсутствия в проекте. Если вы не можете найти необходимую поддержку, всё равно возьмите паузу. Но обязательно предупредите людей об вашем отпуске, чтобы их не смущало отсутствие вашей реакции.
Перерывы относятся не только к отпуску. Если вы не хотите заниматься опенсорсом по выходным или в рабочее время, сообщите об этом людям, чтобы они знали, что вас не надо беспокоить.
## Береги себя в первую очередь!
Поддержка популярного проекта требует иных навыков, чем на ранних этапах развития, но это не уменьшает пользу описанных выше советов. Как мейнтейнер, вы будете практиковать лидерские и личные навыки на таком уровне, который мало кому удаётся испытать. Хотя управлять проектом не всегда легко, выстраивание чётких границ и адекватная оценка своих сил помогут вам оставаться счастливыми, бодрыми и продуктивными.
================================================
FILE: _articles/ru/building-community.md
================================================
---
lang: ru
title: Создание дружного сообщества
description: Создание сообщества, которое побуждает людей использовать, вносить свой вклад и распространять ваш проект.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Настройка вашего проекта на успех
Вы запустили свой проект, распространяете информацию, и люди пробуют его. Потрясающе! Как убедить их остаться?
Доброжелательное сообщество — это инвестиция в будущее и репутацию вашего проекта. Если ваш проект только начинает получать сторонний вклад, начните с того, чтобы дать первым участникам положительный опыт, чтобы им хотелось возвращаться.
### Сделайте так, чтобы люди чувствовали себя желанными гостями
Один из способов подумать о сообществе вашего проекта — это то, что @MikeMcQuaid называет [воронкой участников](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

Создавая свое сообщество, подумайте, как кто-то наверху воронки (потенциальный пользователь) теоретически может добраться до конца вниз (активный сопровождающий). Ваша цель — уменьшить трение на каждом этапе взаимодействия с участником. Когда у людей легкие победы, они будут чувствовать стимул делать больше.
Начните с вашей документации:
* **Облегчите использование вашего проекта для любого желающего.** [Дружественное README](../starting-a-project/#написание-readme) и понятные примеры кода помогут любому, кто заинтересуется вашим проектом, начать работу.
* **Объясните, как участвовать**, используя [руководство для участников](../starting-a-project/#написание-руководства-для-участников) и оперативно отвечая на вопросы (issues).
* **Хорошие первые вопросы (issues)**: чтобы помочь новым участникам начать работу, явно рассмотрите [ярлыки вопросов, которые достаточно просты для начинающих](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). Затем GitHub выведет эти вопросы в различных местах платформы, увеличивая полезный вклад и уменьшая трение пользователей, решающих проблемы, которые слишком сложны для их уровня.
[Обзор открытого исходного кода GitHub за 2017 год](http://opensourcesurvey.org/2017/) показал, что неполная или запутанная документация является самой большой проблемой для пользователей открытого исходного кода. Хорошая документация побуждает людей взаимодействовать с вашим проектом. В конце концов, кто-то откроет вопрос или пул-реквест. Используйте эти взаимодействия как возможности для продвижения их по воронке.
* **Когда кто-то новый попадает в ваш проект, поблагодарите его за проявленный интерес!** Достаточно одного негативного опыта, чтобы кто-то не захотел возвращаться.
* **Будьте отзывчивы.** Если вы не отвечаете на их вопрос в течение месяца, скорее всего, они уже забыли о вашем проекте.
* **Будьте открыты в отношении помощи, которую вы примете.** Многие участники начинают с отчета об ошибке или небольшого исправления. Есть [много способов внести свой вклад](../how-to-contribute/#что-значит-внести-свой-вклад) в проект. Позвольте людям помочь так, как они хотят помочь.
* **Если есть предложение, с которым вы не согласны,** поблагодарите их за идею и [объясните, почему](../best-practices/#научитесь-говорить-нет) она не вписывается в рамки проекта, дав ссылку на соответствующую документацию, если она у вас есть.
Большинство участников открытого исходного кода являются «случайными»: людьми, которые вносят свой вклад в проект лишь от случая к случаю. У случайного участника может не быть времени, чтобы полностью освоить ваш проект, поэтому ваша задача - упростить для него участие.
Поощрение других участников - тоже вложение в себя. Когда вы позволяете своим самым большим поклонникам заниматься тем, чем они увлечены, становится меньше необходимости делать все самостоятельно.
### Документируйте все
Когда вы начинаете новый проект, может показаться естественным сохранить конфиденциальность своей работы. Но проекты с открытым исходным кодом процветают, когда вы публично документируете свой процесс.
Когда вы что-то записываете, больше людей могут участвовать на каждом этапе пути. Вы можете получить помощь в том, о чем даже не подозревали.
Запись означает больше, чем просто техническая документация. Каждый раз, когда вы чувствуете желание записать что-то или обсудить свой проект в частном порядке, спросите себя, можете ли вы сделать это публично.
Будьте прозрачны в отношении дорожной карты вашего проекта, типов вкладов, которые вы ищете, того, как оцениваются вклады, или почему вы приняли определенные решения.
Если вы заметили, что несколько пользователей сталкиваются с одной и той же проблемой, задокументируйте ответы в README.
Для встреч рассмотрите возможность публикации заметок или выводов по актуальному вопросу. Отзывы, которые вы получите от такого уровня прозрачности, могут вас удивить.
Документирование всего относится и к вашей работе. Если вы работаете над существенным обновлением своего проекта, поместите его в пул-реквест и отметьте как незавершенное (WIP). Таким образом, другие люди могут почувствовать себя вовлеченными в процесс на ранней стадии.
### Будьте отзывчивы
По мере того, как вы [продвигаете свой проект](../finding-users), люди будут получать от вас обратную связь. У них могут быть вопросы о том, как все работает, или им может потребоваться помощь для начала работы.
Постарайтесь оперативно реагировать, когда кто-то задаёт вопрос, отправляет запрос на перенос или задает вопрос о вашем проекте. Если вы ответите быстро, люди почувствуют себя участниками диалога и будут с большим энтузиазмом участвовать.
Даже если вы не можете сразу просмотреть запрос, заблаговременное признание его поможет повысить вовлеченность. Вот как @tdreyno ответил на пул-реквест в [Middleman](https://github.com/middleman/middleman/pull/1466):

[Исследование Mozilla показало, что](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) участники, чей код проверили в течение 48 часов, чаще возвращались и делали повторный вклад.
Разговоры о вашем проекте также могут происходить в других местах в Интернете, таких как Stack Overflow, Twitter или Reddit. Вы можете настроить уведомления в некоторых из этих мест, чтобы получать их, когда кто-то упоминает ваш проект.
### Дайте вашему сообществу место для собраний
Есть две причины, чтобы дать вашему сообществу место для собраний.
Первая причина для них. Помогите людям узнать друг друга. Люди с общими интересами неизбежно захотят об этом поговорить. А когда общение открыто и доступно, любой может прочитать прошлые архивы, чтобы быть в курсе и начать участвовать.
Вторая причина для вас. Если вы не предоставите людям публичное место для обсуждения вашего проекта, они, скорее всего, свяжутся с вами напрямую. Вначале может показаться достаточно простым ответить на личные сообщения «только один раз». Но со временем, особенно если ваш проект станет популярным, вы почувствуете себя истощенным. Не поддавайтесь искушению поговорить с людьми о своем проекте наедине. Вместо этого направьте их на назначенный общедоступный канал.
Публичное общение может быть таким же простым, как указание людям открыть проблему вместо того, чтобы писать вам напрямую или комментировать ваш блог. Вы также можете настроить список рассылки или создать учетную запись Twitter, Slack или IRC-канал, чтобы люди говорили о вашем проекте. Или попробуйте все вышеперечисленное!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) каждые две недели выделяет рабочие часы, чтобы помочь участникам сообщества:
> Копы также выделяют время раз в две недели, чтобы предложить помощь и руководство сообществу. Сопровождающие Копов согласились выделить время, специально предназначенное для работы с новичками, помощи с PR и обсуждения новых функций.
Заметными исключениями из публичного общения являются: 1) проблемы безопасности и 2) конфиденциальные нарушения кодекса поведения. У вас всегда должна быть возможность сообщить об этих проблемах в частном порядке. Если вы не хотите использовать свою личную электронную почту, создайте специальный адрес электронной почты.
## Развитие вашего сообщества
Сообщества чрезвычайно сильны. Эта сила может быть благословением или проклятием, в зависимости от того, как вы ею владеете. По мере роста сообщества вашего проекта есть способы помочь ему стать силой созидания, а не разрушения.
### Не терпите плохих участников
Любой популярный проект неизбежно привлечет людей, которые скорее вредят, чем помогают вашему сообществу. Они могут начать ненужные споры, спорить о тривиальных особенностях или запугивать других.
Сделайте все возможное, чтобы принять политику нулевой терпимости по отношению к этим типам людей. Если оставить это без внимания, негативные люди создадут дискомфорт другим людям в вашем сообществе. Которые могут даже уйти.
Регулярные дебаты о тривиальных аспектах вашего проекта отвлекают других, в том числе вас, от сосредоточения на важных задачах. Новые люди, которые приходят на ваш проект, могут видеть эти разговоры и не хотят участвовать.
Когда вы видите негативное поведение в своем проекте, объявите об этом публично. Объясните добрым, но твердым тоном, почему их поведение неприемлемо. Если проблема не исчезнет, вам может потребоваться [попросить их уйти](../code-of-conduct/#обеспечение-соблюдения-вашего-кодекса-поведения). Ваш [кодекс поведения](../code-of-conduct/) может быть конструктивным руководством для таких разговоров.
### Познакомьтесь с участниками там, где они есть
Хорошая документация становится только важнее по мере роста вашего сообщества. Случайные участники, которые иначе могут не быть знакомы с вашим проектом, читают вашу документацию, чтобы быстро получить контекст, в котором они нуждаются.
В вашем файле CONTRIBUTING явным образом сообщите новым участникам, как начать работу. Возможно, вы даже захотите создать для этой цели специальный раздел. [Django](https://github.com/django/django), например, имеет специальную целевую страницу, чтобы приветствовать новых участников.

В очереди задач пометьте ошибки, которые подходят для разных типов участников: например, [_"только для новичков"_](https://kentcdodds.com/blog/first-timers-only), _"как составить первый вопрос"_, или _"документацию"_. [Эти ярлыки](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) упрощают быстрое сканирование ваших вопросов для новичков в вашем проекте, чтобы начать действовать.
Наконец, используйте свою документацию, чтобы люди чувствовали себя желанными на каждом этапе пути.
Вы никогда не будете взаимодействовать с большинством людей, которые попадают в ваш проект. Могут быть вклады, которые вы не получили, потому что кто-то испугался или не знал, с чего начать. Даже несколько добрых слов могут удержать кого-то от разочарования.
Например, вот как [Rubinius](https://github.com/rubinius/rubinius/) начинает [свое руководство](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Мы хотим начать с того, чтобы поблагодарить вас за использование Rubinius. Этот проект — плод любви, и мы ценим всех пользователей, которые вылавливают ошибки, улучшают производительность и помогают с документацией. Каждый вклад значим, поэтому спасибо за участие. При этом вот несколько рекомендаций, которым мы просим вас следовать, чтобы мы могли успешно решить вашу проблему.
### Совместное владение вашим проектом
Люди рады вносить свой вклад в проекты, когда они чувствуют свою причастность. Это не значит, что вам нужно изменить видение своего проекта или принимать нежелательные вклады. Но чем больше вы доверяете другим, тем больше они остаются с вами.
Посмотрите, сможете ли вы найти способы как можно больше поделиться собственностью со своим сообществом. Вот несколько идей:
* **Не поддавайтесь исправлению простых (некритических) ошибок.** Вместо этого используйте их как возможности для привлечения новых участников или наставничества тех, кто хотел бы внести свой вклад. Сначала это может показаться неестественным, но со временем ваши вложения окупятся. Например, @michaeljoseph попросил участника отправить пул-реквест по проблеме [Cookiecutter](https://github.com/audreyr/cookiecutter), а не исправлять ее самому.

* **Запустите файл CONTRIBUTORS или AUTORS в своем проекте**, в котором перечислены все, кто внес свой вклад в ваш проект, как, например, [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md).
* Если у вас большое сообщество, **разошлите информационный бюллетень или напишите сообщение в блоге** с благодарностью участникам. [This Week in Rust](https://this-week-in-rust.org/) от Rust и [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) от Hoodie — два хороших примера.
* **Предоставьте каждому участнику доступ к коммитам.** @felixge обнаружил, что это заставило людей [с большим энтузиазмом оттачивать свои патчи](https://felixge.de/2013/03/11/the-pull-request-hack.html), и он даже нашел новых сопровождающих для проектов, над которыми давно не работал.
* Если ваш проект размещен на GitHub, **переместите его из своей личной учетной записи в [Организацию](https://help.github.com/articles/creating-a-new-organization-account/)** и добавьте хотя бы одного резервного администратора. Организации упрощают работу над проектами с внешними соавторами.
Реальность такова, что [в большинстве проектов есть](https://peerj.com/preprints/1233/) один или два сопровождающих, которые делают большую часть работы. Чем крупнее ваш проект и чем больше ваше сообщество, тем легче найти помощь.
Хотя вы не всегда можете найти кого-то, кто ответит на призыв, подача сигнала увеличивает шансы, что другие люди вмешаются. И чем раньше вы начнете, тем скорее люди смогут помочь.
## Разрешение конфликтов
На ранних стадиях проекта легко принимать важные решения. Когда вы хотите что-то сделать, вы просто делаете это.
По мере того, как ваш проект становится более популярным, все больше людей будут интересоваться вашими решениями. Даже если у вас нет большого сообщества участников, если у вашего проекта много пользователей, вы найдете людей, которые взвешивают решения или поднимают собственные проблемы.
По большей части, если вы создали дружелюбное, уважительное сообщество и открыто задокументировали свои процессы, ваше сообщество должно найти решение. Но иногда вы сталкиваетесь с проблемой, которую немного сложнее решить.
### Установите планку доброты
Когда ваше сообщество борется с трудной проблемой, может подняться накал страстей. Люди могут рассердиться или расстроиться и обидеться друг на друга или на вас.
Ваша задача как сопровождающего — не допустить обострения подобных ситуаций. Даже если у вас есть твердое мнение по теме, постарайтесь занять позицию модератора или фасилитатора, вместо того, чтобы вступать в борьбу и продвигать свои взгляды. Если кто-то ведет себя недоброжелательно или монополизирует беседу, [действуйте немедленно](../building-community/#не-терпите-плохих-участников), чтобы обсуждение было вежливым и продуктивным.
Другие люди ждут от вас совета. Подавайте хороший пример. Вы по-прежнему можете выражать разочарование, несчастье или беспокойство, но делайте это спокойно.
Сохранять хладнокровие непросто, но демонстрация лидерства улучшает здоровье вашего сообщества. Интернет благодарит вас.
### Относитесь к README как к конституции
Ваш README — это [больше, чем просто набор инструкций](../starting-a-project/#написание-readme). Это также место, где можно поговорить о ваших целях, видении продукта и планах развития. Если люди слишком сосредоточены на обсуждении достоинств той или иной функции, возможно, будет полезно вернуться к README и поговорить о более высоком видении вашего проекта. Сосредоточение внимания на README также обезличивает разговор, поэтому вы можете вести конструктивное обсуждение.
### Сосредоточьтесь на путешествии, а не на пункте назначения
В некоторых проектах для принятия важных решений используется процесс голосования. Хотя на первый взгляд это выглядит разумно, голосование делает упор на поиске «ответа», а не на том, чтобы выслушивать и решать проблемы друг друга.
Голосование может стать политическим, когда участники сообщества чувствуют давление, оказывая друг другу услуги или проголосовав определенным образом. Не все голосуют, будь то [молчаливое большинство](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) в вашем сообществе или пользователи, которые не знали, что проходит голосование.
Иногда голосование является необходимым условием разрешения конфликтов. Однако, насколько вы можете, сделайте упор на [«поиске консенсуса»](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making), а не на консенсусе.
В процессе поиска консенсуса члены сообщества обсуждают основные проблемы до тех пор, пока не почувствуют, что их должным образом выслушали. Когда остаются лишь незначительные проблемы, сообщество движется вперед. «Поиск консенсуса» признает, что сообщество может не прийти к идеальному ответу. Вместо этого он отдает приоритет слушанию и обсуждению.
Даже если вы на самом деле не применяете процесс поиска консенсуса, как сопровождающий проекта, важно, чтобы люди знали, что вы их слушаете. Заставить других почувствовать себя услышанными и что вы стараетесь разрешить их проблемы в значительной степени помогает избавиться от деликатных ситуаций. Затем подкрепите свои слова действиями.
Не торопитесь с решением ради разрешения. Убедитесь, что все чувствуют себя услышанными и что вся информация предана гласности, прежде чем переходить к решению.
### Сосредоточьте разговор на действии
Обсуждение важно, но есть разница между продуктивным и непродуктивным разговором.
Поощряйте обсуждение, пока оно активно движется к разрешению. Если ясно, что разговор вялится или уходит не по теме, уколы становятся личными или люди придираются к мелочам, пора его закрыть.
Продолжение этих разговоров плохо не только для решения рассматриваемой проблемы, но и для здоровья вашего сообщества. Он посылает сообщение о том, что такие разговоры разрешены или даже поощряются, и может оттолкнуть людей поднимать или решать будущие проблемы.
С каждым замечанием, сделанным вами или другими, спрашивайте себя: _"Как это приближает нас к решению?"_
Если разговор начинает распадаться, спросите группу: _«Какие шаги мы должны предпринять дальше?»_, чтобы переориентировать разговор.
Если разговор явно никуда не придёт, нет четких действий, которые нужно предпринять, или соответствующие действия уже были предприняты, закройте проблему и объясните, почему вы ее закрыли.
### Выбирайте битвы с умом
Контекст важен. Подумайте, кто участвует в обсуждении и как они представляют остальную часть сообщества.
Все ли в сообществе расстроены или вовлечены в эту проблему? Или это одинокий нарушитель спокойствия? Не забывайте принимать во внимание молчаливых членов вашего сообщества, а не только активные голоса.
Если проблема не отражает более широкие потребности вашего сообщества, возможно, вам просто нужно признать озабоченность нескольких человек. Если это повторяющаяся проблема без четкого решения, укажите на предыдущие обсуждения по этой теме и закройте ветку.
### Определите, кто разрешает конфликты в сообществе
При хорошем отношении и четком общении самые сложные ситуации разрешимы. Однако даже в продуктивной беседе могут просто быть разные мнения о том, как действовать дальше. В этих случаях определите человека или группу людей, которые могут решить проблему.
Решающим фактором может быть основной сопровождающий проекта или небольшая группа людей, которые принимают решение на основе голосования. В идеале вы определили средство разрешения конфликтов и связанный с ним процесс в файле GOVERNANCE, прежде чем вам когда-либо придется его использовать.
Тай-брейк должен быть последним средством. Спорные вопросы - это возможность для вашего сообщества расти и учиться. Воспользуйтесь этими возможностями и используйте совместный процесс, чтобы найти решение везде, где это возможно.
## Сообщество — это ❤️ открытого исходного кода
Здоровые и процветающие сообщества каждую неделю тратят тысячи часов на разработку программного обеспечения с открытым исходным кодом. Многие участники указывают на других людей как на причину работы - или не работы - над открытым исходным кодом. Узнав, как использовать эту силу конструктивно, вы поможете кому-то получить незабываемый опыт работы с открытым исходным кодом.
================================================
FILE: _articles/ru/code-of-conduct.md
================================================
---
lang: ru
title: Ваш кодекс поведения
description: Содействуйте здоровому и конструктивному поведению в сообществе, приняв и обеспечив соблюдение кодекса поведения.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Зачем мне нужен кодекс поведения?
Кодекс поведения - это документ, который устанавливает ожидания в отношении поведения участников вашего проекта. Принятие и соблюдение кодекса поведения может помочь создать позитивную социальную атмосферу в вашем сообществе.
Кодексы поведения помогают защитить не только участников, но и вас самих. Если вы поддерживаете проект, вы можете обнаружить, что непродуктивное отношение других участников со временем может привести вас к истощению или недовольству своей работой.
Кодекс поведения дает вам возможность способствовать здоровому и конструктивному поведению в обществе. Проактивность снижает вероятность того, что вы или другие люди устанете от своего проекта, и помогает вам действовать, когда кто-то делает что-то, с чем вы не согласны.
## Установление кодекса поведения
Постарайтесь установить кодекс поведения как можно раньше: в идеале, когда вы впервые создаете свой проект.
Кодекс поведения описывает не только ваши ожидания, но и следующее:
* Где вступает в силу кодекс поведения _(только в отношении issues и pull requests, или действий сообщества, таких как мероприятия?)_
* К кому применяется кодекс поведения _(члены сообщества и сопровождающие (maintainers), а как насчет спонсоров?)_
* Что произойдет, если кто-то нарушит кодекс поведения
* Как можно сообщить о нарушениях
Везде, где можно, используйте прошлые достижения. [Соглашение авторов](https://contributor-covenant.org/) - это готовый кодекс поведения, используется более чем 40 000 проектов с открытым исходным кодом, включая Kubernetes, Rails и Swift.
[Кодекс поведения Django](https://www.djangoproject.com/conduct/) и [Кодекс поведения гражданина](http://citizencodeofconduct.org/) также являются двумя хорошими примерами кодекса поведения.
Поместите файл CODE_OF_CONDUCT в корневой каталог вашего проекта и сделайте его видимым для вашего сообщества, связав его из файла CONTRIBUTING или README.
## Решите, как вы будете обеспечивать соблюдение своего кодекса поведения
Вы должны объяснить, как будет применяться ваш кодекс поведения, **_прежде чем_** произойдет нарушение. Для этого есть несколько причин:
* Это демонстрирует, что вы серьезно относитесь к действиям, когда это необходимо.
* Ваше сообщество будет более уверено, что жалобы действительно будут рассмотрены.
* Вы убедите свое сообщество, что процесс проверки является справедливым и прозрачным, если они когда-либо обнаружат, что их расследуют на предмет нарушения.
Вы должны предоставить людям возможность в частном порядке (например, на адрес электронной почты) сообщить о нарушении кодекса поведения и объяснить, кто получает это сообщение. Это может быть сопровождающий, группа сопровождающих или рабочая группа по кодексу поведения.
Не забывайте, что кто-то может захотеть сообщить о нарушении в отношении человека, получившего эти сообщения. В этом случае дайте им возможность сообщить о нарушениях кому-то другому. Например, @ctb и @ mr-c [объясняют свой проект](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> О случаях оскорбления, домогательства или иного неприемлемого поведения можно сообщать по электронной почте **khmer-project@idyll.org**, которая отправляется только К. Титусу Брауну и Майклу Р. Крузо. Чтобы сообщить о проблеме, связанной с любым из них, отправьте электронное письмо **Джуди Браун Кларк, доктору философии**, директору по разнообразию Центра изучения эволюции в действии BEACON, Центра науки и технологий NSF.\*
Для вдохновения ознакомьтесь с [руководством по применению](https://www.djangoproject.com/conduct/enforcement-manual/) Django (хотя в зависимости от размера вашего проекта вам может не понадобиться что-то настолько всеобъемлющее).
## Обеспечение соблюдения вашего кодекса поведения
Иногда, несмотря на все ваши усилия, кто-то будет делать что-то, нарушающее этот код. Есть несколько способов справиться с негативным или вредным поведением, когда оно возникает.
### Соберите информацию о ситуации
Относитесь к голосу каждого члена сообщества так же важно, как и к своему собственному. Если вы получили сообщение о том, что кто-то нарушил кодекс поведения, отнеситесь к этому серьезно и расследуйте этот вопрос, даже если он не соответствует вашему собственному опыту общения с этим человеком. Это сигнализирует вашему сообществу, что вы цените их точку зрения и доверяете их мнению.
Рассматриваемый член сообщества может быть рецидивистом, который постоянно заставляет других чувствовать себя некомфортно, или он мог сказать или сделать что-то только один раз. И то, и другое может быть основанием для принятия мер, в зависимости от контекста.
Прежде чем ответить, дайте себе время понять, что произошло. Прочтите прошлые комментарии и разговоры этого человека, чтобы лучше понять, кто он и почему он мог поступить таким образом. Постарайтесь собрать другие точки зрения об этом человеке и его поведении.
### Примите соответствующие меры
После сбора и обработки достаточного количества информации вам нужно будет решить, что делать. Обдумывая свои следующие шаги, помните, что ваша цель как модератора - создать безопасную, уважительную среду для совместной работы. Подумайте не только о том, как поступить в рассматриваемой ситуации, но и о том, как ваш ответ повлияет на поведение и ожидания остальной части вашего сообщества в будущем.
Когда кто-то сообщает о нарушении кодекса поведения, это ваша, а не их работа - разбираться с этим. Иногда репортер раскрывает информацию с большим риском для своей карьеры, репутации или физической безопасности. Принуждение их к противостоянию преследователям может поставить репортера в компромиссное положение. Вам следует вести прямое общение с этим человеком, если репортер явно не потребует иного.
Есть несколько способов отреагировать на нарушение кодекса поведения:
* **Сделайте этому человеку публичное предупреждение** и объясните, как его поведение негативно повлияло на других, желательно в том канале, где оно произошло. По возможности, публичная коммуникация сообщает остальной части сообщества о том, что вы серьезно относитесь к кодексу поведения. Будьте добры, но тверды в общении.
* **Наедине поговорите с человеком**, о котором идет речь, и объясните, как его поведение негативно повлияло на других. Вы можете использовать частный канал связи, если ситуация связана с конфиденциальной личной информацией. Если вы общаетесь с кем-то в частном порядке, рекомендуется отправить копию ваших сообщений тем, кто первым сообщил о ситуации, чтобы они знали, что вы приняли меры. Прежде чем отправлять им копию, попросите согласие того, с кем вы переписывались.
Иногда решение не может быть достигнуто. Человек, о котором идет речь, может стать агрессивным или враждебным при столкновении или не изменит своего поведения. В этой ситуации вы можете подумать о более решительных действиях. Например:
* **Отстранить лицо** от участия в проекте с помощью временного запрета на участие в любом аспекте проекта.
* **Забанить навсегда** человека из проекта
К запрету членов нельзя относиться легкомысленно, поскольку это представляет собой постоянное и непримиримое различие точек зрения. Вы должны принимать эти меры только тогда, когда ясно, что решение не может быть достигнуто.
## Ваши обязанности как сопровождающего
Кодекс поведения - это не закон, который применяется произвольно. Вы являетесь исполнителем кодекса поведения и обязаны соблюдать правила, установленные кодексом поведения.
Как сопровождающий, вы устанавливаете правила для своего сообщества и обеспечиваете их соблюдение в соответствии с правилами, изложенными в вашем кодексе поведения. Это означает серьезное отношение к любому сообщению о нарушении кодекса поведения. Репортер должен тщательно и беспристрастно перепроверить свою жалобу. Если вы решите, что поведение, о котором они сообщили, не является нарушением, четко сообщите им об этом и объясните, почему вы не собираетесь принимать меры по этому поводу. Что они будут с этим делать, зависит от них: терпеть поведение, с которым у них возникла проблема, или прекращать участие в жизни сообщества.
Сообщение о поведении, которое _технически_ не нарушает кодекс поведения, может указывать на наличие проблемы в вашем сообществе, и вам следует изучить эту потенциальную проблему и действовать соответствующим образом. Это может включать пересмотр вашего кодекса поведения, чтобы прояснить приемлемое поведение и/или поговорить с человеком, о поведении которого было сообщено, и сообщить ему, что, хотя он и не нарушал кодекс поведения, он выходит за рамки и создаёт дискомфорт другим участникам.
В конце концов, как сопровождающий, вы устанавливаете и обеспечиваете соблюдение стандартов приемлемого поведения. У вас есть возможность формировать общественные ценности проекта, и участники ожидают, что вы будете придерживаться этих ценностей справедливо и беспристрастно.
## Поощряйте поведение, которое вы хотите видеть в мире 🌎
Когда проект кажется враждебным или нежелательным, даже если это всего лишь один человек, поведение которого терпят другие, вы рискуете потерять гораздо больше участников, с некоторыми из которых вы, возможно, даже никогда не встретитесь. Не всегда легко принять или обеспечить соблюдение кодекса поведения, но создание благоприятной атмосферы поможет вашему сообществу расти.
================================================
FILE: _articles/ru/finding-users.md
================================================
---
lang: ru
title: Поиск пользователей для вашего проекта
description: Помогите своему опенсорс-проекту расти, передав его в руки счастливых пользователей.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Распространение информации
Нет правила, согласно которому вы должны продвигать опенсорс-проект при запуске. Есть много веских причин для работы с опенсорсом, которые не имеют ничего общего с популярностью. Вместо того, чтобы надеяться, что люди найдут и воспользуются вашим опенсорсом-проектом, вы следует самому рассказать о своей тяжелой работе!
## Разберитесь в своем послании
Прежде чем приступить к работе по продвижению своего проекта, вам нужно уметь объяснить, для чего он нужен и почему так важен.
Что делает ваш проект особенным или интересным? Почему его создали? Ответив на эти вопросы для себя, вы сможете донести важность вашего проекта до остальных.
Помните, что люди сначала приходят в ваш проекте в качестве пользователей, а затем становятся его контрибьюторами, если проект решает их проблему. Размышляя о послании и ценности вашего проекта, попробуйте взглянуть на них через призму того, что могут захотеть _пользователи и контрибьюторы_.
Например, @robb приводит примеры кода, чтобы четко объяснить, почему его проект [Cartography](https://github.com/robb/Cartography) полезен:

Чтобы глубже погрузиться в послание, ознакомьтесь с упражнением Mozilla [«Personas and Pathways»](https://mozillascience.github.io/working-open-workshop/personas_pathways/) по развитию образов пользователей.
## Помогите людям найти ваш проект и следить за ним
Людям будет проще найти и запомнить ваш проект, если вы будете направлять их в одно русло.
**Создайте ясные каналы связи для рекламы своей работы.** Аккаунт в Twitter, ссылка на GitHub или канал IRC — это простой способ направить людей на ваш проект. Эти площадки также дают возможность собраться растущему сообществу проекта.
Если вы еще не хотите создавать каналы для своего проекта, продвигайте свой собственный Twitter или GitHub во всех своих начинаниях. Продвижение аккаунта в Twitter или GitHub позволит людям узнать, как с вами связаться или следить за вашей работой. Если вы выступаете на митапе или конференции, расскажите о себе или включите контактную информацию в слайдах.
**Подумайте о создании сайта для вашего проекта.** Сайт делает ваш проект более дружелюбным и легким для поиска, особенно если он дополнен понятной документацией и обучающими руководствами. Наличие сайта также указывает на активность вашего проекта, заставляя пользователей чувствовать себя более увереннее при его использовании. Добавьте примеры, которые помогут пользователям понять, как использовать ваш проект.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), соавтор Django, сказал, что сайт был _"безусловно самым правильным решением в первые дни Django"_.
Если ваш проект размещён на GitHub, вы можете использовать [GitHub Pages](https://pages.github.com/) при создании сайта. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/) и [Middleman](https://middlemanapp.com/) — только [несколько примеров](https://github.com/showcases/github-pages-examples) отличных, полноценных сайтов.

Теперь, когда вы знаете, что рассказать о своём проекте, и вы создали канал для связи, самое время выйти и поговорить с вашими пользователями!
## Ищите пользователей для вашего проекта (онлайн)
Через интернет можно быстро поделиться и распространить информацию. Используя онлайн-каналы, можно выйти на очень широкую аудиторию.
Воспользуйтесь преимуществами существующих онлайн-сообществ и платформ, чтобы охватить свою аудиторию. Если ваш опенсорс-проект представляет собой программу, вы, вероятно, сможете найти заинтересованных пользователей на [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/) или [Quora](https://www.quora.com/). Найдите каналы, где, по вашему мнению, люди получат наибольшую пользу от вашей работы или будут в восторге от неё.
Попробуйте рассказать о своём проекте следующими способами:
* **Познакомьтесь с соответствующими опенсорс-проектами и сообществами.** Необязательно всегда напрямую продвигать свой проект. Если проект идеально подходит для специалистов по обработке данных, использующих Python, познакомьтесь с сообществом специалистов по науке о данных на Python. Когда люди будут знакомиться с вами, вы слово за слово можете рассказать о своей работе.
* **Найдите людей, сталкивающихся с проблемой, которую решает ваш проект.** Поищите на соответствующих форумах людей, которые попадают в целевую аудиторию вашего проекта. Отвечайте на их вопросы и найдите тактичный способ (когда это уместно) предложить свой проект в качестве решения.
* **Попросите обратную связь.** Представьте себя и свою работу пользователям, которые сочтет её актуальной и интересной. Чётко обозначьте, кому, по вашему мнению, принесет пользу ваш проект. Попытайтесь закончить предложение: _"Я думаю, что мой проект действительно поможет X, который пытается сделать Y_". Слушайте и отвечайте на отзывы других, а не просто рекламируйте свою работу.
Вообще говоря, сосредоточьтесь на помощи другим, прежде чем просить что-то взамен. Поскольку каждый может легко продвигать проект в интернете, то ваше детище может потеряться в информационном шуме. Чтобы выделиться из толпы, дайте людям понять, кто вы есть, а не только то, чего вы хотите.
Если никто не обращает внимания или не отвечает на вашу первоначальную просьбу, не расстраивайтесь! Запуск большинства проектов — это итеративный процесс, который может занять месяцы или даже годы. Если не удалось добиться ответа с первого раза, попробуйте другую тактику или сначала найдите способы помочь повысить эффективность другим. Продвижение и запуск проекта требует времени и преданности делу.
## Ищите пользователей для вашего проекта (офлайн)

Офлайн-мероприятия — популярный способ продвижения новых проектов перед публикой. Это отличная возможность привлечь заинтересованных людей и наладить более глубокие человеческие отношения, особенно если вы заинтересованы в привлечении разработчиков.
Если вы [новичок в публичных выступлениях](https://speaking.io/), начните с поиска местного митапа, связанного с языком или экосистемой вашего проекта.
Если вы никогда раньше не выступали перед публикой, вы можете нервничать, — это совершенно нормально! Помните, что люди собрались, потому что они искренне хотят послушать о вашей работе.
Когда вы пишете доклад, сосредоточьтесь на том, что будет интересно и полезно слушателям. Сохраняйте дружелюбный тон и говорите доступным языком. Улыбайтесь, дышите и получайте удовольствие.
Когда вы будете готовы, подумайте о выступлении на конференции, чтобы прорекламировать собственный проект. Через конференции можно донести свою мысль до большого количества людей, иногда со всего мира.
Ищите конференции, посвященные вашему языку или экосистеме. Перед подачей заявки на доклад, изучите конференцию, чтобы адаптировать доклад для участников и повысить свои шансы к выступлению на конференции. Часто составить представление о своей аудитории можно по докладчикам конференции.
## Заработайте репутацию
В дополнение к стратегиям, описанным выше, лучший способ побудить людей делиться вашим проектом и вносить в него вклад — это делиться их проектами и вносить в них свой вклад.
Помощь новичкам, обмен ресурсами и содержательный вклад в проекты других людей помогут вам заработать положительную репутацию. Активное участие в опенсорс-сообществе поможет людям понять суть вашей работы и с большей вероятностью обратить внимание на ваш проект и поделится им. Развитие отношений с другими опенсорс-проектами может даже привести к официальному партнерству.
Никогда не рано и не поздно начать укреплять свою репутацию. Даже если вы уже запустили собственный проект, стремитесь разными способами помогать другим.
Невозможно в одночасье нарастить аудиторию. Чтобы заслужить доверие и уважение окружающих нужно время, а созданию репутации нет конца и края.
## Не останавливайтесь на достигнутом!
Может пройти много времени, прежде чем люди заметят ваш опенсорс-проект. Это нормально! Некоторым из самых популярных сегодня проектов потребовались годы, чтобы достичь высокого уровня активности. Сосредоточьтесь на выстраивании отношений, а не на надежде, что ваш проект внезапно станет популярным. Будьте терпеливы и продолжайте делиться своей работой с теми, кто её ценит.
================================================
FILE: _articles/ru/getting-paid.md
================================================
---
lang: ru
title: Получение денег за работу над открытым кодом
description: Подкрепите свою работу над открытым кодом, получая финансовую поддержку за ваше время и ваш проект
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Почему некоторые люди ищут финансовую поддержку
Большая часть работы с открытым кодом осуществляется добровольцами. Например, кто-то может столкнуться с ошибкой в используемом им проекте и отправить исправление. А кому-то нравится заниматься проектом в свободное время.
Есть много причин, по которым человек не хотел бы получать деньги за свою работу с открытым исходным кодом.
* **Возможно, у них уже есть любимая работа на полный рабочий день,** которая позволяет им вносить свой вклад в разработку открытого исходного кода в свободное время.
* **Им нравится думать об открытом исходном коде как об увлечении** или творческом пути, и они не хотят чувствовать себя финансово обязанными работая над своими проектами.
* **Они получают другие преимущества от участия в разработке открытого исходного кода**, такие как создание своей репутации или портфолио, обучение новым навыкам или чувство близости к сообществу.
Для других, особенно когда сообщество активно пишет код и требуется тратить много времени, получение оплаты за участие в проекте с открытым кодом - единственный способ участвовать, либо потому, что этого требует проект, либо по личным причинам.
Поддержка популярных проектов может стать серьезной обязанностью, занимающей 10 или 20 часов в неделю вместо нескольких часов в месяц.
Оплачиваемая работа также позволяет людям из разных слоев общества вносить значимый вклад. Некоторые люди не могут позволить себе тратить неоплачиваемое время на проекты с открытым исходным кодом из-за своего текущего финансового положения, долга, семейных или других обязанностей по уходу. Это означает, что мир никогда не увидит вклада талантливых людей, которые не могут позволить себе добровольно тратить свое время. Это имеет этические последствия, как @ashedryden [описал](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), поскольку выполняемая работа смещена в пользу тех, кто уже имеет преимущества в жизни, которые затем получают дополнительные преимущества на основе их добровольного вклада, в то время как другие, которые не могут быть волонтерами, не получают более поздних возможностей, что усиливает текущий недостаток разнообразия в сообществе открытого исходного кода.
Если вам нужна финансовая поддержка, можно рассмотреть два пути. Вы можете финансировать свое собственное время в качестве участника или можете найти организационное финансирование для проекта.
## Финансирование собственного времени
Сегодня многим людям платят за работу над открытым кодом неполный или полный рабочий день. Самый распространенный способ получить деньги за свое время - поговорить со своим работодателем.
Если ваш работодатель действительно использует проект, будет проще обосновать необходимость работы над открытым кодом, но подойдите к делу творчески. Возможно, ваш работодатель не использует этот проект, но он использует питон, а поддержка популярного проекта питон помогает привлечь новых разработчиков питон. Может быть, это в целом делает вашего работодателя более дружелюбным к разработчикам.
Если у вас нет существующего проекта с открытым кодом, над которым вы хотели бы работать, но вы предпочитаете, чтобы ваши текущие результаты работы были с открытым кодом, попросите вашего работодателя открыть код некоторых внутренних программ.
Многие компании разрабатывают программы с открытым кодом, чтобы создать свой бренд и нанять квалифицированных специалистов.
@hueniverse, например, обнаружил финансовые причины [инвестиций Walmart в открытый код](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). А @jamesgpearce обнаружил, что инициативы открытого кода Facebook [изменили](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) кадровую политику:
> Это тесно связано с нашей хакерской культурой и тем, как воспринималась наша организация. Мы спросили наших сотрудников: «Вы знали о программе с открытым исходным кодом Facebook?». Две трети ответили «Да». Половина сказала, что программа положительно повлияла на их решение работать на нас. Это не маргинальные цифры, и я надеюсь, что тенденция сохранится.
Если ваша компания идет по этому пути, важно сохранять четкие границы между общественной и корпоративной деятельностью. В конечном итоге открытый код поддерживает себя за счет вклада людей со всего мира, и это больше, чем любая другая компания или место.
Если не получается убедить работодателя в важности работы над открытым кодом, можете подумать о поиске нового работодателя, который будет поощрять вклад сотрудников в разработку открытого кода. Ищите компании, которые открыто заявляют о своей приверженности работе с открытым кодом. Например:
* Некоторые компании как [Netflix](https://netflix.github.io/), имеют веб-сайты, которые подчеркивают их участие в открытых проектах
Проекты, инициированные крупной компанией вроде [Go](https://github.com/golang) или [React](https://github.com/facebook/react), также, вероятно, будут нанимать людей для работы с открытым кодом.
В зависимости от ваших личных обстоятельств вы можете попытаться собрать деньги самостоятельно для финансирования своей работы с открытым исходным кодом. Например:
* @gaearon нашёл финансирование для [Redux](https://github.com/reactjs/redux) через [кампанию краудфайндинга на Patreon](https://redux.js.org/)
* @andrewgodwin нашёл финансирование миграции схемы Django [через кампанию на Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django).
Иногда открытые проекты размещают вознаграждение за задачи, над которыми вы могли бы поработать.
* @ConnorChristie получал оплату, [помогая](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol над иж JavaScript библиотекой через [gitcoin.co](https://gitcoin.co/).
* @mamiM сделал перевод на японский @MetaMask за вознаграждение на [Bounties Network](https://explorer.bounties.network/bounty/134).
## Поиск финансирования для вашего проекта
Помимо договоренностей с отдельными разработчиками, иногда проекты собирают деньги от компаний и частных лиц для финансирования текущей работы.
Организационное финансирование может быть направлено на оплату текущим разработчикам, покрытие расходов на ведение проекта (например, плату за хостинг) или инвестирование в новые функции или идеи.
Поскольку популярность открытого исходного кода растет, поиск финансирования для проектов все еще является экспериментальным, но есть несколько общих доступных вариантов.
### Краудфайндинг и спонсоры
Поиск спонсоров хорошо работает, если к вам есть сильный интерес, или у вас есть репутация, или ваш проект очень популярен.
Вот несколько примеров спонсируемых проектов:
* **[webpack](https://github.com/webpack)** привлекает деньги от компаний и частных лиц [through OpenCollective](https://opencollective.com/webpack)
* **[вместе с Ruby](https://rubytogether.org/),** - некоммерческая организация, которая платит за работу над [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), и над другими проектами инфраструктуры Ruby
### Создайте поток доходов
В зависимости от вашего проекта вы можете взимать плату за коммерческую поддержку, варианты размещения или дополнительные функции. Вот несколько примеров:
* **[Sidekiq](https://github.com/mperham/sidekiq)** предлагает платные версии за дополнительную плату
* **[Travis CI](https://github.com/travis-ci)** предлагает платные версии своего продукта
* **[Ghost](https://github.com/TryGhost/Ghost)** - это некоммерческая организация с платными услугами
Некоторые популярные проекты как [npm](https://github.com/npm/npm) и [Docker](https://github.com/docker/docker), даже привлекают венчурные инвестиции для поддержания роста своих проектов.
### Подайте заявку на грант
Some software foundations and companies offer grants for open source work. Sometimes, grants can be paid out to individuals without setting up a legal entity for the project.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** получил [грант поддержки открытого кода Mozilla](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** был профинансирован [приютом открытого кода от Stripe](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** получил грант от [Sloan Foundation](https://sloan.org/programs/digital-technology)
* **[Python Software Foundation](https://www.python.org/psf/grants/)** предлагает гранты на работу, связанную с питоном
Более подробные варианты и тематические исследования вы можете прочитать в [руководстве](https://github.com/nayafia/lemonade-stand) по получению оплаты за работу с открытым кодом от @nayafia. Для разных типов финансирования требуются разные навыки, поэтому определите свои сильные стороны, чтобы выяснить, какой вариант лучше всего подходит для вас.
## Создание аргументов в пользу финансовой поддержки
Независимо от того, является ли ваш проект новой идеей или уже существует много лет, вы должны серьезно подумать, чтобы определить своего целевого спонсора и представить убедительные доводы.
Независимо от того, хотите ли вы оплачивать свое собственное время или собрать средства для проекта, вы должны ответить на следующие вопросы.
### Влияние
Чем полезен этот проект? Почему вашим пользователям или потенциальным пользователям он так нравится? Где он будет через пять лет?
### Притягательность для людей
Постарайтесь собрать доказательства того, что ваш проект значимый, будь то показатели, анекдоты или отзывы. Есть ли какие-нибудь компании или известные люди, использующие ваш проект прямо сейчас? Если нет, то одобрил ли это известный человек?
### Ценность для спонсора
К спонсорам, будь то ваш работодатель или грантодательский фонд, часто обращаются с предложениями. Почему они должны поддерживать именно ваш проект? Какую выгоду они получат лично?
### Использование денежных средств
Чего именно вы добьетесь с предложенным финансированием? Сосредоточьтесь на вехах или результатах проекта, а не на зарплате.
### Как вы получите средства
Есть ли у спонсора какие-либо требования относительно выплаты грантов? Например, вам может потребоваться быть некоммерческой организацией или иметь некоммерческого финансового спонсора. Или, возможно, средства должны быть переданы индивидуальному подрядчику, а не организации. Эти требования различаются в зависимости от спонсора, поэтому не забудьте заранее изучить вопрос.
## Экспериментируйте и не сдавайтесь
Собирать деньги непросто, будь то проект с открытым кодом, некоммерческая организация или стартап программного обеспечения, и в большинстве случаев от вас требуется проявить творческий подход. Определив, как вы хотите получать деньги, проведя исследования и поставив себя на место спонсора, вы сможете убедительно обосновать необходимость финансирования.
================================================
FILE: _articles/ru/how-to-contribute.md
================================================
---
lang: ru
title: Как участвовать в опенсорс-проектах
description: Хотите внести свой вклад в опенсорс? Руководство по участию для новичков и не только.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Зачем участвовать в опенсорс-проектах?
Участие в опенсорс-проектах может быть полезным способом изучать, обучать и приобретать опыт практически в любом навыке, который вы можете себе представить.
Зачем люди участвуют в опенсорсе? На то есть множество причин!
### Улучшить используемые проекты
Многие опенсорс-контрибьюторы перед тем, как внести свой вклад в продукт, были обычными его пользователями. Если вы обнаружите баг в используемой вами опенсорс-программе, вы, возможно, захотите заглянуть в её исходный код, чтобы узнать, сможете ли вы исправить его самостоятельно. Если это так, то отправка патча — лучший способ убедиться, что ваши друзья (и вы сами, когда вы обновитесь до следующего релиза) смогут извлечь из него пользу.
### Улучшить существующие навыки
Будь то программирование, дизайн пользовательского интерфейса, графический дизайн, написание текста или организационная работа, если вы ищете практику, для вас найдётся задача в проекте с открытым исходным кодом.
### Познакомиться с людьми с общими интересами
Опенсорс-проекты с теплыми, гостеприимными сообществами заставляют людей возвращаться долгие годы. Многие люди завязывают дружбу на всю жизнь благодаря участию в открытых проектах, будь то встреча друг с другом на конференциях или поздних ночных онлайн-чатах о буррито.
### Найти наставников и научить других
Работа с другими над общим проектом означает, что вам придется объяснять, как вы это делаете, а также просить помощи у других. Акты обучения и преподавания могут быть полезными для всех участников.
### Создать общедоступные проекты, которые помогут вам повысить репутацию (и карьеру)
По определению, вся ваша работа с открытым исходным кодом является общедоступной, это значит, что у вас появляются примеры, которые можно использовать где угодно в качестве демонстрации того, что вы можете делать.
### Изучить навыки работы с людьми
Опенсорс предлагает возможности практиковать лидерские и управленческие навыки, такие как разрешение конфликтов, организация групп людей и определение приоритетов в работе.
### Возможность внести изменения, пусть даже небольшие
Необязательно становиться контрибьютором на протяжении всей жизни, чтобы получать удовольствие от участия в опенсорс-проектах. Вы когда-нибудь видели опечатку на сайте и хотели бы, чтобы кто-нибудь её исправил? В проекте с открытым исходным кодом вы можете это сделать. Опенсорс помогает людям чувствовать себя хозяевами своей жизни и того, как они воспринимают мир, и это само по себе отрадно.
## Что значит внести свой вклад
Если вы новичок в опенсорсе, процедура участия в нём может быть пугающей. Как найти подходящий проект? Что делать, если вы не умеете программировать? Что если что-то пойдет не так?
Не беспокойтесь! Много чем можно заняться в опенсорс-проекте, и вот несколько подсказок, которые помогут вам определиться, чтобы извлечь максимальную пользу.
### Необязательно помогать кодом
Распространенное заблуждение, касающееся участия в опенсорсе, состоит в том, что вам нужно писать код. Зачастую есть другие части проекта, которыми [наиболее всего пренебрегают или упускают из виду](https://github.com/blog/2195-the-shape-of-open-source). Вы окажете проекту _огромную_ услугу, предложив поработать над ними!
Даже если вам нравится писать код, другие виды помощи — отличный способ поучаствовать в проекте и познакомиться с другими членами сообщества. Налаживание таких отношений даст вам возможность работать над другими частями проекта.
### Нравится планировать мероприятия?
* Организуйте семинары или митапы по проекту, [что и сделал @fzamperin в NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Организуйте конференцию проекта (если она есть)
* Помогите участникам сообщества найти подходящие конференции и подать заявку на доклад
### Нравится дизайнить?
* Переделайте макеты, чтобы повысить удобство использования проекта
* Проведите исследование поведения пользователей, чтобы реорганизовать и улучшить навигацию или меню проекта, [например, как предлагает Drupal](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Составьте руководство по стилю оформления, чтобы помочь проекту с соблюдением единообразного визуального дизайна
* Создайте принты для футболок или новый логотип, [как это сделали участники hapi.js](https://github.com/hapijs/contrib/issues/68)
### Нравится писать?
* Напишите и улучшите документацию по проекту
* Создайте папку с примерами по использованию проекта
* Запустите рассылку новостей по проекту или освещайте самое важное из списка рассылки
* Составьте обучающие руководства по проекту, [как это сделали участники PyPA](https://packaging.python.org/)
* Переведите документацию проекта
### Нравится организовывать?
* Давайте ссылки на повторяющиеся ишью, предлагайте новые ярлыки для ишью, чтобы они были лучше огранизованы
* Пройдитесь по открытым ишью и предложите закрыть старые, как, [например, сделал @nzakas в ESLint](https://github.com/eslint/eslint/issues/6765)
* Задавайте уточняющие вопросы по недавно открывшимся ишью, чтобы продвинуть обсуждение вперед
### Нравится кодить?
* Найдите открытую проблему для решения, что, [например, @dianjin сделал в Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Спросите, можете ли вы помочь с разработкой новой функциональности
* Автоматизируйте настройку проекта
* Улучшите инструменты и тестирование
### Нравится помогать людям?
* Ответьте на вопросы о проекте, например, на Stack Overflow ([как в этом примере с Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) или Reddit
* Отвечайте на вопросы людей по открытым ишью
* Помогите модерировать доски обсуждений или каналы в чатах
### Нравится ли вам помогать другим кодить?
* Проверяйте код других людей
* Напишите учебные руководства по использованию проекта
* Предложите наставничество другому контрибьютору, [как @ereichert сделал для @bronzdoc в Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Можно работать не только над программными проектами!
Хотя «опенсорс» часто относится к программному обеспечению, вы можете совместно работать практически над чем угодно. Есть книги, рецепты, списки и курсы, которые разрабатываются как опенсорс-проекты.
Например:
* @sindresorhus курирует [список "классных" списков](https://github.com/sindresorhus/awesome)
* @h5bp ведет [список потенциальных вопросов на собеседовании](https://github.com/h5bp/Front-end-Developer-Interview-Questions) для кандидатов в разработчики интерфейсов
* @stuartlynn и @nicole-a-tesla сделали [сборник забавных фактов о тупиках](https://github.com/stuartlynn/puffin_facts)
Даже если вы разработчик программного обеспечения, работа над документацией проекта может помочь вам войти в опенсорс. Зачастую работа над проектами, не связанными с кодом, не так пугает, а процесс совместной работы поможет вам обрести уверенность и опыт.
## Подготовка к новому проекту
Для чего-то большего, чем исправление опечатки, участие в открытом проекте похоже на поход к группе незнакомцев на вечеринке. Если вы начнете говорить о ламах, когда они были увлечены дискуссией о золотых рыбках, они, вероятно, будут смотреть на вас немного странно.
Прежде чем вслепую приступить к своим собственным предложениям, начните с изучения обстановки в сообществе. Это увеличивает шансы на то, что ваши идеи будут замечены и услышаны.
### Анатомия опенсорс-проекта
Каждое сообщество с открытым исходным кодом отличается.
Потратить годы на один открытый проект означает, что вы познакомились с одним открытым проектом. Переходите к другому проекту, и вы можете обнаружить, что терминология, нормы и стили общения совершенно другие.
Тем не менее многие проекты с открытым исходным кодом следуют схожей организационной структуре. Понимание различных ролей сообщества и общего процесса поможет вам быстро сориентироваться в любом новом проекте.
Типичный проект с открытым исходным кодом состоит из следующих типов людей:
* **Автор:** Человек или организация, создавшие проект.
* **Владелец:** Лицо, которое имеет административные права на организацию или репозиторий (не всегда те же самые, что и первоначальный автор).
* **Мейнтейнеры:** Контрибьюторы, которые несут ответственность за формирование видения и управление организационными аспектами проекта (они также могут быть авторами или владельцами проекта).
* **Контрибьюторы:** Все, кто внес свой вклад в проект.
* **Участники сообщества:** Люди, использующие проект. Они могут быть активными в беседах или высказывать свое мнение о направлении проекта.
В более крупных проектах также могут быть подкомитеты или рабочие группы, занимающиеся различными задачами, такими как инструменты, сортировка, модерация сообщества и организация мероприятий. Поищите на сайте проекта или в репозитории "командную" или "организационную" страницу, чтобы найти эту информацию.
У проекта также есть документация. Эти файлы обычно находятся в корне репозитория.
* **LICENSE:** По определению, каждый опенсорс-проект должен иметь [соответствующую лицензию](https://choosealicense.com). Если у проекта нет лицензии, его нельзя причислить к опенсорсу.
* **README:** README — это руководство-инструкция, которая приветствует новых членов сообщества в проекте. В этом файле объясняется назначение и применение проекта.
* **CONTRIBUTING:** В то время как README помогают людям _использовать_ проект, документация по участию помогает людям _вносить_ вклад в проект. В нем объясняется, какие виды помощи необходимы и как устроен процесс. Хотя не у каждого проекта есть файл CONTRIBUTING, его наличие свидетельствует о дружелюбном отношении к участникам.
* **CODE_OF_CONDUCT:** Кодекс поведения устанавливает основные правила поведения участников и помогает создать дружелюбную, гостеприимную атмосферу. Хотя не в каждом проекте есть файл CODE_OF_CONDUCT, его наличие свидетельствует о том, что это хороший проект, в который можно внести свой вклад.
* **Другая документация:** Может быть дополнительная документация, например обучающие материалы, пошаговые руководства или политики управления, особенно для более крупных проектов.
Наконец, в проектах с открытым исходным кодом для организации обсуждения используются следующие инструменты. Чтение архивов даст вам хорошее представление о том, как сообщество думает и работает.
* **Список ишью (issue tracker):** Место, где происходят обсуждения, связанные с проектом.
* **Пул-реквесты (pull requests):** Место, где рассматриваются запросы на изменение кода.
* **Дискуссионные форумы или списки рассылки:** Некоторые проекты могут использовать эти каналы для разговорных тем (например, _"Как мне ..."_ или _"Что вы думаете о ..."_ вместо отчётов об ошибках и внесения предложений с новыми возможностями). Другие используют ишью для всех дискуссий.
* **Синхронный чат-канал:** Некоторые проекты используют чаты (например, Slack или IRC) для спонтанного общения, совместной работы и быстрого обмена информацией.
## Поиск проекта, в котором можно поучаствовать
Теперь, когда вы разобрались, как устроены опенсорс-проекты, пришло время найти проект, в который вы сможете внести свой вклад!
Если вы никогда раньше не имели дела с опенсорсом, прислушайтесь к совету президента США Джона Ф. Кеннеди, который однажды сказал: _«Не спрашивайте, что ваша страна может сделать для вас, спросите, что вы можете сделать для своей страны»_.
Участвовать в опенсорсе могут все, независимо от уровня подготовки. Не ломайте сильно голову над тем, каким будет ваш первый вклад в опенсорс.
Вместо этого подумайте о проектах, которые вы уже используете или собираетесь использовать. Проекты, в которых вы будете активно участвовать, — это те, к которым вы будете возвращаться.
В этих проектах всякий раз, когда вы ловите себя на мысли, что что-то может быть лучше или иначе, действуйте в соответствии со своим инстинктом.
Опенсорс — это не закрытый клуб; им занимаются такие же люди, как вы. «Опенсорс» — это всего лишь причудливый термин для обозначения решаемых мировых проблем.
Можно просмотреть файл README, чтобы найти неработающую ссылку или опечатку. Или вы как новый пользователь заметили, что что-то работает неправильно, либо есть неточность в документации. Вместо игнорирования таких проблем или просьбы к кому-нибудь их исправить, посмотрите, удастся ли вам помочь и тем самым поучаствовать в проекте. В этом как раз и смысл опенсорса!
> [28% случайных вкладов](https://www.igor.pro.br/publica/papers/saner2016.pdf) в опенсорс представляют собой документацию, например, исправление опечатки, переформатирование или перевод.
Если вы ищете существующие ишью, которые можно исправить, то в каждом опенсорс-проекте есть страница `/contribute`, где перечислены ишью, специально предназначенные для начинающих. Перейдите на главную страницу репозитория на GitHub и добавьте в конец URL-адреса `/contribute` (например, [https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
Вы также можете использовать один из следующих ресурсов, чтобы открыть для себя новые проекты и внести свой вклад в них:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Чеклист перед тем, как принять участие
Когда вы нашли проект, в который хотели бы внести свой вклад, бегло осмотрите проект, чтобы убедиться, что он принимает стороннюю помощь. В противном случае ваш упорный труд может остаться незамеченным.
Вот удобный чеклист список, чтобы понять, подходит ли проект для новых контрибьюторов.
**Попадает под определение опенсорса**
**Проект активно принимает стороннюю помощь**
Посмотрите на коммиты в основной ветке. Узнать это вы можете на главной странице репозитория на GitHub.
Затем посмотрите на ишью проекта.
Теперь выясните такую информацию про пул-реквесты проекта.
**Проект приветливый**
Дружелюбный и доброжелательный проект свидетельствует о том, что в нём будут с пониманием относиться к новым контрибьюторам.
## Как сделать вклад
Вы нашли понравившийся проект и уже готовы поучаствовать в нём. Наконец-то! И вот как правильно это сделать.
### Эффективное общение
Независимо от того, поучаствуете ли вы только один раз или же попытаетесь присоединиться к сообществу, совместная работа с другими людьми — один из самых важных навыков, который вы приобретете, занимаясь опенсорсом.
Прежде чем открыть ишью, пул-реквест или задать вопрос в чате, запомните эти советы, которые помогут эффективно воплотить ваши идеи в жизнь.
**Дайте контекст.** Помогите другим быстро освоиться. Если вы столкнулись с ошибкой, объясните, что вы пытаетесь сделать и как ее воспроизвести. Если вы предлагаете новую идею, объясните, почему вы думаете, что она будет полезна для проекта (не только для вас!).
> 😇 _"Х не происходит, когда я делаю Y"_
>
> 😢 _"X не работает! Исправьте это."_
**Попробуйте сначала разобраться сами.** Не знать чего-то — это нормально, но покажите, что вы пробовали разобраться. Прежде чем обращаться за помощью, обязательно изучите README-файл проекта, документацию, ишью (открытые или закрытые), список рассылки и поищите ответ в Интернете. Люди оценят, если вы продемонстрируете, что попытались что-то узнать.
> 😇 _"Я не знаю, как реализовать X. Я посмотрел документацию и не нашел никаких упоминаний об этом."_
>
> 😢 _"Как мне сделать X?"_
**Пишите коротко и по делу.** Как и при отправке электронного письма, каждая сторонняя работа, независимо от того, насколько она была простой или полезной, требует чьей-то проверки. Во многих проектах входящих запросов больше, чем людей, готовых помочь. Будьте лаконичны. Так вы увеличите вероятность того, что кто-то сможет вам помочь.
> 😇 _"Я хотел бы написать руководство по API."_
>
> 😢 _"На днях я ехал по шоссе и остановился заправиться, и тогда у меня возникла замечательная идея, чем мы должны заняться, но прежде чем я это объясню, позвольте мне показать вам ..."_
**Ведите все обсуждения публично.** Хотя это заманчиво, не обращайтесь к мейнтейнерам напрямую, если вам не нужно делиться конфиденциальной информацией (например, о проблеме безопасности или серьезном нарушении поведения). Если вы сделаете беседу публичной, больше людей смогут узнать о ней и извлечь из неё пользу. Обсуждения сами по себе могут быть вкладом.
> 😇 _(в качестве комментария) «@-мейнтейнер Привет! Как нам поступить с этим пул-реквестом?»_
>
> 😢 _(по электронной почте) «Привет, извини, что побеспокоил тебя по электронной почте, но мне было интересно, была ли у тебя возможность просмотреть мой PR»_
**Не стесняйтесь задавать вопросы (но будьте терпеливы!).** В какой-то момент каждый был новичком в проекте, и даже опытным контрибьюторам нужно время освоиться, когда они приходят в новый проект. Точно так же мейнтейнеры, давно поддерживающие проект, не всегда знакомы со всеми его частями. Проявите к ним такое же терпение, какое вы бы хотели, чтобы они проявили к вам.
> 😇 _"Спасибо, что разобрались с этой ошибкой. Я последовал вашим предложениям. Вот результат."_
>
> 😢 _"Почему вы не можете решить мою проблему? Разве это не ваш проект?"_
**Уважайте решения сообщества.** Ваши идеи могут отличаться от приоритетов или видения сообщества. Члены сообщества могут высказать свои мнения или отказаться от реализации вашей идеи. Хотя всегда нужно обсуждать и искать компромисс, последнее слово за мейнтейнерами, потому что им в дальнейшем предстоит работать с вашим кодом. Если вы не согласны с их направлением, вы всегда можете работать над собственным ответвлением проекта (форком) или начать собственный проект.
> 😇 _"Я разочарован, что вы не можете поддержать мой вариант использования, но, как вы объяснили, он затрагивает только небольшую часть пользователей, я понимаю почему. Спасибо за внимание."_
>
> 😢 _"Почему вы не поддерживаете мой вариант использования? Это недопустимо!"_
**Главное, держите себя в руках.** Опенсорсом занимаются люди со всего мира. Контекст теряется из-за разных языков, культур, регионов и часовых поясов. Кроме того, письменное общение затрудняет передачу тона или настроения. В таких обсуждениях исходите из благих намерений. Нет ничего плохого в том, чтобы вежливо оттолкнуться от идеи, попросить больше информации или дополнительно прояснить свою позицию. Просто постарайтесь сделать интернет лучше, чем когда вы его нашли.
### Изучение обстановки
Прежде чем что-либо делать, убедитесь, что это больше нигде не обсуждалось. Пройдитесь по README-файлу проекта, ишью (открытые и закрытые), списку рассылки и Stack Overflow. Не тратьте много времени на это, достаточно поискать по нескольким ключевым словам.
Если вы не нашли обсуждение вашей идеи, можно начать действовать. Если проект находится на GitHub, вы, скорее всего, будете общаться, открывая ишью или пул-реквест:
* **Ишью** отлично подходят, чтобы завести беседу или обсуждение
* **Запросы на изменение** предназначены для начала работы над решением.
* **Для легкого общения**, например, уточняющего или практического вопроса, попробуйте задать вопрос в Stack Overflow, IRC, Slack или других чат-каналах, если они есть в проекте
Прежде чем открывать ишью или пул-реквест, ознакомьтесь с руководством по участию (обычно ему посвящен отдельный файл с именем CONTRIBUTING или соответствующий раздел в файле README), чтобы сделать всё правильно. Например, вас могут попросить представить информацию согласно шаблону или потребовать, чтобы вы написали тесты.
Если вы планируете сделать большое изменение, перед этим лучше откройте ишью. Полезно некоторое время понаблюдать за проектом (на GitHub [для этого можно кликнуть по кнопке «Watch»](https://help.github.com/articles/watching-repositories/), чтобы получать уведомления обо всех активностях), а также познакомиться с некоторыми участниками сообщества.
### Открытие ишью
Как правило, следует создать ишью, чтобы:
* Сообщить об ошибке, которую вы не можете исправить самостоятельно
* Обсудить общую тему или идею (например, связанную с сообществом, развитием или политикой проекта)
* Предложить реализовать новую функциональность или другую идею проекта
Советы по общению в ишью:
* **Если видите открытую ишью, которую хотите решить**, прокомментируйте её, чтобы люди знали, что вы занимаетесь ею. Таким образом, снизится вероятность, что кто-то ещё будет работать над ней.
* **Если ишью была открыта давно,** возможно, что она рассматривается в другом месте, либо уже решена, поэтому прокомментируйте её, чтобы подтвердить её актуальность.
* **Если вы открыли ишью, но позже самостоятельно нашли ответ,** прокомментируйте её, чтобы сообщить об этом людям, а затем закройте её. Даже фиксирование такого результата является вкладом в проект.
### Открытие пул-реквеста
Как правило, следует создать пул-реквест, чтобы:
* Сделать незначительное исправление (например, исправить опечатку, неработающую ссылку или очевидную ошибку)
* Начать работать над тем, о чём уже было договорено или что обсуждалось в ишью
Пул-реквест не обязательно должен представлять законченную работу. Обычно лучше открывать пул-реквест на раннем этапе, чтобы люди могли наблюдать за вашим прогрессом или оставлять отзывы о нем. Только в названии такого пул-реквеста укажите "WIP" (от англ. Work in Progress — в процессе выполнения). Всегда позже можно отправить дополнительные коммиты.
Если проект находится на GitHub, выполните следующие шаги, чтобы создать пул-реквест:
* **[Форкните репозиторий](https://guides.github.com/activities/forking/)** и склонируйте его к себе локально. Затем в этом локальном репозитории добавьте оригинальный (upstream) репозиторий. Почаще загружайте изменения из исходного репозитория, чтобы ваш локальный репозиторий оставался в актуальном состоянии, — это снизит вероятность возникновения конфликтов при создании пул-реквеста. (См. более подробные инструкции [здесь](https://help.github.com/articles/syncing-a-fork/).)
* **[Создайте ветку](https://guides.github.com/introduction/flow/)** для ваших правок.
* **Ссылайтесь на любые относящиеся к делу ишью** или подтверждающую документацию в своем PR (например, «Closes #37»).
* **Добавьте скриншоты до и после**, если ваши изменения затрагивают файлы HTML/CSS. Перетащите изображения в текстовую область пул-реквеста.
* **Протестируйте свои изменения!** Например, запустите тесты, если они есть, и при необходимости напишите новые. Даже если тестов нет, проверьте сами, что после ваших изменений всё работает, как и раньше.
* **Соблюдайте стиль написания кода проекта** в меру своих возможностей. Это может быть использование отступов, точек с запятой или комментариев иначе, чем вы привыкли, но мейнтейнерам это упростит слияние вашего пул-реквеста, а другим — облегчит понимание и поддержку в будущем.
Если это ваш первый пул-реквест, ознакомьтесь с сайтом [Make a Pull Request](http://makeapullrequest.com/), который @kentcdodds сделал в виде пошагового видео-руководства. Вы также можете попрактиковаться в создании пул-реквеста в репозитории [First Contributions](https://github.com/Roshanjossey/first-contributions), созданном @Roshanjossey.
## Что будет дальше после принятия участия
Вы сделали это! Поздравляем, вы стали контрибьютором в опенсорс. Надеемся, это будет далеко не первый раз.
После того, как вы отправите вклад, произойдет одно из следующих событий:
### 😭 Вы не получите ответ.
Предполагаем, вы [проверили проект на наличие признаков активности](#чеклист-перед-тем-как-принять-участие) перед тем, как внести свою лепту. Однако даже в активном проекте возможно, что ваш вклад не получит отклика.
Если вы не получили ответа в течение недели, вполне нормально вежливо ответить в той же теме и попросить кого-нибудь проверить вашу работу. Если вы знаете, кто может посмотреть ваш пул-реквест, упомяните его через @ в этой ветке.
**Не** обращайтесь напрямую к этому человеку; помните, что публичное общение жизненно важно для опенсорс-проектов.
Если после вежливого напоминания так никто и не ответил, есть вероятность, что никто и никогда не ответит. Это не самое приятное ощущение, но пусть оно вас не расстраивает. Такое с каждым случалось! Есть множество возможных причин, по которым вам могли не ответить, в том числе личные обстоятельства, на которые вы не можете повлиять. Попробуйте найти другой проект или способ участия. В любом случае, нет смысла тратить время на проект, пока члены его сообщества не проявят должного уровня вовлеченности и отзывчивости.
### 🚧 У вас могут запросить внести изменения.
Зачастую вас могут попросить что-то изменить, это может быть связано с самой идеей или её реализацией.
Когда кто-то запрашивает сделать изменения, относитесь к этому с пониманием и воспринимайте это должным образом. Люди нашли время, чтобы оценить ваш вклад. Открывать PR и бросать его на произвол судьбы — дурной тон. Если вы не знаете, как внести изменения, изучите проблему, а затем обратитесь за помощью, если она вам нужна.
Если у вас больше нет времени работать над проблемой (например, обсуждение длится уже несколько месяцев, а за это время обстоятельства поменялись), сообщите об этом мейнтейнеру, чтобы он не ожидал ответа. Возможно, кто-то другой с радостью завершит начатую вами работу.
### 👎 Ваш вклад не принят.
В итоге ваш вклад будет либо принят, либо нет. Надеюсь, вы потратили не слишком много усилий на него. Если вы не поняли, почему он не был принят, разумно попросить мейнтейнера дать пояснения. В конечном итоге, однако, вам стоит понять и смириться с их решением. Не спорьте и не злитесь по этому поводу. В случае чего вы всегда можете форкнуть репозиторий, чтобы работать над своей собственной версией продукта!
### 🎉 Ваш вклад принят.
Ура! Вы успешно сделали вклад в опенсорс!
## Вы сделали это!
Независимо от того, сделали ли вы свой первый вклад в опенсорс или ищете новые способы сделать это, мы надеемся, что вы вдохновитесь на действия. Даже если ваш вклад был отклонён, не забудьте сказать спасибо, когда мейнтейнер постарался вам помочь. Опенсорс создается такими же людьми, которые создают ишью, отправляют пул-реквест, оставляют комментарии или приветствуют друг друга одновременно.
================================================
FILE: _articles/ru/index.html
================================================
---
layout: index
title: Руководство по открытому программному обеспечению
lang: ru
permalink: /ru/
---
================================================
FILE: _articles/ru/leadership-and-governance.md
================================================
---
lang: ru
title: Лидерство и управление
description: Растущие проекты с открытым исходным кодом могут выиграть от формализации правил принятия решений.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Понимание механизмов управления вашим растущим проектом
Ваш проект растет, люди вовлечены в него, и вы полны решимости поддерживать его. На этом этапе вы, возможно, задаетесь вопросом, как включить постоянных участников проекта в свой рабочий процесс, будь то предоставление кому-то доступа к правкам кода (commit) или модерацию дебатов в сообществе. Если у вас есть вопросы, у нас есть ответы.
## Какие примеры формальных ролей используются в проектах с открытым исходным кодом?
Многие проекты имеют схожую структуру распределения ролей и признания заслуг участников.
Однако что на самом деле означают эти роли, зависит только от вас. Вот несколько типов ролей, которые вы можете узнать:
* **Сопровождающий (maintainer)**
* **Участник (contributor)**
* **Правщик (committer)**
**Для некоторых проектов "сопровождающие"** - это единственные люди в проекте, имеющие доступ к правкам (commit). В других проектах это просто люди, которые указаны в README как сопровождающие.
Сопровождающий не обязательно должен быть тем, кто пишет код для вашего проекта. Это может быть человек, который проделал большую работу по пропаганде вашего проекта или написал документацию, которая сделала проект более доступным для других. Независимо от того, чем он занимается ежедневно, сопровождающий - это человек, который чувствует ответственность за направление развития проекта и стремится его улучшить.
**"Участником" может быть любой**, кто комментирует проблему (issue) или запрос на перенос (pull request), люди, которые добавляют ценность проекту (будь то устранение проблем, написание кода или организация мероприятий), или любой, у кого есть принятый запрос на перенос (возможно, это самое узкое определение участника).
**Термин "правщик"** может быть использован для того, чтобы отличить доступ к правкам, который является особым видом ответственности, от других форм вклада.
Хотя вы можете определять роли в проекте как угодно, [рассмотрите возможность использования более широких определений](../how-to-contribute/#что-значит-внести-свой-вклад), чтобы воодушевить людей на большее количество разновидностей вклада. Вы можете использовать лидерские роли для официального признания людей, которые внесли выдающийся вклад в ваш проект, независимо от их технических навыков.
## Как формализовать эти лидерские роли?
Формализация лидерских ролей помогает людям почувствовать свою сопричастность и подсказывает другим членам сообщества, к кому обращаться за помощью.
В небольших проектах назначение лидеров может быть простым - достаточно добавить их имена в README или текстовый файл CONTRIBUTORS.
Для более крупного проекта, если у вас есть веб-сайт, создайте страницу команды или перечислите на ней руководителей проекта. Например, у [Postgres](https://github.com/postgres/postgres/) есть [страница полной команды](https://www.postgresql.org/community/contributors/) с краткими профилями для каждого участника.
Если ваш проект имеет очень активное сообщество участников, вы можете сформировать "ядро" сопровождающих (maintainers) или даже группы людей, которые будут отвечать за различные области проблем (например, безопасность, устранение проблем или поведение сообщества). Позвольте людям самоорганизоваться и стать добровольцами на те роли, которые им больше всего нравятся, а не назначайте их.
Команды руководителей могут захотеть создать специальный канал (например, на IRC) или регулярно встречаться для обсуждения проекта (например, на Gitter или Google Hangout). Вы даже можете сделать эти встречи публичными, чтобы другие люди могли послушать. Например, [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby)[проводит офисные часы каждую неделю](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
После того как вы установили руководящие роли, не забудьте задокументировать, как люди могут их получить! Установите четкий процесс того, как кто-то может стать сопровождающим или присоединиться к группе в вашем проекте, и запишите его в файле GOVERNANCE.md.
Такие инструменты, как [Vossibility](https://github.com/icecrime/vossibility-stack), могут помочь вам публично отслеживать, кто вносит (или не вносит) вклад в проект. Документирование этой информации позволяет избежать восприятия сообществом того, что сопровождающие - это клика, которая принимает решения втайне от всех.
Наконец, если ваш проект находится на GitHub, подумайте о переносе проекта из личного аккаунта в Организацию и добавлении хотя бы одного резервного администратора. [GitHub Organizations](https://help.github.com/articles/creating-a-new-organization-account/) облегчают управление разрешениями и несколькими репозиториями и защищают наследие вашего проекта благодаря [общему владению](../building-community/#совместное-владение-вашим-проектом).
## Когда я должен предоставить кому-то доступ на правки (commit)?
Некоторые люди считают, что вы должны предоставлять доступ на правки всем, кто вносит свой вклад. Это может способствовать тому, что больше людей будут чувствовать себя причастными к вашему проекту.
С другой стороны, особенно для больших, более сложных проектов, вы можете захотеть предоставить commit доступ только тем людям, которые продемонстрировали свою приверженность. Не существует единственно правильного способа - делайте то, что вам удобнее всего!
Если ваш проект находится на GitHub, вы можете использовать [защищенные ветки](https://help.github.com/articles/about-protected-branches/), чтобы управлять тем, кто и при каких обстоятельствах может отправлять правки (push) в определенную ветку.
## Какие существуют структуры управления для проектов с открытым исходным кодом?
Существуют три общие структуры управления, связанные с проектами с открытым исходным кодом.
* **BDFL:** (Benevolent dictator for life) - "пожизненный доброжелательный диктатор". При такой структуре один человек (обычно первоначальный автор проекта) имеет право окончательного голоса при принятии всех основных решений по проекту. [Python](https://github.com/python) - классический пример. Небольшие проекты, вероятно, по умолчанию являются BDFL, потому что в них есть только один или два сопровождающих (maintainer). Проект, созданный в компании, также может попасть в категорию BDFL.
* **Меритократия:** (Примечание: термин "меритократия" несет негативные коннотации для некоторых сообществ и имеет [сложную социальную и политическую историю](http://geekfeminism.wikia.com/wiki/Meritocracy).) При меритократии активным участникам проекта (тем, кто демонстрирует "заслуги") отводится формальная роль в принятии решений. Решения обычно принимаются на основе чистого консенсусного голосования. Концепция меритократии была впервые предложена [Apache Foundation](https://www.apache.org/); [все проекты Apache](https://www.apache.org/index.html#projects-list) являются меритократиями. Вклад может быть сделан только людьми, представляющими самих себя, а не компанию.
* **Либеральный вклад:** Согласно модели либерального вклада, наиболее влиятельными признаются люди, которые делают больше всего работы, но это основано на текущей работе, а не на историческом вкладе. Основные решения по проекту принимаются на основе процесса поиска консенсуса (обсуждение основных претензий), а не прямого голосования, и стремятся охватить как можно больше точек зрения сообщества. Популярные примеры проектов, использующих либеральную модель вклада, включают [Node.js](https://foundation.nodejs.org/) и [Rust](https://www.rust-lang.org/).
Какой из них использовать? Это зависит от вас! У каждой модели есть свои преимущества и компромиссы. И хотя поначалу они могут показаться совершенно разными, все три модели имеют больше общего, чем кажется. Если вы заинтересованы в принятии одной из этих моделей, ознакомьтесь с этими шаблонами:
* [шаблон модели BDFL](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Шаблон модели меритократии](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Либеральная политика Node.js в отношении вклада участников](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Нужна ли мне документация по управлению, когда я запускаю свой проект?
Не существует подходящего времени для написания документации для вашего проекта, но его гораздо легче определить, когда вы увидите динамику развития вашего сообщества. Самое лучшее (и самое трудное) в управлении открытым исходным кодом - это то, что оно формируется сообществом!
Однако некоторая ранняя документация неизбежно будет способствовать управлению проектом, поэтому начинайте записывать все, что можно. Например, вы можете определить четкие ожидания в отношении поведения или того, как работает ваш процесс привлечения участников, еще на этапе запуска проекта.
Если вы являетесь частью компании, запускающей проект с открытым исходным кодом, стоит провести внутреннее обсуждение перед запуском о том, как ваша компания собирается поддерживать проект и принимать решения по его дальнейшему развитию. Возможно, вы также захотите публично объяснить все особенности того, как ваша компания будет (или не будет!) участвовать в проекте.
## Что если сотрудники корпорации участвуют в проекте?
Успешные проекты с открытым исходным кодом используются многими людьми и компаниями, и некоторые компании в конечном итоге могут иметь потоки доходов, связанные с проектом. Например, компания может использовать код проекта в качестве одного из компонентов коммерческого предложения услуг.
По мере того как проект получает все более широкое распространение, люди, обладающие опытом в этой области, становятся более востребованными - вы можете быть одним из них! - и иногда будут получать деньги за работу, которую они выполняют в проекте.
Важно относиться к коммерческой деятельности как к норме и как к еще одному источнику энергии для развития. Конечно, платные разработчики не должны получать особое отношение к себе по сравнению с бесплатными; каждый вклад должен оцениваться по его техническим достоинствам. Однако люди должны чувствовать себя комфортно, занимаясь коммерческой деятельностью, и не стесняться приводить свои примеры использования, аргументируя свою позицию в пользу того или иного усовершенствования или функции.
"Коммерческое" полностью совместимо с "открытым исходным кодом". "Коммерческий" означает лишь то, что где-то вовлечены деньги - что программное обеспечение используется в коммерции, что становится все более вероятным по мере того, как проект получает распространение. (Когда программное обеспечение с открытым исходным кодом используется как часть продукта без открытого исходного кода, общий продукт все равно является "проприетарным" программным обеспечением, хотя, как и открытый исходный код, он может использоваться в коммерческих или некоммерческих целях).
Как и любой другой человек, коммерчески мотивированные разработчики приобретают влияние в проекте за счет качества и количества своего вклада. Очевидно, что разработчик, которому платят за его время, может сделать больше, чем тот, кому не платят, но это нормально: оплата - это лишь один из многих возможных факторов, которые могут повлиять на то, как много кто-то делает. Обсуждая проект, сосредоточьтесь на вкладе, а не на внешних факторах, которые позволяют людям делать этот вклад.
## Нужно ли мне юридическое лицо для поддержки моего проекта?
Вам не нужно юридическое лицо для поддержки вашего проекта с открытым исходным кодом, если только вы не работаете с деньгами.
Например, если вы хотите создать коммерческий бизнес, вам нужно будет учредить C Corp или LLC (если вы находитесь в США). Если вы просто выполняете контрактную работу, связанную с вашим проектом с открытым исходным кодом, вы можете принимать деньги как индивидуальный предприниматель или учредить LLC (если вы находитесь в США).
Если вы хотите принимать пожертвования для своего проекта с открытым исходным кодом, вы можете установить кнопку для пожертвований (например, с помощью PayPal или Stripe), но деньги не будут подлежать налогообложению, если вы не являетесь квалифицированной некоммерческой организацией (501c3, если вы находитесь в США).
Многие проекты не хотят заниматься созданием некоммерческой организации, поэтому вместо этого они находят фискального спонсора некоммерческой организации. Фискальный спонсор принимает пожертвования от вашего имени, обычно в обмен на процент от пожертвования. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) и [Open Collective](https://opencollective.com/opensource) являются примерами организаций, выступающих в качестве фискальных спонсоров проектов с открытым исходным кодом.
Если ваш проект тесно связан с определенным языком или экосистемой, может существовать и соответствующий фонд программного обеспечения, с которым вы можете работать. Например, [Python Software Foundation](https://www.python.org/psf/) помогает поддерживать [PyPI](https://pypi.org/), менеджер пакетов Python, а [Node.js Foundation](https://foundation.nodejs.org/) помогает поддерживать [Express.js](https://expressjs.com/), фреймворк на основе Node.
================================================
FILE: _articles/ru/legal.md
================================================
---
lang: ru
title: Юридические аспекты открытого программного кода
description: Все, что вас когда-либо интересовало о правовой стороне открытого исходного кода, и кое-что, чего вы не знали.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Понимание юридических последствий открытого исходного кода
Поделиться своим творчеством со всем миром может быть захватывающим и полезным опытом. Это также может означать множество юридических аспектов, о которых вы даже не подозревали. К счастью, вам не нужно начинать с нуля. Мы позаботились о ваших юридических потребностях. (Прежде чем углубляться, обязательно прочтите наш [отказ от ответственности](/notices/).)
## Почему людей так волнует правовая сторона открытого кода?
Рады, что вы спросили! Когда вы выполняете творческую работу (например, текст, графику или код), эта работа по умолчанию находится под исключительным авторским правом. То есть закон предполагает, что как автор своей работы вы имеете право голоса в отношении того, что другие могут с ней делать.
В общем, это означает, что никто другой не может использовать, копировать, распространять или изменять вашу работу, не подвергаясь риску разбирательства, изъятия или судебного разбирательства.
Однако открытый исходный код — это необычная ситуация, поскольку автор ожидает, что другие будут использовать, изменять и делиться работой. Но поскольку юридически законным по умолчанию по-прежнему остется исключительное авторское право, вам нужна лицензия, в которой явно указаны эти разрешения.
Если вы не примените лицензию для открытого исходного кода, каждый, кто вносит свой вклад в ваш проект, также становится эксклюзивным правообладателем своей работы. Это означает, что никто не может использовать, копировать, распространять или изменять их материалы — и этот «никто» включает вас.
Наконец, ваш проект может иметь зависимости от лицензионных требований, о которых вы не знали. Сообщество вашего проекта или политика вашего работодателя также могут требовать от вашего проекта использования определенных лицензий открытого исходного кода. Мы рассмотрим эти ситуации ниже.
## Открыты ли общедоступные проекты GitHub?
Когда вы [создаете новый проект](https://help.github.com/articles/creating-a-new-repository/) на GitHub, у вас есть возможность сделать репозиторий **приватным** (частным) или **публичным** (общедоступным).

**Сделать ваш проект GitHub публичным — это не то же самое, что лицензировать ваш проект**. На общедоступные проекты распространяются [Условия использования GitHub](https://help.github.com/en/github/site-policy/github-terms-of-service#3-owner-of-content-right-to-post-and-license-grants), которые позволяют другим просматривать и делать ответвление (fork) вашего проекта. Но в остальном ваша работа не имеет разрешений.
Если вы хотите, чтобы другие могли использовать, распространять, изменять или вносить свой вклад в ваш проект, вам необходимо включить лицензию открытого исходного кода. Например, кто-то не может законно использовать какую-либо часть вашего проекта GitHub в своем коде, даже если он общедоступен, если вы явно не дадите ему на это право.
## Просто дайте мне ЧтоБыТоНиБыло, что нужно для защиты моего проекта.
Вам повезло, потому что сегодня лицензии открытого исходного кода стандартизированы и просты в использовании. Вы можете скопировать и вставить существующую лицензию прямо в свой проект.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) и [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) — самые популярные лицензии открытого исходного кода, но на выбор есть и другие варианты. Вы можете найти полный текст этих лицензий и инструкции по их использованию на сайте [choosealicense.com](https://choosealicense.com/).
Когда вы создаете новый проект на GitHub, вас [попросят добавить лицензию](https://help.github.com/articles/open-source-licensing/).
## Какая лицензия открытого исходного кода подходит для моего проекта?
Если вы начинаете с чистого листа, трудно ошибиться с [лицензией MIT](https://choosealicense.com/licenses/mit/). Она короткая, очень простая для понимания и позволяет любому делать всё, что угодно, если у него есть копия лицензии и упоминание вашего авторского права. Вы сможете выпустить проект под другой лицензией, если понадобится.
В противном случае выбор правильной лицензии для открытого исходного кода вашего проекта зависит от ваших целей.
Ваш проект, скорее всего, имеет (или будет иметь) **зависимости**. Например, если вы откроете исходный код проекта Node.js, вы, вероятно, будете использовать библиотеки из Node Package Manager (npm). Каждая из этих библиотек, от которых вы зависите, будет иметь собственную лицензию открытого исходного кода. Если каждая из их лицензий является «разрешающей» (дает общедоступное разрешение на использование, изменение и совместное использование без каких-либо условий для последующего лицензирования), вы можете использовать любую лицензию, которую хотите. Общие разрешительные лицензии включают MIT, Apache 2.0, ISC и BSD.
С другой стороны, если какая-либо из лицензий ваших зависимостей является «строгим авторским левом» (strong copyleft) (также дает такие же общедоступные разрешения при условии использования той же лицензии в дальнейшем), тогда ваш проект должен будет использовать ту же лицензию. Общие лицензии со строгим авторским левом включают GPLv2, GPLv3 и AGPLv3.
Вы также можете рассмотреть **сообщества**, которые, как вы надеетесь, будут использовать и вносить свой вклад в ваш проект:
* **Вы хотите, чтобы ваш проект использовался в качестве зависимости другими проектами?** Вероятно, лучше всего использовать самую популярную лицензию в вашем соответствующем сообществе. Например, [MIT](https://choosealicense.com/licenses/mit/) — самая популярная лицензия для [библиотек npm](https://libraries.io/search?platforms=NPM).
* **Вы хотите, чтобы ваш проект понравился крупным предприятиям?** Крупному бизнесу, скорее всего, потребуется явная патентная лицензия от всех участников. В этом случае [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) поможет вам (и им).
* **Вы хотите, чтобы ваш проект привлек участников, которые не хотят, чтобы их вклад использовался в программном обеспечении с закрытым исходным кодом?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) или (если они также не хотят участвовать в службах с закрытым исходным кодом) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) подойдет.
Ваша **компания** может иметь особые лицензионные требования для проектов с открытым исходным кодом. Например, может потребоваться разрешительная лицензия, чтобы компания могла использовать ваш проект в продукте компании с закрытым исходным кодом. Или ваша компания может потребовать строгую лицензию с авторским левом и дополнительное соглашение с участниками (см. ниже), чтобы только ваша компания и никто другой могли использовать ваш проект в программном обеспечении с закрытым исходным кодом. Или у вашей компании могут быть определенные потребности, связанные со стандартами, социальной ответственностью или прозрачностью, любая из которых может потребовать определенной стратегии лицензирования. Поговорите с [юридическим отделом вашей компании](#что-нужно-знать-юридическому-отделу-моей-компании).
Когда вы создаете новый проект на GitHub, вам предоставляется возможность выбрать лицензию. Включение одной из упомянутых выше лицензий сделает ваш проект на GitHub открытым. Если вы хотите увидеть другие варианты, посетите [choosealicense.com](https://choosealicense.com), чтобы найти подходящую лицензию для своего проекта, даже если это [не программное обеспечение](https://choosealicense.com/non-software/).
## Что, если я хочу изменить лицензию своего проекта?
Большинству проектов не потребуется менять лицензии. Но иногда обстоятельства меняются.
Например, по мере роста вашего проекта он добавляет зависимости или пользователей, или ваша компания меняет стратегии, для любой из которых может потребоваться другая лицензия. Кроме того, если вы пренебрегали лицензированием своего проекта с самого начала, добавление лицензии фактически аналогично изменению лицензий. При добавлении или изменении лицензии на проект необходимо учитывать три основных момента:
**Это сложно.** Определение совместимости и соответствия лицензий, а также обладателей авторских прав может очень быстро стать сложным и запутанным. Переход на новую, но совместимую лицензию для новых выпусков и дополнений отличается от перелицензирования всех существующих дополнений. Привлекайте свою команду юристов при первом намеке на желание сменить лицензию. Даже если у вас есть или вы можете получить разрешение от правообладателей вашего проекта на изменение лицензии, учитывайте влияние этого изменения на других пользователей и участников вашего проекта. Думайте о смене лицензии как об «управленческом событии» для вашего проекта, которое, скорее всего, пройдет гладко при четком общении и консультациях с заинтересованными сторонами вашего проекта. Еще одна причина выбрать и использовать соответствующую лицензию для вашего проекта с самого начала!
**Существующая лицензия вашего проекта.** Если существующая лицензия вашего проекта совместима с лицензией, на которую вы хотите перейти, вы можете просто начать использовать новую лицензию. Это потому, что если лицензия A совместима с лицензией B, вы будете соблюдать условия A, соблюдая условия B (но не обязательно наоборот). Поэтому, если вы в настоящее время используете разрешительную лицензию (например, MIT), вы можете перейти на лицензию с дополнительными условиями, при условии, что вы сохраняете копию лицензии MIT и любые связанные уведомления об авторских правах (т.е. продолжаете соблюдать минимальные условия лицензии MIT). Но если ваша текущая лицензия не разрешающая (например, авторское лево или у вас нет лицензии) и вы не являетесь единственным владельцем авторских прав, вы не можете просто изменить лицензию вашего проекта на MIT. По сути, с разрешающей лицензией правообладатели проекта заранее дали разрешение на изменение лицензий.
**Существующие правообладатели вашего проекта.** Если вы являетесь единственным участником своего проекта, то вы или ваша компания являетесь единственным правообладателем проекта. Вы можете добавить или изменить любую лицензию, которую захотите вы или ваша компания. В противном случае могут быть другие правообладатели, с которыми вам потребуется согласие для изменения лицензий. Кто они? Люди, у которых есть коммиты в вашем проекте, — хорошее место для начала. Но в некоторых случаях авторские права принадлежат работодателям этих людей. В некоторых случаях люди будут вносить только минимальный вклад, но не существует жесткого правила, согласно которому вклады с использованием определенного количества строк кода не подлежат авторскому праву. Что делать? Это зависит. Для относительно небольшого и молодого проекта может оказаться целесообразным убедить всех существующих участников согласиться на изменение лицензии в ишью или пул-реквесте. Для крупных и долгоживущих проектов вам, возможно, придется искать множество участников и даже их наследников. Mozilla потребовались годы (2001-2006), чтобы перелицензировать Firefox, Thunderbird и сопутствующее программное обеспечение.
В качестве альтернативы вы можете попросить участников заранее согласиться (посредством дополнительного соглашения с участниками - см. Ниже) на определенные изменения лицензии при определенных условиях, помимо тех, которые разрешены вашей существующей лицензией с открытым исходным кодом. Это немного меняет сложность изменения лицензий. Вам заранее понадобится дополнительная помощь юристов, и вы все равно захотите четко общаться с заинтересованными сторонами вашего проекта при изменении лицензии.
## Требуется ли для моего проекта дополнительное соглашение с участниками?
Возможно нет. Для подавляющего большинства проектов лицензия для открытого исходного кода неявно служит как входящей (от участников), так и исходящей (для других участников и пользователей) лицензией. Если ваш проект размещен на GitHub, то Условия использования GitHub делают "inbound = outbound" [явным значением по умолчанию](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Дополнительное соглашение с участником, часто называемое лицензионным соглашением участника (CLA), может создавать административную работу для сопровождающих проект. Сколько работы добавляет соглашение, зависит от проекта и реализации. Простое соглашение может требовать, чтобы участники подтвердили одним щелчком мыши, что у них есть права, необходимые для внесения вклада в соответствии с лицензией проекта с открытым исходным кодом. Более сложное соглашение может потребовать юридической проверки и подписи со стороны работодателей участников.
Кроме того, добавление «бумажной работы», которая, по мнению некоторых, является ненужной, трудной для понимания или несправедливой (когда получатель соглашения получает больше прав, чем участники или общественность через лицензию проекта с открытым исходным кодом), дополнительное соглашение с участниками может быть воспринято как недружественное к сообществу проекта.
Вот некоторые ситуации, когда вы можете захотеть рассмотреть вопрос о дополнительном соглашении с участниками для вашего проекта:
* Ваши юристы хотят, чтобы все участники явным образом приняли (подписать, онлайн или офлайн) условия вклада, возможно, потому, что они считают, что самой лицензии с открытым исходным кодом недостаточно (даже если это так!). Если это единственная проблема, должно быть достаточно соглашения с участником, подтверждающего лицензию проекта с открытым исходным кодом. [Лицензионное соглашение с индивидуальным участником jQuery](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) является хорошим примером облегченного соглашения с дополнительным участником.
* Вы или ваши юристы хотите, чтобы разработчики доказали, что каждое совершаемое ими действие санкционировано. Требование [Сертификата разработчика](https://developercertificate.org/) — это количество проектов, которые это обеспечивают. Например, сообщество Node.js [использует](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) DCO [вместо](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) их предыдущего CLA. Простым вариантом автоматизации принудительного применения DCO в вашем репозитории является [DCO Probot](https://github.com/probot/dco).
* В вашем проекте используется лицензия с открытым исходным кодом, которая не включает прямую выдачу патента (например, MIT), и вам нужен патент от всех участников, некоторые из которых могут работать в компаниях с большими портфелями патентов, которые могут быть использованы для вашего таргетинга. или других участников и пользователей проекта. [Лицензионное соглашение с индивидуальным участником Apache](https://www.apache.org/licenses/icla.pdf) является часто используемым соглашением с дополнительным участником, в котором выдача патента является копией той, которая содержится в лицензии Apache License 2.0.
* Ваш проект находится под лицензией с авторским левом, но вам также необходимо распространять проприетарную версию проекта. Вам потребуется, чтобы каждый участник назначил вам авторские права или предоставил вам (но не общественности) разрешительную лицензию. [Соглашение с участником MongoDB](https://www.mongodb.com/legal/contributor-agreement) является примером такого типа соглашения.
* Вы думаете, что вашему проекту может потребоваться изменить лицензии в течение его срока службы, и хотите, чтобы участники заранее согласились на такие изменения.
Если вам действительно нужно заключить с вашим проектом дополнительное соглашение с участниками, рассмотрите возможность использования такой интеграции, как [помощник CLA](https://github.com/cla-assistant/cla-assistant), чтобы свести к минимуму отвлечение участников.
## Что нужно знать юридическому отделу моей компании?
Если вы выпускаете проект с открытым исходным кодом в качестве сотрудника компании, во-первых, ваша юридическая группа должна знать, что вы открываете исходный код проекта.
Хорошо это или плохо, пусть они знают, даже если это личный проект. У вас, вероятно, есть «соглашение об интеллектуальной собственности сотрудников» с вашей компанией, которое дает им некоторый контроль над вашими проектами, особенно если они вообще связаны с бизнесом компании или вы используете какие-либо ресурсы компании для разработки проекта. Ваша компания _должна_ легко дать вам разрешение, и, возможно, оно уже было получено в рамках благоприятного для сотрудников соглашения об интеллектуальной собственности или политики компании. В противном случае вы можете вести переговоры (например, объяснить, что ваш проект служит целям профессионального обучения и вашего развития в целях компании) или не работать над своим проектом, пока не найдете лучшую компанию.
**Если вы открываете исходный код проекта своей компании,** обязательно сообщите им об этом. У вашей юридической группы, вероятно, уже есть политика в отношении того, какую лицензию с открытым исходным кодом (и, возможно, дополнительное соглашение с участником) использовать, в зависимости от бизнес-требований и опыта компании в отношении обеспечения соответствия вашего проекта лицензиям зависимостей. Если нет, то вам с ними повезло! Ваша юридическая команда должна быть готова работать с вами, чтобы разобраться в этом вопросе. Некоторые вещи для размышления:
* **Сторонние материалы:** Содержит ли ваш проект зависимости, созданные другими, или иным образом включает или использует чужой код? Если это открытый исходный код, вам необходимо соблюдать лицензии на открытый исходный код материалов. Это начинается с выбора лицензии, которая работает со сторонними лицензиями с открытым исходным кодом (см. Выше). Если ваш проект изменяет или распространяет сторонние материалы с открытым исходным кодом, то ваша юридическая группа также захочет знать, что вы выполняете другие условия сторонних лицензий с открытым исходным кодом, такие как сохранение уведомлений об авторских правах. Если в вашем проекте используется чужой код, не имеющий лицензии с открытым исходным кодом, вам, вероятно, придется попросить сторонних разработчиков [добавить лицензию с открытым исходным кодом](https://choosealicense.com/no-license/#for-users), а если вы не можете его получить, прекратите использовать их код в своем проекте.
* **Коммерческая тайна:** Подумайте, есть ли в проекте что-то, что компания не хочет делать доступным для широкой публики. Если это так, вы можете открыть исходный код остальной части вашего проекта после извлечения материала, который хотите сохранить конфиденциальным.
* **Патенты:** Подает ли ваша компания заявку на патент, открытый исходный код которого ваш проект будет представлять собой [публичное раскрытие](https://en.wikipedia.org/wiki/Public_disclosure)? К сожалению, вас могут попросить подождать (или, возможно, компания пересмотрит мудрость приложения). Если вы ожидаете участия в своем проекте сотрудников компаний с большим портфелем патентов, ваша группа юристов может пожелать, чтобы вы использовали лицензию с явным предоставлением патента от участников (например, Apache 2.0 или GPLv3) или дополнительное соглашение с участником (см. выше).
* **Торговые марки:** Дважды проверьте, что название вашего проекта [не конфликтует с существующими торговыми марками](../starting-a-project/#конфликт-имён). Если вы используете в проекте товарные знаки собственной компании, убедитесь, что это не вызывает конфликтов. [FOSSmarks](http://fossmarks.org/) — это практическое руководство по пониманию товарных знаков в контексте проектов с бесплатным и открытым исходным кодом.
* **Конфиденциальность:** Собирает ли ваш проект данные о пользователях? «Звонит домой» на серверы компании? Ваш юридическая команда может помочь вам в соблюдении политики компании и внешних нормативных требований.
Если вы выпускаете первый проект своей компании с открытым исходным кодом, вышеуказанного более чем достаточно для выполнения (но не волнуйтесь, большинство проектов не должны вызывать серьезных проблем).
В долгосрочной перспективе ваша команда юристов может сделать больше, чтобы помочь компании получить больше от своего участия в проектах с открытым исходным кодом и оставаться в безопасности:
* **Политики участия сотрудников:** Рассмотрите возможность разработки корпоративной политики, определяющей, как ваши сотрудники вносят вклад в проекты с открытым исходным кодом. Четкая политика уменьшит путаницу среди ваших сотрудников и поможет им внести свой вклад в проекты с открытым исходным кодом в интересах компании, будь то в рамках своей работы или в свободное время. Хорошим примером является политика Rackspace [Типовая политика в отношении интеллектуальной собственности и открытого исходного кода](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **Что выпустить:** [(Почти) все](http://tom.preston-werner.com/2011/11/22/open-source-everything.html)? Если ваша юридическая команда понимает и вкладывается в стратегию открытого исходного кода вашей компании, они смогут намного лучше помочь, чем препятствовать вашим усилиям.
* **Соответствие:** Даже если ваша компания не выпускает проекты с открытым исходным кодом, она использует чужое программное обеспечение с открытым исходным кодом. [Осведомленность и процесс](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) могут предотвратить головные боли, задержки продукта и судебные иски.
* **Патенты:** Ваша компания может пожелать присоединиться к [Открытой сети изобретений](https://www.openinventionnetwork.com/), общему защищенному пулу патентов, чтобы защитить использование участниками крупных проектов с открытым исходным кодом, или изучить другое [альтернативное лицензирование патентов](https://www.eff.org/document/hacking-patent-system-2016).
* **Управление:** Когда имеет смысл передать проект [юридическому лицу за пределами компании](../leadership-and-governance/#нужно-ли-мне-юридическое-лицо-для-поддержки-моего-проекта).
================================================
FILE: _articles/ru/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: ru
title: Поддержание баланса для мейнтейнеров в Open Source
description: Советы по заботе о себе и предотвращению выгорания в работе мейнтейнера.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
По мере того как open source-проект становится популярнее, становится важно устанавливать чёткие границы, чтобы сохранять баланс, оставаться бодрым и продуктивным в долгосрочной перспективе.
Чтобы понять опыт мейнтейнеров и их стратегии поддержания баланса, мы провели воркшоп с 40 участниками сообщества мейнтейнеров (Maintainer Community), что позволило нам узнать из первых рук об их опыте выгорания в open source и практиках, которые помогли им сохранять равновесие в работе. Именно здесь в игру вступает концепция персональной экологии для поддержания психологически здоровой внутренней среды.
Что же такое персональная экология? Как описывает Rockwood Leadership Institute, это "поддержание баланса, темпа и эффективности для сохранения нашей энергии на протяжении всей жизни". Это определило ход наших разговоров и помогло мейнтейнерам осознать свои действия и вклад как части более крупной экосистемы, которая развивается со временем. Выгорание, синдром, вызванный хроническим стрессом на рабочем месте, как [определено ВОЗ]( https://icd.who.int/browse/2025-01/foundation/en#129180281), не редкость среди мейнтейнеров. Это часто приводит к потере мотивации, невозможности сосредоточиться и отсутствию эмпатии к участникам и сообществу, с которым вы работаете.
Принимая концепцию персональной экологии, мейнтейнеры могут заранее предотвращать выгорание, ставить заботу о себе на первое место и поддерживать чувство баланса, чтобы выполнять свою лучшую работу.
## Советы по заботе о себе и предотвращению выгорания для мейнтейнеров:
### Определите свои мотивы участия в open source
Уделите время размышлениям о том, какие аспекты сопровождения open source вас вдохновляют. Понимание своих мотивов поможет вам расставлять приоритеты так, чтобы оставаться вовлечёнными и готовыми к новым вызовам. Будь то положительная обратная связь от пользователей, радость совместной работы и общения с сообществом или удовлетворение от погружения в код — осознание своих мотивов поможет направлять ваше внимание.
### Подумайте, что выбивает вас из равновесия и вызывает стресс
Важно понимать, что приводит нас к выгоранию. Ниже приведены несколько распространённых тем, с которыми сталкиваются мейнтейнеры open source:
* **Отсутствие положительной обратной связи:** Пользователи гораздо чаще обращаются, когда у них есть жалоба. Если всё работает отлично, они, как правило, молчат. Может быть обескураживающе видеть растущий список задач без положительной обратной связи, показывающей, как ваш вклад влияет на результат.
* **Неспособность говорить "нет":** Легко взять на себя больше ответственности, чем нужно, в open source проекте. Будь то от пользователей, участников или других мейнтейнеров — мы не всегда можем соответствовать их ожиданиям.
* **Работа в одиночку:** Быть мейнтейнером может быть невероятно одиноко. Даже если вы работаете с группой мейнтейнеров, последние несколько лет были трудными для личных встреч распределённых команд.
* **Нехватка времени или ресурсов:** Особенно актуально для волонтёрских мейнтейнеров, которым приходится жертвовать своим свободным временем ради проекта.
* **Конфликтующие требования:** В open source много групп с разными мотивами, что может быть сложно уравновесить. Если вы получаете оплату за работу в open source, интересы вашего работодателя иногда могут противоречить интересам сообщества.
### Следите за признаками выгорания
Сможете ли вы сохранять свой темп в течение 10 недель? 10 месяцев? 10 лет?
Существуют инструменты, такие как [чек-лист выгорания (Burnout Checklist)]( https://governingopen.com/resources/signs-of-burnout-checklist.html ) от [@shaunagm](https://github.com/shaunagm ), которые помогут вам проанализировать текущий темп и понять, какие корректировки можно внести. Некоторые мейнтейнеры также используют носимые устройства для отслеживания таких показателей, как качество сна и изменение сердечного ритма (оба связаны со стрессом).
### Что вам нужно, чтобы продолжать поддерживать себя и своё сообщество?
Для каждого сопровождающего это будет выглядеть по-разному и меняться в зависимости от этапа жизни и других внешних факторов. Ниже приведены несколько тем, которые мы услышали:
* **Опираетесь на сообщество:** Делегирование задач и поиск новых участников может снизить нагрузку. Наличие нескольких точек контакта для проекта позволяет вам отдохнуть, не беспокоясь. Общайтесь с другими сопровождающими и более широким сообществом — например, в таких группах, как [Maintainer Community](http://maintainers.github.com/). Это может стать отличным ресурсом для поддержки и обучения.
Также ищите способы взаимодействия с пользовательским сообществом, чтобы регулярно получать обратную связь и понимать влияние вашей open source-работы.
* **Изучите возможности финансирования:** Хотите ли вы просто немного денег на пиццу или планируете работать в open source полный рабочий день — есть множество ресурсов, которые помогут! В качестве первого шага рассмотрите возможность подключения [GitHub Sponsors](https://github.com/sponsors), чтобы другие могли поддерживать вашу open source-работу. Если вы думаете о переходе на полный рабочий день, подайте заявку на следующий раунд [GitHub Accelerator](http://accelerator.github.com/).
* **Используйте инструменты:** Изучите такие инструменты, как [GitHub Copilot](https://github.com/features/copilot/ ) и [GitHub Actions](https://github.com/features/actions ), чтобы автоматизировать рутинные задачи и освободить время для более значимых вкладов.
* **Отдыхайте и восстанавливайте силы:** Уделяйте время своим увлечениям и интересам вне open source. Отдыхайте по выходным, чтобы расслабиться и восстановиться — и установите свой [статус в GitHub](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status), чтобы отразить вашу доступность! Хороший сон может сильно повлиять на вашу способность сохранять усилия в долгосрочной перспективе.
Если вы обнаружите, что определённые аспекты проекта приносят вам особое удовольствие, постарайтесь структурировать свою работу так, чтобы испытывать их в течение дня.
* **Устанавливайте границы:** Вы не можете соглашаться на каждый запрос. Это может быть так же просто, как сказать: "Я не могу заняться этим сейчас и не планирую делать это в будущем", или перечислить в README, чем вы хотите заниматься, а чем — нет. Например: "Я объединяю только те PR, в которых чётко указаны причины их создания", или "Я просматриваю задачи по четвергам через один с 18 до 19 часов". Это устанавливает ожидания для других и даёт вам точку опоры, на которую можно сослаться, чтобы снизить давление со стороны участников или пользователей.
Научитесь твёрдо пресекать токсичное поведение и негативное взаимодействие. Не тратить энергию на то, что вам неинтересно, — это нормально.
Помните: персональная экология — это непрерывная практика, которая будет развиваться по мере вашего продвижения в open source-путешествии. Ставя заботу о себе и сохранение баланса во главу угла, вы сможете эффективно и устойчиво вносить вклад в сообщество open source, обеспечивая как своё благополучие, так и успех ваших проектов в долгосрочной перспективе.
## Дополнительные ресурсы
* [Maintainer Community](http://maintainers.github.com/)
* [Общественный договор open source]( https://snarky.ca/the-social-contract-of-open-source/ ), Бретт Кэннон
* [Расправленный](https://daniel.haxx.se/uncurled/ ), Дэниел Стенберг
* [Как общаться с токсичными людьми](https://www.youtube.com/watch?v=7lIpP3GEyXs), Джина Хойскэ
* [SustainOSS]( https://sustainoss.org/ )
* [Rockwood Искусство лидерства](https://rockwoodleadership.org/art-of-leadership/ )
* [Говорите нет](https://mikemcquaid.com/saying-no/ ), Майк МакКвайд
* [Governing Open](https://governingopen.com/ )
* Повестка воркшопа была адаптирована из серии [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/)
## Участники
Большое спасибо всем участникам, которые поделились с нами своим опытом и советами для этого руководства!
Это руководство написано [@abbycabs](https://github.com/abbycabs ) при участии:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + many others!
================================================
FILE: _articles/ru/metrics.md
================================================
---
lang: ru
title: Метрики проектов с открытым исходным кодом
description: Принимайте обоснованные решения, чтобы помочь вашему проекту с открытым исходным кодом процветать, измеряя и отслеживая его успех.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Зачем что-то измерять?
Данные, при разумном использовании, могут помочь вам принимать лучшие решения в качестве сопровождающего (maintainer) открытого исходного кода.
Имея больше информации, вы можете:
* Понять, как пользователи реагируют на новую функцию
* Выяснить, откуда приходят новые пользователи
* Определить и решить, стоит ли поддерживать новую функциональность
* Оценить популярность вашего проекта
* Понять, как используется ваш проект
* Привлечь инвестиции через спонсорство и гранты
Например, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) обнаружил, что Google Analytics помогает ему определять приоритеты в работе:
> Homebrew предоставляется бесплатно и управляется исключительно добровольцами в свободное время. В результате у нас нет ресурсов для проведения детальных исследований пользователей Homebrew, чтобы решить, как лучше разработать будущие функции и определить приоритеты текущей работы. Анонимная совокупная аналитика пользователей позволяет нам определять приоритетность фиксов и фич на основе того, как, где и когда люди используют Homebrew.
Популярность — это еще не всё. Все приходят в окрытые проекты по разным причинам. Если ваша цель как сопровождающего открытый исходный код — продемонтсрировать свою работу, быть прозрачным в работе с кодом или просто развлечься, то метрики могут быть для вас не важны.
Если вы _заинтересованы_ в более глубоком понимании своего проекта, читайте дальше, чтобы узнать, как проанализировать деятельность вашего проекта.
## Обнаруживаемость
Прежде чем кто-то сможет воспользоваться вашим проектом или внести в него свой вклад, он должен узнать о его существовании. Спросите себя: _могут ли люди найти этот проект?_

Если ваш проект размещён на GitHub, [вы можете посмотреть](https://help.github.com/articles/about-repository-graphs/#traffic), сколько людей попадают в ваш проект и откуда они приходят. На странице вашего проекта нажмите **Insights**, затем **Traffic**. На этой странице вы можете увидеть:
* **Общее количество просмотров страниц:** показывает, сколько раз был просмотрен ваш проект.
* **Общее количество уникальных посетителей:** показывает, сколько человек просмотрело ваш проект.
* **Сайты-источники:** рассказывает о том, откуда пришли посетители. Эта метрика может помочь вам определить, где можно привлечь аудиторию и работают ли ваши усилия по продвижению.
* **Популярный контент:** рассказывает о том, куда заходят посетители вашего проекта, в разбивке по просмотрам страниц и уникальным посетителям.
[GitHub stars](https://help.github.com/articles/about-stars/) также может помочь определить базовый показатель популярности. Хотя звезды GitHub не обязательно коррелируют с загрузками и использованием, они могут сказать вам, сколько людей обращают внимание на вашу работу.
Вы также можете захотеть [отслеживать открываемость в определенных местах](https://opensource.com/business/16/6/pirate-metrics): например, Google PageRank, реферальный трафик с сайта вашего проекта или рефералы с других проектов с открытым исходным кодом или сайтов.
## Использование
Люди находят ваш проект в этой дикой и безумной штуке, которую мы называем Интернетом. В идеале, когда они увидят ваш проект, у них возникнет желание что-то сделать. Второй вопрос, который вы хотите задать, это: _используют ли люди этот проект?_
Если вы используете менеджер пакетов, такой как npm или RubyGems.org, для распространения вашего проекта, вы можете отслеживать скачивания пакета.
Каждый пакетный менеджер может использовать несколько иное определение "скачивания", и скачивания не обязательно коррелируют с установками или использованием, но это даёт некоторую базу для сравнения. Попробуйте использовать [Libraries.io](https://libraries.io/) для отслеживания статистики использования многих популярных менеджеров пакетов.
Если ваш проект находится на GitHub, снова перейдите на страницу **Traffic**. Вы можете использовать [clone graph](https://github.com/blog/1873-clone-graphs), чтобы увидеть, сколько раз ваш проект был клонирован в определенный день, с разбивкой по общему количеству клонирований и уникальным клонирователям.

Если использование низкое по сравнению с количеством людей, которые находят ваш проект, есть два аспекта, которые следует рассмотреть. Либо:
* Ваш проект плохо конвертирует вашу аудиторию, либо
* Вы привлекаете не ту аудиторию
Например, если ваш проект попадет на первую страницу Hacker News, вы, вероятно, увидите всплеск посещений (трафика), но более низкий коэффициент конверсии, поскольку вы охватите всех пользователей Hacker News. Однако если ваш Ruby-проект будет представлен на конференции Ruby, вы, скорее всего, получите высокий коэффициент конверсии от целевой аудитории.
Попытайтесь понять, откуда приходит ваша аудитория, и попросите других людей оставить отзыв на странице вашего проекта, чтобы выяснить, с какой из этих двух проблем вы столкнулись.
Как только вы узнаете, что люди используют ваш проект, вы можете попытаться выяснить, что они с ним делают. Создают ответвления (fork) вашего кода и добавляют функции? Используют для науки или бизнеса?
## Удержание
Люди находят ваш проект и используют его. Следующий вопрос, который вы захотите задать себе: _участвуют (contribute) ли люди в этом проекте?_
Никогда не рано начинать думать об участниках (contributors). Без участия других людей вы рискуете оказаться в нездоровой ситуации, когда ваш проект _популярен_ (многие используют его), но не _поддерживается_ (не хватает времени сопровождающих (maintainers) для удовлетворения спроса).
Для удержания также необходим [приток новых участников](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), так как ранее активные участники со временем переходят на другие виды деятельности.
Вот ещё показатели для отслеживания:
* **Общее количество участников и количество правок (commit) на одного участника:** позволяет узнать, сколько у вас участников и кто из них более или менее активен. На GitHub это можно посмотреть в разделе **Insights** -> **Contributors**. В настоящее время этот график учитывает только тех участников, которые сделали правку (commit) в ветку репозитория по умолчанию.

* **Первоначальные, случайные и повторные участники:** помогает вам отслеживать, привлекаете ли вы новых участников и возвращаются ли они. (Случайные участники - те, у кого мало правок (commit). Будет ли это одна правка, менее пяти или что-то другое - решать вам). Без новых участников сообщество вашего проекта может стать застойным.
* **Количество текущих открытых проблем (issue) и запросов на перенос (pull request):** если эти показатели слишком высоки, вам может понадобиться помощь в устранении проблем и проверке кода.
* **Общее количество проблем (issues) и запросов на перенос (pull request) (включая закрытые):** открытые когда-то проблемы (issues) означают, что ваш проект кому-то достаточно интересен, чтобы он открыл проблему (issue). Если это число увеличивается со временем, это говорит о том, что люди заинтересованы в вашем проекте.
* **Типы вклада (contribution):** например, правки (commit), исправление опечаток или ошибок, или комментирование проблемы (issue).
## Активность сопровождающих
Наконец, вы захотите замкнуть цикл, убедившись, что участники вашего проекта в состоянии справиться с объёмом получаемых вкладов (contributions). Последний вопрос, который вы хотите задать себе, это: _отвечаю ли я (или мы) на запросы нашего сообщества?_
Неотзывчивые сопровождающие становятся узким местом для проектов с открытм кодом. Если кто-то вносит свой вклад, но так и не получает ответа от сопровождающего, он может разочароваться и уйти.
[Исследование компании Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) предполагает, что отзывчивость сопровождающих является критическим фактором поощрения повторного участия.
Отслеживайте, сколько времени требуется вам (или другому сопровождающему), чтобы ответить на вклад, будь то проблема (issue) или запрос на перенос (pull request). Для ответа не обязательно предпринимать какие-либо действия. Можно просто сказать: _"Спасибо за ваш вклад! Я рассмотрю его в течение следующей недели."_
Можно также измерять время, необходимое для перехода от одного этапа процесса внесения вклада к другому, например:
* Среднее время, в течение которого проблема (issue) остаётся открытой
* Закрываются ли проблемы (issue) в запросе на перенос (pull request)
* Закрываются ли неактуальные проблемы (issue)
* Среднее время для слияния запроса на перенос (pull request)
## Используйте 📊, чтобы узнать о людях
Понимание метрик поможет вам построить активный, растущий проект с открытым исходным кодом. Даже если вы не отслеживаете каждую метрику на панели инструментов, используйте описанный выше алгоритм действий, чтобы сосредоточить свое внимание на том типе поведения, который поможет вашему проекту процветать.
[CHAOSS](https://chaoss.community/) — это гостеприимное сообщество с открытым исходным кодом, ориентированное на аналитику, показатели и программное обеспечение для здоровья сообщества.
================================================
FILE: _articles/ru/security-best-practices-for-your-project.md
================================================
---
lang: ru
title: Лучшие практики безопасности для вашего Проекта
description: Укрепите будущее своего проекта, укрепляя доверие с помощью основных методов обеспечения безопасности — от многофакторной аутентификации и сканирования кода до безопасного управления зависимостями и конфиденциальных отчетов об уязвимостях.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Помимо исправления ошибок и добавления новых функций, долгосрочное существование проекта зависит не только от его полезности, но и от доверия, которое он заслуживает у пользователей. Надёжные меры безопасности важны для сохранения этого доверия. Ниже приведены ключевые действия, которые вы можете предпринять, чтобы значительно повысить безопасность вашего проекта.
## Убедитесь, что все привилегированные участники включили двухфакторную аутентификацию (MFA)
### Злоумышленник, которому удастся выдать себя за участника с привилегированным доступом, может нанести катастрофический ущерб.
Получив привилегированный доступ, такой злоумышленник может изменить ваш код, чтобы тот выполнял нежелательные действия (например, майнинг криптовалюты), распространить вредоносное ПО в инфраструктуре ваших пользователей или получить доступ к закрытым репозиториям, чтобы похитить интеллектуальную собственность и конфиденциальные данные, включая учётные данные для других сервисов.
MFA обеспечивает дополнительный уровень защиты от захвата учётной записи. После включения вы должны входить с логином и паролем, а также предоставлять дополнительную форму аутентификации, к которой у вас есть доступ (например, одноразовый код из приложения).
## Обеспечьте безопасность кода в рамках процесса разработки
### Уязвимости в коде дешевле исправлять на ранних этапах, чем после выхода в продакшн.
Используйте инструмент статического анализа безопасности (SAST), чтобы обнаруживать уязвимости в коде. Эти инструменты работают на уровне кода и не требуют исполняемой среды, поэтому их можно запускать на ранних этапах и легко интегрировать в обычный процесс разработки — на этапе сборки или при проверке кода.
Это как если бы опытный эксперт просматривал ваш репозиторий и помогал находить распространённые уязвимости, которые могут быть незаметны при обычной разработке.
Как выбрать SAST-инструмент?
Проверьте лицензию: некоторые инструменты бесплатны для open-source проектов, например GitHub CodeQL или SemGrep.
Проверьте поддержку ваших языков программирования.
* Выбирайте инструмент, который легко интегрируется с уже используемыми вами средствами и процессами. Например, лучше, если оповещения будут отображаться в рамках вашего текущего процесса проверки кода, а не в отдельном инструменте.
* Остерегайтесь ложных срабатываний! Вы не хотите, чтобы инструмент замедлял вашу работу без причины!
* Проверьте функциональность: некоторые инструменты очень мощные и поддерживают анализ потоков данных (например, GitHub CodeQL), другие предлагают исправления, сгенерированные ИИ, третьи упрощают написание пользовательских запросов (например, SemGrep).
## Не храните и не публикуйте свои секреты
### Конфиденциальные данные, такие как API-ключи, токены и пароли, иногда случайно попадают в репозиторий.
Представьте ситуацию: вы — сопровождающий популярного open-source проекта, в который вносят вклад разработчики со всего мира. Однажды участник случайно коммитит в репозиторий API-ключи стороннего сервиса. Через несколько дней кто-то находит эти ключи и использует их для несанкционированного доступа. Сервис оказывается скомпрометирован, пользователи вашего проекта сталкиваются с простоем, а репутация проекта страдает. Как сопровождающий, вы теперь вынуждены отозвать скомпрометированные ключи, выяснить, какие действия злоумышленник мог совершить с этим доступом, уведомить пострадавших пользователей и внедрить исправления.
Чтобы предотвратить такие инциденты, существуют решения для сканирования секретов, которые помогают обнаруживать такие данные в вашем коде. Некоторые инструменты, например GitHub Secret Scanning и Trufflehog от Truffle Security, могут предотвратить отправку секретов в удалённые ветки, а некоторые автоматически отзывают обнаруженные ключи.
## Проверяйте и обновляйте зависимости
### Уязвимости в зависимостях вашего проекта могут подорвать его безопасность. Ручное обновление зависимостей — трудоёмкая задача.
Представьте: проект построен на прочной основе широко используемой библиотеки. Позже в этой библиотеке обнаруживается серьёзная уязвимость, но разработчики приложения об этом не узнают. Конфиденциальные данные пользователей остаются открытыми, и злоумышленник, воспользовавшись этой уязвимостью, похищает их. Это не теория — именно так произошло с Equifax в 2017 году: они не обновили зависимость Apache Struts после уведомления о критической уязвимости. Она была эксплуатирована, и в результате утечки пострадали данные 144 миллионов пользователей.
Чтобы избежать подобного, инструменты анализа состава ПО (SCA), такие, как Dependabot и Renovate, автоматически проверяют зависимости на наличие известных уязвимостей из публичных баз данных (например, NVD или GitHub Advisory Database) и создают pull request'ы для обновления до безопасных версий. Поддержание зависимостей в актуальном состоянии защищает ваш проект от потенциальных рисков.
## Защитите основные ветки от нежелательных изменений
### Неограниченный доступ к основным веткам может привести к случайным или злонамеренным изменениям, которые вызовут уязвимости или нарушат стабильность проекта.
Новый участник получает права на запись в основную ветку и случайно пушит непроверенные изменения. В результате обнаруживается серьёзная уязвимость, вызванная этими изменениями. Чтобы избежать таких проблем, правила защиты веток гарантируют, что изменения не могут быть влиты в важные ветки без предварительной проверки и прохождения указанных проверок статуса. С этой дополнительной мерой вы будете в большей безопасности, обеспечивая высокое качество кода при каждом изменении.
## Настройте механизм приёма отчётов об уязвимостях
### Хорошей практикой является упрощение процесса сообщения об ошибках, но главный вопрос: как пользователи могут безопасно сообщить об уязвимости, не привлекая внимание злоумышленников?
Представьте: исследователь безопасности обнаруживает уязвимость в вашем проекте, но не находит понятного или безопасного способа сообщить о ней. Без чёткого процесса он может создать публичный issue или обсудить проблему в соцсетях. Даже если он действует добросовестно и предлагает исправление, при публичном pull request'е другие увидят уязвимость до её исправления! Такое раскрытие сделает уязвимость доступной для злоумышленников до того, как вы сможете её устранить, что может привести к эксплуатации «в ноль» и атаке на ваш проект и его пользователей.
### Политика безопасности
Чтобы избежать этого, опубликуйте политику безопасности. Политика безопасности, описанная в файле `SECURITY.md`, детализирует шаги для сообщения о проблемах безопасности, создаёт прозрачный процесс координированного раскрытия и определяет обязанности команды проекта по устранению сообщённых проблем. Политика может быть простой: «Пожалуйста, не публикуйте детали в публичных issue или PR, отправьте нам письмо на security@example.com», но также может содержать дополнительные сведения, например, когда ожидать ответа. Любая информация, которая поможет сделать процесс раскрытия эффективным и быстрым, полезна.
### Приватное сообщение об уязвимостях
На некоторых платформах можно упростить и усилить процесс управления уязвимостями — от приёма до оповещения — с помощью приватных обращений. В GitLab это реализовано через приватные issue. В GitHub это называется приватным сообщением об уязвимостях (PVR). PVR позволяет сопровождающим получать и обрабатывать отчёты об уязвимостях прямо в GitHub. GitHub автоматически создаёт приватный форк для написания исправлений и черновик security advisory. Всё это остаётся конфиденциальным, пока вы не решите раскрыть проблему и выпустить исправления. В завершение, security advisory публикуются и информируют, а также защищают всех ваших пользователей через их SCA-инструменты.
## Заключение: несколько шагов для вас — огромное улучшение для ваших пользователей
Эти шаги могут показаться вам простыми или базовыми, но они значительно повышают безопасность вашего проекта для пользователей, обеспечивая защиту от наиболее распространённых проблем.
## Участники
### Большое спасибо всем сопровождающим, которые поделились с нами своим опытом и советами для этого руководства!
Это руководство было написано [@nanzggits](https://github.com/nanzggits) и [@xcorail](https://github.com/xcorail) при участии:
[@JLLeitschuh](https://github.com/JLLeitschuh)
[@intrigus-lgtm](https://github.com/intrigus-lgtm) + [многие другие](https://github.com/github/opensource.guide/graphs/contributors)!
================================================
FILE: _articles/ru/starting-a-project.md
================================================
---
lang: ru
title: Запуск опенсорс-проекта
description: Узнайте подробнее о мире опенсорса и подготовьте к запуску собственный проект.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## Опенсорс — что это и зачем?
Итак, вы думаете о запуске своего опенсорс-проекта? Поздравляем! Мир ценит ваше участие. Давайте поговорим о том, что такое опенсорс и почему люди им занимаются.
### Что означает "опенсорс"?
Опенсорс-проект означает, что **кто-угодно может свободного его использовать, изучать, изменять и распространять независимо от цели.** Эти разрешения даются через [опенсорс-лицензию](https://opensource.org/licenses).
Преимущество опенсорса в том, что он снижает барьеры для выбора и сотрудничества, позволяя людям быстро распространять и улучшать проекты. Кроме того, по сравнению с закрытым кодом, он дает пользователям возможность контролировать код. Компания, использующая программное обеспечение (ПО) с открытым исходным кодом, может нанять кого-то для доработки этого ПО, а не полагаться исключительно на решение поставщика с закрытым кодом.
_Свободное ПО_ относится к тем же проектам, что и _опенсорс_. Иногда вы можете встретить комбинации этих [терминов](https://en.wikipedia.org/wiki/Free_and_open-source_software): "Свободное и открытое ПО" (free and open source software FOSS или free, libre, and open source software FLOSS). Слова free и libre здесь означают "свободное", а не ["бесплатное"](#опенсорс--значит-бесплатно).
### Почему люди делают свою работу открытой?
[Есть много причин](https://ben.balter.com/2015/11/23/why-open-source/) почему человек или организация открывают исходники своего проекта. Вот некоторые из них:
* **Сотрудничество:** В опенсорс-проект может внести изменения любой человек, где бы он ни находился. Например, платформа для упражнений по программированию [Exercism](https://github.com/exercism/) насчитывает 350 контрибьюторов.
* **Адаптация и доработки:** Опенсорс-проекты могут использоваться кем угодно практически для любой цели. Люди могут использовать ваш проект для создания чего-то нового. [WordPress](https://github.com/WordPress), например, стартовал как форк (ответвление) уже существовавшего проекта [b2](https://github.com/WordPress/book/blob/master/Content/Part%201/2-b2-cafelog.md).
* **Прозрачность:** Любой может проверить опенсорс-проект на наличие ошибок и несоответствий. Прозрачность важна даже на государственном уровне. Например, правительство [Болгарии](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) и [США](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/) законодательно предписали прозрачность для таких отраслей как банковское дело, здравоохранение, и программ безопасности, вроде [Let's Encrypt](https://github.com/letsencrypt).
Опенсорсом может быть не только ПО, но и многое другое: от наборов данных до книг. В разделе [GitHub Explore](https://github.com/explore) можно ознакомится с идеями проектов, которые можно заопенсорсить.
### Опенсорс — значит бесплатно?
Бесплатность опенсорс — это одно из самых больших преимуществ, которое скорее является побочным продуктом его совокупной ценности.
Поскольку [опенсорс-лицензия предполагает](https://opensource.org/osd-annotated), что кто угодно может использовать, модифицировать, и распространять ваш проект почти для любых целей, то в большинстве случаев это означает бесплатность. Потому что, если бы проект стоит денег, то любой мог абсолютно легально скопировать его и тем самым использовать его бесплатно.
Поэтому большинство опенсорс-проектов бесплатны, хотя это свойство не входит в определение само опенсорса. Есть способы оплаты взимания оплаты за пользование опенсорс-проектов косвенным образом через двойное лицензирование или ограничение функциональности, при этом такие проекты по-прежнему будут соответствовать официальному определению опенсорса.
## Стоит ли мне запускать свой опенсорс-проект?
Краткий ответ — да, потому что независимо от результата, запуск собстенного проекта — это отличный способ узнать, как работает опенсорс.
Если вы никогда ранее не запускали подобных проектов, вы можете переживать по поводу того, что скажут люди, и заметит ли кто-нибудь его вообще. Если вам знакомо это ощущение, не беспокойтесь, вы не один такой!
Опенсорс похож на любую другую творческую работу, будь то писательство или рисование. Может быть страшно показывать свою работу всему миру. Но как известно, практика — это путь к совершенству, даже если у вас пока нет своей аудитории.
Если вы ещё не решились, найдите время подумать о ваших возможных целях.
### Постановка целей
Цели помогут вам определиться, над чем работать, от чего отказаться, и где вам понадобится помощь со стороны. Спросите себя: _"зачем мне нужен этот опенсорс-проект?"_.
Единого ответа на этот вопрос не существует. Может быть сразу несколько целей на один проект, или разные проекты с разными целями.
Если ваша единственная цель — показать свою работу, скорее всего вы не нуждаетесь в сторонней помощи, о чём стоит явно можно указать в файле README. С другой стороны, если вы заинтересованы в помощниках, то следует потратить время на написание понятной документации и проявить заботу о новичках.
По мере роста проекта ваше сообщество будет нуждаться не только в коде. Ответы в ишью, проверка кода и реклама собственного проекта — всё это важные задачи любого опенсорс-проекта.
Хотя количество времени на непрограммистские задачи зависит от размера и масштаба вашего проекта, вы должны быть готовы решать их сами или найти для этого помощника.
**Если вы работаете в компании, запускающей опенсорс-проект,**, убедитесь заранее, у вас есть внутренние ресурсы для его развития. Вам нужно определить, кто будет отвечать за поддержку проекта после его запуска, и как будете распределять задачи внутри сообщества.
Если вам нужен выделенный бюджет или люди для продвижения, работы и поддержки проекта, обговорите это как можно раньше.
### Участие в чужих проектах
Если ваша цель — понять как взаимодействовать с другими и как работает опенсорс, рассмотрите возможность участия в уже существующем проекте, который вы используете и любите. Вашим участием может быть что-то простое, вроде исправление опечаток и обновление документации.
Если вы не понимаете, как войти в чужой проект, ознакомьтесь с нашим руководством [Как участвовать в опенсорс-проекте](../how-to-contribute/).
## Запуск собственного опенсорс-проекта
Нет идеального момента, когда нужно открывать исходники своей работы. Вы можете открыть их на стадии идеи, в процессе работы или после нескольких лет закрытости.
В общем случае, открывать исходники можно, когда вы чувствуете себя уверенно настолько, что посторонние люди будут смотреть вашу работу и высказываться о ней.
В каждом проекте вне зависимости от стадии, на которой вы решили открыть исходники, должна быть следующая документация:
* [Опенсорс-лицензию](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Руководство для участников](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Нормы поведения](../code-of-conduct/)
Эти файлы помогут вам донести ожидания, определить процесс по участию, и защитить законные права всех, включая вас самих. Всё это значительно увеличивает шансы, что всё пойдёт хорошо.
Если ваш проект на GitHub и вы разместите эти файлы в корневой категории с рекомендованными названиями, GitHub распознает их и автоматически отобразит посетителям репозитория.
### Выбор лицензии
Лицензия для открытого исходного кода гарантирует, что другие могут использовать, копировать, изменять и вносить правки в ваш проект без каких-либо последствий. Она также защищает вас от неприятных юридических ситуаций. **Вы должны добавить лицензию при запуске опенсорс-проекта.**
Юридическая работа — не из легких. Но есть хорошие новости: вы можете скопировать существующую лицензию и разместить её в своём репозитории, за одну минуту защитив ваш тяжелый труд.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), и [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) — это самые популярные лицензии, но [есть и другие варианты](https://choosealicense.com).
Когда вы создаёте новый проект на GitHub, вам дается на выбор несколько лицензий. Выбрав опенсорс-лицензию, вы сделаете свой проект открытым.

Если у вас есть другие вопросы или беспокойства относительно юридических аспектов опенсорса, [мы описали их здесь](../legal/).
### Написание README
Файл README ("прочитай меня") не только рассказывает, как использовать ваш проект, но и объясняет, почему он важен, и что пользователи могут с ним делать.
Постарайтесь ответить в README на следующие вопросы:
* Что делает этот проект?
* Чем этот проект полезен?
* Как начать работать с ним?
* Где получить помощь, если понадобится?
Также можно в README можно дать ответы на другие вопросы, например, как поучаствовать в проекте, каковы его цели, а также рассказать о лицензии и авторстве. Если вы не планируете принимать помощь от других людей, или он ещё не готов для запуска — так и напишите об этом.
Иногда люди откладывают написание README, потому что чувствуют, что проект не завершен, или не хотят, чтобы другие в нём участвовали. Но это как раз хороший повод написать об этом.
Для вдохновения, можете ознакомиться с [руководством "Сделай README"](https://www.makeareadme.com/) от @dguo или взять на вооружение [Шаблон README](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) от @PurpleBooth.
Если вы добавите файл README в корневую директорию проекта, GitHub автоматически заметит его и покажет на главной странице репозитория.
### Написание руководства для участников
Файл CONTRIBUTING говорит вашей аудитории, как стать участником вашего проекта. Например:
* Как сообщить об ошибке (попробуйте использовать [шаблоны для ишью и пул-реквестов](https://github.com/blog/2111-issue-and-pull-request-templates))
* Как предложить реализацию новой функциональности
* Как настроить среду выполнения и запустить тесты
Помимо технических деталей, в файле CONTRIBUTING только приветствуется изложить свои ожидания относительно участия других людей. Например:
* Какого рода участие вы ждёте?
* Ваши планы и видение развития проекта
* Как участники могут (и не могут) связываться с вами
Ваш тёплый дружеский тон и конкретные предложения по участию, вроде написания документации или создания сайта, могут иметь большое значение для привлечения новичков к работе над проектом.
Например, [Active Admin](https://github.com/activeadmin/activeadmin/) начинает [своё руководство по участию](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md) с таких слов:
> В первую очередь хотим выразить вам благодарность за то, что подумываете об участии в развитии Active Admin. Именно такие люди как вы делают Active Admin прекрасным инструментом.
На ранних стадиях проекта ваш файл CONTRIBUTING может быть простым. Вы всегда следует объяснить, как сообщать о багах и оформлять ишью, а также описать технические требования к контрибьюторам (например, написание тестов).
Со временем вы можете дополнить его ответами на часто задаваемые вопросы. Благодаря этому меньше людей будут спрашивать вас об одном и том же снова и снова.
Чтобы вам было проще написать файл CONTRIBUTING, ознакомьтесь с [шаблоном руководства по сотрудничеству](https://github.com/nayafia/contributing-template/blob/master/CONTRIBUTING-template.md) от @nayafia или прочтите ["Как создать файл CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/) от @mozilla.
Поставьте ссылку на файл CONTRIBUTING внутри README, так больше людей увидят его. Если вы [разместите файл CONTRIBUTING.md в корне вашего проекта](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), то GitHub автоматически предложит ознакомиться с ним когда кто-то открывает ишью или отправляет пул-реквест.

### Разработка норм поведения
В итоге, нормы поведения определяют базовые правила поведения участников вашего проекта. Это особенно важно, если вы запускаете проект для компании или сообщества. Нормы поведения способствует установлению здорового, конструктивного поведения в сообществе, снижая стресс для вас, как для мейнтейнера проекта.
Подробнее смотрите на странице [Руководство по нормам поведения](../code-of-conduct/).
Помимо описания _каким_ вы хотите видеть поведение участников, нормы поведения также разъясняют, к кому и когда они применяется, и что будет в случае их нарушения.
По аналогии с лицензией, вам не обязательно писать нормы самим, а можно скопировать один из существующих вариантов. [Contributor Covenant](https://contributor-covenant.org/) используется в [более 40.000 опенсорс-проектах](https://www.contributor-covenant.org/adopters), включая Kubernetes, Rails, и Swift. Какие бы нормы вы не выбрали, будьте готовы применить их при необходимости.
Вставьте текст в файл CODE_OF_CONDUCT.md в корне проекта, так его будет проще находить и ссылаться на него, например, из README.
## Название и брендирование вашего проекта
Брендинг — это не только броский логотип и запоминающееся название, но и то, как вы говорите о своём проекте и кому хотите обратиться с ним.
### Выбор правильного названия
Придумайте название, которое легко запоминается и, в идеале, даёт представление о сути проекта. Например:
* [Sentry](https://github.com/getsentry/sentry) (с англ. — караул) — сервис для мониторинга приложения
* [Thin](https://github.com/macournoyer/thin) (с англ. — худой) — быстрый и простой веб-сервер на Ruby
Если вы создаете что-то, опираясь на уже существующий проект, то добавьте его название в виде префикса к своему проекту, — это даст больше деталей о нём. Например [node-fetch](https://github.com/bitinn/node-fetch) реализует `window.fetch` в Node.js.
Выбирайте понятное название проекта прежде всего. Каламбуры могут быть забавными, но подумайте о людях из других культур или опытом, которые могут не понять шутку. Ваши потенциальные пользователи могут быть работниками компаний, которые будут рассказывать о проекте на работе. Не заставляйте их краснеть при этом!
### Конфликт имён
[Проверьте наличие опенсорс-проектов с таким же названием](http://ivantomic.com/projects/ospnc/), особенно если вы используете один и тот же язык или экосистему. Если ваше название совпадёт с популярным существующим проектом, вы можете запутать свою аудиторию.
Если вы планируете завести сайт, твиттер или любую площадку для публикаций, убедитесь, что нужное вам название там свободно. Лучше всего [зарегистрируйте все аккаунты сейчас](https://instantdomainsearch.com/), хотя просто для душевного спокойствия, даже если пока не планируете ими пользоваться.
Убедитесь, что вы не посягаете на торговую марку какой-нибудь компании. В будущем она сможет попросить вас закрыть проект или даже подать в суд на вас. Это неоправданный риск.
Проверьте имя во [всемирной базе брендов WIPO](http://www.wipo.int/branddb/en/), чтобы избежать конфликта по поводу авторских прав. Если вы делаете проект от лица компании, то [юридический отдел может помочь вам с этим](../legal/).
Напоследок, выполнит быстрый поиск в Google по названию вашего проекта. Смогут ли люди по нему легко найти ваш проект? А может быть, по этому запросу появляется что-то нежелательное?
### То, как вы пишите (и кодите) тоже влияет на ваш бренд!
За всю жизнь проекта вы будете много писать: README, руководства, документы сообщества, ответы на вопросы, возможно даже информационные бюллетени и списки рассылки.
Будь то официальная документация или обычное сообщение, стиль письма также является частью бренда проекта. Подумайте о том, в каком свете вы выглядите перед аудиторией, и правильный ли подобрали тон.
Добрый и вежливый тон создаст приятную атмосферу для новых участников. Следите так же за простотой изложения, так как для многих читателей английский может быть не родным.
Не только слова, что вы пишете, но и стиль кода может стать частью бренда вашего проекта. [Angular](https://angular.io/guide/styleguide) и [jQuery](https://contribute.jquery.org/style-guide/js/) — только два примера проектов со строгими стилями написания кода и рекомендациями.
Нет необходимости составлять руководство по стилю, когда вы только начинаете, возможно вам понравится совмещать в своём проекте разные стили. Но стоит заранее предвидеть, что стиль написания и кода может как привлекать, так и отталкивать людей. На ранних стадиях проекта формируется то, каким в дальнейшем станет ваш проект, и зависит от вас, каким вы хотите его видеть.
## Чеклист перед запуском
Вы готовы открыть свой проект? Вот вам проверочный лист в помощь. Когда отметите все пункты, [откройте ваш проект](https://help.github.com/articles/making-a-private-repository-public/) и похвалите себя.
**Документация**
**Код**
**Люди**
Если вы частное лицо:
Если вы компания или организация:
## Вы сделали это!
Поздравляем с открытием исходников вашего первого проекта! Вне зависимости от результата, работа на виду у людей — это подарок для сообщества. Каждый коммит, комментарий и запрос на правку — это возможность учиться и расти для себя и других.
================================================
FILE: _articles/sa/best-practices.md
================================================
---
lang: sa
title: परिचालकानां श्रेष्ठः आचरणः
description: मुक्तस्रोतपरियोजनायाः परिचालकः स्यात् चेत् प्रक्रियासु लेखनात् समुदायस्य उपयोगपर्यन्तं, तस्य जीवनं सुकरं भवति।
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## एकं परिचालकः भवितुं का अर्थः?
यदि भवान् एषां बहुसंख्यकानां उपयोगे येषां मुक्तस्रोतपरियोजनां परिचालयति, तर्हि सः दृष्टुम् अर्हति यत् भवतः समयः कूटलेखनाय न्यूनं गच्छति, परन्तु समस्यासु प्रतिसादाय अधिकं व्यतीतेति।
परियोजनायाः प्रारम्भिकावस्थायाम्, भवान् नवीनविचारैः प्रयोगं कुर्वन् इच्छातनुसारं निर्णयान् गृह्णाति। परियोजनायाः लोकप्रियता वर्धमानस्य, भवतः अधिकं उपयोगकर्तृभिः सह योगदानकर्तृभिः च सहकार्यं सुलभं भवति।
परियोजनायाः परिचालनं केवलं कूटलेखनं न भवति। एते कार्याणि अकस्मात् प्रकटितानि भवन्ति, परन्तु ते विकासशीलपरियोजनायैव महत्त्वपूर्णानि भवन्ति। प्रक्रियाणां दस्तावेजकरणात् समुदायस्य उपयोगपर्यन्तं, जीवनं सुलभं करणीयं विकल्पानि अस्माभिः संकलितानि सन्ति।
## प्रक्रियाणां दस्तावेजकरणम्
लेखनं करणं एकं महत्त्वपूर्णं कर्म भवति यत् एकस्य परिचालकस्य।
दस्तावेजकरणं केवलं स्वविचाराणां स्पष्टिं न ददाति, किन्तु अन्ये अपि जानन्ति यत् भवतः अपेक्षा किं, यावत् ते पृच्छन्ति, पूर्वमेव।
लेखनं करणं यदा किञ्चित् स्वविस्तरे न सुसंगतम्, तदा निषेधं कथयितुं सुगमं करोति। तथा च, अन्ये अपि सहाय्यं दातुं सुलभं भवति। न जानाति कः भवतः परियोजनं पठति वा उपयोगयति।
पूर्णपाठानां उपयोगं न कृत्वा अपि, बुलेट् बिन्दूनि लिखित्वा तस्य लेखनं उत्तमं भवति।
सदा दस्तावेजं अद्यतनं कुर्वीत। यदि न शक्नोति, तर्हि पुरातनं दस्तावेजं मुञ्चतु अथवा पुरातनत्वं सूचयतु यथा योगदानकर्तृभिः अद्यतनीकरणं कर्तुं जानन्ति।
### परियोजनायाः दृष्टिपथं लिखतु
परियोजनायाः लक्ष्याणि लिखित्वा आरभत। तान् README मध्ये समावेशयतु, अथवा पृथक् `VISION` इत्यस्मिन् फाइल् निर्मातु। यदि अन्यानि साधनानि सहायकानि, यथा परियोजनारूपरेखा, तानि अपि सार्वजनिकानि कुर्वीत।
स्पष्टं, दस्तावेजीकृतं दृष्टिपथं धारयित्वा, भवतः केन्द्रितं कुर्वन् अन्यैः योगदानैः "विस्तारापेक्षायाः" बाधां टालयति।
उदाहरणार्थ, @lord ज्ञातवान् यत् परियोजनादृष्टिपथं प्राप्तेन समयव्ययाय कस्याः विनियोगे निर्देशः कर्तुं शक्यते। नूतनपरिचालकस्य रूपेण, तस्य प्रथमं सुविधायाः विनियोगे [Slate](https://github.com/lord/slate) सम्बन्धिनि, तस्य परियोजनाविस्तारे न अडिग् स्थितः, एतत् पश्यन् खेदं जातम्।
### अपेक्षाः सञ्चरतु
नियमाः लिखितुं कठिनाः स्युः। कदाचित् इदं अन्येण नियन्त्रणं इव वा सर्वं रमणीयं नष्टं इव मन्यसे।
यथासंभवम् लिखितं न्याययुक्तं च, उत्तमः नियमः परिचालकान् सशक्तं करोति। एतेन भवतः अनिच्छितकार्ये प्रविष्टिं रोद्धुं शक्यते।
बहवः ये परियोजनं दृष्टवन्ति, ते स्वस्य परिस्थितीनां विषयं न जानन्ति। ते मन्यन्ते यत् भवान् तस्मिन् कर्मणि वित्तं लभते, विशेषतः यदि तं नियमितं उपयोगयन्ति। कदाचित् भवान् पूर्वं समयं परियोजनायाम् व्यतीतवान्, परं अद्य नवकर्म वा परिवारस्य कारणेन व्यस्तः।
सर्वं यथावत् योग्यं! केवलं अन्ये जानन्तु इति सुनिश्चितं कुर्वीत।
यदि परियोजनायाः परिचालनं अंशकालिकं वा स्वयंसेवी अस्ति, तदा स्वस्य समयस्य स्पष्टं विवरणं दत्तम्। एतत् परियोजनायाः आवश्यकसमयस्य वा अन्येषां अपेक्षायाः तुल्यम् न अस्ति।
लेखनीयानि किञ्चित् नियमाः:
* योगदानस्य समीक्षां च स्वीकृतिं कथं कुर्वीथाः (_परीक्षाः आवश्यकाः? समस्या साँचे?_ )
* ये योगदान प्रकाराः स्वीकरिष्यन्ति (_केवलं कूटस्य विशेषभागे सहाय्यं इच्छसि?_ )
* अनुवर्तीकरणाय कदा उचितम् (_उदाहरणार्थ, "परिचालकात् ७ दिनेषु प्रत्युत्तरं अपेक्ष्यम्। यदी न श्रुतम्, तर्हि थ्रेड् पिङ् कर्तुं स्वतंत्रः"_ )
* परियोजनायाम् समयव्ययः कथं (_उदाहरणार्थ, "सप्ताहे केवलं ५ घण्टानि व्यतीताः"_ )
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) परियोजनासु परिचालकानां योगदानकर्तृभ्यः नियमानाम् उदाहरणानि सन्ति।
### सञ्चारं सार्वजनिकं धारयतु
सम्बन्धानां लेखनं न विस्मर्तव्यम्। यत्र सम्भवम्, परियोजनासम्बन्धः सार्वजनिकं भवतु। यदि कश्चन निजपणे सम्पर्कं कर्तुं प्रयासति, तं सौम्यतया सार्वजनिकसञ्चारचैनल् इव निर्देशयतु, यथा मेलिंग् सूची वा समस्या ट्रैकर्।
यदि अन्यपरिचालकैः सह मिलति वा गूढ निर्णयं करोति, तदा अपि सार्वजनिके लिखित्वा संज्ञानं दातुं नोट्स् प्रकाशितं कुर्वीत।
एवं यः कोऽपि समुदायं आगच्छति, सः पूर्ववर्षेभ्यः समानं सूचना प्राप्नोति।
## निषेधं कथयितुं शिक्षितु
भवान् लेखितवान्। यथाशक्ति, सर्वे पाठकाः दस्तावेजं पठेयुः, परन्तु वास्तव्यात्, अन्यान् स्मारयितुं आवश्यकं भविष्यति।
सर्वं लिखितं भवति चेत्, नियमं प्रवर्तयतः व्यक्तित्वान् न्यूनं करोति।
निषेधं कथयितुं रमणीयं न, परन्तु _"भवत् योगदानं परियोजनस्य मापदण्डानुसारेण नास्ति"_ इत्यादि व्यक्तित्वन्यूनं अनुभूयते।
निषेधं बहुषु परिस्थितिषु लागू भवति: सुविधायाः विनियोगः यः दायरा न योजयति, चर्चां विचलयन्, अन्येषां व्यर्थकर्म।
### संवादं मैत्रीयं धारयतु
निषेधं अभ्यासाय मुख्यः स्थलं भवतः समस्या च पुल् अनुरोध सूची। परिचालकस्य रूपेण, सुझावाः आगच्छन्ति ये स्वीकरितुम् न इच्छसि।
कदाचित् योगदानं परियोजनायाः दायरा परिवर्तयति वा दृष्टिपथं न अनुगच्छति। कदाचित् विचारः उत्तमः, परन्तु क्रियान्वयनं नीचम्।
यदा योगदानं न स्वीक्रियते, तदा प्रथमं प्रतिक्रिया विस्मर्तुं वा न दृष्टवान् इव कर्तुं शक्यते। एतत् अन्यस्य हृदयस्पर्शं कुर्यात् च समुदायस्य अन्य योगदानकर्तृभ्यः प्रेरणाहानिं करोति।
अवांछित योगदानं सदा न खोलतु। समये, अप्रत्युत्तरितानि समस्याः तथा पुल् अनुरोधाः परियोजनायाम् कार्यं अधिकं क्लेशकरं कुर्वन्ति।
यथासंभवम् त्वरितं न स्वीक्रियतानि योगदानानि समापयतु। यदि परियोजनायाम् विशालं बैकलॉग् अस्ति, @steveklabnik सुझावः दत्तः [समस्या दक्षतया वर्गीकर्तुं](https://words.steveklabnik.com/how-to-be-an-open-source-gardener)।
द्वितीयतः, योगदानं उपेक्षितं समुदायाय नकारात्मकं संदेशं प्रेषयति। परियोजनायाम् योगदानं भयजनकं, विशेषतः प्रथमवारं यदि योगदानकर्तृ अस्ति। अपि यदि न स्वीक्रियते, तस्य प्रयासं मानयतु च आभारं कथयतु। महत् प्रशंसा।
यदि योगदानं न स्वीक्रियेत:
* **आभारं दत्तुम्**
* **किं कारणं दायरा न अनुगच्छति** स्पष्टं कथयतु, सुधारस्य सुझावः दत्तुम्। स्नेहपूर्णं, परन्तु दृढम्।
* **संबद्ध दस्तावेजं लिङ्क् कुरुत**, यदि अस्ति। आवृत्तिपूर्वक अनुरोधं रोद्धुम्।
* **अनुरोधं समापयतु**
१–२ वाक्यानि पर्याप्तानि। उदाहरणार्थ, [celery](https://github.com/celery/celery/) Windows समस्या, @berkerpeksag [प्रतिक्रियां](https://github.com/celery/celery/issues/3383) दत्तवान्:

यदि निषेधस्य विचारः भयंकरः, न एकः। @jessfraz [इव](https://blog.jessfraz.com/post/the-art-of-closing/) कथयति:
> बहूनि मुक्तस्रोतपरियोजनानां परिचालकैः संभाषितम्, Mesos, Kubernetes, Chromium, सर्वे अभिमतम् यत् परिचालकस्य कठीनतमं अंशं, "न" कथयितुं इच्छितपैचपत्रेषु।
अन्यस्य योगदानं न स्वीक्रियते इति दुःखं न अनुभवतु। मुक्तस्रोतस्य प्रथमः नियमः, @shykes [इव](https://twitter.com/solomonstre/status/715277134978113536): _"न अस्थायी, हाँ शाश्वत"_। अन्यस्य उत्साहं सहानुभूति, योगदानं अस्वीकृतिः व्यक्तित्वस्य अस्वीकृतिः न अस्ति।
अन्ते, यदि योगदानं पर्याप्तं न, स्वीक्रियति अनिवार्यम् न। स्नेहम्, उत्तरदायित्वं प्रदत्तु, केवलं यत् परियोजनं सुधारयिष्यति स्वीक्रियतु। यथासंख्यं अभ्यासः निषेधस्य, तस्मात् सरलम् भवति। प्रतिज्ञा।
### सक्रियः भवतु
अवांछित योगदानस्य मात्रा न्यूनं कर्तुं, परियोजनायाः योगदानपद्धतिं स्पष्टं कथयतु।
यदि निम्नगुणस्तरस्य योगदानं आगच्छति, योगदानकर्तृभ्यः पूर्वं किञ्चित् कार्यं आवश्यकं कृत्वा, उदाहरणार्थ:
* समस्या वा पुल् अनुरोध साँचे/सूची पूरयतु
* पुल् अनुरोधात् पूर्वं समस्या उद्घाटयतु
नियमं न पालयन्ति चेत्, समस्या त्वरितं समाप्यतु च दस्तावेजं सूचयतु।
यद्यपि प्रथमं कठोरं, सक्रियता दुष्टं न, परस्परयोः हितकरम्। अनावश्यककाले योगदानं व्यर्थं कार्यं न कुर्वन्ति। भवतः कर्मभारं सुगमं भवति।
कदाचित् निषेधं कथ्यते, योगदानकर्तृ क्रुद्धः भवति। यदि आक्रामकः, [परिस्थितिं शान्तां कुरुत](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) वा समुदायात् निष्कासयतु।
### मार्गदर्शनं स्वीकरोतु
कदाचित् योगदानकर्तृ परियोजनायाः मानकान् न अनुगच्छति। पुनरपि अस्वीकृतिः क्लेशः कुर्यात्।
यदि उत्साही, किंतु सुधारस्य आवश्यकता, धैर्यं धारयतु। प्रत्येक स्थितौ स्पष्टतया कारणं कथयतु। सरलः कार्य इव निर्दिष्टम्, यथा _"good first issue"_। समये सः मार्गदर्शनेन सहायः भवतु।
## समुदायस्य उपयोगं कुर्वीत
सर्वं स्वयमेव न कर्तव्यं। परियोजनायाः समुदायः अस्ति! यदि सक्रियः समुदायः न, उपयोगकर्तृ बहवः कार्यं दातुं प्रयत्नं कुर्यात्।
### कार्यभारं वितर
अन्यैः सहाय्यं अपेक्ष्यते चेत्, प्रथमं पृच्छतु।
नूतन योगदानकर्तृ प्रोत्साहनाय, [सरल समस्याः चिह्नितान्](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels) कुर्वीत। GitHub प्लेटफॉर्मे दृश्यतां वर्धयति।
नूतन योगदानकर्तृ निरन्तर योगदानं कुर्वन्, तेषां कार्यं मानयतु। अन्यैः नेतृत्व भूमिकां प्राप्तुं मार्गदर्शनं लिखतु।
स्वयंकार्यभारस्य न्यूनीकरणाय, अन्यैः परियोजनायाः स्वामित्वं [साझा](../building-community/#share-ownership-of-your-project) प्रोत्साहनं कुर्वीत। @lmccart पश्यत्, [p5.js](https://github.com/processing/p5.js) परियोजनायाम् सफलम्।
यदि परियोजनात् विरामः आवश्यकः, अन्ये स्वीकरोतु। यदि अन्ये उत्साही, तान् commit अधिकारं दत्तु वा औपचारिक नियन्त्रणं हस्तान्तरेण कुरुत। यदि अन्ये fork कुर्वन्ति, लिङ्क् प्रदत्तु। परियोजनायाः जीविताय सर्वे उत्साहिताः!
================================================
FILE: _articles/sa/building-community.md
================================================
---
lang: sa
title: "सौम्यसमुदायस्य निर्माणम्"
description: "यः समुदायः लोकान् परियोजनस्य उपयोगे, योगदाने, च प्रचारे प्रोत्साहयति तस्य निर्माणस्य मार्गदर्शिका।"
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## परियोजनस्य सफलतायै व्यवथापनम्
त्वं परियोजनं प्रकाशितवान्, प्रसिद्धिं वितरयसि, च लोकाः तस्य निरीक्षणं कुर्वन्ति। शुभं! त्वमेव चिन्तयसि — तान् कथं दीर्घकालं तत्र स्थातुं प्रेरयिष्यसि?
स्वागतम् ददाति समुदायः तव परियोजनस्य भविष्ये तथा ख्यात्यै निवेशः अस्ति। यदा तव परियोजनं तस्य प्रथम-योगदानान् प्राप्त्वा आरभते तर्हि प्रारम्भिकयोगदानकर्तृभ्यः सुस्वागतदृष्ट्या अनुभवः दातव्यम् यत् ते पुनरागतुम् इच्छेयुः।
### लोकान् स्वागतकरान् भवय
परियोजन-समुदायं चिन्तयताम् यथा @MikeMcQuaid कथयति — योगदानकर्तृ-फनेल् (contributor funnel):

यदा त्वं समुदायं निर्मासि तदा फनेल्-ऊपरि (संभावित-उपयोगकर्ता) आरभ्य अधो (सक्रिय-परिचालकः) पर्यन्तम् व्यक्तिः कथं गच्छेत् इति चिन्तय। तव लक्ष्यं प्रत्येकचरणे अडचनो न्यूनम् कर्तुं अस्ति। लोकाः सुलभ-यशस्य लभन्ते तदा ते अधिकं कृते प्रेरिताः भवन्ति।
प्रारम्भं कुरु द्वितीयेन — तव दस्तावेजनेन:
* **परियोजनं उपयोगं सुकरं कुरु।** सुबोधं `README` तथा स्पष्ट-कोड्-दर्शनम् नवागन्तुकान् शीघ्रं आरभयितुं साहाय्यं करिष्यति।
* **योगदानं कथं कुर्वन्ति स्पष्टं लिख।** `CONTRIBUTING` फाइल्, तथा अद्यतनानि issue-नामानि धारय।
* **Good first issues**: नवयोगदानकर्तृभ्यः आरम्भाय सरलानि कार्याणि `good first issue` इत्यानि लेबल् दत्तुम् चिन्तय। GitHub एतानि विभिन्नस्थले प्रदर्शयिष्यति, यतः सरलनवीन-योगदानानि वर्धन्ते।
[GitHub 2017 Open Source Survey](http://opensourcesurvey.org/2017/) सूचयति यत् अपूर्णं वा भ्रमजनकं दस्तावेजनं मुक्तस्रोत् प्रयोगकर्तृभ्यः महान् बाधकः अस्ति। सद्-लेखनं लोकान् तव परियोजनस्य अन्तःकर्मणि प्रवर्तयितु आह्वयति। अन्ततः कोऽपि issue वा pull request उद्घाटयिष्यति। एतानि संवादानि फनेल्-अधः गन्तुं अवसराणि भवन्ति।
* **यदा नवः आगच्छति, तं कृतज्ञतया अभिवादय।** केवलं एकः नकारात्मकः अनुभवः जनान् परित्यगितु प्रेरयति।
* **प्रतिसादशिलतां धारय।** यदि मासे कः एषः प्रश्नं न उत्तरयति तर्हि सः परियोजनं विस्मरति।
* **स्वीकार्ययोग्ययानि योगदानप्रकाराणि स्वीकुर्वः भव।** कतिचन योगदानकर्तारः बग्-प्रतिवेदनात् वा लघु-समाधानात् आरभन्ते। बहूनि प्रकाराः योगदानस्य सन्ति — लोकान् यथेष्टवद् सहाय्यं कर्तुम् अवकाशं ददातु।
* **यदि कस्य योगदानं त्वया अस्वीकृतम् अस्ति, तं कृतज्ञतया धन्यवाद् वचनानि दत्त्वा कारणं स्पष्टं कुरु** तथा यदि उपयुक्तं तर्हि सम्बद्ध-दस्तावेजान् लिङ्क्कुरु।
अधिकांशं योगदानकर्तॄणां पटे 'casual contributors' इति — केवलं अल्पकाले योगदानकर्तारः। एते न पूर्णतया परियोजनम् आत्मनि सम्यग् अवगताः सन्ति; अतः तव कर्तव्यं अस्ति तान् सुलभतया योगदानं कर्तुं योग्यं कर्तुम्।
अन्ययोर् योगदानस्य उत्प्रेरणेन आत्मनि अपि लाभः भवति। यदि तव समर्थकान् स्वविचारेण कार्यसञ्चालनाय सक्षमं कृत्वा त्यजन्ति तर्हि त्वम् सर्वं कर्तुम् बाध्यः न स्याः।
### सर्वं लिखitum — सम्पूर्णतया दत्तव्यम्
नवपरियोजनस्य आरम्भे कदाचित् स्वकार्याणि गोपनीयतया धार्यन्ते; परं मुक्तस्रोत् परियोजनाः सार्वजनिक-दस्तावेजनेन जीवन्ति।
यदा तव कार्याणि लिखितानि भवन्ति तर्हि समागताः बहवः प्रत्येक-संवादे भागं गृह्णन्ति। भवतः अपेक्षायाः, मार्गदर्शकस्य, समीक्षा-प्रक्रियायाः च पारदर्शिता ददातु।
यदि सादृश्येन बहवः उपयोगकर्तारः एकस्यै समस्यायाः समीपं आगच्छन्ति तर्हि तस्य उत्तरं README मध्ये समये दत्तु।
मण्डलीनां (meetings) नोट् वा निष्कर्षाणि उक्ते इश्यू इति स्थाप्यन्तु। एषा पारदर्शिता आश्चर्यजनकं प्रतिक्रियाम् आनयति।
यदि त्वं भविष्ये विस्तीर्णपरिवर्तनम् कर्तुम् प्रतिसन्नः तर्हि ताम् pull request इति स्थापयित्वा WIP (work-in-progress) सूचय — अन्ये अपि प्रक्रमे भागं लभेयुः।
### शीघ्रतया प्रतिसादं ददातु
यदा त्वं [परियोजनस्य प्रचारं करोति](../finding-users) तदा जना प्रतिसादं दास्यन्ति। ते प्रश्नान् पृच्छन्ति, मार्गदर्शनम् अपेक्षन्ते वा प्रारम्भे सहाय्यं चाहन्ति।
यदा त्वम् शीघ्रतया प्रतिक्रिया दासि तर्हि लोकाः संवादस्य भागं इव अनुभवन्ति तथा पुनर्वारं योगदानाय उत्सुकाः स्युः।
यदि त्वं सम्यक् समीक्षां शीघ्रं न कारयितुं शक्नोषि तर्हि तद् प्रारम्भिक-स्वीकृतेन (acknowledgement) प्रत्यूह्यताम् — इदं सहभागिनः अधिकं प्रेरयति।
Mozilla अध्ययनम् दर्शयति यत् 48-घण्टेभ्यः अन्तराले समीक्षां प्राप्ताः योगदानकर्तारः पुनरनुभवस्य च योगदानस्य दरः उच्चतरः।
कदाचित् तव पर्यवेक्षणानि अन्यत्र अपि सन्ति — Stack Overflow, Twitter, Reddit आदि। एतेषु सर्वेषु स्थलैः सूचना-निर्देशं स्थापय, यथा उल्लेखः प्राप्ते त्वम् सूचितः स्याः।
### समुदायाय स्थानं ददातु
समुदायाय सार्वजनिक-संवादाय स्थानस्य द्वे कारणे सन्ति।
प्रथमम् — समुदायस्य स्वयं हेतु। लोकाः परस्परम् अवगताः स्युः। सार्वजनिक-संवादः पुरातनलेखांश् पठित्वा शीघ्रं परिचयं ददाति।
द्वितीयम् — भवतः निमित्तम्। यदि त्वम् लोकान् निजी-रूपेण प्रत्येक्षं प्रत्युत्तरं दासि तर्हि शीघ्रमेव क्लेशः वर्धते। प्रारम्भे किञ्चित् एकद्वारस्य निजी-सहायतायाः अनुवर्त्ततया स्वीकरोति परन्तु यदा परियोजनः लोकप्रियः भवति तर्हि एषः अहंकारः त्वां क्लान्तं करोतु। अतः जनान् सार्वजनिक-चैनल् प्रति निर्देशयतु।
सार्वजनिक-संवादस्य सरल मार्गाः — issues उद्घाटय, मेलिङ्-सूची स्थापय, ट्विटर् वा Slack/IRC चैनल् स्थापय। यथासम्भवम् सर्वाणि प्रयोजय।
Kubernetes kops इव किञ्चन परियोजनानि द्वि-साप्ताहिकं कार्यालय-समयं निधाय नवागन्तुकान् सहाय्यं कुर्वन्ति।
विशेषः अपवादः — 1) सुरक्षा-सम्बन्धी इश्यू तथा 2) गम्भीर आचार-भंग इत्यादयः गोपनीयतया प्रातिवेदनीयाः भवन्तु। यद्यपि निज-ईमेल् न इच्छसि तर्हि समर्पित-ईमेल्-संस्था स्थापयतु।
## समुदायस्य वृध्दिः
समुदायाः महत्त्वपूर्णाः शक्तियुक्ताः सन्ति। एषा शक्तिः निर्माणाय वा विनाशाय प्रयुक्तुम् शक्यते — तस्मात् त्वया विवेकपूर्वकं सञ्चालयतु।
### दुष्ट-व्यक्तीन् न सह्यतां दत्तु
यः अपि लोकप्रियः परियोजनः जनान् आकर्षति, ते मध्ये कश्चन जनाः अपकारी कार्याणि कुर्वन्ति — विवादाः आरभन्ति, लघु विषयेषु खण्डनं कुर्वन्ति, वा अन्यम् उद्देष्टम् अपवञ्चयन्ति।
एतेषु व्यक्तिषु निर्बन्धहीनता न स्थापय। द्रुततया तेषां व्यवहारं सार्वजनिकरूपेण उद्घोषयतु, शान्ततया च स्पष्टं कारणम् दत्त्वा त्रुटेः समाधानम् अनुबोधय। यदि समस्या अनवरतं वर्तते तर्हि तान् समुदायात् निष्कासयतु अथवा [आचारसंहिता अनुसारं](../code-of-conduct/#enforcing-your-code-of-conduct) उपयुक्तं कर्म कर्तु।
नियन्त्रित-स्वल्पविवादाः प्रतिभावान् परिहर्तुं परियोजनस्य कार्ये बाधाः निर्माति। यदि नकारात्मक-व्यवहारं दर्श्यते तदा सार्वजनिकेकरूपेण तस्यावस्थां उल्लेखयित्वा सौम्ये एवं दृढे भाषायाम् कारणम् प्रकाशय।
### योगदानकर्तॄणां अवस्थायाम् साक्षात्कारः
समुदायस्य वृध्दौ दस्तावेजनस्य महत्त्वं पुनः प्रकाश्यते। अनियमित-योगदानकर्तारः सीघ्रतः संदर्भमार्गेण विषय-परिचयम् इच्छन्ति — तस्मात् CONTRIBUTING फाइल् मध्ये नवयोगदानकर्तॄणां आरम्भ-मार्गदर्शनं स्पष्टरूपेण स्थापयतु।
हित-सूचक-लेबल् (e.g., "first timers only", "good first issue", "documentation") इत्यादि प्रयोगेण नवसदस्यान् शीघ्रं कार्ये निमन्त्रयतु।
दस्तावेजने स्वागतकरं भाषणं प्रदर्शय। उदाहारणतया Rubinius परियोजनस्य CONTRIBUTING आरम्भेऽपि कृतज्ञतापूर्वकं अभिवादनं दत्तम् — एतदुक्त्वा नवयोगदानकर्तान् सक्रियतया आमन्त्रयति।
### परियोजनस्य स्वामित्वं साझय {#share-ownership-of-your-project}
संयुक्त-स्वामित्वे जनाः आत्मीयता अनुभवन्ति। एतत् न आवश्यकतया तव परियोजनस्य स्वप्नं पूर्णतया परिहरितुम्, परन्तु अन्येषां श्रेयस् दत्वा ते अधिकं स्थितिपूर्वकं भविष्यन्ति।
एतेषु मार्गाः प्रायोगिकाः सन्ति:
* **सुलभान् लघु-बग् समाधानान् स्वयं न कृत्वा नवयोगदानकर्तृणाम् प्रेरय।**
* **CONTRIBUTORS वा AUTHORS नामानि फाइल् स्थापय।**
* **समुदाये ब्लॉग् वा न्यूजलेटर् द्वारा कृतज्ञता व्यक्तयितु।**
* **सरल-योगदानकर्तृभ्यः commit-access दातु यदि तव परियोजनस्य संरचना अनुमन्यते।**
* **यदी परियोजनम् व्यक्तिगत-खातात् सङ्गठनात् योजय तर्हि backup-admins अपि योजय।**
वास्तविकता इति यत् बहूनि परियोजनानि केवलं एके वा द्वौ परिचालकौ भवतः कर्म-भारं वहन्ति। जित्थु परियोजनस्य वृध्दिः, अन्यैः मदति द्वारा सहाय्य-साध्यते। प्रारम्भे संकेतं दत्त्वा सर्तकता वर्धय।
## विवादस्य समाधानम्
यदा परियोजनस्य आरम्भे महत्त्वपूर्ण-निर्णयाः सरलतया ज्ञाताः स्युः। किन्तु यदा परियोजनः प्रसिद्ध् भवति तदा बहवः जनाः तव निर्णयेषु अभिमतम् वदन्ति।
रसतया यदि त्वया मित्रवत्, आदरयुक्तम् समुदायं विकसितं कृतम् अस्ति तथा प्रक्रियाः दस्तावेजिताः, तर्हि विवादाः सामान्यतया आत्म-समाधानम् लभन्ति। परन्तु कदाचित् क्लेशकराः विषया आगन्ति।
### सौहार्दस्य मानदण्डम् स्थापय
यदा विवादः गम्भीरः स्यात् तर्हि क्रोधितभावाः दृश्यन्ते; तदा तव कर्तव्यं अस्ति तदा परिस्थितिं संयमेन नियंत्रयितुम्। यदि त्वं विशेष मतं धारयसि तदा अपि मध्यस्थ-प्रवृत्तिं धारय। यदि कश्चन असौहार्दिकः वा वार्तां एकनिष्ठया स्वेच्छयति तर्हि शीघ्रतया कार्यवाही कुरु।
अन्ये भवन्ति ये तव नेतृत्वं अपेक्षन्ति। किञ्चित् दुःखः, असन्तोषः वा चिन्ता व्यक्तु शक्यते; तथापि त्वम् संयततया प्रत्युत्तरं दत्त्वा स्वस्थ-समुदायं रक्षितुम् अर्हसि।
### README-इव संविधानम् पाल्य
तव README केवलं निर्देशे न भवेत्; तत्र तव लक्ष्याणि, परियोजना-दृष्टिः, तथा मार्गदर्शिका अपि प्रकाश्यन्ते। यदि कोऽपि विषयः विवादास्पदः भवति तर्हि README अवलोक्य तस्य दृढता चर्चां विमृशतु।
### मार्गेण न लक्ष्ये चिन्तां कुरु
मतदान-प्रक्रिया कदाचित् उत्तमा इति दृश्यते परन्तु मतदानं केवलं "उत्तरम्" प्राप्तुम् प्रेरयति न तु सम्वादं। मतदानं राजनैतिकं कर्तुं शक्यते।
यदा परस्पर-अवकाशः नास्ति तदा "consensus-seeking" प्रक्रमः अधिकोयुक्तः भवति — सर्वेः पर्याप्तरूपेण श्रुताः इति सुनिश्चित्य प्रत्युत्तरं यावत् अल्प-पर्यन्तस्य चिन्तायाः शेषं तदा आगच्छेत्।
यद्यपि त्वम् "consensus-seeking" न स्वीकरोषि, तदा अपि लोकाः श्रोतुं भवन्तु — श्रवणेन च कार्ये प्रगतिः। वचनैः च अनुवर्तनम् करणीयम्।
### संवादः कर्मे केन्द्रितं भवतु
चर्चा आवश्यकं परन्तु यदि चर्चा फलहीनं भवति तदा तत्र क्रियात्मकं मार्गनिर्देशं प्रदत्तुम् आवश्यकम्। यदि चर्चायां क्रियाणि न सन्ति तर्हि मुद्दाम् समापयित्वा स्पष्टीकर्तु यत् कियन्ति क्रमाः।
यदि संवादः पतति अथवा न स्पष्टः तर्हि प्रश्नं कुर्व — "पुनरन्तरं कियानि क्रमाः?" इति। यदि स्पष्ट-कार्याः न सन्ति तर्हि इश्यू समाप्येत् तथा समापयितु कारणम् उद्घोष्यताम्।
### युद्धं सुवर्णम् न स्पृश
परिस्थितिः महत्वपूर्णा इति भवन्तु। चर्चायाम् कः सम्मिलितः अस्ति तथा तेषां प्रतिनिधित्वं किम् इति विचिन्तय।
यदि चर्चायाः विषयः समुदायस्य समग्र-आवश्कतां न दर्शयति तर्हि केवलं संक्षेपे अन्यथा प्रश्नान् स्पष्टीकर्तुम् आवश्यकम्। यदि समस्या पुनरावृत्तिः अस्ति तर्हि पूर्व-चर्चासम्बद्धान् निर्देश्तुम्।
### निर्णायकस्य चयनं कुरु
किञ्चन् परिस्थितिषु मतभेदः अनिवार्यम्। तदा तव निर्णयकर्तुः (तटस्थ वा छोटा-समिति) यथोचितम् निर्दिश्येत्। साधारणतया तस्य निर्णयं तावत् अन्तिमः न भवति परं तस्य प्रक्रियायाः पूर्वनिर्देशः संचीयताम्।
निर्णायकः केवलं अन्तिमोपायः भवेत्। विभेदाः समुदायाय शिक्षायाः अवसराः सन्ति — एतेषु समवेत-प्रक्रियया समाधानं योजयतु।
## समुदायः मुक्तस्रोत्-हेतु हृदयं अस्ति
स्वस्थः समुदायः मुक्तस्रोत् कार्यस्य हजारोऽनघान घण्टानां प्रेरकः अस्ति। बहवः योगदानकर्तारः अन्ये जनाः एव कारणं वदन्ति यतः ते कार्यं कुर्वन्ति — यदि त्वम् तस्य शक्तिम् सकारात्मकतया प्रयोगयेत् तर्हि कश्चन जनः अविस्मरणीयं मुक्तस्रोत् अनुभवम् अनभविष्यति।
एवं कृत्वा परियोजनस्य स्वामित्वस्य साझकरणेन समुदायस्य विश्वासः च स्थायित्वं च प्राप्तुं शक्यते।
================================================
FILE: _articles/sa/code-of-conduct.md
================================================
---
lang: sa
title: "आचारसंहिताः"
description: "समुचित आचारविधयः स्वीक्रियते चेत् समुदायस्य स्वस्थं तथा रचनात्मकं आचरणं प्रसरीकर्तुं शक्यते।"
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## किमर्थं आचारसंहितां योजयेत्?
आचारसंहिता इति एकः दस्तावेयः यः परियोजनस्य सहभागिभ्यः अपेक्षितं आचरणम् निर्दिशति। आचारसंहितां स्वीक्रियित्वा तद् पालनं च कृत्वा भवन्तु समुदायस्य मध्ये सकारात्मकं सामाजिकपरिसरं सृष्टुं शक्यते।
आचारसंहिताः केवलं सहभागिभ्यः पुनर्य न रक्षन्ति, किन्तु परियोजना-परिचालकस्य अपि सुरक्षा वर्धयन्ति। यदि भवतः परियोजनम् परिचालयति, अनुत्पादकमन्येषां दृष्टिकोनाः दीर्घे कालाद् आपदां दातुं शक्नुवन्ति।
आचारसंहिता भवतः समुदायस्य स्वस्थम्, रचनात्मकम् आचरणं प्रवर्तयितुं शक्तिम् ददाति। पूर्वसंग्रहेण नीति-स्पष्टता भवति यत् भवतः वा अन्येषां परियोजना-कार्ये क्लान्तिः न जायेत्, तथा यदि कश्चन अपर्यायं कृते तर्हि तस्मात् शीघ्रं कृत्यं स्वीकरोति।
## आचारसंहितायाः संस्थापनम्
यथाशक्ति शीघ्रं आचारसंहितां स्थापयतु — आदर्शतः यदा प्रथमं परियोजनं निर्माति।
आपेक्ष्याः व्याख्यायै अपि, आचारसंहिता निम्नान् विषयान् निर्दिशति:
* कुत्र आचारसंहिता प्रावर्तते (केवलं इश्यू तथा पुल-रिक्वेस्ट् मध्ये वा समुदाय-कार्यक्रमेषु अपि?)
* केषां प्रति आचारसंहिता लागू भवति (समुदायस्य सदस्याः वा परिचालकाः, प्रायोजकाः च कथम्?)
* यदि कश्चन आचारसंहितां उल्लङ्घयति तर्हि का प्रक्रिया अस्ति
* कोऽपि कथं उल्लङ्घनानि प्रतिवेदयेत्
यत्र शक्यं तत्र पूर्व-प्रतिमानान् (prior art) अनुगच्छतु। [Contributor Covenant](https://contributor-covenant.org/) इत्यादि बहुषु मुक्तस्रोतपरियोजनासु उपयुक्ता आचारसंहिता अस्ति।
परियोजनस्य मूलरूपे `CODE_OF_CONDUCT` नामकं दस्तावेज् स्थापयित्वा तस्य सङ्ग्रहणं `CONTRIBUTING` वा `README` मध्ये लिङ्क् कृत्वा दृश्यं करोतु।
## आचारसंहितायाः प्रवर्तन-नीतिः निर्धारितु
आचारसंहितायाः पालनं कथं करिष्यते इति पूर्वमेव स्पष्टं करोतु। एषा प्रक्रिया आवश्यकम् अस्ति यतः:
* यदा कार्यं आवश्यकं तदा त्वं गम्भीरः असि इति प्रदर्शनं भवति।
* समुदायः अधिकं निश्चिन्तः भवति यत् प्रतिवेदनानि सम्यक् परीक्षणेन समीकृतानि भवन्ति।
* समिक्षा-प्रक्रिया न्यायपूर्णा च पारदर्शकः इति आश्वासनं ददाति।
लघु वा गोपनीयपथेन (उदाहरणार्थ ईमेल्) रिपोर्ट् गन्तुम् मार्गं दत्तुम् युक्तम्, तथा कथं रिपोर्ट् प्राप्तः अस्ति तद् स्पष्टं कर्तव्यम्।
## आचारसंहितायाः प्रवर्तनम् {#enforcing-your-code-of-conduct}
यदा कदाचित् कश्चन आचारसंहितायाः उल्लङ्घनं कथयति तदा तस्य समाधानाय विभिन्नाः उपायाः सन्ति।
### परिस्तिथि-विश्लेषणं कुर्व
प्रत्येकस्य समुदायस्य सदस्यस्य वाच्यं महत्वपूर्णम् इव गृह्णीयात्। यदा कश्चन उल्लङ्घनस्य प्रतिवेदनं प्राप्तम्, तर्हि तत्र सम्यक् अनुसन्धानं करोतु। तेन समुदाये भवतः निर्णये विश्वासः वर्धते।
### यथोचितं कर्म करोतु
परिस्थितिः अवलोक्य यथोचितानि निर्णयानि गृह्यन्ते — सार्वजनिकतया चेत् सूचितं, निजतया चेत् समुपदेशनं, वा आवश्यकतया तात्कालिक-निषेधः।
यदि विस्मरणीयम् वा पुनरावृत्तं व्यवहारः आसीत् तर्हि अधिकं प्रबलानि उपायाः (अल्पकालिक-प्रतिबन्धः, दीर्घकालिक-प्रतिबन्धः) अपि ग्रह्यन्ते।
## परिचालकस्य उत्तरदायित्वम्
आचारसंहिता केवलं कागदं न भवेत् — तस्य पालनम् सुनिश्चितं करणीयम्। परिचालकः आचारसंहितायाः नियमाः स्थापयति तथा तान् समाननियमेन साधयितुं उत्तरदायित्वं वहति।
यदि प्रतिवेदनं यथा उल्लङ्घनम् न स्यात् इति निर्णेतुं तर्हि स्पष्टं प्रत्युत्तरं दत्त्वा कारणम् सूचयतु।
## यत् वाञ्छसि तत् आचरणं प्रोत्साहयतु
यदि परियोजना विरूपं वा नास्वीकृतं इति दृश्यते तर्हि योगदानकर्तॄणाम् दूर्यम् भवति। अतः स्वागतकरं वातावरणं स्थापयित्वा समुदायस्य वृद्ध्यर्थं प्रयत्नः कुर्यात्।
---
================================================
FILE: _articles/sa/finding-users.md
================================================
---
lang: sa
title: "परियोजनस्य उपयोगकर्तॄणाम् अन्वेषणम्"
description: "तव मुक्तस्रोत् परियोजनायाः सुखेन उपयोगकर्तॄणाम् समागमनस्य मार्गाः।"
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## प्रचारस्य आरम्भः
परियोजनस्य उपयोगकर्तॄणां प्राप्तौ स्पष्टं लक्ष्यम् आवश्यकम्। यदि परियोजना दृश्यं न भवति तर्हि उपयोगकर्तृ संख्या न वर्धते। प्रथमं तु, परियोजनस्य उद्देश्यम् संक्षेपेण लिखतु — कः समस्या समाप्नोति, कः लाभः, तथा किम् अपेक्षितम्।
## संदेशं लक्षितु
तव सन्देशः लक्ष्य-समूहाय स्पष्टः भवेत्। उदाहरणतः डेवलपर्-उपयोगिनः, अन्तिम-उपयोगिनः, वा डिज़ाइनर्; प्रत्येकेषां कारणानि भिन्नानि। तदनुसारं च चैनल् (Stack Overflow, Reddit, Hacker News) च उपयोगयतु।
## केन्द्रिकृतम् गृहपृष्ठम् स्थापयतु
स्पष्टः "होम" URL वा स्यान्वय-स्थलम् अस्तु यत्र उपयोगकर्तॄणः शीघ्रं परियोजनस्य प्रयोगं आरम्भयन्ति। यदि वेबसाइट् नास्ति तर्हि GitHub पृष्ठे प्रयोगात्मक README वा सरलं डेमो पृष्ठं दत्तु।
## समुदाय-संवादः आरभतु
प्रचारं केवलं घोषणा न कुर्व — समुदायस्य समस्या समाधानाय मूल्यं प्रदातु। प्रश्नानां उत्तरम् दत्तु, सहयोगसूत्राणि प्रदर्शय, तथा योगदानकर्तॄणां स्वागतं कुरु।
## ऑफलाइन क्रियाः
स्थानीय-सम्मेलनानि, कार्यशालाः च परियोजनस्य दृश्यतां वर्धयन्ति। वक्तृत्वं वा डेमो प्रस्तुतीं दातु, लोकान् आकर्षयतु।
## धैर्यं धारयतु
परियोजनस्य प्रसारः कालेन भवति। नियमितानि प्रयत्नानि कुर्वन् सम्बन्धान् निर्मातुम् प्रयत्नः कुरु।
================================================
FILE: _articles/sa/getting-paid.md
================================================
---
lang: sa
title: "वित्तलाभः: मुक्तस्रोत् कार्यार्थं"
description: "परियोजनस्य कालिक-जीवित्वाय वित्तसमर्थनस्य विकल्पाः परिमर्श्यन्ते।"
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## कुतः वित्तलाभः अपेक्षितः
यदा परियोजनस्य परिचालनार्थं आवश्यक-समयः तथा स्रोताः स्वल्पाः स्युः, तदा वित्तलाभः परियोजनस्य दीर्घजीवित्वे साहाय्यं करोति। वित्तसमर्थनं दातुं लोकाः अनेकान्यर्थान् रखन्ति — शीघ्र-समाधानस्य अपेक्षा, विकासस्य तेजत्वं वा परियोजनस्य स्थिरतायाः आशा।
## विकल्पाः
* **दानम्:** GitHub Sponsors, Open Collective, Patreon इत्यादीनि माध्यमानि।
* **प्रायोजकता:** संस्थानैः वा व्यवसायैः सहयोगं लभित्वा प्रत्यक्षः अर्थसहाय्यः।
* **ग्रान्ट्:** अनुदान-निधयः परियोजनस्य विशिष्ट-कार्याणि समर्थयन्ति।
* **व्यवसायिक-समर्थनम्:** पेशेवर् सेवाः (कन्सल्टिंग्, प्रायोगिक-सपोर्ट्) वितरणेन आयः लभ्यते।
## पारदर्शिता आवश्यकी
यत् धनं समागतम् तस्य प्रयोगस्य स्पष्ट-लेखनी अनिवार्यं। खर्च-रिपोर्ट्, समर्थन-नीतिः च समुदायस्य विश्वासं रक्षति।
## अपेक्षाः व्यवस्थापयतु
यदि वित्तसमर्थनं स्वीकार्यते तर्हि योगदानकर्तॄणां अपेक्षाः स्पष्टतया लिखिताः भवन्तु — कोन कार्येषु धनं उपयुज्यते, तथा विज्ञापन-निर्देशाः वा व्यापारिक-संघटनस्य प्रभावः कथम् स्युः।
एवं कुर्वन् वित्तलाभेन परियोजनस्य दायित्वं सुगमं कृत्वा दीर्घकालिकं कार्यं संरक्ष्यते।
================================================
FILE: _articles/sa/how-to-contribute.md
================================================
---
lang: sa
title: "योगदानं कथं कर्तव्यं"
description: "नवयोगदानकर्तृभ्यः अनुभवीभ्यश्च मुक्तस्रोत् योगदानस्य मार्गदर्शिका।"
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## आरम्भः
यदि त्वं मुक्तस्रोत् परियोजनायाः योगदानं कर्तुम् इच्छसि तर्हि प्रथमं README पठतु, यथा "CONTRIBUTING" वा "Good first issue" इति सूचनाः सन्ति। लघु समस्यासु नागरिकता आरभ्य, छोटे सुधाराणि दातु, पृष्ठीयदोषान् सुधर।
## योगदानस्य प्रकाराः
* **कोड् लेखनम्:** बग्-समाधानम्, नवीनीकरणम्, परीक्षण-लेखनम्।
* **दस्तावेजीकरणम्:** README, उपयोग-निर्देशाः, उदाहरणम् च।
* **डिजाइन्:** UI/UX सुझावाः, लोगो, ग्राफिक्।
* **अनुवादः:** परियोजनस्य बहुभाषीयता वर्धयतु।
## योगदान आरम्भ कर्तुम्
1. उज्ज्वलं समस्या-अन्वेषणं कुरु (issue)।
2. लघु-प्रस्तावेन PR पठयतु।
3. परीक्षणानि यथासंभवं समायोजय।
4. स्पष्ट-सन्देशः दीयताम् (PR description)।
## समुदाय-सहयोगः
सौजन्यं, धैर्यं च धृत्वा संवादं कुरु। यदि निर्देशाः अस्पष्टाः सन्ति तर्हि विनम्रतया पूरकप्रश्नान् पृच्छ। प्रविष्टिः न पश्यताम् चेत् सहकार्ये साधारण-कार्यं निर्दिश।
## इव कार्यक्रमान् आयोजय
स्थानीय-मिटीङ्ग् वा ऑनलाइन-कार्यशाला आयोज्य परियोजनस्य उपयोगित्वं विस्तरयतु। नवसदस्यान् आमन्त्रयतु तथा मार्गदर्शनं दातु।
================================================
FILE: _articles/sa/index.html
================================================
---
layout: index
lang: sa
title: मुक्तस्रोत मार्गदर्शिका
permalink: /sa/
---
================================================
FILE: _articles/sa/leadership-and-governance.md
================================================
---
lang: sa
title: "नेतृत्वं च शासन-प्रणाली"
description: "वृद्धिमान् मुक्तस्रोत् परियोजनाः निर्णयोपायेषु सङ्गठितनियमैः लाभान् उपलभन्ते।"
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## वृद्धिमत् परियोजनायाः शासन-ज्ञानम्
यदा परियोजनः वृध्दिं याति तथा लोकाः सम्मिलन्ते, तदा परियोजनस्य संचालनाय औपचारिक-नीतयः उपयोगी भवन्ति। एतेन योगदानकर्तृणां भूमिकाः स्पष्टाः स्युः तथा निर्णय-प्रक्रियायाः पारदर्शिता वर्धते।
## पारंपरिकभूमिकाः काः स्युः?
बहूनि परियोजनानि योगदानकर्तृ-भूमिकानां संस्कृतम् अनुसरन्ति। किञ्चन सामान्य-भूमिकाः:
* **परिचालकः (Maintainer)**
* **योगदानकर्तृ (Contributor)**
* **कमिटर् (Committer)**
परिचालकः कदाचित् केवलं कोड् लेखकः न भवेत्; सः परियोजनस्य प्रचारकः, दस्तावेज-लेखकः च भूत्वा परियोजनस्य दिशा-भावे उत्तरदायित्वं वहति।
योगदानकर्तृ इति सर्वः स्यात् यस्य यथाकिञ्चन योगदानं भवति — इश्यू-ट्रायजिङ्, कोड्, वा कार्यक्रम-आयोजनम् अपि।
एवमेव पारदर्शिता, भूमिकानाम् स्पष्टता च समुदायस्य दीर्घस्थायित्वाय आवश्यकम्।
================================================
FILE: _articles/sa/legal.md
================================================
---
lang: sa
title: "मुक्तस्रोत् विधिक-पक्षः"
description: "मुक्तस्रोत् सम्बन्धि विधिक-आवश्यकताः सरलरूपेण अवगन्तव्या:"
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## विधिक-संदर्भस्य संक्षेपः
यदा भवन्तः स्वस्य सर्जनात्मक-कृतिं विश्वे प्रकाशयन्ति, तदा तस्य कर्तव्येषु किञ्चन विधिक-प्रश्नाः भवन्ति। सामान्यतः मौलिककृतिः अधिकार-नियन्त्रणेन रक्षितः अस्ति; अतः इतराः स्वेच्छया तस्य उपयोगं, प्रतिलिपिं वा पर्यवस्थापनं न कुर्युः।
मुक्तस्रोत् परिप्रेक्ष्ये, कर्ता इतरान् तेन उपयोगितुं इच्छति — तेन कारणेन लायसेंस् (license) निर्दिष्टुं आवश्यकम् यत् इतरैः स्पष्ट अधिकाराः प्रदातुं शक्यन्ते।
## योगदानस्य अधिकारः
यदि परियोजनायाः पास् लायसेंस् नास्ति तर्हि योगदानानि तेषां लेखकानां स्वाम्येनाधीनानि भवन्ति; अतः तानि उपयोगितुं इतरैः स्पष्ट-सहमति आवश्यकम्।
## गीथब् सार्वजनिकः कृतः इति तत्तु लायसेंस् न भवति
गीथब् मध्ये रिपोजिटरी सार्वजनिकं कृतम् इति लायसेंस्-प्रदानं न भूयात्। सार्वजनिकता केवलं दर्शयति, परंतु अनुमति-प्रदानं न करóति। इति कारणेन, यद् भवतः परियोजनं इतरैः उपयोगितुं इच्छसि तर्हि सम्यक् मुक्तलायसेंस् स्थापितुं युक्तम्।
## शीघ्र-निर्णयानि (TL;DR)
* सामान्य-लायसेंसाः: MIT, Apache 2.0, GPLv3 इत्यादयः प्रचलिताः।
* लायसेंस्-निर्धारणेन परियोजना उपयोगस्य शर्ताः स्पष्टाः भवन्ति।
* नव-परियोजनस्य आरम्भे लायसेंस् स्थापयितु शुश्रुषा उत्तमा।
यदि आवश्यकं, विधिक-सलाहकारेण परिशीलनं अपि कर्तव्यम्।
================================================
FILE: _articles/sa/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: sa
title: "परिचालकानां विवेक-समत्वं (Balance)"
description: "परिचालयते चेत् स्वयं-परिचर्या तथा दीर्घकालिक-उत्साहस्य रक्षणस्य परिचते उपायाः।"
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
## परिचयः
परियोजनेऽधिगतः समयः यदि दीर्घकालिकः स्यात् तर्हि परिचालकस्य दीर्घजीवित्वाय स्व-परिचर्यायाः व्यवस्था अनिवार्या वर्तते। स्वस्य ऊर्जा-समतुल्यं रक्ष्यन्ते चेत् उत्तमं कार्यं दीर्घकालं कर्तुं शक्यते।
## व्यक्तिगत् पारिस्थितिकी (Personal ecology)
एषा संकल्पना सार्थकं वृत्तान्तं देयते — व्यक्तिगतः आहारः, विश्रामः, कार्य-गुच्छः च इत्यत्र विचार्यन्ते। एतस्य अभ्युक्रियया परिचालकाः तत् निवारयन्ति यत् क्लेशः कालक्रमेण समुदायस्य प्रति प्रतिकूलः न भवेत्।
## स्व-परिचर्यायाः सल्लाहाः
* **प्रेरणारूपाणि लक्ष्याणि ज्ञातव्यानी:** किम् भवतः प्रेरकं? उपयोगकर्तृप्रशंशा, सहयोगेन आनन्दः वा क्रियातः सन्तोषः — एतानि बोधेन कार्यानुक्रमः निर्णीतः।
* **सीमासूचकानि स्थापयतु:** कार्य-घण्टाः अथवा सप्ताहिक-प्रतिबद्धताः लिखित्वा स्पष्टतां धारयतु।
* **अवकाशं गृहाण:** विश्राम-सत्राणि नियोज्य मनः-शक्ति रक्ष्यताम्।
* **कार्यवितरणं कुर्व:** अन्यैः कार्यभारं विभज्य स्वयं-भारं न्यूनं कुरु।
* **सहाय्यं माँगतु:** यदि क्लेशः वर्धते तर्हि समुदाये अथवा विश्वासी सहकरेशु मार्गदर्शनं सन्दधातु।
## क्लेशेण संघर्षः कान् लक्षाणि
क्लेशः तावत् ज्ञातः स्यात् यदा प्रेरणा नश्यति, ध्यान-क्षमता न्यूनं भवति, अथवा समुदायस्य प्रति सहानुभूत्याः अभावः दृश्यते। एते लक्षणानि शीघ्रं मन्यन्ताम् तथा तेषां कारणान् विशदीकर्तुम् प्रयत्नः कुर्यात्।
## परियोजनायाः समर्थनम्
परिचालकानां अनुभवस्य वार्तालापेन सहकारी-कार्यशाला समायोज्येत् इति लाभदायकम्। सामूहिक-अभ्यासैः उत्तमान् उपायान् अन्वेष्टुं शक्यते।
## उपसंहारः
परिचालकस्य दीर्घजीवित्वं परियोजनस्य हिताय अनिवार्यं अस्ति। व्यक्तिगत् समत्वं रक्ष्येत् तर्हि समुदायः अपि समृद्धः भविष्यति।
================================================
FILE: _articles/sa/metrics.md
================================================
---
lang: sa
title: "मापकानि — परियोजनस्य क्रियाशीलता-अन्वेषणम्"
description: "परियोजनस्य सफलतायाः निर्णयेषु साहाय्याय परिमाणनं तथा अनुवर्तनं कुर्वन्तु।"
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## किमर्थं मापनं आवश्यकम्
दत्तानि यदि सम्यक् प्रकारेण प्रयोगेक्रियन्ते, तर्हि ते विकल्पान् सज्जीकर्तुं सहायतां ददन्ति। मापन-डेटा परियोजनस्य उपयोगकर्तृ व्यवहारं, लोकप्रियतां च सूचयितुं शक्नोति।
## किम् मापयेत्
* नयाँ विशेषतायाः प्रतिसादः
* नव-उपयोगकर्तृभ्यः आगमन-स्रोतः
* असाधारण-प्रयोग-प्रकरणानि यथापि समर्थनशीलानि वा न इति निर्णयः
* परियोजनस्य लोकप्रियता परिमाणीकरणं
## कुतः आरभेत्
यदा तव परियोजनस्य गतिविधिः ज्ञाता तदा त्वं उत्तमा-निर्णयानि ग्राहयितुं शक्नोषि — कत् कार्यं प्रथमं, कः सुधारः अधिक प्रभावी, कुत्र विज्ञापनं कुर्वीत इति।
## साधनानि
GitHub Insights, Google Analytics, तथा repository-विश्लेषण उपकरणानि उपयोगयतु। ईतानि उपकरणानि परियोजनस्य ट्राफिक्, रेफरर्-श्रेणी, तथा उपयोगकर्तृ-व्यवहारम् दर्शयन्ति।
## निष्कर्षः
मापनस्य परिणामान् बुद्धिपूर्वकं उपयोग्य परियोजनस्य दीर्घजीवित्वाय समुचित निर्णयान् गृह्यन्तु。
================================================
FILE: _articles/sa/security-best-practices-for-your-project.md
================================================
---
lang: sa
title: "परियोजनस्य सुरक्षा-उत्तमाः पद्धतयः"
description: "MFA, कोड्-स्कैनिङ्, निर्भरता-नियमनं च — परियोजनस्य सुरक्षा-आधारः दृढीकुर्यात्।"
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
## परिचयः
परियोजनस्य दीर्घजीवित्वं केवलं उपयोगित्वे न, परं उपयोगकर्तृभ्यः प्राप्त-विश्वासे अपि निहितम् अस्ति। सुरक्षा-उपायाः तं विश्वासं संरक्षयितुं अनिवार्याः। अधः किञ्चित् प्रमुख-उपायाः दत्ताः सन्ति।
## सर्वे विशेषाधिकारिणः MFA उद्घाटयन्तु
विशेषाधिकारयुक्त-खातुश्च सम्यक् अभिगमनस्य रक्षणार्थं द्वि-घटक प्रमाणीकरणम् (MFA) अनिवार्यम् अस्ति। यदि दुष्टसक्तिः विशेषाधिकारिणम् अभिकल्प्यते तर्हि तीव्रहानिः सम्भवति — कोड् परिवर्तनं, दुर्भावनापूर्ण-सॉफ्टवेअर् वितरणं, वा संवेदनशील-दत्तानाम् अपहरणम्।
## विकासप्रवाहे सुरक्षा समावयतु
सुरक्षा-कमी वर्त्तन्ते चेत् ते शीघ्रं ज्ञातानि स्यात् तर्हि मर्यादितव्ययेन सा सुधारिता भवति। SAST (Static Application Security Testing) उपकरणानि कोड् स्तरस्य दोषान् विशृण्वन्ति तथा CI प्रक्रियायाम् एकीक्रियन्ते। इदं कोड्-समिक्षा प्रक्रियायाम् उपयुक्तम्, यतः पूर्वावस्थायाम् दोषान् प्रथमतया दृष्ट्वा समाकुर्यात्।
## गोपनीय-सूचनाः न स्थापयन्तु
API-कुञ्जिका, टोकन, पास्वर्ड् च रिपोजिटरीमध्ये अनायासेन न योजयन्तु। "Secret scanning" साधनानि उपयुज्य दत्तानि प्रतिबन्धनीयानि भवेत्। GitHub Secret Scanning, TruffleHog इत्यानि उपकरणानि एतेषु सहाय्यं कुर्वन्ति।
## निर्भरतानां निरीक्षणम्
निर्भरतासु दोषाः तव परियोजनस्य सुरक्षा-जोखिमं वर्धयन्ति। Dependabot, Renovate च इवैव SCA उपकरणानि ज्ञात-सीक्युरिटी-घटनान् रिपोर्टयन्ति तथा सुरक्षित-संस्करणेषु अद्यतनार्थं PRs रचयन्ति।
## संरक्षण-शाखाः (Protected branches)
मुख्य-शाखासु अप्रतिबन्धित् लेखनं अनिष्ट-परिणामान् जन्मयितुम् शक्नोति। शाखा-रक्षण-नियमाः परीक्षणसफलतां, समीक्षां च आवश्यकताम् आरोपयन्ति, यतः मुख्यशाखायाः स्थिरता रक्ष्यते।
## भेद्यतापत्र-सूचना तन्त्रं स्थापयतु
संवेदनशील-दोषानां गोपनीय-रिपोर्टिङ् मार्गः स्थापनीयः, यतः शोधकाः सुरक्षितविधिना दोषान् सूचयन्तु। नियमाः स्पष्टाः च प्रतिपादनं कृत्वा, त्वं शीघ्रं प्रति-कृत्यं गृह्णास्यः。
================================================
FILE: _articles/sa/starting-a-project.md
================================================
---
lang: sa
title: "परियोजनारम्भः"
description: "मुक्तस्रोत परियोजनम् आरम्भाय लघु मार्गदर्शिका — समस्या चिन्व, सहकर्मिणः चयनय, उपयोगाय योग्यं किञ्च प्रकाशितु।"
class: beginners
order: 2
image: /assets/images/cards/starting-a-project.png
related:
- best-practices
- building
---
## किमर्थं परियोजनम् आरभेतुम्?
किं कारणेन भवतः परियोजनम् आरभेतुम्? कदाचित् भवतः दृष्टे कश्चन समस्या अस्ति यत् अन्येऽपि समाधानं न दत्तवन्तः; कदाचित् स्वकिञ्चित् अनुशोभनार्थं वा अभ्यासार्थं परियोजनं आरभेतुम् इच्छसि; अथवा तव कार्यस्य प्रदर्शनेषु कोऽपि सन्दर्भार्थं किञ्च निर्माणं कर्तुम् इच्छसि। यत् कारणं भवेत्, परियोजनारम्भः ज्ञानं लभितुं च समुदायस्य योगदानं पालयितुं सुखप्रदः मार्गः अस्ति।
## त्वया चिन्तनीया समस्या चिन्व
यदि त्वं समस्यायाः विषये चित्तं न दास्यसि तर्हि अन्येऽपि न दास्यन्ति। तस्यर्थम् त्वया रोचकं वा उपयोगकरं इति मन्यते तादृशं समस्या चिन्व। उत्तमानि परियोजनानि ते सन्ति यानि तन्मध्ये लेखकस्य वा उपयोगकर्तारः कृत्येषु साहाय्यं कुर्वन्ति।
## लघु तथा केन्द्रितं रक्षतु
लघु-क्षेत्रे लक्षितं परियोजनं आरभ्य तस्य सफलस्य सम्भावना वर्धते। न्यूनतमं कार्यक्षमं रूपम् (MVP) निर्माता चानन्तरम् प्रवर्तय; तेन शीघ्रं उपयोगकर्तॄणां च योगदानकर्तॄणां आगमनं सम्भवति। स्पष्टं सीमितं लक्ष्यं स्थापयितुं प्रयत्नं कुरु।
## सहकर्मिणः अन्वेषयतु
मुक्तस्रोतपरियोजनाः सामान्यतया अन्यानां सहयोगेन वृध्दिं याति। प्रारम्भिककार्ये मित्राणाम् वा सहकर्मिणाम् पृच्छतु यत् सहायतां दास्यन्ति। प्रारम्भिकयोगदानकर्तारः दस्तावेजनम्, परीक्षणम्, प्रचारः च कर्तुं शक्नुवन्ति।
## यत् लोकैः उपयोग्यं भवति तत् प्रकाशयतु
मूल्यं प्रदातुम् केन्द्रं कुर्व। यदि भवतः परियोजनं कस्यापि कर्म कृत्वा सुलभतया सिद्ध्यति अथवा कश्चन समस्या निराकुर्यात्, तर्हि उपयोगकर्तृभः तं अनुकरणीयं मन्यन्ते। परियोजनस्य स्पष्टं दस्तावेजनं दत्तव्यम्, उदाहरणानि प्रदातव्यानि, आरम्भस्य मार्गदर्शिका च सुकरं कृत्वा प्रदातव्या।
## नित्यम् संवर्धय
प्रतिक्रिया सङ्ग्रहय, पुनरावृत्तिं कुर्व, च उपयोगकर्तॄणां अपेक्षायाम् प्रत्युत्तरं दातुं सज्जः भव। व्यावहारिकपद्धत्या सानुकूल्यं कृत्वा नियमितं सुधाराः प्रकाशयेत् यत् परियोजनस्य ग्रহণशीलता वर्धयति।
यदि इच्छसि, अन्यानि `sa` लेखान् अहं अपि संस्कृते अनुवादितुं आरभेयं।
================================================
FILE: _articles/security-best-practices-for-your-project.md
================================================
---
lang: en
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time. As your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/starting-a-project.md
================================================
---
lang: en
title: Starting an Open Source Project
description: Learn more about the world of open source and get ready to launch your own project.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## The "what" and "why" of open source
So you're thinking about getting started with open source? Congratulations! The world appreciates your contribution. Let's talk about what open source is and why people do it.
### What does "open source" mean?
When a project is open source, that means **anybody is free to use, study, modify, and distribute your project for any purpose.** These permissions are enforced through [an open source license](https://opensource.org/licenses).
Open source is powerful because it lowers the barriers to adoption and collaboration, allowing people to spread and improve projects quickly. Also because it gives users a potential to control their own computing, relative to closed source. For example, a business using open source software has the option to hire someone to make custom improvements to the software, rather than relying exclusively on a closed source vendor's product decisions.
_Free software_ refers to the same set of projects as _open source_. Sometimes you'll also see [these terms](https://en.wikipedia.org/wiki/Free_and_open-source_software) combined as "free and open source software" (FOSS) or "free, libre, and open source software" (FLOSS). _Free_ and _libre_ refer to freedom, [not price](#does-open-source-mean-free-of-charge).
### Why do people open source their work?
[There are many reasons](https://ben.balter.com/2015/11/23/why-open-source/) why a person or organization would want to open source a project. Some examples include:
* **Collaboration:** Open source projects can accept changes from anybody in the world. [Exercism](https://github.com/exercism/), for example, is a programming exercise platform with over 350 contributors.
* **Adoption and remixing:** Open source projects can be used by anyone for nearly any purpose. People can even use it to build other things. [WordPress](https://github.com/WordPress), for example, started as a fork of an existing project called [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Transparency:** Anyone can inspect an open source project for errors or inconsistencies. Transparency matters to governments like [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) or the [United States](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), regulated industries like banking or healthcare, and security software like [Let's Encrypt](https://github.com/letsencrypt).
Open source isn't just for software, either. You can open source everything from data sets to books. Check out [GitHub Explore](https://github.com/explore) for ideas on what else you can open source.
### Does open source mean "free of charge"?
One of open source's biggest draws is that it does not cost money. "Free of charge", however, is a byproduct of open source's overall value.
Because [an open source license requires](https://opensource.org/definition-annotated/) that anyone can use, modify, and share your project for nearly any purpose, projects themselves tend to be free of charge. If the project cost money to use, anyone could legally make a copy and use the free version instead.
As a result, most open source projects are free, but "free of charge" is not part of the open source definition. There are ways to charge for open source projects indirectly through dual licensing or limited features, while still complying with the official definition of open source.
## Should I launch my own open source project?
The short answer is yes, because no matter the outcome, launching your own project is a great way to learn how open source works.
If you've never open sourced a project before, you might be nervous about what people will say, or whether anyone will notice at all. If this sounds like you, you're not alone!
Open source work is like any other creative activity, whether it's writing or painting. It can feel scary to share your work with the world, but the only way to get better is to practice - even if you don't have an audience.
If you're not yet convinced, take a moment to think about what your goals might be.
### Setting your goals
Goals can help you figure out what to work on, what to say no to, and where you need help from others. Start by asking yourself, _why am I open sourcing this project?_
There is no one right answer to this question. You may have multiple goals for a single project, or different projects with different goals.
If your only goal is to show off your work, you may not even want contributions, and even say so in your README. On the other hand, if you do want contributors, you'll invest time into clear documentation and making newcomers feel welcome.
As your project grows, your community may need more than just code from you. Responding to issues, reviewing code, and evangelizing your project are all important tasks in an open source project.
While the amount of time you spend on non-coding tasks will depend on the size and scope of your project, you should be prepared as a maintainer to address them yourself or find someone to help you.
**If you're part of a company open sourcing a project,** make sure your project has the internal resources it needs to thrive. You'll want to identify who's responsible for maintaining the project after launch, and how you'll share those tasks with your community.
If you need a dedicated budget or staffing for promotion, operations and maintaining the project, start those conversations early.
### Contributing to other projects
If your goal is to learn how to collaborate with others or understand how open source works, consider contributing to an existing project. Start with a project that you already use and love. Contributing to a project can be as simple as fixing typos or updating documentation.
If you're not sure how to get started as a contributor, check out our [How to Contribute to Open Source guide](../how-to-contribute/).
## Launching your own open source project
There is no perfect time to open source your work. You can open source an idea, a work in progress, or after years of being closed source.
Generally speaking, you should open source your project when you feel comfortable having others view, and give feedback on, your work.
No matter which stage you decide to open source your project, every project should include the following documentation:
* [Open source license](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Contributing guidelines](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code of conduct](../code-of-conduct/)
As a maintainer, these components will help you communicate expectations, manage contributions, and protect everyone's legal rights (including your own). They significantly increase your chances of having a positive experience.
If your project is on GitHub, putting these files in your root directory with the recommended filenames will help GitHub recognize and automatically surface them to your readers.
### Choosing a license
An open source license guarantees that others can use, copy, modify, and contribute back to your project without repercussions. It also protects you from sticky legal situations. **You must include a license when you launch an open source project.**
Legal work is no fun. The good news is that you can copy and paste an existing license into your repository. It will only take a minute to protect your hard work.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), and [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) are the most popular open source licenses, but [there are other options](https://choosealicense.com) to choose from.
When you create a new project on GitHub, you are given the option to select a license. Including an open source license will make your GitHub project open source.

If you have other questions or concerns around the legal aspects of managing an open source project, [we've got you covered](../legal/).
### Writing a README
READMEs do more than explain how to use your project. They also explain why your project matters, and what your users can do with it.
In your README, try to answer the following questions:
* What does this project do?
* Why is this project useful?
* How do I get started?
* Where can I get more help, if I need it?
You can use your README to answer other questions, like how you handle contributions, what the goals of the project are, and information about licenses and attribution. If you don't want to accept contributions, or your project is not yet ready for production, write this information down.
Sometimes, people avoid writing a README because they feel like the project is unfinished, or they don't want contributions. These are all very good reasons to write one.
For more inspiration, try using @dguo's ["Make a README" guide](https://www.makeareadme.com/) or @PurpleBooth's [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) to write a complete README.
When you include a README file in the root directory, GitHub will automatically display it on the repository homepage.
### Writing your contributing guidelines
A CONTRIBUTING file tells your audience how to participate in your project. For example, you might include information on:
* How to file a bug report (try using [issue and pull request templates](https://github.com/blog/2111-issue-and-pull-request-templates))
* How to suggest a new feature
* How to set up your environment and run tests
In addition to technical details, a CONTRIBUTING file is an opportunity to communicate your expectations for contributions, such as:
* The types of contributions you're looking for
* Your roadmap or vision for the project
* How contributors should (or should not) get in touch with you
Using a warm, friendly tone and offering specific suggestions for contributions (such as writing documentation, or making a website) can go a long way in making newcomers feel welcomed and excited to participate.
For example, [Active Admin](https://github.com/activeadmin/activeadmin/) starts [its contributing guide](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) with:
> First off, thank you for considering contributing to Active Admin. It's people like you that make Active Admin such a great tool.
In the earliest stages of your project, your CONTRIBUTING file can be simple. You should always explain how to report bugs or file issues, and any technical requirements (like tests) to make a contribution.
Over time, you might add other frequently asked questions to your CONTRIBUTING file. Writing down this information means fewer people will ask you the same questions over and over again.
For more help with writing your CONTRIBUTING file, check out @nayafia's [contributing guide template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) or @mozilla's ["How to Build a CONTRIBUTING.md"](https://mozillascience.github.io/working-open-workshop/contributing/).
Link to your CONTRIBUTING file from your README, so more people see it. If you [place the CONTRIBUTING file in your project's repository](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub will automatically link to your file when a contributor creates an issue or opens a pull request.

### Establishing a code of conduct
Finally, a code of conduct helps set ground rules for behavior for your project's participants. This is especially valuable if you're launching an open source project for a community or company. A code of conduct empowers you to facilitate healthy, constructive community behavior, which will reduce your stress as a maintainer.
For more information, check out our [Code of Conduct guide](../code-of-conduct/).
In addition to communicating _how_ you expect participants to behave, a code of conduct also tends to describe who these expectations apply to, when they apply, and what to do if a violation occurs.
Much like open source licenses, there are also emerging standards for codes of conduct, so you don't have to write your own. The [Contributor Covenant](https://contributor-covenant.org/) is a drop-in code of conduct that is used by [over 40,000 open source projects](https://www.contributor-covenant.org/adopters), including Kubernetes, Rails, and Swift. No matter which text you use, you should be prepared to enforce your code of conduct when necessary.
Paste the text directly into a CODE_OF_CONDUCT file in your repository. Keep the file in your project's root directory so it's easy to find, and link to it from your README.
## Naming and branding your project
Branding is more than a flashy logo or catchy project name. It's about how you talk about your project, and who you reach with your message.
### Choosing the right name
Pick a name that is easy to remember and, ideally, gives some idea of what the project does. For example:
* [Sentry](https://github.com/getsentry/sentry) monitors apps for crash reporting
* [Thin](https://github.com/macournoyer/thin) is a fast and simple Ruby web server
If you're building upon an existing project, using their name as a prefix can help clarify what your project does (for example, [node-fetch](https://github.com/bitinn/node-fetch) brings `window.fetch` to Node.js).
Consider clarity above all. Puns are fun, but remember that some jokes might not translate to other cultures or people with different experiences from you. Some of your potential users might be company employees: you don't want to make them uncomfortable when they have to explain your project at work!
### Avoiding name conflicts
[Check for open source projects with a similar name](https://namechecker.vercel.app/), especially if you share the same language or ecosystem. If your name overlaps with a popular existing project, you might confuse your audience.
If you want a website, Twitter handle, or other properties to represent your project, make sure you can get the names you want. Ideally, [reserve those names now](https://instantdomainsearch.com/) for peace of mind, even if you don't intend to use them just yet.
Make sure that your project's name doesn't infringe upon any trademarks. A company might ask you to take down your project later on, or even take legal action against you. It's just not worth the risk.
You can check the [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) for trademark conflicts. If you're at a company, this is one of the things your [legal team can help you with](../legal/).
Finally, do a quick Google search for your project name. Will people be able to easily find your project? Does something else appear in the search results that you wouldn't want them to see?
### How you write (and code) affects your brand, too!
Throughout the life of your project, you'll do a lot of writing: READMEs, tutorials, community documents, responding to issues, maybe even newsletters and mailing lists.
Whether it's official documentation or a casual email, your writing style is part of your project's brand. Consider how you might come across to your audience and whether that is the tone you wish to convey.
Using warm, inclusive language (such as "them", even when referring to the single person) can go a long way in making your project feel welcoming to new contributors. Stick to simple language, as many of your readers may not be native English speakers.
Beyond how you write words, your coding style may also become part of your project's brand. [Angular](https://angular.io/guide/styleguide) and [jQuery](https://contribute.jquery.org/style-guide/js/) are two examples of projects with rigorous coding styles and guidelines.
It isn't necessary to write a style guide for your project when you're just starting out, and you may find that you enjoy incorporating different coding styles into your project anyway. But you should anticipate how your writing and coding style might attract or discourage different types of people. The earliest stages of your project are your opportunity to set the precedent you wish to see.
## Your pre-launch checklist
Ready to open source your project? Here's a checklist to help. Check all the boxes? You're ready to go! [Click "publish"](https://help.github.com/articles/making-a-private-repository-public/) and pat yourself on the back.
**Documentation**
**Code**
**People**
If you're an individual:
If you're a company or organization:
## You did it!
Congratulations on open sourcing your first project. No matter the outcome, working in public is a gift to the community. With every commit, comment, and pull request, you're creating opportunities for yourself and for others to learn and grow.
================================================
FILE: _articles/sw/best-practices.md
================================================
---
lang: sw
title: Mbinu Bora kwa Watunzaji
description: Kufanya maisha yako kuwa rahisi kama mtunzaji wa open source, kutoka kwa kuandika nyaraka hadi kutumia jamii yako.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Je, inamaanisha nini kuwa mtunzaji?
Ikiwa unatunza mradi wa open source ambao watu wengi wanatumia, huenda umekumbana na hali ya kwamba unaandika msimbo kidogo na kujibu masuala zaidi.
Katika hatua za awali za mradi, unajaribu mawazo mapya na kufanya maamuzi kulingana na kile unachotaka. Kadri mradi wako unavyoongezeka kwa umaarufu, utagundua kuwa unafanya kazi na watumiaji na wachangiaji wako zaidi.
Kutunza mradi kunahitaji zaidi ya msimbo. Kazi hizi mara nyingi hazitarajiwi, lakini ni muhimu sana kwa mradi unaokua. Tumekusanya njia chache za kufanya maisha yako kuwa rahisi, kutoka kwa kuandika nyaraka hadi kutumia jamii yako.
## Kuandika nyaraka zako
Kuandika mambo ni moja ya mambo muhimu zaidi unayoweza kufanya kama mtunzaji.
Nyaraka sio tu kulezea mawazo yako, lakini pia zinawasaidia watu wengine kuelewa kile unachohitaji au kutarajia, kabla ya kuuliza.
Kuandika mambo kunafanya iwe rahisi kusema hapana wakati kitu hakifai katika upeo wako. Pia inafanya iwe rahisi kwa watu kujiunga na kusaidia. Hujui ni nani anayeweza kuwa anasoma au kutumia mradi wako.
Hata kama hujatumia aya kamili, kuandika vidokezo ni bora kuliko kutokandika kabisa.
Kumbuka kuweka nyaraka zako kuwa za kisasa. Ikiwa huwezi kufanya hivyo kila wakati, futa nyaraka zako za zamani au eleza kuwa zimepitwa na wakati ili wachangiaji wajue kuwa masasisho yanakaribishwa.
### Andika maono ya mradi wako
Anza kwa kuandika malengo ya mradi wako. Yajumuishe kwenye README yako, au tengeneza faili tofauti inayoitwa VISION. Ikiwa kuna nyaraka nyingine zinazoweza kusaidia, kama ramani ya mradi, fanya hizo kuwa za umma pia.
Kuwa na maono wazi, yaliyoandikwa kunakufanya uwe na mwelekeo na kukusaidia kuepuka "kuongezeka kwa upeo" kutokana na michango ya wengine.
Kwa mfano, @lord aligundua ya kwamba kuwa na maono ya mradi kulimsaidia kubaini ni maombi gani ya kupoea kupao mbele. Kama mtunzaji mpya, alijutia kutoshikilia upeo wa mradi wake alipokutana na ombi lake la kwanza la kipengele kwa [Slate](https://github.com/lord/slate).
### Wasiliana matarajio yako
Kanuni zinaweza kuwa ngumu kuandika. Wakati mwingine unaweza kuhisi kama unawachunguza tabia za watu wengine au kuzamisha furaha yote.
Kwa kuandika na kutekeleza kwa haki, hata hivyo, kanuni nzuri zinawapa watunzaji nguvu. Zinakuzuia usijikute unafanya mambo usiyopenda kufanya.
Watu wengi wanaokutana na mradi wako hawajui chochote kukuhusu au hali zako. Wanaweza kudhani unalipwa kufanya hivyo, hasa ikiwa ni kitu wanachotumia mara kwa mara na kutegemea. Huenda wakati mmoja ulitumia muda mwingi kwenye mradi wako, lakini sasa unashughulika na kazi mpya au mwanafamilia.
Haya yote ni sawa! Hakikisha tu watu wengine wanajua kuhusu hilo.
Ikiwa kusimamia mradi wako ni kwa muda wa sehemu au kwa hiari, kuwa mwaminifu kuhusu muda ulionao. Hii sio sawa na muda unadhani mradi unahitaji, au muda wengine wanataka uweke.
Hapa kuna kanuni chache ambazo ni muhimu kuandika:
* Jinsi mchango unavyopitiwa na kukubaliwa (_Je, wanahitaji majaribio? Kigezo cha suala?_)
* Aina za michango utazokubali (_Je, unataka tu msaada na sehemu fulani ya msimbo wako?_)
* Wakati sahihi wa kufuatilia (_kwa mfano, "Unaweza kutarajia majibu kutoka kwa mtunzaji ndani ya siku 7. Ikiwa hujasikia chochote ndani ya wakati huo, tafadhali ulizia katika laini ya mazungumzo."_)
* Muda gani unatumia kwenye mradi (_kwa mfano, "Tunatumia takriban masaa 5 kwa wiki kwenye mradi huu"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), na [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) ni mifano kadhaa ya miradi yenye kanuni za msingi kwa watunzaji na wachangiaji.
### Weka mawasiliano kuwa ya umma
Usisahau kuandika mwingiliano wako pia. Popote unavyoweza, weka mawasiliano kuhusu mradi wako kuwa ya umma. Ikiwa mtu anajaribu kukutumia ujumbe wa faragha kujadili ombi la kipengele au hitaji la msaada, kwa adabu waelekeze kwenye njia ya mawasiliano ya umma, kama orodha ya barua au tracker ya masuala.
Ikiwa unakutana na watunzaji wengine, au kufanya maamuzi makubwa kwa faragha, andika mazungumzo haya kwa umma, hata kama ni kuweka tu maelezo yako.
Hivyo, mtu yeyote anayejiunga na jamii yako atakuwa na ufikiaji wa taarifa sawa na mtu ambaye amekuwepo kwa miaka.
## Kujifunza kusema hapana
Umeandika mambo. Kwa kawaida, kila mtu angeweza kusoma nyaraka zako, lakini katika ukweli, itabidi uwakumbushie wengine kwamba maarifa haya yapo.
Hata hivyo, kuwa na kila kitu kimeandikwa, kunasaidia kupunguza hali za kibinafsi unapohitaji kutekeleza kanuni zako.
Kusema hapana si furaha, lakini _"Mchango wako hauendani na vigezo vya mradi huu"_ inahisi kuwa na maana kidogo kuliko _"Sipendi mchango wako"_.
Kusema hapana kunatumika kwa hali nyingi utakazokutana nazo kama mtunzaji: maombi ya kipengele ambayo hayafai katika upeo, mtu anayepotosha mazungumzo, kufanya kazi zisizo za lazima kwa wengine.
### Weka mazungumzo kuwa ya kirafiki
Moja ya maeneo muhimu zaidi ambapo utajifunza kusema hapana ni kwenye foleni yako ya masuala na ombi la kuvuta. Kama mtunzaji wa mradi, bila shaka utapokea mapendekezo ambayo hutaki kukubali.
Huenda mchango unabadilisha upeo wa mradi wako au hauendani na maono yako. Huenda wazo ni zuri, lakini utekelezaji ni mbaya.
Bila kujali sababu, inawezekana kushughulikia kwa ustadi michango ambayo haikidhi viwango vya mradi wako.
Ikiwa unapokea mchango usiotaka kukubali, majibu yako ya kwanza yanaweza kuwa kuupuuza au kujaribu kuonyesha hujaona. Kufanya hivyo kunaweza kuumiza hisia za mtu mwingine na hata kumkatisha tamaa mchango mwingine wa uwezekano katika jamii yako.
Usiache mchango usiotakikana wazi kwa sababu unajisikia hatia au unataka kuwa wa huruma. Kadri muda unavyopita, masuala yako na PRs zisizojibiwa zitafanya kufanya kazi kwenye mradi wako kuwa ngumu zaidi na ya kutisha.
Ni bora kufunga mara moja michango unayojua hutaki kukubali. Ikiwa mradi wako tayari unakabiliwa na msongamano mkubwa, @steveklabnik ana mapendekezo ya [jinsi ya kupangilia masuala kwa ufanisi](https://words.steveklabnik.com/how-to-be-an-open-source-gardener).
Pili, kupuuza michango kunaonyesha ishara mbaya kwa jamii yako. Kuchangia kwenye mradi kunaweza kutisha, hasa ikiwa ni mara ya kwanza ya mtu. Hata kama hutaki kukubali mchango wao, tambua mtu anayehusika na kuwashukuru kwa nia yao. Ni sifa kubwa!
Ikiwa hutaki kukubali mchango:
* **Washukuru** kwa mchango wao
* **Eleza kwa nini haifai** katika upeo wa mradi, na toa mapendekezo wazi ya kuboresha, ikiwa una uwezo. Kuwa na huruma, lakini thabiti.
* **Unganisha kwenye nyaraka husika**, ikiwa unayo. Ikiwa unagundua maombi yanayojirudia kwa mambo usiyotaka kukubali, ongeza kwenye nyaraka zako ili kuepuka kujirudia.
* **Funga ombi**
Huhitaji zaidi ya sentensi 1-2 kujibu. Kwa mfano, wakati mtumiaji wa [celery](https://github.com/celery/celery/) aliripoti kosa linalohusiana na Windows, @berkerpeksag [alijibu](https://github.com/celery/celery/issues/3383):

Ikiwa wazo la kusema hapana linakutisha, huenda usiwe peke yako. Kama @jessfraz [alivyosema](https://blog.jessfraz.com/post/the-art-of-closing/):
> Nimezungumza na watunzaji kutoka miradi kadhaa tofauti ya open source, Mesos, Kubernetes, Chromium, na wote wanakubali moja ya sehemu ngumu zaidi za kuwa mtunzaji ni kusema "Hapana" kwa patches usizotaka.
Usijisikie hatia kwa kutotaka kukubali mchango wa mtu. Kanuni ya kwanza ya open source, [kulingana na](https://twitter.com/solomonstre/status/715277134978113536) @shykes: _"Hapana ni ya muda, ndiyo ni milele."_ Wakati wa kuonyesha huruma kwa shauku ya mtu mwingine ni jambo zuri, kukataa mchango si sawa na kukataa mtu anayehusika.
Hatimaye, ikiwa mchango si mzuri vya kutosha, huna wajibu wa kukubali. Kuwa na huruma na kujibu wakati watu wanachangia kwenye mradi wako, lakini kukubali tu mabadiliko ambayo unadhani yataboresha mradi wako. Kadri unavyofanya mazoezi ya kusema hapana, ndivyo inavyokuwa rahisi. Ahadi.
### Kuwa mchangamfu
Ili kupunguza idadi ya michango isiyotakiwa katika hatua ya kwanza, eleza mchakato wa mradi wako wa kuwasilisha na kukubali michango katika mwongozo wako wa kuchangia.
Ikiwa unapata michango mingi ya chini ya ubora, hitaji wachangiaji wafanye kazi kidogo kabla, kwa mfano:
* Kujaza kigezo cha suala au orodha ya ukaguzi
* Kufungua suala kabla ya kuwasilisha PR
Ikiwa hawafuati sheria zako, funga suala mara moja na uelekeze kwenye nyaraka zako.
Ingawa njia hii inaweza kuonekana kuwa si ya huruma mwanzoni, kuwa mchangamfu ni nzuri kwa pande zote. Inapunguza uwezekano wa mtu kuweka masaa mengi ya kazi kwenye PR ambalo hutakubali. Na inafanya kazi yako iwe rahisi kudhibiti.
Wakati mwingine, unaposema hapana, mchangiaji wako wa uwezekano unaweza kukasirika au kukosoa uamuzi wako. Ikiwa tabia yao inakuwa ya uhasama, [chukua hatua za kupunguza hali](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) au hata uwondoe kwenye jamii yako, ikiwa hawataki kushirikiana kwa njia ya kujenga.
### Kukumbatia ufundishaji
Huenda kuna mtu katika jamii yako anayewasilisha mara kwa mara michango ambayo haikidhi viwango vya mradi wako. Inaweza kuwa ngumu kwa pande zote mbili kupitia kukataliwa mara kwa mara.
Ikiwa unaona mtu ana shauku kuhusu mradi wako, lakini anahitaji kidogo ya kusafishwa, kuwa na subira. Eleza kwa uwazi katika kila hali kwa nini michango yao haikidhi matarajio ya mradi. Jaribu kuwaelekeza kwenye kazi rahisi au zisizo na utata, kama suala lililowekwa _"good first issue,"_ ili kuanzia kwa urahisi. Ikiwa una muda, fikiria kuwafundisha kupitia mchango wao wa kwanza, au pata mtu mwingine katika jamii yako ambaye anaweza kuwa tayari kuwafundisha.
## Tumia jamii yako
Huna haja ya kufanya kila kitu mwenyewe. Jamii ya mradi wako ipo kwa sababu! Hata kama bado huna jamii ya wachangiaji hai, ikiwa una watumiaji wengi, waweke kazini.
### Shiriki mzigo
Ikiwa unatafuta wengine kusaidia, anza kwa kuuliza.
Njia moja ya kupata wachangiaji wapya ni wazi [kuweka lebo kwenye masuala ambayo ni rahisi vya kutosha kwa waanzilishi kushughulikia](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub kisha itawasilisha masuala haya katika maeneo mbalimbali kwenye jukwaa, kuongeza mwonekano wao.
Unapowaona wachangiaji wapya wakifanya michango mara kwa mara, tambua kazi yao kwa kuwapea majukumu zaidi. Andika jinsi wengine wanaweza kukua katika nafasi za uongozi ikiwa wanataka.
Kuhamasisha wengine [kushiriki umiliki wa mradi](../building-community/#shiriki-umiliki-wa-mradi-wako) kunaweza kupunguza mzigo wako mwenyewe, kama @lmccart alivyogundua kwenye mradi wake, [p5.js](https://github.com/processing/p5.js).
Ikiwa unahitaji kuondoka kwenye mradi wako, ama kwa mapumziko au milele, hakuna aibu katika kuwaomba wengine wachukue nafasi yako.
Ikiwa watu wengine wana shauku kuhusu mwelekeo wake, wape ufikiaji wa kuandika au rasmi uhamasishe udhibiti kwa mtu mwingine. Ikiwa mtu ameunda mfano(fork) ya mradi wako na anasimamia kwa ufanisi mahali pengine, fikiria kuunganisha kwenye mfano huo kutoka kwenye mradi wako wa asili. Ni nzuri kwamba watu wengi wanataka mradi wako kuishi!
@progrium [alipata kwamba](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/) kuandika maono ya mradi wake, [Dokku](https://github.com/dokku/dokku), kumesaidia malengo hayo kuishi hata baada ya yeye kuondoka kwenye mradi:
> Niliandika ukurasa wa wiki unaoelezea kile nilichotaka na kwa nini nilitaka. Kwa sababu fulani ilikuja kama mshangao kwangu kwamba watunzaji walianza kuhamasisha mradi katika mwelekeo huo! Je, ilitokea kwa njia ambayo ningefanya? Sio kila wakati. Lakini bado ilileta mradi karibu na kile nilichokiandika.
### Wacha wengine wajenge suluhu wanazohitaji
Ikiwa mchango wa uwezekano una maoni tofauti kuhusu kile mradi wako unapaswa kufanya, unaweza kutaka kwa adabu kuwahamasisha wafanye kazi kwenye fork yao wenyewe.
Kutengeneza mfano wa mradi ya fork hakuhitaji kuwa jambo baya. Kuweza kunakili na kubadilisha miradi ni moja ya mambo bora kuhusu open source. Kuwaelekeza wanajamii wako kufanya kazi kwenye fork yao wenyewe kunaweza kutoa njia ya ubunifu wanayohitaji, bila kuingiliana na maono ya mradi wako.
Vile vile hutumika kwa mtumiaji ambaye anataka sana suluhu ambayo huna tu kipimo data cha kujenga. Kutoa API na ndoano za kubinafsisha kunaweza kusaidia wengine kukidhi mahitaji yao wenyewe, bila kulazimika kurekebisha chanzo moja kwa moja. @orta [aligundua kuwa](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) programu jalizi za CocoaPods za zilisababisha "baadhi ya mawazo ya kuvutia zaidi":
> Ni vigumu kuepukika kwamba mradi unapokuwa mkubwa, watunzaji wanapaswa kuwa wahafidhina zaidi kuhusu jinsi wanavyoingiza msimbo mpya. Unakuwa mzuri katika kusema "hapana", lakini watu wengi wana mahitaji halali. Kwa hivyo, badala yake unaishia kubadilisha zana yako kuwa jukwaa.
## Lete roboti
Kama vile kuna kazi ambazo watu wengine wanaweza kukusaidia nazo, pia kuna kazi ambazo hakuna mwanadamu anayepaswa kufanya. Roboti ni rafiki yako. Zitumie kufanya maisha yako kama mtunzaji kuwa rahisi.
### Hitaji majaribio na ukaguzi mwingine ili kuboresha ubora wa msimbo yako
Mojawapo ya njia muhimu zaidi unaweza kufanya mradi wako otomatiki ni kwa kuongeza majaribio.
Majaribio huwasaidia wachangiaji kujiamini kuwa hawatavunja chochote. Pia hukurahisishia kukagua na kukubali michango haraka. Kadiri unavyokuwa msikivu zaidi, ndivyo jumuiya yako inavyoweza kuhusika zaidi.
Weka majaribio ya kiotomatiki ambayo yataendeshwa kwa michango yote inayoingia, na uhakikishe kuwa majaribio yako yanaweza kufanyiwa "locally" na wachangiaji kwa urahisi. Inahitaji kwamba michango yote ya misimbo ipite majaribio yako kabla ya kuwasilishwa. Utasaidia kuweka kiwango cha chini kabisa cha ubora kwa mawasilisho yote. [Ukaguzi wa hali unaohitajika](https://help.github.com/articles/about-required-status-checks/) kwenye GitHub inaweza kusaidia kuhakikisha hakuna mabadiliko yanayounganishwa bila majaribio yako kupita.
Ukiongeza majaribio, hakikisha umeeleza jinsi yanavyofanya kazi katika faili yako ya KUCHANGIA.
### Tumia zana kurekebisha kazi za kimsingi za urekebishaji kiotomatiki
Habari njema kuhusu kudumisha mradi maarufu ni kwamba watunzaji wengine pengine wamekabiliana na masuala sawa na kuwajengea suluhisho.
Kuna [aina mbalimbali za zana zinazopatikana](https://github.com/showcases/tools-for-open-source) kusaidia kuweka kiotomatiki baadhi ya vipengele vya kazi ya ukarabati. Mifano michache:
* [semantic-release](https://github.com/semantic-release/semantic-release) huweka matoleo yako kiotomatiki
* [mention-bot](https://github.com/facebook/mention-bot) inataja wakaguzi wanaowezekana kwa maombi ya kuvuta
* [Danger](https://github.com/danger/danger) husaidia kufanya ukaguzi wa nambari otomatiki
* [no-response](https://github.com/probot/no-response) hufunga masuala ambapo mwandishi hajajibu ombi la maelezo zaidi
* [dependabot](https://github.com/dependabot) hukagua faili zako za utegemezi kila siku kwa mahitaji ya zamani na hufungua maombi ya mtu binafsi ya kuvuta yoyote inayopata
Kwa ripoti za hitilafu na michango mingine ya kawaida, GitHub ina [Violezo vya Tatizo na Violezo vya Ombi la Kuvuta](https://github.com/blog/2111-issue-and-pull-request-templates), ambayo unaweza kuunda ili kurahisisha mawasiliano. unapokea. @TalAter alitengeneza [Chagua Mwongozo Wako Mwenyewe wa Vituko](https://www.talater.com/open-source-templates/#/) ili kukusaidia kuandika suala lako na violezo vya PR.
Ili kudhibiti arifa zako za barua pepe, unaweza kusanidi [vichujio vya barua pepe](https://github.com/blog/2203-email-updates-about-your-own-activity) ili kupanga kwa kipaumbele.
Ikiwa ungependa kupata ujuzi wa hali ya juu zaidi, miongozo ya mitindo na linters zinaweza kusawazisha michango ya mradi na kuifanya iwe rahisi kukagua na kukubali.
Walakini, ikiwa viwango vyako ni ngumu sana, vinaweza kuongeza vizuizi vya kuchangia. Hakikisha kuwa unaongeza tu sheria za kutosha ili kurahisisha maisha ya kila mtu.
Ikiwa huna uhakika ni zana zipi za kutumia, angalia miradi mingine maarufu hufanya nini, hasa ile iliyo katika mfumo wako wa ikolojia. Kwa mfano, mchakato wa mchango unaonekanaje kwa moduli zingine za Node? Kutumia zana na mbinu zinazofanana pia kutafanya mchakato wako ujulikane zaidi na wachangiaji unaolengwa.
## Ni sawa kupiga pause
Kazi ya open source kwa wakati mmoja ilikuletea furaha. Labda sasa inaanza kukufanya ujisikie kuwa mtu wa kukwepa au mwenye hatia.
Labda unahisi kuzidiwa au hisia inayokua ya hofu unapofikiria juu ya miradi yako. Na wakati huo, maswala na maombi ya kuvuta hukusanyika.
Uchovu wa mwili ni suala la kweli na linaloenea katika kazi ya open source, haswa miongoni mwa watunzaji. Kama mtunzaji, furaha yako ni hitaji lisiloweza kujadiliwa ili kuendelea kuwepo kwa mradi wowote wa open source.
Ingawa inapaswa kwenda bila kusema, pumzika! Hupaswi kusubiri hadi uhisi upweke zaidi ili kuchukua likizo. @brettcannon, msanidi programu mkuu wa Python, aliamua kuchukua [likizo ya mwezi mzima](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) baada ya miaka 14 ya OSS ya kujitolea kazi.
Kama tu aina nyingine yoyote ya kazi, kuchukua mapumziko ya kawaida kutakufanya upate kuburudishwa, kufurahi, na kuchangamkia kazi yako.
Wakati mwingine, inaweza kuwa vigumu kuchukua pumziko kutoka kwa kazi huria wakati inahisi kama kila mtu anakuhitaji. Watu wanaweza hata kujaribu kukufanya uhisi hatia kwa kuondoka.
Jitahidi kupata usaidizi kwa watumiaji na jumuiya yako ukiwa mbali na mradi. Ikiwa huwezi kupata usaidizi unaohitaji, pumzika hata hivyo. Hakikisha kuwasiliana wakati haupatikani, ili watu wasichanganyikiwe na ukosefu wako wa mwitikio.
Kuchukua mapumziko kunatumika kwa zaidi ya likizo tu, pia. Ikiwa hutaki kufanya kazi huria wikendi au saa za kazi, wasiliana na wengine kuhusu matarajio hayo, ili wajue wasikusumbue.
## Jitunze wewe kwanza!
Kudumisha mradi maarufu kunahitaji ujuzi tofauti kuliko hatua za awali za ukuaji, lakini hakuna manufaa kidogo. Kama mtunzaji, utafanya mazoezi ya uongozi na ujuzi wa kibinafsi katika kiwango ambacho watu wachache watapata uzoefu. Ingawa si rahisi kudhibiti kila wakati, kuweka mipaka iliyo wazi na kuchukua tu yale ambayo unastarehekea kutakusaidia kubaki na furaha, kuburudishwa na kufanikiwa.
================================================
FILE: _articles/sw/building-community.md
================================================
---
lang: sw
title: Kujenga Jamii za Kukaribisha
description: Kujenga jamii inayohamasisha watu kutumia, kuchangia, na kuhubiri mradi wako.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Kuandaa mradi wako kwa mafanikio
Umeanzisha mradi wako, unaeneza neno, na watu wanakagua. Sambamba! Sasa, unawafanya vipi wabaki?
Jamii ya kukaribisha ni uwekezaji katika siku zijazo na sifa ya mradi wako. Ikiwa mradi wako unaanza kuona michango yake ya kwanza, anza kwa kuwapa wachangiaji wa mapema uzoefu mzuri, na uwafanye iwe rahisi kwao kurudi tena.
### Wafanya watu wajisikie kukaribishwa
Njia moja ya kufikiria kuhusu jamii ya mradi wako ni kupitia kile @MikeMcQuaid anachokiita [mchoro wa wachangiaji](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/):

Unapojenga jamii yako, fikiria jinsi mtu aliye juu ya mchoro (anayeweza kuwa mtumiaji) anaweza nadharia kuja chini (mtunzaji wa kila mara). Lengo lako ni kupunguza vikwazo katika kila hatua ya uzoefu wa mchango. Wakati watu wanapata ushindi rahisi, watakuwa na motisha ya kufanya zaidi.
Anza na nyaraka zako:
* **Fanya iwe rahisi kwa mtu kutumia mradi wako.** [README ya kirafiki](../starting-a-project/#kuandika-readme) na mifano wazi ya msimbo itafanya iwe rahisi kwa yeyote anayekuja kwenye mradi wako kuanza.
* **Eleza wazi jinsi ya kuchangia**, ukitumia [faili yako ya CONTRIBUTING](../starting-a-project/#kuandika-miongozo-yako-ya-kuchangia) na kuweka masuala yako kuwa ya kisasa.
* **Masuala mazuri ya kwanza**: Ili kuwasaidia wachangiaji wapya kuanza, fikiria wazi [kuyapachika masuala ambayo ni rahisi vya kutosha kwa waanzilishi kushughulikia](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub kisha itawasilisha masuala haya katika maeneo mbalimbali kwenye jukwaa, itakayoongeza michango yenye manufaa, na kupunguza vikwazo kutoka kwa watumiaji wanaoshughulikia masuala ambayo ni magumu sana kwa kiwango chao.
[Utafiti wa Open Source wa GitHub wa 2017](http://opensourcesurvey.org/2017/) ulionyesha kuwa nyaraka zisizokamilika au zenye kuchanganya ni tatizo kubwa kwa watumiaji wa open source. Nyaraka nzuri zinawakaribisha watu kuingiliana na mradi wako. Hatimaye, mtu atafungua suala au ombi la kuvuta. Tumia mwingiliano haya kama fursa za kuwahamisha chini ya mchoro.
* **Wakati mtu mpya anapojiunga kwenye mradi wako, mshukuru kwa nia yao!** Inachukua tu uzoefu mmoja mbaya kumfanya mtu asitake kurudi.
* **Kuwa na majibu.** Ikiwa hujajibu suala lao kwa mwezi, kuna uwezekano, tayari wamesahau kuhusu mradi wako.
* **Kuwa na akili wazi kuhusu aina za michango utazokubali.** Wachangiaji wengi huanza na ripoti ya makosa au marekebisho madogo. Kuna [njia nyingi za kuchangia](../how-to-contribute/#nini-maana-ya-kuchangia) kwenye mradi. Wacha watu wasaidie jinsi wanavyotaka kusaidia.
* **Ikiwa kuna mchango usiokubaliana nao,** mshukuru kwa wazo lao na [eleza kwa nini](../best-practices/#kujifunza-kusema-hapana) haifai katika upeo wa mradi, ukirejelea nyaraka husika ikiwa unayo.
Wengi wa wachangiaji wa open source ni "wachangiaji wa kawaida": watu wanaochangia kwenye mradi mara chache tu. Mchangiaji wa kawaida huenda hana muda wa kujifunza kwa undani kuhusu mradi wako, hivyo kazi yako ni kuwafanya iwe rahisi kwao kuchangia.
Kuhamasisha wachangiaji wengine ni uwekezaji kwako pia. Unapowapa mashabiki wako wakubwa uwezo wa kufanya kazi wanazofurahia, kuna shinikizo kidogo la kufanya kila kitu mwenyewe.
### Andika kila kitu
Unapozindua mradi mpya, inaweza kuonekana kuwa ya asili kuweka kazi yako kuwa ya faragha. Lakini miradi ya open source inastawi unapokuwa na nyaraka za mchakato wako hadharani.
Unapandika mambo, watu wengi wanaweza kushiriki katika kila hatua ya njia. Unaweza kupata msaada kwenye jambo ambalo hukujua hata unahitaji.
Kuandika mambo kuna maana zaidi ya nyaraka za kiufundi. Wakati wowote unavyohisi hamu ya kuandika kitu au kujadili mradi wako kwa faragha, jiulize ikiwa unaweza kufanya kuwa hadharani.
Kuwa wazi kuhusu ramani ya mradi wako, aina za michango unazotafuta, jinsi michango inavyopitiwa, au kwa nini ulifanya maamuzi fulani.
Ikiwa unagundua watumiaji wengi wakikabiliwa na tatizo moja sawa, andika majibu katika README.
Kwa mikutano, fikiria kuchapisha maelezo yako au maelezo muhimu katika suala husika. Maoni utakayopata kutoka kwa kiwango hiki cha uwazi yanaweza kukushangaza.
Kuhifadhi kila kitu kuna maana kwa kazi unayofanya pia. Ikiwa unafanya kazi kwenye sasisho kubwa kwa mradi wako, weka katika ombi la kuvuta na uweke alama kama kazi katika maendeleo (WIP). Hivyo, watu wengine wanaweza kuhisi kuwa wanahusika katika mchakato mapema.
### Kuwa na majibu
Unapokuwa [ukitangaza mradi wako](../finding-users), watu watakuwa na maoni kwako. Wanaweza kuwa na maswali kuhusu jinsi mambo yanavyofanya kazi, au wanahitaji msaada wa kuanza.
Jaribu kuwa na majibu wakati mtu anafungua suala, kuwasilisha ombi la kuvuta, au kuuliza swali kuhusu mradi wako. Unapojibu haraka, watu watajisikia wakiwa katika mazungumzo, na watakuwa na shauku zaidi ya kushiriki.
Hata kama huwezi kupitia ombi mara moja, kukiri mapema husaidia kuongeza ushirikiano. Hapa kuna jinsi @tdreyno alijibu ombi la kuvuta kwenye [Middleman](https://github.com/middleman/middleman/pull/1466):

[Utafiti wa Mozilla uligundua kwamba](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) wachangiaji waliopokea mapitio ya msimbo ndani ya masaa 48 walikuwa na kiwango cha juu cha kurudi na kuchangia tena.
Mazungumzo kuhusu mradi wako yanaweza pia kufanyika katika maeneo mengine mtandaoni, kama Stack Overflow, Twitter, au Reddit. Unaweza kuweka arifa katika baadhi ya maeneo haya ili upate taarifa wakati mtu anapokutana na mradi wako.
### Wape jamii yako mahali pa kukusanyika
Kuna sababu mbili za kuwapa jamii yako mahali pa kukusanyika.
Sababu ya kwanza ni kwao. Wasaidie watu kujua kila mmoja. Watu wenye maslahi sawa bila shaka watataka mahali pa kuzungumza kuhusu hilo. Na wakati mawasiliano ni ya umma na yanapatikana, mtu yeyote anaweza kusoma kumbukumbu za zamani ili kujiweka sawa na kushiriki.
Sababu ya pili ni kwako. Ikiwa hutowapatia watu mahali pa umma pa kuzungumza kuhusu mradi wako, kuna uwezekano watawasiliana nawe moja kwa moja. Katika mwanzo, inaweza kuonekana rahisi kujibu ujumbe wa faragha "hivi mara moja tu". Lakini kwa muda, hasa ikiwa mradi wako unakuwa maarufu, utajisikia uchovu. Jizuie kuwasiliana na watu kuhusu mradi wako kwa faragha. Badala yake, waelekeze kwenye njia ya umma iliyowekwa.
Mawasiliano ya umma yanaweza kuwa rahisi kama kuwaelekeza watu kufungua suala badala ya kukutumia barua pepe moja kwa moja au kutoa maoni kwenye blogu yako. Unaweza pia kuanzisha orodha ya barua, au kuunda akaunti ya Twitter, Slack, au chaneli ya IRC kwa watu kuzungumza kuhusu mradi wako. Au jaribu yote hapo juu!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved) huweka masaa ya ofisi kila baada ya wiki mbili kusaidia wanajamii:
> Kops pia ina muda uliowekwa kila baada ya wiki mbili kutoa msaada na mwongozo kwa jamii. Wanaweka kops wamekubali kuweka muda maalum wa kufanya kazi na wapya, kusaidia na PRs, na kujadili vipengele vipya.
Mifano muhimu ya mawasiliano ya umma ni: 1) masuala ya usalama na 2) ukiukaji wa kanuni za tabia. Unapaswa kila wakati kuwa na njia ya watu kuripoti masuala haya kwa faragha. Ikiwa hutaki kutumia barua pepe yako ya kibinafsi, weka anwani ya barua pepe iliyowekwa.
## Kukuza jamii yako
Jamii ni nguvu sana. Nguvu hiyo inaweza kuwa baraka au laana, kulingana na jinsi unavyoiendesha. Kadri jamii ya mradi wako inavyokua, kuna njia za kusaidia kuwa nguvu ya ujenzi, si uharibifu.
### Usivumilie wahusika wabaya
Mradi maarufu wowote bila shaka utavutia watu wanaoharibu, badala ya kusaidia, jamii yako. Wanaweza kuanzisha mijadala isiyo ya lazima, kujadili vipengele vidogo, au kuwanyanyasa wengine.
Fanya bidii yako kupitisha sera ya kutovumilia watu hawa. Ikiwa utaacha bila kudhibiti, watu wabaya watafanya wengine katika jamii yako wajisikie wasumbufu. Wanaweza hata kuondoka.
Mijadala ya kawaida kuhusu vipengele vidogo vya mradi wako inawavuruga wengine, ikiwa ni pamoja na wewe, kutoka kwa kuzingatia kazi muhimu. Watu wapya wanaofika kwenye mradi wako wanaweza kuona mazungumzo haya na wasitake kushiriki.
Unapona tabia mbaya ikitokea kwenye mradi wako, itangaze hadharani. Eleza, kwa sauti nzuri lakini thabiti, kwa nini tabia yao si ya kukubalika. Ikiwa tatizo linaendelea, huenda ukahitaji [kuomba waondoke](../code-of-conduct/#kutekeleza-kanuni-zako-za-maadili). Kanuni yako ya [tabia](../code-of-conduct/) inaweza kuwa mwongozo mzuri kwa mazungumzo haya.
### Wafikie wachangiaji walipo
Nyaraka nzuri tu zinaweza kuwa muhimu zaidi kadri jamii yako inavyokua. Wachangiaji wa kawaida, ambao huenda wasijue mradi wako, wanasoma nyaraka zako ili kupata muktadha wa haraka wanayohitaji.
Katika faili yako ya CONTRIBUTING, eleza wazi kwa wachangiaji wapya jinsi ya kuanza. Huenda ukataka hata kuunda sehemu maalum kwa ajili ya kusudi hili. [Django](https://github.com/django/django), kwa mfano, ina ukurasa maalum wa kuwapokea wachangiaji wapya.

Katika foleni yako ya masuala, lebo masuala ambayo yanapatana na aina tofauti za wachangiaji: kwa mfano, [_"wachangiaji wa kwanza tu"_](https://kentcdodds.com/blog/first-timers-only), _"masuala mazuri ya kwanza"_, au _"nyaraka"_. [Lebo hizi](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) hufanya iwe rahisi kwa mtu mpya kwenye mradi wako kuangalia masuala yako na kuanza.
Hatimaye, tumia nyaraka zako kuwafanya watu wajisikie kukaribishwa katika kila hatua ya njia.
Hutawahi kuwasiliana na watu wengi wanaokuja kwenye mradi wako. Huenda kuna michango ambayo hukupata kwa sababu mtu alijisikia kutishwa au hakuwa na wazo la kuanzia. Hata maneno machache ya kirafiki yanaweza kumzuia mtu kuondoka kwenye mradi wako kwa kukata tamaa.
Kwa mfano, hapa kuna jinsi [Rubinius](https://github.com/rubinius/rubinius/) inaanza [mwongozo wake wa kuchangia](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md):
> Tunataka kuanza kwa kusema asante kwa kutumia Rubinius. Mradi huu ni kazi ya upendo, na tunathamini sana watumiaji wote wanaokamata makosa, kuboresha utendaji, na kusaidia na nyaraka. Kila mchango ni wa maana, hivyo asante kwa kushiriki. Hiyo ikiwa imesema, hapa kuna miongozo kadhaa tunayoomba ufuate ili tuweze kushughulikia suala lako kwa ufanisi.
### Shiriki umiliki wa mradi wako
Watu wanashiriki kwa furaha katika miradi wanapojisikia kuwa na umiliki. Hiyo haimaanishi unahitaji kuhamasisha maono ya mradi wako au kukubali michango usiyotaka. Lakini kadri unavyowapa wengine sifa, ndivyo watakavyobaki karibu.
Angalia ikiwa unaweza kupata njia za kushiriki umiliki na jamii yako kadri iwezekanavyo. Hapa kuna mawazo kadhaa:
* **Pingamizi la kurekebisha makosa rahisi (yasiyo ya muhimu).** Badala yake, tumia kama fursa za kuajiri wachangiaji wapya, au kufundisha mtu ambaye anataka kuchangia. Inaweza kuonekana kuwa si ya kawaida mwanzoni, lakini uwekezaji wako utalipa kwa muda. Kwa mfano, @michaeljoseph aliomba mchangiaji kuwasilisha ombi la kuvuta kwenye suala la [Cookiecutter](https://github.com/audreyr/cookiecutter) hapa chini, badala ya kulirekebisha mwenyewe.

* **Anzisha faili ya CONTRIBUTORS au AUTHORS katika mradi wako** inayoorodhesha kila mtu ambaye amechangia kwenye mradi wako, kama [Sinatra](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md) inavyofanya.
* Ikiwa una jamii kubwa, **tuma jarida au andika chapisho la blogu** ukishukuru wachangiaji. [Hii Wiki katika Rust](https://this-week-in-rust.org/) na [Shoutouts za Hoodie](http://hood.ie/blog/shoutouts-week-24.html) ni mifano miwili nzuri.
* **Wape kila mchango ruhusa ya kuingia.** @felixge alipata kuwa hii ilifanya watu [kuwa na shauku zaidi ya kusafisha patches zao](https://felixge.de/2013/03/11/the-pull-request-hack.html), na hata alipata watunzaji wapya kwa miradi ambayo hakuwa amefanya kazi nayo kwa muda.
* Ikiwa mradi wako uko GitHub, **hamasisha mradi wako kutoka kwenye akaunti yako binafsi hadi [Shirika](https://help.github.com/articles/creating-a-new-organization-account/)** na ongeza angalau mtunzaji mmoja wa akiba. Mashirika yanafanya iwe rahisi kufanya kazi kwenye miradi na washirikishi wa nje.
Ukweli ni kwamba [miradi mingi ina](https://peerj.com/preprints/1233/) watunzaji mmoja au wawili tu wanaofanya kazi nyingi. Kadri mradi wako unavyokuwa, na kadri jamii yako inavyokuwa kubwa, ndivyo itakuwa rahisi kupata msaada.
Ingawa huenda usipate mtu kila wakati wa kujibu wito, kuweka ishara huko nje kunaongeza uwezekano kwamba watu wengine wataingilia kati. Na kadri unavyoweza kuanza mapema, ndivyo watu wanaweza kusaidia.
## Kutatua migogoro
Katika hatua za awali za mradi wako, kufanya maamuzi makubwa ni rahisi. Unapojisikia kufanya kitu, unakifanya tu.
Kadri mradi wako unavyokuwa maarufu, watu wengi watachukua maslahi katika maamuzi unayofanya. Hata kama huna jamii kubwa ya wachangiaji, ikiwa mradi wako una watumiaji wengi, utapata watu wakijadili maamuzi au kuleta masuala yao wenyewe.
Kwa sehemu kubwa, ikiwa umejenga jamii ya kirafiki, heshimu, na umeandika michakato yako kwa uwazi, jamii yako inapaswa kuwa na uwezo wa kupata suluhu. Lakini wakati mwingine unakutana na tatizo ambalo ni gumu zaidi kushughulikia.
### Weka kiwango cha wema
Wakati jamii yako inakabiliwa na suala gumu, hasira zinaweza kuongezeka. Watu wanaweza kuwa na hasira au kukasirika na kuhamasisha hasira zao kwa wengine, au kwako.
Kazi yako kama mtunza mradi ni kuzuia hali hizi zisipande. Hata kama una maoni thabiti kuhusu mada hiyo, jaribu kuchukua nafasi ya mtunzaji au mwezeshaji, badala ya kuingia kwenye ugumu na kusukuma maoni yako. Ikiwa mtu anakuwa mbaya au anachujikulia mazungumzo, [fanya haraka](../building-community/#usivumilie-wahusika-wabaya) kudumisha mazungumzo ya heshima na yenye tija.
Watu wengine wanatazamia mwongozo kutoka kwako. Weka mfano mzuri. Unaweza bado kuonyesha kutoridhika, kutokuwa na furaha, au wasiwasi, lakini fanya hivyo kwa utulivu.
Kuweka utulivu sio rahisi, lakini kuonyesha uongozi kunaboresha afya ya jamii yako. Mtandao unakushukuru.
### Zingatia README yako kama katiba
README yako ni [zaidi ya seti ya maelekezo](../starting-a-project/#kuandika-readme). Pia ni mahali pa kuzungumzia malengo yako, maono ya bidhaa, na ramani ya barabara. Ikiwa watu wanazingatia sana kujadili umuhimu wa kipengele fulani, inaweza kusaidia kurejelea README yako na kuzungumza kuhusu maono ya juu ya mradi wako. Kuweka mkazo kwenye README yako pia kunafanya mazungumzo yasihusishwe na mtu binafsi, hivyo unaweza kuwa na mazungumzo yenye tija.
### Zingatia safari, sio mwisho wake
Miradi mingine hutumia mchakato wa kupiga kura kufanya maamuzi makubwa. Ingawa ni ya maana kwa mtazamo wa kwanza, kupiga kura kunasisitiza kufikia "jibu," badala ya kusikiliza na kushughulikia wasiwasi wa kila mmoja.
Kupiga kura kunaweza kuwa kisiasa, ambapo wanajamii wanajisikia shinikizo la kufanya mapendeleo kwa kila mmoja au kupiga kura kwa njia fulani. Si kila mtu anapiga kura, pia, iwe ni [wengi walio watulivu](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority) katika jamii yako, au watumiaji wa sasa ambao hawakujua kura ilikuwa inafanyika.
Wakati mwingine, kupiga kura ni mchujo wa mshindi inayohitajika. Kadri uwezavyo, hata hivyo, zingatia ["kutafuta makubaliano"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) badala ya makubaliano.
Kwa mchakato wa kutafuta mwafaka, wanajamii hujadili masuala makubwa hadi wanapohisi kuwa wamesikilizwa vya kutosha. Wakati masuala madogo pekee yanaposalia, jamii huendelea mbele. "Kutafuta mwafaka" hutambua kuwa jamii huenda isiweze kufikia jibu kamilifu. Badala yake, inatoa kipaumbele kwa kusikiliza na kujadiliana.
Hata kama huenda usifanye mchakato wa kutafuta makubaliano, kama mtunza mradi mzuri, ni muhimu watu wajue unawasikiliza. Kuwafanya watu wengine wajisikie kusikilizwa, na kujitolea kutatua wasiwasi wao, hunaenda mbali katika kupunguza hali nyeti. Kisha, fuata maneno yako kwa vitendo.
Usikimbilie kufanya maamuzi kwa sababu ya kuwa na suluhu. Hakikisha kila mtu anajisikia kusikilizwa na kwamba taarifa zote zimewekwa wazi kabla ya kuhamasisha suluhu.
### Weka mazungumzo ili yalenge hatua
Mazungumzo ni muhimu, lakini kuna tofauti kati ya mazungumzo yenye tija na yasiyo na tija.
Hamasisha mazungumzo kadri yanavyosonga kuelekea suluhu. Ikiwa ni wazi kwamba mazungumzo yanakosa mwelekeo au yanaaanza kutoendanishana na mjadala, mashambulizi yanakuwa ya kibinafsi, au watu wanajadili maelezo madogo, ni wakati wa kuyafunga.
Kuruhusu mazungumzo haya kuendelea sio tu ni mbaya kwa suala lililopo, bali pia ni mbaya kwa afya ya jamii yako. Inatuma ujumbe kwamba aina hizi za mazungumzo zinakubaliwa au hata kuhamasishwa, na inaweza kuwakatisha tamaa watu kutoka kuleta au kutatua masuala ya baadaye.
Kwa kila hoja iliyotolewa na wewe au na wengine, jiulize, _"Hii inatufanya tufikie suluhu vipi?"_
Ikiwa mazungumzo yanaanza kuharibika, waulize kikundi, _"Ni hatua zipi tunapaswa kuchukua sasa?"_ ili kurejesha mazungumzo.
Ikiwa mazungumzo waziwazi hayana mahali pa kwenda, hakuna hatua wazi za kuchukuliwa, au hatua inayofaa tayari imechukuliwa, funga suala na eleza kwa nini umefunga.
### Chagua mapambano yako kwa busara
Muktadha ni muhimu. Fikiria ni nani anayehusika katika mazungumzo na jinsi wanavyowakilisha jamii nzima.
Je, kila mtu katika jamii anakasirishwa na, au hata kushiriki katika, suala hili? Au ni mtu mmoja tu anayesumbua? Usisahau kuzingatia wanajamii wako kimya, si tu sauti za wazoefu wa kuongea.
Ikiwa suala haliwakilishi mahitaji ya jumla ya jamii yako, huenda unahitaji tu kukiri wasiwasi wa watu wachache. Ikiwa hii ni tatizo linalojirudia bila suluhu wazi, waelekeze kwenye mijadala ya awali kuhusu mada hiyo na uifunge.
### Tambua mchujo wa mshindi wa jamii
Kwa mtazamo mzuri na mawasiliano wazi, hali nyingi ngumu zinaweza kutatuliwa. Hata hivyo, hata katika mazungumzo yenye tija, kunaweza kuwa na tofauti ya maoni kuhusu jinsi ya kuendelea. Katika hali hizi, tambua mtu mmoja au kikundi cha watu wanaoweza kutumikia kama mchujo wa mshindi.
Mchujo wa mshindi inaweza kuwa mtunza mradi mkuu, au inaweza kuwa kikundi kidogo cha watu wanaofanya maamuzi kwa kupiga kura. Kwa matumaini, umeshatambua mchujo wa mshindi na mchakato husika katika faili ya GOVERNANCE kabla ya kuhitaji kuitumia.
Mchujo wa mshindi yako inapaswa kuwa chaguo la mwisho. Masuala yanayogawanya ni fursa kwa jamii yako kukua na kujifunza. Kumbatia fursa hizi na kisha tumia mchakato wa ushirikiano kuhamasisha suluhu popote iwezekanavyo.
## Jamii ndiyo ❤️ ya open source
Jamii zenye afya na zinazostawi zinpea nguvu maelfu ya masaa yanayowekwa kwenye open source kila wiki. Wachangiaji wengi wanataja watu wengine kama sababu ya kufanya kazi - au kutofanya kazi - kwenye open source. Kwa kujifunza jinsi ya kutumia nguvu hiyo kwa njia nzuri, utasaidia mtu huko nje kuwa na uzoefu usiosahaulika wa open source.
================================================
FILE: _articles/sw/code-of-conduct.md
================================================
---
lang: sw
title: Kanuni Zako za Maadili
description: Wezesha tabia ya jamii yenye afya na inayojenga kwa kupitisha na kutekeleza kanuni za maadili.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## Kwa nini nahitaji kanuni za maadili?
Kanuni za maadili ni hati inayoweka matarajio ya tabia kwa washiriki wa mradi wako. Kupitisha, na kutekeleza, kanuni za maadili kunaweza kusaidia kuunda mazingira chanya ya kijamii kwa jamii yako.
Kanuni za maadili husaidia kulinda sio tu washiriki wako, bali pia wewe mwenyewe. Ikiwa unashughulikia mradi, unaweza kugundua kuwa mitazamo isiyo ya uzalishaji kutoka kwa washiriki wengine inaweza kukufanya uhisi kuchoka au kutoridhika na kazi yako kwa muda mrefu.
Kanuni za maadili hukupa uwezo wa kuwezesha tabia yenye afya na ya kujenga ya jamii. Kuwa makini hupunguza uwezekano kwamba wewe, au wengine, watachoshwa na mradi wako, na hukusaidia kuchukua hatua mtu anapofanya jambo ambalo hukubaliani nalo.
## Kuanzisha kanuni za maadili
Jaribu kuanzisha kanuni za maadili mapema iwezekanavyo: kwa kawaida, wakati unaunda mradi wako.
Mbali na kuwasilisha matarajio yako, kanuni za maadili zinaelezea yafuatayo:
* Pahali kanuni za maadili zinatumika _(tu kwenye masuala na ombi la kuvuta, au shughuli za jamii kama matukio?)_
* Ni nani anayehusika na kanuni za maadili _(wanachama wa jamii na watunzaji, lakini je, kuhusu wadhamini?)_
* Nini kinatokea ikiwa mtu atakiuka kanuni za maadili
* Jinsi mtu anavyoweza kuripoti ukiukwaji
Popote unavyoweza, tumia sanaa ya awali. [Mkataba wa Wachangiaji](https://contributor-covenant.org/) ni kanuni ya maadili inayoweza kutumika moja kwa moja ambayo inatumika na miradi zaidi ya 40,000 ya open source, ikiwa ni pamoja na Kubernetes, Rails, na Swift.
[Kanuni ya Maadili ya Django](https://www.djangoproject.com/conduct/) na [Kanuni ya Maadili ya Citizen](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) pia ni mifano miwili mizuri ya kanuni za maadili.
Weka faili ya CODE_OF_CONDUCT katika saraka ya mzizi ya mradi wako, na uifanye iwe wazi kwa jamii yako kwa kuipatia kiungo kutoka kwenye faili yako ya CONTRIBUTING au README.
## Kuamua jinsi utatekeleza kanuni zako za maadili
Unapaswa kueleza jinsi kanuni zako za maadili zitakavyotekelezwa **_kabla_** ya ukiukwaji kutokea. Kuna sababu kadhaa za kufanya hivyo:
* Inaonyesha kwamba uko makini kuhusu kuchukua hatua inapohitajika.
* Jamii yako itajisikia zaidi kuwa na uhakika kwamba malalamiko yanachunguzwa kwa kweli.
* Utawapa uhakika jamii yako kwamba mchakato wa uchunguzi ni wa haki na wazi, iwapo watapata uchunguzi kwa ukiukwaji.
Unapaswa kuwapa watu njia ya faragha (kama anwani ya barua pepe) ya kuripoti ukiukwaji wa kanuni za maadili na kueleza ni nani anayepokea ripoti hiyo. Inaweza kuwa mtunzaji, kundi la watunzaji, au kikundi cha kazi cha kanuni za maadili.
Usisahau kwamba mtu anaweza kutaka kuripoti ukiukwaji kuhusu mtu anayepokea ripoti hizo. Katika kesi hii, wape chaguo la kuripoti ukiukwaji kwa mtu mwingine. Kwa mfano, @ctb na @mr-c [wanasema kwenye mradi wao](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> Matukio ya tabia ya dhuluma, kutisha, au vinginevyo vinavyokubalika vinaweza kuripotiwa kwa kutuma barua pepe **khmer-project@idyll.org** ambayo inakwenda kwa C. Titus Brown na Michael R. Crusoe. Kuripoti suala linalohusisha mmoja wao, tafadhali tuma barua pepe **Judi Brown Clarke, Ph.D.** Mkurugenzi wa Mbalimbali katika Kituo cha BEACON cha Utafiti wa Mageuzi katika Vitendo, Kituo cha NSF cha Sayansi na Teknolojia.\*
Kwa ajili ya msukumo, angalia mwongozo wa [Django wa utekelezaji](https://www.djangoproject.com/conduct/enforcement-manual/) (ingawa huenda usihitaji kitu hiki kwa kina, kulingana na ukubwa wa mradi wako).
## Kutekeleza kanuni zako za maadili
Wakati mwingine, licha ya juhudi zako bora, mtu atafanya jambo ambalo linakiuka kanuni hii. Kuna njia kadhaa za kushughulikia tabia hasi au hatari inapojitokeza.
### Kusanya habari kuhusu hali
Chukulia sauti ya kila mwanajamii kama muhimu kama yako mwenyewe. Ikiwa unapokea ripoti kwamba mtu amekiuka kanuni za maadili, ichukue kwa uzito na uichunguze, hata kama haifanani na uzoefu wako mwenyewe na mtu huyo. Kufanya hivyo kunaonyesha kwa jamii yako kwamba unathamini mtazamo wao na kuamini hukumu yao.
Mwanajamii anayehusika anaweza kuwa mhalifu wa mara kwa mara ambaye mara kwa mara huwafanya wengine wakose furaha na amani, au wanaweza kuwa wamesema au kufanya jambo moja tu. Wote wanaweza kuwa sababu za kuchukua hatua, kulingana na muktadha.
Kabla ya kujibu, jipe muda wa kuelewa kilichotokea. Soma kupitia maoni ya mtu huyo ya zamani na mazungumzo ili kuelewa vizuri ni nani na kwa nini wanaweza kuwa wamefanya hivyo. Jaribu kukusanya mitazamo zaidi ya yako kuhusu mtu huyu na tabia zao.
### Chukua hatua inayofaa
Baada ya kukusanya na kuchakata habari ya kutosha, utahitaji kuamua cha kufanya. Unapofikiria hatua zako zinazofuata, kumbuka kwamba lengo lako kama mtunzaji ni kukuza mazingira salama, ya heshima, na ya ushirikiano. Fikiria sio tu jinsi ya kushughulikia hali hiyo, bali pia jinsi majibu yako yatakavyoathiri tabia na matarajio ya jamii yako kwa ujumla.
Wakati mtu anaporipoti ukiukwaji wa kanuni za maadili, ni kazi yako, si yao, kushughulikia hilo. Wakati mwingine, ripoti inatoa habari kwa hatari kubwa kwa kazi yao, sifa, au usalama wa mwili. Kuwalazimisha kukabiliana na mnyanyasaji wao kunaweza kuwasababisha wawe katika hali ngumu. Unapaswa kushughulikia mawasiliano ya moja kwa moja na mtu anayehusika, isipokuwa ripoti inahitaji vinginevyo.
Kuna njia kadhaa unavyoweza kujibu ukiukwaji wa kanuni za maadili:
* **Mpe mtu anayehusika onyo la umma** na eleza jinsi tabia yao ilivyowaathiri wengine, kwa upendeleo katika kituo kilichotokea. Pale inapowezekana, mawasiliano ya umma yanaonyesha kwa jamii nzima kwamba unachukulia kanuni za maadili kwa uzito. Kuwa mwema, lakini thabiti katika mawasiliano yako.
* **Fikia mtu huyo kwa faragha** ili kueleza jinsi tabia yao ilivyowaathiri wengine. Unaweza kutaka kutumia njia ya mawasiliano ya faragha ikiwa hali inahusisha habari nyeti za kibinafsi. Ikiwa unawasiliana na mtu kwa faragha, ni wazo nzuri kumnakili yule ambaye aliripoti jambo hilo katika barua pepe, ili wajue umechukua hatua. Omba idhini ya mtu aliyeripoti kabla ya kumnakili mtu katika barua pepe.
Wakati mwingine, suluhu haiwezi kupatikana. Mtu anayehusika anaweza kuwa mkali au mwenye hasira wakati anapokabiliwa au hawezi kubadilisha tabia zao. Katika hali hii, unaweza kutaka kufikiria kuchukua hatua kali zaidi. Kwa mfano:
* **Mkatae mtu** anayehusika kwenye mradi, kwa kutekeleza marufuku ya muda kwenye kushiriki katika sehemu yoyote ya mradi
* **Mkatae mtu milele** kwenye mradi
Kuwakataa watu hakupaswi kuchukuliwa kwa urahisi na inawakilisha tofauti ya kudumu na isiyoweza kutatuliwa. Unapaswa kuchukua hatua hizi tu wakati ni wazi kwamba suluhu haiwezi kupatikana.
## Wajibu wako kama mtunzaji
Kanuni za maadili si sheria zinazotekelezwa bila mpangilio. Wewe ndiye mtendaji wa kanuni za maadili na ni wajibu wako kufuata sheria ambazo kanuni za maadili zinaweka.
Kama mtunzaji, unaunda miongozo kwa jamii yako na kutekeleza miongozo hiyo kulingana na sheria zilizowekwa katika kanuni za maadili. Hii inamaanisha kuchukua ripoti yoyote ya ukiukwaji wa kanuni za maadili kwa uzito. Mtu anayeripoti anastahili uchunguzi wa kina na wa haki wa malalamiko yao. Ikiwa unagundua kuwa tabia waliyoripoti si ukiukwaji, wasiliana wazi nao na eleza kwa nini huenda usichukue hatua. Wanaweza kufanya nini na hiyo ni juu yao: kuvumilia tabia ambayo walikuwa nayo tatizo nayo, au kuacha kushiriki katika jamii.
Ripoti ya tabia ambayo haikiuka _kiuhalisia_ kanuni za maadili bado inaweza kuashiria kuwa kuna tatizo katika jamii yako, na unapaswa kuchunguza tatizo hili na kuchukua hatua ipasavyo. Hii inaweza kujumuisha kurekebisha kanuni zako za maadili ili kufafanua tabia inayokubalika na/au kuzungumza na mtu ambaye tabia yao iliripotiwa na kuwaambia kwamba ingawa hawakuvunja kanuni za maadili, wanakaribia mpaka wa kile kinachotarajiwa na wanawafanya washiriki wengine wakose amani na utulivu.
Mwishowe, kama mtunzaji, ni jukumu lako kuunda na kutekeleza viwango vya tabia inayokubalika. Una uwezo wa kuunda maadili ya jamii ya mradi, na washiriki wanatarajia wewe kutekeleza maadili hayo kwa njia ya haki na isiyo na upendeleo.
## Imarisha tabia unayotaka kuona duniani 🌎
Wakati mradi unavyoonekana kuwa wenye ukali au usio na ukarimu, hata kama ni mtu mmoja tu ambaye tabia yake inakubaliwa na wengine, unakabiliwa na hatari ya kupoteza wachangiaji wengi zaidi, baadhi yao huenda hujawahi kukutana nao. Si rahisi kila wakati kupitisha au kutekeleza kanuni za maadili, lakini kukuza mazingira ya ukarimu kutasaidia jamii yako kukua.
================================================
FILE: _articles/sw/finding-users.md
================================================
---
lang: sw
title: Kupata Watumiaji kwa Mradi Wako
description: Saidia mradi wako wa open source kukua kwa kuufikisha kwa watumiaji wenye furaha.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## Kueneza neno
Hakuna sheria inayosema unapaswa kutangaza mradi wa open source unapozindua. Kuna sababu nyingi zinazoridhisha za kufanya kazi katika open source ambazo hazihusiani na umaarufu. Badala ya kutumaini wengine wataupata na kuutumia mradi wako wa open source, unapaswa kueneza neno kuhusu kazi yako ngumu!
## Tambua ujumbe wako
Kabla hujaanza kazi halisi ya kutangaza mradi wako, unapaswa kuwa na uwezo wa kueleza kile mradi wako unachofanya, na kwa nini ni muhimu.
Nini kinachofanya mradi wako kuwa tofauti au wa kuvutia? Kwa nini uliiunda? Kujibu maswali haya kwa ajili yako mwenyewe kutakusaidia kuwasilisha umuhimu wa mradi wako.
Kumbuka kwamba watu hujiunga kama watumiaji, na hatimaye kuwa wachangiaji, kwa sababu mradi wako unatatua tatizo kwao. Unapofikiria ujumbe na thamani ya mradi wako, jaribu kuangalia kupitia mtazamo wa kile _watumiaji na wachangiaji_ wanaweza kutaka.
Kwa mfano, @robb anatumia mifano ya msimbo kuwasilisha kwa uwazi kwa nini mradi wake, [Cartography](https://github.com/robb/Cartography), ni wa manufaa:

Kwa maelezo zaidi kuhusu ujumbe, angalia mazoezi ya Mozilla ya ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) kwa ajili ya kuunda wahusika wa watumiaji.
## Saidia watu wapate na kufuata mradi wako
Saidia watu wapate na kukumbuka mradi wako kwa kuwaelekeza kwenye namespace moja.
**Kuwa na akaunti wazi wa kutangaza kazi yako.** Akaunti ya Twitter, URL ya GitHub, au kituo cha IRC ni njia rahisi ya kuwaelekeza watu kwenye mradi wako. Njia hizi za usambazaji pia zinawapa jamii inayokua ya mradi wako mahali pa kukutana.
Ikiwa hutaki kuweka vitengo vya usambazaji katika mradi wako bado, tangaza Handle yako ya Twitter au GitHub katika kila kitu unachofanya. Kutangaza handle yako ya Twitter au GitHub kutawajulisha watu jinsi ya kukufikia au kufuata kazi yako. Ikiwa unazungumza katika mkutano au tukio, hakikisha kuwa taarifa zako za mawasiliano zimejumuishwa katika wasifu wako au slaidi.
**Fikiria kuunda tovuti kwa mradi wako.** Tovuti inafanya mradi wako kuwa rafiki zaidi na rahisi kuvinjari, hasa inapounganishwa na nyaraka wazi na mafunzo. Kuwa na tovuti pia kunamaanisha kwamba mradi wako unafanya kazi ambayo itawafanya watazamaji wako wajisikie vizuri zaidi kutumia. Toa mifano ili kuwapa watu mawazo ya jinsi ya kutumia mradi wako.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), muundaji mwenza wa Django, alisema kwamba tovuti ilikuwa _"kitu bora zaidi tulichofanya na Django katika siku za awali"_.
Ikiwa mradi wako umehifadhiwa kwenye GitHub, unaweza kutumia [GitHub Pages](https://pages.github.com/) kwa urahisi kuunda tovuti. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), na [Middleman](https://middlemanapp.com/) ni [mfano kadhaa](https://github.com/showcases/github-pages-examples) wa tovuti bora na kamili.

Sasa kwamba una ujumbe wa mradi wako, na njia rahisi kwa watu kupata mradi wako, hebu tuondoke na kuzungumza na hadhira yako!
## Nenda mahali ambapo hadhira ya mradi wako iko (mtandaoni)
Kufikia mtandaoni ni njia nzuri ya kushiriki na kueneza neno haraka. Kwa kutumia njia za mtandaoni, una uwezo wa kufikia hadhira kubwa sana.
Tumia jamii na majukwaa yaliyopo mtandaoni kufikia hadhira yako. Ikiwa mradi wako wa open source ni mradi wa programu ya software, unaweza kupata hadhira yako kwenye [Stack Overflow](https://stackoverflow.com/), [Reddit](https://www.reddit.com), [Hacker News](https://news.ycombinator.com/), au [Quora](https://www.quora.com/). Tafuta njia ambazo unafikiri watu watafaidika zaidi au kufurahishwa na kazi yako.
Tafuta njia za kushiriki mradi wako kwa njia zinazofaa:
* **Jifunze kuhusu miradi na jamii zinazohusiana na open source.** Wakati mwingine, huna haja ya kutangaza mradi wako moja kwa moja. Ikiwa mradi wako ni mzuri kwa wanasayansi wa data wanaotumia Python, jifunze kuhusu jamii ya sayansi ya data ya Python. Watu wanapokujua, fursa za asili zitajitokeza za kuzungumza na kushiriki kazi yako.
* **Pata watu wanaokabiliwa na tatizo ambalo mradi wako unatatua.** Tafuta kwenye majukwaa yanayohusiana kwa watu wanaoangukia kwenye hadhira lengwa ya mradi wako. Jibu swali lao na pata njia ya busara, inapofaa, kupendekeza mradi wako kama suluhisho.
* **Omba maoni.** Jitambulisha na kazi yako kwa hadhira ambayo itapata umuhimu na kufurahishwa. Kuwa maalum kuhusu ni nani unadhani atafaidika na mradi wako. Jaribu kumaliza sentensi: _"Nafikiri mradi wangu utawasaidia X, ambao wanajaribu kufanya Y"_. Sikiliza na kujibu maoni ya wengine, badala ya kutangaza tu kazi yako.
Kwa ujumla, zingatia kusaidia wengine kabla ya kuomba mambo kwa ajili yako. Kwa sababu mtu yeyote anaweza kwa urahisi kutangaza mradi mtandaoni, kutakuwa na kelele nyingi. Ili kujitenga na umati, wape watu muktadha wa nani ulivyo na sio tu kile unachotaka.
Ikiwa hakuna anayekusikiliza au kujibu juhudi zako za awali, usikate tamaa! Uzinduzi wa miradi nyingi ni mchakato wa kurudiwa ambao unaweza kuchukua miezi au miaka. Ikiwa hujapata majibu mara ya kwanza, jaribu mbinu tofauti, au tafuta njia za kuongeza thamani kwa kazi ya wengine kwanza. Kutangaza na kuzindua mradi wako inachukua muda na kujitolea.
## Nenda mahali ambapo hadhira ya mradi wako iko (nje ya mtandao)

Matukio ya nje ya mtandao ni njia maarufu ya kutangaza miradi mipya kwa hadhira. Ni njia nzuri ya kufikia hadhira inayoshiriki na kujenga uhusiano wa kina wa kibinadamu, hasa ikiwa unavutiwa na kufikia waendelezaji.
Ikiwa wewe ni [mpya katika kuzungumza hadharani](https://speaking.io/), anza kwa kutafuta mkutano wa ndani unaohusiana na lugha au mfumo wa mradi wako.
Ikiwa hujawahi kuzungumza katika tukio kabla, ni kawaida kabisa kuhisi wasiwasi! Kumbuka kwamba hadhira yako iko hapo kwa sababu wanataka kwa dhati kusikia kuhusu kazi yako.
Unapoandika hotuba yako, zingatia kile hadhira yako itakachokiona kuwa cha kuvutia na kupata thamani. Hifadhi lugha yako kuwa rafiki na inayokaribisha. Tabasamu, pumua, na furahia.
Unapojisikia tayari, fikiria kuzungumza katika mkutano ili kutangaza mradi wako. Mikutano inaweza kukusaidia kufikia watu wengi zaidi, wakati mwingine kutoka sehemu mbalimbali za dunia.
Tafuta mikutano ambayo ni maalum kwa lugha yako au mfumo. Kabla ya kuwasilisha hotuba yako, fanya utafiti kuhusu mkutano ili kubinafsisha hotuba yako kwa wahudhuriaji na kuongeza nafasi zako za kukubaliwa kuzungumza katika mkutano. Mara nyingi unaweza kupata hisia ya hadhira yako kwa kuangalia watoa hotuba wa mkutano.
## Jenga sifa
Mbali na mikakati iliyoorodheshwa hapo juu, njia bora ya kuwakaribisha watu kushiriki na kuchangia mradi wako ni kushiriki na kuchangia miradi yao.
Kusaidia wanaojiunga kwa mara ya kwanza, kushiriki rasilimali, na kufanya michango ya busara kwa miradi ya wengine kutakusaidia kujenga sifa nzuri. Kuwa mwanachama mwenye shughuli katika jamii ya open source kutawasaidia watu kuwa na muktadha wa kazi yako na kuwa na uwezekano mkubwa wa kuipa kipaumbele na kushiriki na kusambaza mradi wako. Kuendeleza uhusiano na miradi mingine ya open source kunaweza hata kupelekea ushirikiano rasmi.
Kamwe si mapema, au kuchelewa, kuanza kujenga sifa yako. Hata kama umeshazindua mradi wako tayari,endelea kutafuta njia za kusaidia wengine.
Hakuna suluhisho la usiku mmoja la kujenga hadhira. Kupata imani na heshima ya wengine inachukua muda, na kujenga sifa yako hakumaliziki kamwe.
## Endelea!
Inaweza kuchukua muda mrefu kabla watu wajue mradi wako wa open source. Hiyo ni sawa! Baadhi ya miradi maarufu leo ilichukua miaka kufikia viwango vya juu vya shughuli. Zingatia kujenga uhusiano badala ya kutumaini kwamba mradi wako utaweza kupata umaarufu kwa bahati. Kuwa na subira, na endelea kushiriki kazi yako na wale wanaoithamini.
================================================
FILE: _articles/sw/getting-paid.md
================================================
---
lang: sw
title: Kupata Malipo kwa Kazi ya Open Source
description: Dumisha kazi yako katika Open Source kwa kupata usaidizi wa kifedha kwa wakati wako au mradi wako.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Kwa nini baadhi ya watu wanatafuta msaada wa kifedha
Mengi ya kazi ya open source ni ya hiari. Kwa mfano, mtu anaweza kukutana na hitilafu katika mradi anaoutumia na kuwasilisha suluhisho haraka, au wanaweza kufurahia kuburudika na mradi wa open source katika wakati wao wa ziada.
Kuna sababu nyingi kwa nini mtu anaweza kutotaka kulipwa kwa kazi yao ya open source.
* **Wanaweza kuwa na kazi ya wakati wote wanayoipenda,** ambayo inawaruhusu kuchangia kwenye open source katika wakati wao wa ziada.
* **Wanafurahia kufikiria open source kama hobby** au njia ya ubunifu na hawataki kujisikia kuwa na wajibu wa kifedha kufanya kazi kwenye miradi yao.
* **Wanapata faida nyingine kutokana na kuchangia kwenye open source,** kama vile kujenga sifa yao au portfolio, kujifunza ujuzi mpya, au kujisikia karibu na jamii.
Kwa wengine, hasa wakati michango ni ya kudumu au inahitaji muda mwingi, kulipwa kuchangia kwenye open source ndiyo njia pekee wanaweza kushiriki, ama kwa sababu mradi unahitaji hivyo, au kwa sababu za kibinafsi.
Kuhifadhi miradi maarufu kunaweza kuwa na wajibu mkubwa, ikichukua masaa 10 au 20 kwa wiki badala ya masaa machache kwa mwezi.
Kazi ya kulipwa pia inawawezesha watu kutoka nyanja tofauti kufanya michango yenye maana. Watu wengine hawawezi kumudu kutumia muda wa bure kwenye miradi ya open source, kulingana na hali zao za kifedha, deni, au wajibu wa kulea familia au wengine. Hii inamaanisha ulimwengu hauoni michango kutoka kwa watu wenye talanta ambao hawawezi kumudu kujitolea wakati wao. Hii ina athari za kimaadili, kama @ashedryden [ameelezea](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), kwani kazi inayofanywa inakabiliwa na upendeleo kwa wale ambao tayari wana faida katika maisha, ambao kisha wanapata faida zaidi kutokana na michango yao ya kujitolea, wakati wengine ambao hawawezi kujitolea basi hawapati fursa za baadaye, ambayo inaimarisha ukosefu wa utofauti katika jamii ya open source.
Ikiwa unatafuta msaada wa kifedha, kuna njia mbili za kuzingatia. Unaweza kufadhili wakati wako kama mchangiaji, au unaweza kupata ufadhili wa shirika kwa mradi.
## Kufadhili wakati wako mwenyewe
Leo, watu wengi wanapata malipo ya kufanya kazi kwa muda wa nusu au muda wote kwenye open source. Njia ya kawaida ya kulipwa kwa wakati wako ni kuzungumza na mwajiri wako.
Ni rahisi kutoa sababu za kufanya kazi kwenye open source ikiwa mwajiri wako anatumia mradi huo, lakini kuwa mbunifu katika pendekezo lako. Labda mwajiri wako hatumii mradi huo, lakini wanatumia Python, na kuhifadhi mradi maarufu wa Python husaidia kuvutia waendelezaji wapya wa Python. Labda inafanya mwajiri wako kuonekana kuwa rafiki zaidi kwa waendelezaji kwa ujumla.
Ikiwa huna mradi wa open source ulio tayari kufanya kazi nao, lakini ungependa kwamba matokeo yako ya kazi ya sasa ya ndani ya shirika yafanywe kuwa open source, fanya kesi kwa mwajiri wako kufungua baadhi ya programu zao za ndani.
Makampuni mengi yanaendeleza programu za open source ili kujenga chapa yao na kuajiri talanta bora.
@hueniverse, kwa mfano, aligundua kwamba kulikuwa na sababu za kifedha za kuhalalisha [uwekezaji wa Walmart katika open source](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html). Na @jamesgpearce aligundua kwamba programu ya open source ya Facebook [ilifanya tofauti](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) katika kuajiri:
> Inahusiana kwa karibu na utamaduni wetu wa hacking, na jinsi shirika letu lilivyoonekana. Tulikuwauliza wafanyakazi wetu, "Je, mlikuwa na ufahamu wa programu ya open source ya Facebook?". Theluthi mbili walisema "Ndio". Nusu walisema kwamba programu hiyo ilichangia kwa njia chanya katika uamuzi wao wa kufanya kazi kwetu. Hizi si nambari za kawaida, na natumai, ni mwenendo unaoendelea.
Ikiwa kampuni yako inaenda kwenye njia hii, ni muhimu kuweka mipaka kati ya shughuli za jamii na za kampuni wazi. Hatimaye, open source hujitegemea kupitia michango kutoka kwa watu kote ulimwenguni, na hiyo ni kubwa zaidi kuliko kampuni moja au eneo lolote.
Ikiwa huwezi kumshawishi mwajiri wako wa sasa kuipa kipaumbele kazi ya open source, fikiria kutafuta mwajiri mpya anayehimiza michango ya wafanyakazi kwenye open source. Tafuta makampuni ambayo yanaweka wazi kujitolea kwao kwa kazi ya open source. Kwa mfano:
* Makampuni mengine, kama [Netflix](https://netflix.github.io/), yana tovuti zinazosisitiza ushiriki wao katika open source
Miradi ambayo ilianza katika kampuni kubwa, kama [Go](https://github.com/golang) au [React](https://github.com/facebook/react), pia itakuwa na uwezekano wa kuajiri watu kufanya kazi kwenye open source.
Kulingana na hali zako binafsi, unaweza kujaribu kukusanya fedha kwa kujitegemea kufadhili kazi yako ya open source. Kwa mfano:
* @Homebrew (na [watunzaji na mashirika mengine mengi](https://github.com/sponsors/community)) wanakusanya kazi zao kupitia [GitHub Sponsors](https://github.com/sponsors)
* @gaearon alifadhili kazi yake kwenye [Redux](https://github.com/reactjs/redux) kupitia kampeni ya [Patreon crowdfunding](https://redux.js.org/)
* @andrewgodwin alifadhili kazi kwenye uhamasishaji wa schema ya Django [kupitia kampeni ya Kickstarter](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django)
Hatimaye, wakati mwingine miradi ya open source huweka zawadi kwenye masuala ambayo unaweza kufikiria kusaidia nayo.
* @ConnorChristie alifaulu kulipwa kwa [kusaidia](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol kufanya kazi kwenye maktaba yao ya JavaScript [kupitia zawadi kwenye gitcoin](https://gitcoin.co/).
* @mamiM alifanya tafsiri za Kijapani kwa @MetaMask baada ya [suala kufadhiliwa kwenye Bounties Network](https://explorer.bounties.network/bounty/134).
## Kutafuta ufadhili kwa mradi wako
Mbali na mipango ya wafanyakazi binafsi, wakati mwingine miradi hujikusanyia fedha kutoka kwa makampuni, watu binafsi, au wengine ili kufadhili kazi ya kudumu.
Ufadhili wa shirika unaweza kuelekezwa kwa kulipa wachangiaji wa sasa, kufidia gharama za kuendesha mradi (kama vile ada za "hosting"), au kuwekeza katika vipengele au mawazo mapya.
Kadri umaarufu wa open source unavyoongezeka, kutafuta ufadhili kwa miradi bado ni jambo la majaribio, lakini kuna chaguzi kadhaa za kawaida zinazopatikana.
### Kusanya fedha kwa kazi yako kupitia kampeni za ufadhili au udhamini
Kukusanya udhamini kunafanya kazi vizuri ikiwa una hadhira au sifa nzuri tayari, au mradi wako ni maarufu sana.
Mifano ya miradi iliyo na udhamini ni pamoja na:
* **[webpack](https://github.com/webpack)** inakusanya fedha kutoka kwa makampuni na watu binafsi [kupitia OpenCollective](https://opencollective.com/webpack)
* **[Ruby Together](https://rubytogether.org/),** shirika lisilo la faida linalolipa kazi kwenye [bundler](https://github.com/bundler/bundler), [RubyGems](https://github.com/rubygems/rubygems), na miradi mingine ya miundombinu ya Ruby
### Kuunda mtiririko wa mapato
Kulingana na mradi wako, huenda ukawa na uwezo wa kuchaji kwa msaada wa kibiashara, chaguzi za hosting, au vipengele vya ziada. Mifano kadhaa ni pamoja na:
* **[Sidekiq](https://github.com/mperham/sidekiq)** inatoa toleo lililolipwa kwa msaada wa ziada
* **[Travis CI](https://github.com/travis-ci)** inatoa toleo lililolipwa la bidhaa yake
* **[Ghost](https://github.com/TryGhost/Ghost)** ni shirika lisilo la faida lenye huduma ya utunzaji inayolipwa
Miradi maarufu, kama [npm](https://github.com/npm/cli) na [Docker](https://github.com/docker/docker), huwa zinakusanya mtaji wa uwekezaji ili kusaidia ukuaji wa biashara zao.
### Kuomba ufadhili wa ruzuku
Baadhi ya mashirika ya programu za software na makampuni hutoa ruzuku kwa kazi ya open source. Wakati mwingine, ruzuku zinaweza kulipwa kwa watu binafsi bila kuanzisha kitengo cha kisheria kwa mradi.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** ilipokea ruzuku kutoka [Mozilla Open Source Support](https://www.mozilla.org/en-US/grants/)
* **[OpenMRS](https://github.com/openmrs)** kazi yake ilifadhiliwa na [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees)
* **[Libraries.io](https://github.com/librariesio)** ilipokea ruzuku kutoka [Sloan Foundation](https://sloan.org/programs/digital-technology)
* **[Python Software Foundation](https://www.python.org/psf/grants/)** inatoa ruzuku kwa kazi inayohusiana na Python
Kwa maelezo zaidi na mifano ya kesi, @nayafia [aliandika mwongozo](https://github.com/nayafia/lemonade-stand) wa jinsi ya kulipwa kwa kazi ya open source. Aina tofauti za ufadhili zinahitaji ujuzi tofauti, hivyo fikiria nguvu zako ili kubaini ni chaguo lipi linafaa kwako.
## Kujenga kesi ya msaada wa kifedha
Iwe mradi wako ni wazo jipya, au umekuwepo kwa miaka, unapaswa kutarajia kuweka mawazo makubwa katika kutambua mfadhili wako wa lengo na kufanya kesi yenye nguvu.
Iwe unatafuta kulipia wakati wako, au kufadhili mradi, unapaswa kuwa na uwezo wa kujibu maswali yafuatayo.
### Athari
Kwa nini mradi huu ni muhimu? Kwa nini watumiaji wako, au watumiaji wanaowezekana, wanaupokea sana? Itakuwa wapi katika miaka mitano?
### Ufanisi
Jaribu kukusanya ushahidi kwamba mradi wako ni muhimu, iwe ni takwimu, hadithi, au ushuhuda. Je, kuna makampuni au watu mashuhuri wanaotumia mradi wako sasa hivi? Ikiwa sivyo, je, kuna mtu mashuhuri aliyekubali?
### Thamani kwa mfadhili
Wafadhili, iwe ni mwajiri wako au msingi wa kutoa ruzuku, mara nyingi wanakaribishwa na fursa. Kwa nini wanapaswa kusaidia mradi wako badala ya fursa nyingine yoyote? Je, wanapata faida gani binafsi?
### Matumizi ya fedha
Ni nini hasa, utatimiza nini kwa ufadhili uliopendekezwa? Zingatia hatua au matokeo ya mradi badala ya kulipa mshahara.
### Jinsi utakavyopokea fedha
Je, mfadhili ana masharti yoyote kuhusu utoaji? Kwa mfano, huenda ukahitaji kuwa shirika lisilo la faida au kuwa na mdhamini wa kifedha wa shirika lisilo la faida. Au labda fedha zinapaswa kutolewa kwa mkandarasi binafsi badala ya shirika. Masharti haya yanatofautiana kati ya wafadhili, hivyo hakikisha unafanya utafiti kabla.
## Jaribu na usikate tamaa
Kuchangisha fedha sio rahisi, iwe wewe ni mradi wa open source, shirika lisilo la faida, au uanzishaji wa kampuni ya programu za software, na katika hali nyingi huhitaji uwe mbunifu. Kutambua jinsi unavyotaka kulipwa, kufanya utafiti wako, na kujiweka katika nafasi ya mfadhili wako kutakusaidia kuunda kesi inayoshawishi ya ufadhili.
================================================
FILE: _articles/sw/how-to-contribute.md
================================================
---
lang: sw
title: Jinsi ya kuchangia kwa Open Source
description: Je, ungependa kuchangia katika open source? Mwongozo wa kutoa michango ya open source, kwa wanaoanza na kwa maveterani.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## Kwa nini uchangie katika open source?
Kuchangia kwenye Open Source kunaweza kuwa njia ya kuridhisha ya kujifunza, kufundisha na kujenga uzoefu katika takriban ujuzi wowote unaoweza kufikiria.
Kwa nini watu wanachangia katika Open Source? Sababu nyingi!
### Boresha programu unayoitegemea
Wachangiaji wengi wa Open Source huanza kwa kuwa watumiaji wa programu wanazochangia. Unapopata hitilafu katika programu huria unayotumia, unaweza kutaka kuangalia chanzo ili kuona ikiwa unaweza kuibandika mwenyewe. Ikiwa ndivyo hivyo, basi kuchangia kiraka ni njia bora ya kuhakikisha kuwa marafiki zako (na wewe mwenyewe unaposasisha toleo linalofuata) mtaweza kunufaika nayo.
### Kuboresha ujuzi uliopo
Iwe ni usimbaji, muundo wa kiolesura cha mtumiaji, muundo wa picha, uandishi, au kupanga, ikiwa unatafuta mazoezi, kuna jukumu lako kwenye mradi wa Open Source.
### Kutana na watu wanaovutiwa na mambo sawa
Miradi ya Open Source yenye jumuiya zenye uchangamfu, zinazokaribisha watu huwafanya watu warudi kwa miaka mingi. Watu wengi huunda urafiki wa kudumu kupitia ushiriki wao katika Open Source, iwe ni kupatana kwenye mikutano au soga za mtandaoni za usiku wa manane kuhusu burritos.
### Tafuta washauri na uwafundishe wengine
Kufanya kazi na wengine kwenye mradi ulioshirikiwa inamaanisha itabidi ueleze jinsi unavyofanya mambo, na pia kuomba msaada kutoka kwa watu wengine. Matendo ya kujifunza na kufundisha yanaweza kuwa shughuli ya kutimiza kwa kila mtu anayehusika.
### Unda vibaki vya umma vinavyokusaidia kukuza sifa (na taaluma)
Kwa ufafanuzi, kazi yako yote ya programu huria ni ya umma, ambayo ina maana kwamba unapata mifano isiyolipishwa ya kuchukua popote kama onyesho la unachoweza kufanya.
### Jifunze ujuzi wa watu
Open Source hutoa fursa za kufanya mazoezi ya ujuzi wa uongozi na utunzaji, kama vile kusuluhisha mizozo, kupanga timu za watu, na kuipa kazi kipaumbele.
### Inawezesha kuweza kufanya mabadiliko, hata madogo
Si lazima uwe mchangiaji wa maisha yote ili kufurahia kushiriki katika Open Source. Je, umewahi kuona hitilafu kwenye tovuti, na ukatamani mtu airekebishe? Kwenye mradi wa Open Source, unaweza kufanya hivyo. Open Source huwasaidia watu kuhisi wakala katika maisha yao na jinsi wanavyopitia ulimwengu, na hiyo yenyewe inafurahisha.
## Nini maana ya kuchangia
Ikiwa wewe ni mchangiaji mpya wa Open Source, mchakato unaweza kuogopesha. Je, unapataje mradi sahihi? Je, ikiwa hujui jinsi ya kuweka msimbo? Je, ikiwa kitu kitaenda vibaya?
Usiwe na wasiwasi! Kuna kila aina ya njia za kujihusisha na mradi wa Open Source, na vidokezo vichache vitakusaidia kupata zaidi kutokana na matumizi yako.
### Si lazima kuchangia msimbo
Dhana potofu ya kawaida kuhusu kuchangia Open Source ni kwamba unahitaji kuchangia msimbo. Kwa kweli, mara nyingi ni sehemu zingine za mradi ambazo [hupuuzwa zaidi au kutopewa umakini](https://github.com/blog/2195-the-shape-of-open-source). Utaufanyia mradi upendeleo _mkubwa_ kwa kujitolea kushiriki na aina hizi za michango!
Hata kama ungependa kuandika msimbo, aina nyingine za michango ni njia nzuri ya kujihusisha na mradi na kukutana na wanajamii wengine. Kujenga mahusiano hayo kutakupa fursa za kufanya kazi kwenye sehemu nyingine za mradi.
### Je, unapenda kupanga matukio?
* Panga warsha au mikutano kuhusu mradi, [kama @fzamperin alivyofanya kwa NodeSchool](https://github.com/nodeschool/organizers/issues/406)
* Panga mkutano wa mradi (ikiwa wanayo)
* Wasaidie wanajamii kupata mikutano inayofaa na uwasilishe mapendekezo ya kuzungumza
### Je, unapenda kubuni?
* Rekebisha mipangilio ili kuboresha utumiaji wa mradi
* Fanya utafiti wa mtumiaji ili kupanga upya na kuboresha urambazaji au menyu za mradi, [kama vile Drupal inavyopendekeza](https://www.drupal.org/community-initiatives/drupal-core/usability)
* Weka pamoja mwongozo wa mtindo ili kusaidia mradi kuwa na muundo thabiti wa kuona
* Unda sanaa ya fulana au nembo mpya, [kama wachangiaji wa hapi.js walivyofanya](https://github.com/hapijs/contrib/issues/68)
### Je, unapenda kuandika?
* Andika na uboreshe nyaraka za mradi, [kama @CBID2 alivyofanya kwa nyaraka za OpenSauced](https://github.com/open-sauced/docs/pull/151)
* Andaa folda ya mifano inayoonyesha jinsi mradi unavyotumika
* Anzisha jarida la mradi, au kusanya mambo muhimu kutoka kwenye orodha ya barua, [kama @opensauced alivyofanya kwa bidhaa yao](https://news.opensauced.pizza/about/)
* Andika mafunzo kwa mradi, [kama wachangiaji wa PyPA walivyofanya](https://packaging.python.org/)
* Andika tafsiri ya nyaraka za mradi, [kama @frontendwizard alivyofanya kwa maelekezo ya changamoto ya CSS Flexbox ya freeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077)
### Je, unapenda kupanga?
* Unganisha masuala yanayofanana, na upendekeze lebo mpya za masuala, ili kuweka vitu katika mpangilio
* Pitia masuala yaliyofunguliwa na upendekeze kufunga yale ya zamani, [kama @nzakas alivyofanya kwa ESLint](https://github.com/eslint/eslint/issues/6765)
* Uliza maswali ya ufafanuzi kuhusu masuala yaliyofunguliwa hivi karibuni ili kuendeleza mjadala
### Je, unapenda kusimba?
* Tafuta suala lililofunguliwa ili kushughulikia, [kama @dianjin alivyofanya kwa Leaflet](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* Uliza ikiwa unaweza kusaidia kuandika kipengele kipya
* Tengeneza mfumo wa kuanzisha mradi kiotomatiki
* Boresha zana na majaribio
### Je, unapenda kusaidia watu?
* Jibu maswali kuhusu mradi kwenye, kwa mfano, Stack Overflow ([kama mfano huu wa Postgres](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) au Reddit
* Jibu maswali ya watu kwenye masuala yaliyofunguliwa
* Saidia kusimamia bodi za majadiliano au vituo vya mazungumzo
### Je, unapenda kuwasaidia wengine kusimba?
* Pitia msimbo kwenye mawasilisho ya watu wengine
* Andika mafunzo ya jinsi mradi unavyoweza kutumika
* Jitolee kuwa mshauri kwa mchangiaji mwingine, [kama @ereichert alivyofanya kwa @bronzdoc kwenye Rust](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Sio lazima ufanye kazi kwenye miradi ya programu ya software pekee!
Ingawa "Open Source" mara nyingi inahusu programu z software, unaweza kushirikiana katika karibu kitu chochote. Kuna vitabu, mapishi, orodha, na madarasa yanayotengenezwa kama miradi ya Open Source.
Kwa mfano:
* @sindresorhus anasimamia [orodha ya maorodha "bora zaidi"](https://github.com/sindresorhus/awesome)
* @h5bp anahifadhi [orodha ya maswali yanayoweza kuulizwa kwenye mahojiano](https://github.com/h5bp/Front-end-Developer-Interview-Questions) kwa watafuta zaki wa nafasi ya front-end
* @stuartlynn na @nicole-a-tesla walitengeneza [mkusanyiko wa ukweli wa kufurahisha kuhusu ndege aina ya puffin](https://github.com/stuartlynn/puffin_facts)
Hata kama wewe ni msanidi programu, kufanya kazi kwenye mradi wa nyaraka kunaweza kukusaidia kuanza katika Open Source. Mara nyingi si jambo la kutisha kufanya kazi kwenye miradi isiyohusisha msimbo, na mchakato wa ushirikiano utajenga imani yako na uzoefu.
## Kujielekeza kwenye mradi mpya
Kwa kitu chochote zaidi ya kurekebisha makosa madogo, kuchangia kwenye Open Source ni kama kusogelea kikundi cha watu usiowajua kwenye sherehe. Ikiwa utaanza kuzungumza kuhusu llama, wakati walikuwa kwenye majadiliano ya kina kuhusu samaki wa dhahabu, watakutazama kwa namna ya ajabu.
Kabla ya kuruka bila kujua na kutoa mapendekezo yako, anza kwa kujifunza jinsi ya kusoma hali. Kufanya hivyo kunaongeza uwezekano wa mawazo yako kutambuliwa na kusikilizwa.
### Anatomia ya mradi wa Open Source
Kila jamii ya Open Source ni tofauti.
Kuwa kwenye mradi mmoja wa Open Source kwa miaka mingi inamaanisha umejifunza mradi mmoja wa Open Source. Ukihamia kwenye mradi mwingine, unaweza kukuta msamiati, desturi, na mitindo ya mawasiliano ni tofauti kabisa.
Hata hivyo, miradi mingi ya Open Source inafuata muundo wa shirika unaofanana. Kuelewa majukumu tofauti ya jamii na mchakato wa jumla kutakusaidia kuelekeza haraka kwenye mradi wowote mpya.
Mradi wa kawaida wa Open Source una aina zifuatazo za watu:
* **Mwandishi:** Mtu/watu au shirika lililounda mradi
* **Mmiliki:** Mtu/watu wenye umiliki wa kiutawala wa shirika au hazina (sio kila wakati ni sawa na mwandishi wa awali)
* **Watunzaji:** Wachangiaji wanaowajibika kuendesha maono na kusimamia vipengele vya kimuundo vya mradi (Wanaweza pia kuwa waandishi au wamiliki wa mradi.)
* **Wachangiaji:** Kila mtu aliyechangia kitu kwenye mradi
* **Wanachama wa Jamii:** Watu wanaotumia mradi. Wanaweza kuwa washiriki hai katika mazungumzo au kutoa maoni yao kuhusu mwelekeo wa mradi
Miradi mikubwa pia inaweza kuwa na kamati ndogo au vikundi vya kazi vinavyolenga kazi tofauti, kama vile zana, uchujaji, uangalizi wa jamii, na uandaaji wa matukio. Tafuta kwenye tovuti ya mradi ukurasa wa "timu", au kwenye hazina kwa nyaraka za utawala, ili kupata taarifa hizi.
Mradi pia una nyaraka. Faili hizi kwa kawaida zimeorodheshwa katika kiwango cha juu cha hazina.
* **LICENSE:** Kwa ufafanuzi, kila mradi wa Open Source lazima uwe na [leseni ya Open Source](https://choosealicense.com). Ikiwa mradi hauna leseni, sio Open Source.
* **README:** README ni mwongozo wa maelekezo unaowakaribishia wanachama wapya wa jamii kwenye mradi. Inaeleza kwa nini mradi ni muhimu na jinsi ya kuanza.
* **CONTRIBUTING:** Wakati README husaidia watu _kutumia_ mradi, nyaraka za kuchangia husaidia watu _kuchangia_ kwenye mradi. Inaeleza ni aina gani za michango inayohitajika na jinsi mchakato unavyofanya kazi. Ingawa si kila mradi una faili ya CONTRIBUTING, uwepo wake unaashiria kuwa huu ni mradi unaokaribishwa kuchangiwa. Mfano mzuri wa Mwongozo mzuri wa Kuchangia utakuwa ule kutoka [Codecademy's Docs repository](https://www.codecademy.com/resources/docs/contribution-guide).
* **CODE_OF_CONDUCT:** Kanuni za maadili zinaweka sheria za msingi za tabia ya washiriki na husaidia kuwezesha mazingira ya kirafiki na ya kukaribishana. Ingawa si kila mradi una faili ya CODE_OF_CONDUCT, uwepo wake unaashiria kuwa huu ni mradi unaokaribishwa kuchangiwa.
* **Nyaraka zingine:** Kunaweza kuwa na nyaraka za ziada, kama vile mafunzo, miongozi, au sera za utawala, hasa kwenye miradi mikubwa kama vile [Astro Docs](https://docs.astro.build/en/contribute/#contributing-to-docs).
Mwishowe, miradi ya Open Source hutumia zana zifuatazo kupanga majadiliano. Kusoma kumbukumbu kutakupa picha nzuri ya jinsi jamii inavyofikiria na kufanya kazi.
* **Kifuatiliaji cha masuala au Issue Tracker:** Mahali ambapo watu wanajadili masuala yanayohusiana na mradi.
* **Maombi ya kuvuta au Pull requests:** Mahali ambapo watu hujadili na kukagua mabadiliko yanayoendelea ikiwa ni kuboresha safu ya msimbo ya mchangiaji, matumizi ya sarufi, matumizi ya picha, n.k. Baadhi ya miradi, kama vile [MDN Web Docs](https://github.com/mdn/content/blob/main/.github/workflows/markdown-lint.yml), hutumia mtiririko fulani wa GitHub Action kubinafsisha na kuharakisha kulalisha misimbo.
* **Majukwaa ya majadiliano au orodha za barua:** Baadhi ya miradi inaweza kutumia vituo hivi kwa mada za mazungumzo (kwa mfano, _"Jinsi ya..."_ au _"Unafikiri nini kuhusu..."_ badala ya ripoti za hitilafu au maombi ya vipengele). Wengine hutumia kifuatilia toleo kwa mazungumzo yote. Mfano mzuri wa hili utakuwa [Jarida la kila wiki la CHAOSS](https://chaoss.community/news/).
* **Kituo cha mazungumzo cha papo kwa papo:** Baadhi ya miradi hutumia vituo vya mazungumzo (kama vile Slack au IRC) kwa mazungumzo ya kawaida, ushirikiano, na kubadilishana haraka. Mfano mzuri wa hii itakuwa [jamii ya Discord ya EddieHub](http://discord.eddiehub.org/).
## Kutafuta mradi wa kuchangia
Sasa kwamba umeelewa jinsi miradi ya Open Source inavyofanya kazi, ni wakati wa kutafuta mradi wa kuchangia!
Ikiwa hujawahi kuchangia kwenye Open Source hapo awali, chukua ushauri kutoka kwa Rais wa Marekani John F. Kennedy, ambaye aliwahi kusema: _"Usiulizie kile nchi yako inaweza kukufanyia - ulizia kile unaweza kufanya kwa nchi yako."_
Kuchangia kwenye Open Source kunatokea katika ngazi zote, kupitia miradi mbalimbali. Huhitaji kufikiria sana kuhusu nini hasa mchango wako wa kwanza utakuwa, au itakavyokuwa.
Badala yake, anza kwa kufikiria kuhusu miradi unayotumia tayari, au unayotaka kutumia. Miradi ambayo utachangia kwa nguvu ni zile unazojikuta ukijirudisha kwao mara kwa mara.
Katika miradi hiyo, kila wakati unapoona kitu ambacho kinaweza kuwa bora au tofauti, fanya kazi kwa hisia zako.
Open Source si klabu ya kipekee; inatengenezwa na watu kama wewe. "Open Source" ni neno la kisasa kwa kutibu matatizo ya ulimwengu kama yanayoweza kutatuliwa.
Unaweza kuangalia README na kupata kiungo kilichovunjika au makosa ya tahajia. Au wewe ni mtumiaji mpya na umeona kitu kilichovunjika, au suala ambalo unafikiri linapaswa kuwa kwenye nyaraka. Badala ya kupuuza na kuendelea, au kumuuliza mtu mwingine akirekebishe, angalia ikiwa unaweza kusaidia kwa kuchangia. Hiyo ndiyo maana ya Open Source!
> Kulingana na utafiti uliofanywa na Igor Steinmacher na watafiti wengine wa Sayansi ya Kompyuta, [28% ya michango ya kawaida](https://www.igor.pro.br/publica/papers/saner2016.pdf) kwenye Open Source ni nyaraka, kama vile marekebisho ya makosa ya tahajia, urekebishaji, au kuandika tafsiri.
Ikiwa unatafuta masuala yaliyopo ambayo unaweza kurekebisha, kila mradi wa Open Source una ukurasa wa `/contribute` unaoangazia masuala nyepesi kwa waanziaji ambayo unaweza kuanza nayo. Tembelea ukurasa wa msingi wa hazina kwenye GitHub, na ongeza `/contribute` mwishoni mwa URL (kwa mfano [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
Unaweza pia kutumia moja ya rasilimali zifuatazo kukusaidia kugundua na kuchangia kwenye miradi mipya:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Orodha ya ukaguzi kabla ya kuchangia
Wakati umepata mradi unayotaka kuchangia, fanya uchunguzi wa haraka ili kuhakikisha kuwa mradi huo unafaa kwa kukubali michango. Vinginevyo, kazi yako ngumu inaweza kutopata majibu.
Hapa kuna orodha ya ukaguzi ya kutathmini ikiwa mradi ni mzuri kwa wachangiaji wapya.
**Inakidhi ufafanuzi wa Open Source**
**Mradi unakubali michango kwa sasa**
Angalia shughuli za kujitolea kwenye tawi kuu. Kwenye GitHub, unaweza kuona habari hii katika tab ya Insights ya ukurasa wa nyumbani wa hazina, kama [Virtual-Coffee](https://github.com/Virtual-Coffee/virtualcoffee.io/pulse)
Sasa, angalia masuala ya mradi.
Sasa fanya vivyo hivyo kwa maombi ya kuvuta ya mradi.
**Mradi unakaribisha**
Mradi ambao ni rafiki na unakaribisha unamaanisha kuwa watakuwa tayari kupokea wachangiaji wapya.
## Jinsi ya kuwasilisha mchango
Umefinda mradi unayopenda, na uko tayari kufanya mchango. Hatimaye! Hapa kuna jinsi ya kuwasilisha mchango wako kwa njia sahihi.
### Kuwasiliana kwa ufanisi
Iwe wewe ni mchango wa mara moja au unajaribu kujiunga na jamii, kufanya kazi na wengine ni moja ya ujuzi muhimu zaidi utakaopata katika Open Source.
Kabla ya kufungua suala au ombi la kuvuta, au kuuliza swali katika mazungumzo, zingatia mambo haya ili kusaidia mawazo yako kuwasilishwa kwa ufanisi.
**Toa muktadha.** Saidia wengine wapate haraka. Ikiwa unakutana na kosa, eleza unachojaribu kufanya na jinsi ya kulifanya litokee tena. Ikiwa unashauri wazo jipya, eleza kwa nini unafikiri litakuwa na manufaa kwa mradi (sio tu kwako!).
> 😇 _"X haifanyiki ninapofanya Y"_
>
> 😢 _"X imevunjika! Tafadhali rekebisha."_
**Fanya kazi yako ya nyumbani kabla.** Ni sawa kutojua mambo, lakini onyesha kuwa umejaribu. Kabla ya kuomba usaidizi, hakikisha kuwa umeangalia README ya mradi, nyaraka, masuala (yamefunguliwa au kufungwa), orodha ya wanaotuma barua, na utafute mtandaoni ili kupata jibu. Watu watakushukuru unapoonyesha kwamba unajaribu kujifunza.
> 😇 _"Sina hakika jinsi ya kutekeleza X. Nilikagua nyaraka za usaidizi na sikupata mtaji wowote."_
>
> 😢 _"Nifanyeje X?"_
**Weka maombi mafupi na ya moja kwa moja.** Kama vile kutuma barua pepe, kila mchango, haijalishi ni rahisi kiasi gani au wa manufaa kiasi gani, unahitaji ukaguzi wa mtu mwingine. Miradi mingi ina maombi mengi yanayoingia kuliko watu wanaopatikana kusaidia. Kuwa na mafupi. Utaongeza nafasi kwamba mtu ataweza kukusaidia.
> 😇 _"Ningependa kuandika mafunzo ya API."_
>
> 😢 _"Nilikuwa nikiendesha barabara kuu siku nyingine na nikasimama kutafuta gesi, kisha nikawa na wazo hili la kushangaza la kitu ambacho tunapaswa kufanya, lakini kabla sijaelezea hilo, wacha nikuonyeshe..."_
**Weka mawasiliano yote hadharani.** Ingawa inavutia, usiwasiliane na watunzaji kwa faragha isipokuwa unapohitaji kushiriki maelezo nyeti (kama vile suala la usalama au ukiukaji mkubwa wa maadili). Unapoweka mazungumzo hadharani, watu zaidi wanaweza kujifunza na kufaidika kutokana na ubadilishanaji wenu . Majadiliano yanaweza kuwa, yenyewe, michango.
> 😇 _(kama maoni) "@-maintainer Hujambo! Tunapaswa kuendeleaje kuhusu PR hii?"_
>
> 😢 _(kama barua pepe) "Haya, samahani kwa kukusumbua kupitia barua pepe, lakini nilikuwa najiuliza ikiwa umepata nafasi ya kukagua PR yangu"_
**Ni sawa kuuliza maswali (lakini kuwa na subira!).** Kila mtu alikuwa mpya kwa mradi wakati fulani, na hata wachangiaji wenye uzoefu wanahitaji muda kiasi wanapotazama mradi mpya. Kwa mantiki hiyo, hata watunzaji wa muda mrefu huwa hawafahamu kila sehemu ya mradi. Waonyeshe uvumilivu ule ambao ungetaka wakuonyeshe.
> 😇 _"Asante kwa kuangalia hitilafu hii. Nimefuata mapendekezo yako. Haya ndio matokeo."_
>
> 😢 _"Kwa nini huwezi kurekebisha tatizo langu? Je, huu si mradi wako?"_
**Heshimu maamuzi ya jamii.** Mawazo yako yanaweza kutofautiana na vipaumbele au maono ya jumuiya. Wanaweza kutoa maoni au kuamua kutofuata wazo lako. Ingawa unapaswa kujadiliana na kutafuta maelewano, watunzaji wanapaswa kuishi na uamuzi wako kwa muda mrefu zaidi kuliko utakavyo. Ikiwa hukubaliani na mwelekeo wao, unaweza daima kufanya kazi kwa uma yako mwenyewe au kuanza mradi wako mwenyewe.
> 😇 _"Nimesikitishwa kuwa huwezi kuunga mkono kesi yangu ya utumiaji, lakini kama ulivyoelezea inaathiri tu sehemu ndogo ya watumiaji, ninaelewa ni kwa nini. Asante kwa kusikiliza."_
>
> 😢 _"Kwa nini hauungi mkono kesi yangu ya utumiaji? Hili halikubaliki!"_
**Zaidi ya yote, kuwa na adabu.** Open Source kinajumuisha washiriki kutoka sehemu mbalimbali za dunia. Muktadha hupotea kati ya lugha, tamaduni, jiografia, na maeneo ya wakati. Aidha, mawasiliano ya maandiko yanafanya iwe vigumu kuwasilisha sauti au hali. Kadiria nia njema katika mazungumzo haya. Ni sawa kupinga wazo kwa adabu, kuuliza maelezo zaidi, au kufafanua msimamo wako. Jaribu tu kuacha mtandao mahali pazuri zaidi kuliko ulivyokutana nalo.
### Kukusanya muktadha
Kabla ya kufanya chochote, fanya uchunguzi wa haraka ili kuhakikisha wazo lako halijajadiliwa mahali pengine. Pitia README ya mradi, masuala (yamefunguliwa na yaliyofungwa), orodha ya wanaotuma barua, na Stack Overflow. Huhitaji kutumia masaa mengi kupitia kila kitu, lakini utafutaji wa haraka wa maneno muhimu kadhaa unaweza kusaidia sana.
Ikiwa huwezi kupata wazo lako mahali pengine, uko tayari kuchukua hatua. Ikiwa mradi uko kwenye GitHub, kuna uwezekano kwamba utawasiliana kwa kufanya yafuatayo:
* **Kufungua Suala:** Haya ni kama kuanzisha mazungumzo au majadiliano
* **Maombi ya Kuvuta** ni kwa kuanzisha kazi juu ya suluhisho.
* **Makanisa ya Mawasiliano:** Ikiwa mradi una kituo maalum cha Discord, IRC, au Slack, fikiria kuanzisha mazungumzo au kuuliza ufafanuzi kuhusu mchango wako.
Kabla ya kufungua suala au ombi la kuvuta, angalia nyaraka za kuchangia za mradi (kawaida faili inayoitwa CONTRIBUTING, au katika README), ili kuona ikiwa unahitaji kujumuisha kitu chochote maalum. Kwa mfano, wanaweza kuomba ufuate templeti, au kuhitaji utumie majaribio(tests).
Ikiwa unataka kutoa mchango mkubwa, fungua suala ili kuuliza kabla ya kufanya kazi juu yake. Ni muhimu kufuatilia mradi kwa muda (katika GitHub, [unaweza kubofya "Watch"](https://help.github.com/articles/watching-repositories/) ili kupokea taarifa za mazungumzo yote), na kujifunza kuhusu wanajamii, kabla ya kufanya kazi ambayo huenda isikubaliwe.
### Kufungua suala
Kawaida unapaswa kufungua suala katika hali zifuatazo:
* Ripoti kosa ambalo huwezi kulitatua mwenyewe
* Jadili mada au wazo la juu (kwa mfano, jamii, maono au sera)
* Pendekeza kipengele kipya au wazo lingine la mradi
Vidokezo vya kuwasiliana kwenye masuala:
* **Ikiwa unaona suala lililofunguliwa ambalo unataka kulishughulikia,** toa maoni kwenye suala hilo ili kuwajulisha watu kwamba unaishughulikia. Hivyo, watu hawataweza kurudia kazi yako.
* **Ikiwa suala lilifunguliwa muda mrefu uliopita,** kuna uwezekano kwamba linashughulikiwa mahali pengine, au tayari limekamilishwa, hivyo toa maoni ili kuuliza uthibitisho kabla ya kuanza kazi.
* **Ikiwa ulifungua suala, lakini ukapata jibu baadaye mwenyewe,** toa maoni kwenye suala hilo ili kuwajulisha watu, kisha funga suala hilo. Hata kuandika matokeo hayo ni mchango kwa mradi.
### Kufungua ombi la kuvuta
Kawaida unapaswa kufungua ombi la kuvuta katika hali zifuatazo:
* Wasilisha marekebisho madogo kama vile makosa ya tahajia, kiungo kilichovunjika au kosa dhahiri.
* Anza kazi juu ya mchango ambao tayari umeombwa, au ambao tayari umeshajadiliwa, katika suala.
Ombi la kuvuta halihitaji kuwakilisha kazi iliyokamilika. Kawaida ni bora kufungua ombi la kuvuta mapema, ili wengine waweze kufuatilia au kutoa maoni juu ya maendeleo yako. Fungua tu kama "draft" au weka alama kama "WIP" (Kazi katika Maendeleo) katika kichwa au sehemu za "Maelezo kwa Wakaguzi" ikiwa zinapatikana (au unaweza tu kuunda yako mwenyewe. Kama hii: `**## Maelezo kwa Mhakiki**`). Unaweza kila wakati kuongeza mabadiliko zaidi baadaye.
Ikiwa mradi uko kwenye GitHub, hapa kuna jinsi ya kuwasilisha ombi la kuvuta:
* **["Fork" hazina](https://guides.github.com/activities/forking/)** kisha "clone" kwenye kompyuta yako. Unganisha yako ya ndani na hazina ya asili "upstream" kwa kuongeza kama rimoti. Vuruta mabadiliko kutoka "upstream" mara kwa mara ili uwe na mabadiliko mapya ili wakati unawasilisha ombi lako la kuvuta, migogoro ya kuungana itakuwa na uwezekano mdogo. (Tazama maelekezo ya kina [hapa](https://help.github.com/articles/syncing-a-fork/).)
* **[Unda tawi](https://guides.github.com/introduction/flow/)** kwa ajili ya marekebisho yako.
* **Rejelea masuala yoyote muhimu** au nyaraka za kuunga mkono katika PR yako (kwa mfano, "Inafunga #37.")
* **Jumuisha picha za kabla na baada** ikiwa mabadiliko yako yanajumuisha tofauti katika HTML/CSS. Buruta na uachie picha hizo kwenye mwili wa ombi lako la kuvuta.
* **Jaribu mabadiliko yako!** Pitisha mabadiliko yako dhidi ya majaribio yoyote yaliyopo ikiwa yapo na tengeneza mapya inapohitajika. Ni muhimu kuhakikisha mabadiliko yako hayavunji mradi uliopo.
* **Changia kwa mtindo wa mradi** kadri uwezavyo. Hii inaweza kumaanisha kutumia indenti, semi-coloni au maoni tofauti kuliko unavyofanya katika hazina yako mwenyewe, lakini inafanya iwe rahisi kwa mtunzaji kuunganishwa, wengine kuelewa na kudumisha katika siku zijazo.
Ikiwa hii ni ombi lako la kwanza la kuvuta, angalia [Fanya Ombi la Kuvuta](http://makeapullrequest.com/), ambayo @kentcdodds alitengeneza kama video ya mwongozo. Unaweza pia kufanya mazoezi ya kufungua ombi la kuvuta katika hazina ya [Mchango wa Kwanza](https://github.com/Roshanjossey/first-contributions), iliyoundwa na @Roshanjossey.
## Nini kinatokea baada ya kuwasilisha mchango wako
Kabla ya kuanza kusherehekea, moja ya yafuatayo itatokea baada ya kuwasilisha mchango wako:
### 😭 Hupati jibu
Tunatumahi [uliangalia mradi kwa ishara za shughuli](#orodha-ya-ukaguzi-kabla-ya-kuchangia) kabla ya kutoa mchango. Hata kwenye mradi unaoendelea, kuna uwezekano kwamba mchango wako hautapata jibu.
Kama hujapata jibu kwa zaidi ya wiki moja, ni haki kuuliza kwa adabu katika thread yenyewe, ukiomba mtu yeyote kuhusu mapitio. Ikiwa unajua jina la mtu sahihi wa kupitia mchango wako, unaweza kumtaja katika laini hiyo.
**Usijaribu kuwasiliana na mtu huyo kwa faragha**; kumbuka kwamba mawasiliano ya hadharani ni muhimu kwa miradi ya Open Source.
Ikiwa utatoa ukumbusho wa adabu na bado hujapata jibu, inawezekana kwamba hakuna atakayejibu. Hii si hisia nzuri, lakini usiruhusu hiyo ikukatisha tamaa! Kuna sababu nyingi zinazoweza kusababisha kutopata jibu, ikiwa ni pamoja na hali za kibinafsi ambazo zinaweza kuwa nje ya udhibiti wako. Jaribu kutafuta mradi mwingine au njia nyingine ya kuchangia. Ikiwa chochote, hii ni sababu nzuri ya kutoshughulikia muda mwingi katika kufanya mchango kabla ya wanajamii wengine kushiriki na kujibu.
### 🚧 Mtu anahitaji mabadiliko kwenye mchango wako
Ni kawaida kwamba utaombwa kufanya mabadiliko kwenye mchango wako, iwe ni maoni kuhusu wigo wa wazo lako, au mabadiliko kwenye msimbo wako.
Wakati mtu anapohitaji mabadiliko, kuwa na majibu. Wamechukua muda wao kupitia mchango wako. Kufungua PR na kuondoka ni tabia mbaya. Ikiwa hujui jinsi ya kufanya mabadiliko, tafuta tatizo, kisha uliza msaada ikiwa unahitaji. Mfano mzuri wa hii ni [maoni ambayo mchangiaji mwingine ametoa kwa @a-m-lamb kwenye ombi lao la kuvuta kwenye nyaraka za Codecademy](https://github.com/Codecademy/docs/pull/3239#pullrequestreview-1628036286).
Ikiwa huna muda wa kufanya kazi kwenye suala hilo tena kutokana na sababu kama mazungumzo yamekuwa yakiendelea kwa miezi, na hali zako zimebadilika au huwezi kupata suluhisho, mwambie mtunzaji ili waweze kufungua suala hilo kwa mtu mwingine, kama [@RitaDee alivyofanya kwa suala katika hazina ya programu ya OpenSauced](https://github.com/open-sauced/app/issues/1656#issuecomment-1729353346).
### 👎 Mchango wako haukubaliki
Mchango wako unaweza au usikubaliwe mwishowe. Tunatarajia hujaweka kazi nyingi ndani yake tayari. Ikiwa hujui kwa nini haikukubaliwa, ni sawa kabisa kumuuliza mtunzaji kwa maoni na ufafanuzi. Mwishowe, hata hivyo, itabidi uheshimu kuwa hii ni uamuzi wao. Usijadili au kuwa na hasira. Daima unakaribishwa ku "fork" na kufanya kazi kwenye toleo lako mwenyewe ikiwa huafikiani!
### 🎉 Mchango wako unakubaliwa
Hongera! Umefanikiwa kufanya mchango wa Open Source!
## Umeifanya! 🎉
Iwe umetoa mchango wako wa kwanza wa Open Source, au unatafuta njia mpya za kuchangia, tunatumai kuwa umehamasishwa kuchukua hatua. Hata kama mchango wako haukukubaliwa, usisahau kusema asante wakati mtunza huduma anaweka juhudi kukusaidia. Open Source hutengenezwa na watu kama wewe: toleo moja, ombi la kuvuta, maoni au matano ya juu kwa wakati mmoja.
================================================
FILE: _articles/sw/index.html
================================================
---
layout: index
title: Miongozo ya Open Source
lang: sw
permalink: /sw/
---
================================================
FILE: _articles/sw/leadership-and-governance.md
================================================
---
lang: sw
title: Uongozi na Utawala
description: Kuendeleza miradi ya open source kunaweza kufaidika na sheria rasmi za kufanya maamuzi.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## Kuelewa utawala kwa mradi wako unaokua
Mradi wako unakua, watu wanahusika, na umejizatiti kuendelea na hili. Katika hatua hii, huenda unajiuliza jinsi ya kuingiza wachangiaji wa kawaida wa mradi katika mtiririko wako wa kazi, iwe ni kumpa mtu ufikiaji wa kuandika au kutatua migogoro ya jamii. Ikiwa una maswali, tuna majibu.
## Ni mifano gani ya majukumu rasmi yanayotumiwa katika miradi ya open source?
Miradi mingi inafuata muundo sawa wa majukumu ya wachangiaji na utambulizi.
Hata hivyo, kile majukumu haya yanamaanisha, ni kabisa juu yako. Hapa kuna aina chache za majukumu unaweza kutambua:
* **Mtunzaji**
* **Mchangiaji**
* **Mwandikaji**
**Kwa miradi fulani, "watunzaji"** ndio watu pekee katika mradi wenye ufikiaji wa kuandika. Katika miradi mingine, wao ni watu tu ambao wameorodheshwa katika README kama watunzaji.
Mtunzaji haimaanishi lazima kuwa mtu anayandika msimbo kwa mradi wako. Inaweza kuwa mtu ambaye amefanya kazi nyingi ya kuhamasisha mradi wako, au ameandika nyaraka ambazo zimefanya mradi kuwa rahisi zaidi kwa wengine. Bila kujali wanavyofanya kazi kila siku, mtunzaji ni mtu ambaye anaweza kuhisi wajibu juu ya mwelekeo wa mradi na amejiandaa kuboresha.
**"Mchangiaji" anaweza kuwa mtu yeyote** anayetoa maoni kwenye suala au ombi la kuvuta, watu wanaoongeza thamani kwa mradi (iwe ni kutunga masuala, kuandika msimbo, au kuandaa matukio), au mtu yeyote mwenye ombi la kuvuta lililopitishwa (labda tafsiri nyembamba zaidi ya mchangiaji).
**Neno "mwandikaji" au "committer"** linaweza kutumika kutofautisha ufikiaji wa kuandika, ambayo ni aina maalum ya wajibu, kutoka kwa aina nyingine za mchango.
Ingawa unaweza kufafanua majukumu ya mradi wako kwa njia yoyote unavyopenda, [zingatia kutumia tafsiri pana](../how-to-contribute/#nini-maana-ya-kuchangia) ili kuhamasisha aina zaidi za mchango. Unaweza kutumia majukumu ya uongozi kutambua rasmi watu ambao wamefanya michango bora kwa mradi wako, bila kujali ujuzi wao wa kiufundi.
## Je, ninawezaje kuimarisha majukumu haya ya uongozi?
Kuimarisha majukumu yako ya uongozi husaidia watu kuhisi umiliki na kuwaambia wanajamii wengine ni nani wa kumtazama kwa msaada.
Kwa mradi mdogo, kutaja viongozi kunaweza kuwa rahisi kama kuongeza majina yao kwenye README yako au faili ya CONTRIBUTORS.
Kwa mradi mkubwa, ikiwa una tovuti, tengeneza ukurasa wa timu au orodheshe viongozi wa mradi wako huko. Kwa mfano, [Postgres](https://github.com/postgres/postgres/) ina [ukurasa wa timu wa kina](https://www.postgresql.org/community/contributors/) wenye wasifu mfupi wa kila mchango.
Ikiwa mradi wako una jamii ya wachangiaji wenye shughuli nyingi, huenda ukaunda "timu ya msingi" ya watunzaji, au hata kamati ndogo za watu wanaochukua umiliki wa maeneo tofauti ya masuala (kwa mfano, usalama, kutunga masuala, au mwenendo wa jamii). Wacha watu wajipange na kujitolea kwa majukumu wanayofurahia zaidi, badala ya kuwapa.
Timu za uongozi zinaweza kutaka kuunda njia maalum (kama kwenye IRC) au kukutana mara kwa mara kujadili mradi (kama kwenye Gitter au Google Hangout). Unaweza hata kufanya mikutano hiyo kuwa ya umma ili watu wengine waweze kusikiliza. [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby), kwa mfano, [hufanya ofisi za masaa kila wiki](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
Mara tu umeshaunda majukumu ya uongozi, usisahau kuandika jinsi watu wanaweza kuyapata! Weka mchakato wazi wa jinsi mtu anavyoweza kuwa mtunzaji au kujiunga na kamati ndogo katika mradi wako, na uandike kwenye GOVERNANCE.md yako.
Zana kama [Vossibility](https://github.com/icecrime/vossibility-stack) zinaweza kusaidia kufuatilia hadharani ni nani (au sio) anayechangia mradi. Kuandika habari hii husaidia kuepusha dhana ya jamii kwamba watunzaji ni kundi linalofanya maamuzi yake kwa siri.
Hatimaye, ikiwa mradi wako uko kwenye GitHub, zingatia kuhamasisha mradi wako kutoka kwenye akaunti yako binafsi hadi Shirika na kuongeza angalau mtunzaji mmoja wa akiba. [Mashirika ya GitHub](https://help.github.com/articles/creating-a-new-organization-account/) yanafanya iwe rahisi kusimamia ruhusa na hazina nyingi na kulinda urithi wa mradi wako kupitia [umiliki wa pamoja](../building-community/#shiriki-umiliki-wa-mradi-wako).
## Ni lini ninapaswa kupatia mtu uwezo wa ufikiaji wa kuandika au kucommit?
Watu wengine wanafikiri unapaswa kumwambia kila mtu ambaye anachangia kuwa na ufikiaji wa kuandika. Kufanya hivyo kunaweza kuhamasisha watu zaidi kuhisi umiliki wa mradi wako.
Kwa upande mwingine, hasa kwa miradi mikubwa na ngumu zaidi, huenda unataka kuwapatia tu wale ambao wameonyesha kujitolea kwao. Hakuna njia moja sahihi ya kufanya hivyo - fanya kile kinachokufanya ujisikie vizuri!
Ikiwa mradi wako uko kwenye GitHub, unaweza kutumia [protected branches](https://help.github.com/articles/about-protected-branches/) kusimamia ni nani anayeweza kusukuma kwenye tawi fulani, na chini ya hali gani.
## Ni mifano gani ya muundo wa utawala wa miradi ya open source?
Kuna muundo tatu wa kawaida wa utawala unaohusishwa na miradi ya open source.
* **BDFL:** BDFL inasimamia "Benevolent Dictator for Life". Chini ya muundo huu, mtu mmoja (kawaida mwandishi wa awali wa mradi) ana neno la mwisho juu ya maamuzi makubwa ya mradi. [Python](https://github.com/python) ni mfano wa kawaida. Miradi midogo huenda ikawa BDFL kwa default, kwa sababu kuna watunzaji mmoja au wawili tu. Mradi ulioanzishwa katika kampuni unaweza pia kuingia kwenye kundi la BDFL.
* **Meritocracy:** **(Kumbuka: neno "meritocracy" lina maana mbaya kwa baadhi ya jamii na lina [historia ngumu ya kijamii na kisiasa](http://geekfeminism.wikia.com/wiki/Meritocracy).)** Chini ya meritocracy, wachangiaji wa mradi wenye shughuli (wale wanaoonyesha "merit") wanapewa jukumu rasmi la kufanya maamuzi. Maamuzi kwa kawaida hufanywa kwa msingi wa makubaliano ya kupiga kura. Dhana ya meritocracy ilianzishwa na [Apache Foundation](https://www.apache.org/); [miradi yote ya Apache](https://www.apache.org/index.html#projects-list) ni meritocracies. Michango inaweza kufanywa tu na watu binafsi wanaowakilisha wenyewe, si na kampuni.
* **Mchango wa Huru au Liberal contribution:** Chini ya mfano wa mchango wa huru, watu wanaofanya kazi nyingi wanatambuliwa kama wenye ushawishi zaidi, lakini hii inategemea kazi ya sasa na si michango ya kihistoria. Maamuzi makubwa ya mradi hufanywa kwa msingi wa mchakato wa kutafuta makubaliano (kujadili malalamiko makubwa) badala ya kura, na kujitahidi kujumuisha maoni kadhaa ya jamii. Mifano maarufu ya miradi inayotumia mfano wa mchango wa huru ni [Node.js](https://foundation.nodejs.org/) na [Rust](https://www.rust-lang.org/).
Ni ipi unapaswa kutumia? Inakutegemea mwenyewe! Kila mfano una faida na hasara. Na ingawa yanaweza kuonekana tofauti sana mwanzoni, mifano yote mitatu ina mambo mengi ya kawaida kuliko inavyoonekana. Ikiwa unavutiwa na kupitisha mmoja wa mifano hii, angalia hizi templeti.
* [BDFL model template](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritocracy model template](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js's liberal contribution policy](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Je, nahitaji nyaraka za utawala ninapozindua mradi wangu?
Hakuna wakati sahihi wa kuandika utawala wa mradi wako, lakini ni rahisi zaidi kufafanua mara tu unapokuwa umeona mienendo ya jamii yako ikicheza. Sehemu bora (na ngumu) kuhusu utawala wa open source ni kwamba unaundwa na jamii!
Nyaraka za mapema bila shaka zitaongeza kwenye utawala wa mradi wako, hata hivyo, hivyo anza kuandika kile unachoweza. Kwa mfano, unaweza kufafanua matarajio wazi ya tabia, au jinsi mchakato wako wa wachangiaji unavyofanya kazi, hata wakati wa uzinduzi wa mradi wako.
Ikiwa wewe ni sehemu ya kampuni inayozindua mradi wa open source, ni muhimu kuwa na majadiliano ya ndani kabla ya uzinduzi kuhusu jinsi kampuni yako inatarajia kudumisha na kufanya maamuzi kuhusu mradi kuendelea. Unaweza pia kutaka kueleza hadharani chochote maalum kuhusu jinsi kampuni yako itahusika (au haitahusika!) na mradi.
## Ni nini kinatokea ikiwa wafanyakazi wa kampuni wanza kuwasilisha michango?
Miradi ya open source yenye mafanikio hutumiwa na watu wengi na kampuni, na baadhi ya kampuni zinaweza hatimaye kuwa na vyanzo vya mapato vinavyohusishwa na mradi. Kwa mfano, kampuni inaweza kutumia msimbo wa mradi kama sehemu moja katika huduma ya kibiashara.
Kadri mradi unavyotumiwa zaidi, watu wenye ujuzi katika hilo wanakuwa na mahitaji zaidi - huenda wewe ni mmoja wao! - na mara nyingi hulipwa kwa kazi wanazofanya katika mradi.
Ni muhimu kutibu shughuli za kibiashara kama kawaida na kama chanzo kingine cha nishati ya maendeleo. Waandishi wa msimbo wanaopokea malipo hawapaswi kupata matibabu maalum kuliko wale wasiolipwa, bila shaka; kila mchango unapaswa kutathminiwa kwa sifa zake za kiufundi. Hata hivyo, watu wanapaswa kujisikia vizuri kushiriki katika shughuli za kibiashara, na kujisikia huru kuelezea matumizi yao wanapojadili uboreshaji au kipengele fulani.
"Biashara" inapatana kabisa na "open source". "Biashara" inamaanisha tu kuwa kuna pesa zinazohusika mahali fulani - kwamba programu inatumika katika biashara, ambayo inakuwa ya kawaida kadri mradi unavyopata umaarufu. (Wakati programu ya open source inatumika kama sehemu ya bidhaa isiyo ya open source, bidhaa hiyo kwa ujumla bado ni programu "miliki", ingawa, kama open source, inaweza kutumika kwa madhumuni ya kibiashara au yasiyo ya kibiashara.)
Kama mtu mwingine yeyote, waandishi wa msimbo wanaolipwa wanapata ushawishi katika mradi kupitia ubora na wingi wa michango yao. Bila shaka, mwandishi anayelipwa kwa wakati wake anaweza kufanya zaidi kuliko yule ambaye halipwi, lakini hiyo ni sawa: malipo ni moja ya mambo mengi yanayoweza kuathiri jinsi mtu anavyofanya kazi. Weka mazungumzo yako ya mradi kuwa na mwelekeo kwenye michango, si kwenye mambo ya nje yanayowezesha watu kufanya michango hayo.
## Je, nahitaji shirika la kisheria kusaidia mradi wangu?
Huhitaji shirika la kisheria kusaidia mradi wako wa open source isipokuwa unashughulikia pesa.
Kwa mfano, ikiwa unataka kuanzisha biashara, utahitaji kuanzisha C Corp au LLC (ikiwa uko Marekani). Ikiwa unafanya kazi ya mkataba inayohusiana na mradi wako wa open source, unaweza kupokea pesa kama mmiliki mmoja, au kuanzisha LLC (ikiwa uko Marekani).
Ikiwa unataka kupokea michango kwa mradi wako wa open source, unaweza kuanzisha kitufe cha michango (ukitumia PayPal au Stripe, kwa mfano), lakini pesa hiyo haitakuwa na ushuru wa kukatwa isipokuwa wewe ni shirika linalostahiki (501c3, ikiwa uko Marekani).
Miradi mingi haitaki kupitia shida ya kuanzisha shirika la kiserikali, hivyo wanapata mdhamini wa kiserikali badala yake. Mdhamini wa kiserikali anapokea michango kwa niaba yako, kwa kawaida kwa kubadilishana asilimia ya mchango. [Software Freedom Conservancy](https://sfconservancy.org/), [Apache Foundation](https://www.apache.org/), [Eclipse Foundation](https://eclipse.org/org/), [Linux Foundation](https://www.linuxfoundation.org/projects) na [Open Collective](https://opencollective.com/opensource) ni mifano ya mashirika yanayohudumia kama wadhamini wa kiserikali kwa miradi ya open source.
Ikiwa mradi wako unahusishwa kwa karibu na lugha au mfumo fulani, huenda pia kuna shirika la programu linalohusiana ambalo unaweza kufanya kazi nalo. Kwa mfano, [Python Software Foundation](https://www.python.org/psf/) husaidia [PyPI](https://pypi.org/), meneja wa pakiti wa Python, na [Node.js Foundation](https://foundation.nodejs.org/) husaidia [Express.js](https://expressjs.com/), mfumo wa Node.
================================================
FILE: _articles/sw/legal.md
================================================
---
lang: sw
title: Upande wa Kisheria wa Open Source
description: Kila kitu ambacho umewahi kujiuliza kuhusu upande wa kisheria wa open source, na mambo machache ambayo hujui.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Kuelewa athari za kisheria za open source
Kushiriki kazi yako ya ubunifu na ulimwengu kunaweza kuwa uzoefu wa kusisimua na wa kuridhisha. Pia kunaweza kumaanisha mambo mengi ya kisheria ambayo hujui unapaswa kuwa na wasiwasi nayo. Kwa bahati nzuri, kwa mwongozo huu utapata pahali pa kuanzia. (Kabla hujaanza, hakikisha unasoma [kanusho letu](/notices/).)
## Kwa nini watu wanajali sana upande wa kisheria wa open source?
Nafurahi umeniuliza! Unapofanya kazi ya ubunifu (kama kuandika, picha, au msimbo), kazi hiyo inakuwa chini ya hakimiliki ya kipekee kwa default. Hiyo ni kusema, sheria inadhani kwamba kama mwandishi wa kazi yako, una sauti katika kile wengine wanaweza kufanya nayo.
Kwa ujumla, hiyo inamaanisha hakuna mtu mwingine anaweza kutumia, kunakili, kusambaza, au kubadilisha kazi yako bila kuwa katika hatari ya kuondolewa, kutishiwa, au kesi.
Hata hivyo, open source ni hali isiyo ya kawaida, kwa sababu mwandishi anatarajia kwamba wengine watatumia, kubadilisha, na kushiriki kazi hiyo. Lakini kwa sababu msingi wa kisheria bado ni hakimiliki ya kipekee, unahitaji kutoa ruhusa hizi waziwazi kwa leseni.
Sheria hizi pia zinatumika wakati mtu anachangia kwenye mradi wako. Bila leseni au makubaliano mengine yaliyowekwa, michango yoyote inamilikiwa kwa kipekee na waandishi wao. Hiyo inamaanisha hakuna mtu -- hata wewe -- anaweza kutumia, nakala, kusambaza, au kubadilisha michango yao.
Hatimaye, mradi wako unaweza kuwa na utegemezi wenye mahitaji ya leseni ambayo hujui. Jamii ya mradi wako, au sera za mwajiri wako, pia zinaweza kuhitaji mradi wako kutumia leseni maalum za open source. Tutazungumzia hali hizi hapa chini.
## Je, miradi ya umma ya GitHub ni open source?
Unapounda [mradi mpya](https://help.github.com/articles/creating-a-new-repository/) kwenye GitHub, una chaguo la kufanya hifadhi kuwa **binafsi** au **ya umma**.

**Kufanya mradi wako wa GitHub kuwa wa umma si sawa na kutoa leseni kwa mradi wako.** Miradi ya umma inafunikwa na [Masharti ya Huduma ya GitHub](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants), ambayo inaruhusu wengine kuona na kufork mradi wako, lakini kazi yako kwa ujumla haina ruhusa yoyote.
Ikiwa unataka wengine watumie, wasambaze, wabadilishe, au wachangie mradi wako, unahitaji kujumuisha leseni ya open source. Kwa mfano, mtu hawezi kutumia kisheria sehemu yoyote ya mradi wako wa GitHub katika msimbo wao, hata ikiwa ni ya umma, isipokuwa unawapa wazi haki ya kufanya hivyo.
## Nipe tu muhtasari wa kile ninachohitaji kulinda mradi wangu.
Uko bahati, kwa sababu leo, leseni za open source zimekuwa za kawaida na rahisi kutumia. Unaweza kunakili na kubandika leseni iliyopo moja kwa moja kwenye mradi wako.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), na [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) ni [leseni maarufu za open source](https://innovationgraph.github.com/global-metrics/licenses), lakini kuna chaguzi nyingine za kuchagua. Unaweza kupata maandiko kamili ya leseni hizi, na maelekezo ya jinsi ya kuzitumia, kwenye [choosealicense.com](https://choosealicense.com/).
Unapounda mradi mpya kwenye GitHub, utaulizwa kuongeza leseni [hapa](https://help.github.com/articles/open-source-licensing/).
## Leseni ipi ya open source inafaa kwa mradi wangu?
Ni vigumu kukosea na [Leseni ya MIT](https://choosealicense.com/licenses/mit/) ikiwa unaanza na karatasi tupu. Ni fupi, inayoeleweka kwa urahisi, na inaruhusu mtu yeyote kufanya chochote mradi tu wahifadhi nakala ya leseni, ikiwa ni pamoja na taarifa yako ya hakimiliki. Utaweza kutoa mradi huo chini ya leseni tofauti ikiwa utahitaji.
Vinginevyo, kuchagua leseni sahihi ya open source kwa mradi wako inategemea malengo yako.
Mradi wako huenda una (au utakuwa na) **utegemezi(dependencies)**, kila mmoja wao utakuwa na leseni yake ya open source yenye masharti unayohitaji kuheshimu. Kwa mfano, ikiwa unatoa mradi wa Node.js kama open source, huenda ukatumia maktaba kutoka Meneja wa Kifurushi cha Node (npm).
Utegemezi wenye **leseni za ruhusa** kama [MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), [ISC](https://choosealicense.com/licenses/isc), na [BSD](https://choosealicense.com/licenses/bsd-3-clause) zinakuruhusu kutoa leseni kwa mradi wako jinsi unavyotaka.
Utegemezi wenye **leseni za copyleft** unahitaji umakini zaidi. Kujumuisha maktaba yoyote yenye leseni "ngumu" ya copyleft kama [GPLv2](https://choosealicense.com/licenses/gpl-2.0), [GPLv3](https://choosealicense.com/licenses/gpl-3.0), au [AGPLv3](https://choosealicense.com/licenses/agpl-3.0) inahitaji wewe kuchagua leseni sawa au [iliyofaa](https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses) kwa mradi wako. Maktaba zenye leseni "dhaifu" au "kikomo" cha copyleft kama [MPL 2.0](https://choosealicense.com/licenses/mpl-2.0/) na [LGPL](https://choosealicense.com/licenses/lgpl-3.0/) zinaweza kujumuishwa katika miradi yenye leseni yoyote, mradi tu ufuate [sheria za ziada](https://fossa.com/blog/all-about-copyleft-licenses/#:~:text=weak%20copyleft%20licenses%20also%20obligate%20users%20to%20release%20their%20changes.%20however%2C%20this%20requirement%20applies%20to%20a%20narrower%20set%20of%20code.) wanazozitaja.
Huenda pia ukataka kuzingatia **jamii** unazotarajia zitumie na kuchangia mradi wako:
* **Je, unataka mradi wako utumike kama utegemezi na miradi mingine?** Huenda ni bora kutumia leseni maarufu zaidi katika jamii yako inayohusiana. Kwa mfano, [MIT](https://choosealicense.com/licenses/mit/) ndiyo leseni maarufu zaidi kwa [maktaba za npm](https://libraries.io/search?platforms=NPM).
* **Je, unataka mradi wako uvutie biashara kubwa?** Biashara kubwa inaweza kuwa na faraja kutokana na leseni ya wazi ya patent kutoka kwa wachangiaji wote. Katika kesi hii, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) inakuhakikishia (na wao).
* **Je, unataka mradi wako uvutie wachangiaji ambao hawataki michango yao itumike katika programu za software zilizofungwa?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) au (ikiwa pia hawataki kuchangia katika huduma za software kilichofungwa) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) itakuwa nzuri.
**Kampuni yako** inaweza kuwa na sera za leseni za miradi ya open source. Baadhi ya kampuni zinahitaji miradi yako kuwa na leseni ya ruhusa ili kuruhusu kuunganishwa na bidhaa za kampuni. Sera nyingine zinaweka leseni ya copyleft kali na makubaliano ya ziada ya wachangiaji ([ona hapa chini](#je-mradi-wangu-unahitaji-makubaliano-ya-ziada-ya-wachangiaji)) ili kampuni yako pekee iweze kutumia mradi huo katika programu za closed source software. Mashirika yanaweza pia kuwa na viwango fulani, malengo ya uwajibikaji wa kijamii, au mahitaji ya uwazi ambayo yanaweza kuhitaji mkakati maalum wa leseni. Zungumza na [idara ya kisheria ya kampuni yako](#ni-nini-ambacho-timu-yangu-ya-kisheria-ya-kampuni-inahitaji-kujua) kwa mwongozo.
Unapounda mradi mpya kwenye GitHub, unapata chaguo la kuchagua leseni. Kujumuisha moja ya leseni zilizotajwa hapo juu kutafanya mradi wako wa GitHub kuwa open source. Ikiwa ungependa kuona chaguzi nyingine, angalia [choosealicense.com](https://choosealicense.com) ili kupata leseni sahihi kwa mradi wako, hata ikiwa [siyo programu](https://choosealicense.com/non-software/).
## Nifanye nini ikiwa nataka kubadilisha leseni ya mradi wangu?
Miradi mingi kamwe hazihitaji kubadilisha leseni. Lakini wakati mwingine hali hubadilika.
Kwa mfano, mradi wako unavyokua unapata utegemezi au watumiaji, au kampuni yako inabadilisha mikakati, yoyote kati ya hizi inaweza kuhitaji au kutaka leseni tofauti. Pia, ikiwa umepuuza kutoa leseni kwa mradi wako tangu mwanzo, kuongeza leseni ni sawa na kubadilisha leseni. Kuna mambo matatu ya msingi ya kuzingatia unapoongeza au kubadilisha leseni ya mradi wako:
**Ni ngumu.** Kuweka wazi ulinganifu wa leseni na kufuata sheria na nani anashikilia hakimiliki kunaweza kuwa ngumu na kuchanganya haraka. Kubadilisha leseni mpya lakini inayofaa kwa matoleo mapya na michango ni tofauti na kubadilisha leseni ya michango yote iliyopo. Wajulishe timu yako ya kisheria mara tu unapohisi kuwa na tamaa ya kubadilisha leseni. Hata ikiwa una au unaweza kupata ruhusa kutoka kwa wamiliki wa hakimiliki wa mradi wako kwa kubadilisha leseni, zingatia athari za mabadiliko hayo kwa watumiaji na wachangiaji wengine wa mradi wako. Fikiria kubadilisha leseni kama "tukio la utawala" kwa mradi wako ambalo litakuwa rahisi zaidi ikiwa kutakuwa na mawasiliano wazi na ushauri na wadau wa mradi wako. Hii ni sababu zaidi ya kuchagua na kutumia leseni inayofaa kwa mradi wako kutokea mwanzo!
**Leseni ya sasa ya mradi wako.** Ikiwa leseni ya sasa ya mradi wako inaingiliana na leseni unayotaka kubadilisha, unaweza kuanza kutumia leseni mpya. Hiyo ni kwa sababu ikiwa leseni A inaingiliana na leseni B, utatii masharti ya A wakati unatii masharti ya B (lakini si lazima kinyume chake). Hivyo basi ikiwa unatumia leseni ya ruhusa (k.m., MIT), unaweza kubadilisha kuwa leseni yenye masharti zaidi, mradi tu uhifadhi nakala ya leseni ya MIT na taarifa yoyote ya hakimiliki inayohusiana (yaani, endelea kutii masharti madogo ya leseni ya MIT). Lakini ikiwa leseni yako ya sasa si ya ruhusa (k.m., copyleft, au huna leseni) na wewe si mmiliki pekee wa hakimiliki, huwezi kubadilisha leseni ya mradi wako kuwa MIT. Kimsingi, kwa leseni ya ruhusa wamiliki wa hakimiliki wa mradi wamepewa ruhusa mapema kubadilisha leseni.
**Wamiliki wa hakimiliki wa mradi wako.** Ikiwa wewe ndiye wa kuchanga pekee wa mradi wako basi wewe au kampuni yako ndiye mmiliki pekee wa hakimiliki wa mradi huo. Unaweza kuongeza au kubadilisha kuwa leseni yoyote unayotaka. Vinginevyo, huenda kuna wamiliki wengine wa hakimiliki ambao unahitaji makubaliano kutoka kwao ili kubadilisha leseni. Ni nani hao? [Watu walio na commits katika mradi wako](https://github.com/thehale/git-authorship) ni mahali pazuri pa kuanzia. Lakini katika baadhi ya matukio hakimiliki itashikiliwa na waajiri wa watu hao. Katika baadhi ya matukio watu watakuwa wamefanya michango ya chini tu, lakini hakuna sheria kali na ya haraka kwamba michango chini ya idadi fulani ya mistari ya msimbo haipaswi kuwa chini ya hakimiliki. Unapaswa kufanya nini? Inategemea. Kwa mradi mdogo na mchanga, inaweza kuwa rahisi kupata wachangiaji wote waliopo kukubali mabadiliko ya leseni katika suala au ombi la kuvuta. Kwa miradi mikubwa na ya muda mrefu, huenda ukahitaji kutafuta wachangiaji wengi na hata warithi wao. Mozilla ilichukua miaka (2001-2006) kubadilisha leseni ya Firefox, Thunderbird, na programu zinazohusiana.
Vinginevyo, unaweza kuwa na wachangiaji wakikubali mabadiliko fulani ya leseni kwa makubaliano ya ziada ya wachangiaji ([ona hapa chini](#je-mradi-wangu-unahitaji-makubaliano-ya-ziada-ya-wachangiaji). Hii inahamisha ugumu wa kubadilisha leseni kidogo. Utahitaji msaada zaidi kutoka kwa wanasheria wako mapema, na bado utataka kuwasiliana wazi na wadau wa mradi wako unapotekeleza mabadiliko ya leseni.
## Je, mradi wangu unahitaji makubaliano ya ziada ya wachangiaji?
Huenda si. Kwa sehemu kubwa ya miradi ya open source, leseni ya open source inatumika kimya kama leseni ya kuingia (kutoka kwa wachangiaji) na leseni ya kutoka (kwa wachangiaji wengine na watumiaji). Ikiwa mradi wako uko kwenye GitHub, Masharti ya Huduma ya GitHub yanafanya "kuingia=kuondoka" kuwa [wa kutumika](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
Makubaliano ya ziada ya wachangiaji -- mara nyingi huitwa Contributor License Agreement (CLA) -- yanaweza kuunda kazi za kiutawala kwa watunzaji wa mradi. Kiasi gani kazi makubaliano yanaongeza inategemea mradi na utekelezaji. Makubaliano rahisi yanaweza kuhitaji wachangiaji kuthibitisha, kwa kubonyeza, kwamba wana haki zinazohitajika kuchangia chini ya leseni ya open source ya mradi. Makubaliano magumu zaidi yanaweza kuhitaji ukaguzi wa kisheria na idhini kutoka kwa waajiri wa wachangiaji.
Pia, kwa kuongeza "karatasi" ambayo wengine wanaweza kuamini kuwa si ya lazima, ngumu kueleweka, au isiyo ya haki (wakati mpokeaji wa makubaliano anapata haki zaidi kuliko wachangiaji au umma kupitia leseni ya open source ya mradi), makubaliano ya ziada ya wachangiaji yanaweza kuonekana kama yasiyo ya kirafiki kwa jamii ya mradi.
Baadhi ya hali ambapo huenda ukataka kuzingatia makubaliano ya ziada ya wachangiaji kwa mradi wako ni pamoja na:
* Wanasheria wako wanataka wachangiaji wote kukubali wazi (_saini_, mtandaoni au nje ya mtandao) masharti ya mchango, labda kwa sababu wanahisi leseni ya open source yenyewe haitoshi (hata ingawa inatosha!). Ikiwa hii ndiyo wasiwasi pekee, makubaliano ya wachangiaji yanayothibitisha leseni ya open source ya mradi yanapaswa kutosha. [Makubaliano ya Leseni ya Mchangiaji wa jQuery](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) ni mfano mzuri wa makubaliano ya ziada ya wachangiaji yenye uzito mdogo.
* Wewe au wanasheria wako wanataka waendelezaji kuthibitisha kwamba kila commit wanayofanya imeidhinishwa. [Cheti cha Mwandiko wa Asili](https://developercertificate.org/) ni jinsi miradi mingi inavyofikia hili. Kwa mfano, jamii ya Node.js [inatumia](https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md) DCO [badala](https://nodejs.org/en/blog/uncategorized/notes-from-the-road/#easier-contribution) ya CLA yao ya awali. Chaguo rahisi la kuimarisha utekelezaji wa DCO kwenye hifadhi yako ni [DCO Probot](https://github.com/probot/dco).
* Mradi wako unatumia leseni ya open source ambayo haina ruhusa ya wazi ya patent (kama MIT), na unahitaji ruhusa ya patent kutoka kwa wachangiaji wote, baadhi yao wanaweza kufanya kazi kwa kampuni zenye mifuko mikubwa ya patent ambazo zinaweza kutumika kukulenga wewe au wachangiaji na watumiaji wengine wa mradi. [Makubaliano ya Leseni ya Mchangiaji wa Apache](https://www.apache.org/licenses/icla.pdf) ni makubaliano ya ziada ya wachangiaji yanayotumika mara nyingi ambayo yana ruhusa ya patent inayofanana na ile inayopatikana katika Leseni ya Apache 2.0.
* Mradi wako uko chini ya leseni ya copyleft, lakini unahitaji pia kusambaza toleo la miliki la mradi. Utahitaji kila mchango kukabidhi hakimiliki kwako au kukupa (lakini si umma) leseni ya ruhusa. [Makubaliano ya Mchangiaji wa MongoDB](https://www.mongodb.com/legal/contributor-agreement) ni mfano wa aina hii ya makubaliano.
* Unafikiri mradi wako huenda ukahitaji kubadilisha leseni katika maisha yake na unataka wachangiaji wakubali mapema mabadiliko kama hayo.
Ikiwa unahitaji kutumia makubaliano ya ziada ya wachangiaji na mradi wako, fikiria kutumia ujumuishaji kama [CLA assistant](https://github.com/cla-assistant/cla-assistant) ili kupunguza usumbufu kwa wachangiaji.
## Ni nini ambacho timu yangu ya kisheria ya kampuni inahitaji kujua?
Ikiwa unatoa mradi wa open source kama mfanyakazi wa kampuni, kwanza, timu yako ya kisheria inapaswa kujua kwamba unatoa mradi wa open source.
Kwa mema au mabaya, fikiria kuwaambia hata ikiwa ni mradi wa kibinafsi. Huenda una "makubaliano ya IP ya mfanyakazi" na kampuni yako ambayo inawapa udhibiti fulani wa miradi yako, hasa ikiwa yanahusiana na biashara ya kampuni au unatumia rasilimali zozote za kampuni kuendeleza mradi huo. Kampuni yako _inapaswa_ kukupa ruhusa kwa urahisi, na huenda tayari imefanya hivyo kupitia makubaliano ya IP rafiki kwa mfanyakazi au sera ya kampuni. Ikiwa si hivyo, unaweza kujadili (kwa mfano, eleza kwamba mradi wako unahudumia malengo ya kujifunza na maendeleo ya kitaaluma ya kampuni kwako), au epuka kufanya kazi kwenye mradi wako hadi upate kampuni bora.
**Ikiwa unatoa mradi wa open source kwa kampuni yako,** basi hakika waambie. Timu yako ya kisheria huenda tayari ina sera za nini leseni ya open source (na labda makubaliano ya ziada ya wachangiaji) inapaswa kutumika kulingana na mahitaji ya biashara ya kampuni na utaalamu wa kuhakikisha mradi wako unatii leseni za utegemezi wake. Ikiwa si hivyo, wewe na wao mko bahati! Timu yako ya kisheria inapaswa kuwa na hamu ya kufanya kazi nawe ili kufafanua mambo haya. Mambo kadhaa ya kuzingatia:
* **Vifaa vya wahusika wengine:** Je, mradi wako una utegemezi ulioandaliwa na wengine au vinginevyo unajumuisha au kutumia msimbo wa wengine? Ikiwa hizi ni open source, utahitaji kuzingatia leseni za vifaa hivyo vya open source. Hiyo inaanza na kuchagua leseni inayofanya kazi na leseni za open source za wahusika wengine ([ona hapo juu](#leseni-ipi-ya-open-source-inafaa-kwa-mradi-wangu)). Ikiwa mradi wako unarekebisha au kusambaza vifaa vya open source vya wahusika wengine, basi timu yako ya kisheria itataka kujua kwamba unakidhi masharti mengine ya leseni za open source za wahusika wengine kama vile kuhifadhi taarifa za hakimiliki. Ikiwa mradi wako unatumia msimbo wa wengine ambao huna leseni ya open source, huenda ukahitaji kuwaomba watunzaji wa wahusika wengine [kuongeza leseni ya open source](https://choosealicense.com/no-license/#for-users), na ikiwa huwezi kupata moja, acha kutumia msimbo wao katika mradi wako.
* **Siri za biashara:** Fikiria ikiwa kuna kitu chochote katika mradi ambacho kampuni haitaki kupatikana kwa umma. Ikiwa ndivyo, unaweza kutoa open source cha mradi wako, baada ya kutoa vifaa unavyotaka kuweka faragha.
* **Patenti:** Je, kampuni yako inatumia patente ambayo kutoa open source kwa mradi wako kutakuwa [ufichuzi wa umma](https://en.wikipedia.org/wiki/Public_disclosure)? Kwa bahati mbaya, huenda ukatakiwa kusubiri (au labda kampuni itafikiria tena hekima ya maombi). Ikiwa unatarajia michango kwa mradi wako kutoka kwa wafanyakazi wa kampuni zenye mifuko mikubwa ya patent, timu yako ya kisheria inaweza kutaka uweke leseni yenye ruhusa ya wazi ya patent kutoka kwa wachangiaji (kama vile Apache 2.0 au GPLv3), au makubaliano ya ziada ya wachangiaji ([ona hapo juu](#leseni-ipi-ya-open-source-inafaa-kwa-mradi-wangu)).
* **Alama za biashara:** Hakikisha jina la mradi wako [halipingani na alama zozote zilizopo](../starting-a-project/#kuepuka-migongano-ya-majina). Ikiwa unatumia alama za biashara za kampuni yako katika mradi, hakikisha kwamba haileti migongano yoyote. [FOSSmarks](http://fossmarks.org/) ni mwongozo wa vitendo wa kuelewa alama katika muktadha wa miradi ya bure na open source.
* **Faragha:** Je, mradi wako unakusanya data kuhusu watumiaji? "Simu nyumbani" kwa seva za kampuni? Timu yako ya kisheria inaweza kukusaidia kuzingatia sera za kampuni na kanuni za nje.
Ikiwa unatoa mradi wa kwanza wa open source wa kampuni yako, mambo yaliyo hapo juu yanatosha kupita (lakini usijali, miradi mingi haipaswi kuleta wasiwasi wowote mkubwa).
Kwa muda mrefu, timu yako ya kisheria inaweza kufanya zaidi kusaidia kampuni kupata zaidi kutoka kwa ushiriki wake katika open source, na kubaki salama:
* **Sera za mchango wa wafanyakazi:** Fikiria kuunda sera ya kampuni inayobainisha jinsi wafanyakazi wako wanavyoshiriki katika miradi ya open source. Sera wazi itapunguza mkanganyiko kati ya wafanyakazi wako na kuwasaidia kuchangia katika miradi ya open source kwa maslahi bora ya kampuni, iwe kama sehemu ya kazi zao au katika wakati wao wa ziada. Mfano mzuri ni [Sera ya Mfano ya IP na Mchango wa open source ya Rackspace](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **Nini cha kutoa:** [(Karibu) kila kitu?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Ikiwa timu yako ya kisheria inaelewa na inajihusisha na mkakati wa open source wa kampuni yako, watakuwa bora zaidi kusaidia badala ya kuzuia juhudi zako.
* **Uzingatiaji:** Hata kama kampuni yako haitoi miradi yoyote ya open source, inatumia programu za open source za wengine. [Uelewa na mchakato](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) kunaweza kuzuia maumivu ya kichwa, ucheleweshaji wa bidhaa, na mashtaka.
* **Patenti:** Kampuni yako inaweza kutaka kujiunga na [Mtandao wa Uvumbuzi wa Wazi](https://www.openinventionnetwork.com/), mkataba wa pamoja wa ulinzi wa patent ili kulinda matumizi ya wanachama wa miradi mikubwa ya open source, au kuchunguza [leseni mbadala za patent](https://www.eff.org/document/hacking-patent-system-2016).
* **Utawala:** Haswa ikiwa na wakati inafaa kuhamasisha mradi kwa [entiti ya kisheria nje ya kampuni](../leadership-and-governance/#je-nahitaji-nyaraka-za-utawala-ninapozindua-mradi-wangu).
================================================
FILE: _articles/sw/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: sw
title: Kudumisha Mizani kwa Watunzaji wa Open Source
description: Vidokezo vya kujitunza na kuepuka uchovu kama mtunzaji.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
Kadiri mradi wa open source unavyozidi kupata umaarufu, ni muhimu kuweka mipaka iliyo wazi ili kukusaidia kudumisha usawa ili uwe katika hali shwari na ya kuleta tija kwa muda mrefu.
Katika hali ha kutaka kupata maarifa juu ya uzoefu wa watunzaji na mikakati yao ya kupata usawa, tuliendesha warsha na wanachama 40 wa Jumuiya ya Watunzaji, iliyoturuhusu kujifunza kutokana na uzoefu wao wa moja kwa moja na uchovu katika open source, na mazoea ambayo yamewasaidia kudumisha usawa katika kazi zao. Hapa ndipo dhana ya ikolojia ya kibinafsi inapoingia.
Kwa hivyo, ikolojia ya kibinafsi ni nini? Kama ilivyoelezwa na Taasisi ya Uongozi ya Rockwood, inahusisha "kudumisha usawa, mwendo na ufanisi ili kudumisha nishati yetu maishani. Hili lilianzisha mazungumzo yetu, na kusaidia watunzaji kutambua matendo na michango yao kama sehemu ya mfumo wa ikolojia mkubwa ambao hubadilika baada ya muda. Uchovu, ugonjwa unaotokana na mfadhaiko sugu wa mahali pa kazi kama [inavyofafanuliwa na WHO](https://icd.who.int/browse/2025-01/foundation/en#129180281), ni kawaida kati ya watunzaji. Mara nyingi jambo hili husababisha kupoteza motisha, kutokuwa na uwezo wa kuzingatia, na ukosefu wa huruma kwa wachangiaji na jumuiya unayofanya kazi nayo.
Kwa kukumbatia dhana ya ikolojia ya kibinafsi, watunzaji wanaweza kuepuka uchovu, kutanguliza kujitunza, na kudumisha hali ya usawa ili kufanya kazi yao bora zaidi.
## Vidokezo vya Kujitunza na Kuepuka Uchovu Ukiwa Mtunzaji:
### Tambua motisha zako za kufanya kazi katika open source
Chukua muda wa kutafakari ni sehemu gani za utunzaji ya open source hukupa nguvu. Kuelewa motisha zako kunaweza kukusaidia kutanguliza kazi kwa njia inayokufanya ujishughulishe na kuwa tayari kwa changamoto mpya. Iwe ni maoni chanya kutoka kwa watumiaji, furaha ya kushirikiana na jumuiya, au kuridhika kwa kuingia katika msimbo, kutambua motisha zako kunawezakusaidia kukuelekeza.
### Tafakari juu ya kile kinachokufanya utoke kwenye usawa na kukosa utulivu
Ni muhimu kuelewa ni nini husababisha sisi kupata uchovu. Hapa kuna mada chache za kawaida tulizoona kati ya watunzaji wa open source:
* **Ukosefu wa maoni chanya:** Watumiaji wana uwezekano mkubwa zaidi wa kutafuta usaidiazi wakati wana malalamiko peke yake. Ikiwa kila kitu kitafanya kazi vizuri, huwa wanakaa kimya. Inaweza kuwa ya kukatisha tamaa kuona orodha inayokua ya masuala bila maoni chanya yanayoonyesha jinsi michango yako inavyoleta mabadiliko.
* **Kutosema 'hapana':** Inaweza kuwa rahisi kuchukua majukumu zaidi kuliko unapaswa kwenye mradi wa open source. Iwe inatoka kwa watumiaji, wachangiaji au watunzaji wengine - hatuwezi kutimiza matarajio yao kila wakati.
* **Kufanya kazi peke yako:** Kuwa mtunzaji kunaweza kuwa mpweke sana. Hata kama unafanya kazi na kikundi cha watunzaji, miaka michache iliyopita imekuwa ngumu kwa kukusanya timu zinazosambazwa ana kwa ana.
* **Kukosa wakati wa kutosha au rasilimali:** Hii ni kweli hasa kwa watunzaji wa kujitolea ambao wanapaswa kujitolea wakati wao wa bure kufanya kazi kwenye mradi.
* **Mahitaji yanayokinzana:** Open Source umejaa vikundi vilivyo na motisha tofauti, ambayo inaweza kuwa ngumu kupitia. Ikiwa unalipwa kufanya tovuti huria, maslahi ya mwajiri wako wakati mwingine yanaweza kutofautiana na jumuiya.
### Jihadhari na dalili za uchovu
Je, waweza kuendelea na kasi yako kwa wiki 10? miezi 10? miaka 10?
Kuna zana kama vile [Orodha ya Uchovu ya Kukaguliwa](https://governingopen.com/resources/signs-of-burnout-checklist.html) kutoka kwa [@shaunagm](https://github.com/shaunagm) ambayo inaweza kukusaidia kutafakari kasi yako kwa wakati uliomo na kuona kama kuna marekebisho yoyote unayoweza kufanya. Baadhi ya watunzaji pia hutumia teknolojia inayoweza kuvaliwa kufuatilia vipimo kama vile ubora wa usingizi na mabadiliko ya mapigo ya moyo (yote yanahusishwa na msongo wa mawazo).
### Ungehitaji nini ili kuendelea kujiendeleza mwenyewe na jamii yako?
Hii itaonekana kuwa tofauti kwa kila mtunzaji, na itabadilika kulingana na awamu yako ya maisha na mambo mengine ya nje. Lakini hapa kuna mada kadhaa tulizosikia:
* **Tegemea jamii:** Kukabidhi madaraka na kutafuta wachangiaji kunaweza kupunguza mzigo wa kazi. Kuwa na sehemu nyingi za mawasiliano kwa mradi kunaweza kukusaidia kupumzika bila kuwa na wasiwasi. Ungana na watunzaji wengine na jumuiya pana-katika vikundi kama vile [Jumuiya ya Watunzaji](http://maintainers.github.com/). Hii inaweza kuwa nyenzo nzuri kwa usaidizi wa rika na kujifunza.
Unaweza pia kutafuta njia za kuwasiliana na jumuiya ya watumiaji, ili uweze kusikia maoni mara kwa mara na kuelewa athari za kazi yako ya open source.
* **Chunguza ufadhili:** Iwe unatafuta pesa za pizza, au unajaribu kuingia katika open source ya wakati wote, kuna nyenzo nyingi za kukusaidia! Kama hatua ya kwanza, zingatia kuwasha [Wafadhili wa GitHub](https://github.com/sponsors) ili kuruhusu wengine kufadhili kazi yako ya open source. Ikiwa unafikiria kuruka hadi wakati wote, tuma ombi kwa raundi inayofuata ya [GitHub Accelerator](http://accelerator.github.com/).
* **Tumia zana:** Gundua zana kama vile [GitHub Copilot](https://github.com/features/copilot/) na [GitHub Actions](https://github.com/features/actions) ili ufanye kazi kiotomatiki na uongeze wakati wako kwa michango yenye maana zaidi.
* **Pumzika na ujiongeze nguvu:** Tenga wakati wa mambo yako ya kuburudika na yanayokuvutia nje ya Open Source. Chukua mapumziko ya wikendi ili kujistarehesha na kujichangamsha na uweke [hali yako ya GitHub](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) ili kuonyesha upatikanaji wako! Kulala vizuri kunaweza kuleta mabadiliko makubwa katika uwezo wako wa kudumisha juhudi zako kwa muda mrefu.
Ukipata vipengele fulani vya mradi wako kuwa vya kufurahisha hasa, jaribu kupanga kazi yako ili uweze kuipitia siku yako yote.
* **Weka mipaka:** Huwezi kubali kila ombi. Hii inaweza kuwa rahisi kama kusema, "Siwezi kufikia hilo kwa sasa na sina mipango ya siku zijazo," au kuorodhesha kile ambacho ungependa kufanya na kutofanya katika README. Kwa mfano, unaweza kusema: "Ninaunganisha tu PR ambazo zimeorodhesha waziwazi sababu zilizofanywa," au, "Mimi hukagua tu masuala Alhamisi mbadala kuanzia 6-7pm." Hii huweka matarajio kwa wengine, na kukupa kitu ya kuelekeza wakati mwingine ili kusaidia kupunguza madai kutoka kwa wachangiaji au watumiaji kwa wakati wako.
Jifunze kuwa thabiti katika kuzima tabia ya sumu na mwingiliano mbaya. Ni sawa kutotoa nguvu kwa vitu usivyojali.
Kumbuka, ikolojia ya kibinafsi ni uzoefu endelevu ambayo yatabadilika unapoendelea katika safari yako ya Open Source. Kwa kutanguliza kujitunza na kudumisha hali ya usawa, unaweza kuchangia jumuiya ya Open Source kwa ufanisi na kwa uendelevu, na kuhakikisha ustawi wako na mafanikio ya miradi yako kwa muda mrefu.
## Rasilimali za Ziada
* [Jumuiya ya Watunzaji](http://maintainers.github.com/)
* [Mkataba wa kijamii wa Open Source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [Jinsi ya kukabiliana na watu wasio na roho nzuri](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Kusema Hapana](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](https://governingopen.com/)
* Ajenda ya warsha ilichanganywa kutoka [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## Wachangiaji
Shukrani nyingi kwa watunzaji wote ambao walishiriki uzoefu wao na vidokezo nasi kwa mwongozo huu!
Mwongozo huu uliandikwa na [@abbycabs](https://github.com/abbycabs) kwa michango kutoka kwa:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + wengineo!
================================================
FILE: _articles/sw/metrics.md
================================================
---
lang: sw
title: Takwimu za Open Source
description: Fanya maamuzi yenye taarifa ili kusaidia mradi wako wa open source kufanikiwa kwa kupima na kufuatilia mafanikio yake.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## Kwa nini kupima chochote?
Data, inapotumika kwa busara, inaweza kusaidia kufanya maamuzi bora kama mtunzaji wa open source.
Kwa taarifa zaidi, unaweza:
* Elewa jinsi watumiaji wanavyopokea kipengele kipya
* Gundua wapi watumiaji wapya hutoka
* Tambua, na uamue ikiwa utaunga mkono, kesi ya matumizi ya nje au utendakazi
* Kupima umaarufu wa mradi wako
* Kuelewa jinsi mradi wako unavyotumika
* Kuongeza fedha kupitia udhamini na ruzuku
Kwa mfano, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) inagundua kuwa Google Analytics inawasaidia kuzingatia kazi:
> Homebrew inatolewa bure na inasimamiwa na wajitolea katika wakati wao wa ziada. Kama matokeo, hatuna rasilimali za kufanya utafiti wa kina wa watumiaji wa Homebrew ili kuamua jinsi ya kubuni vipengele vya baadaye na kuzingatia kazi za sasa. Takwimu za watumiaji wa kawaida zinaturuhusu kuzingatia marekebisho na vipengele kulingana na jinsi, wapi, na wakati watu wanavyotumia Homebrew.
Umaarufu si kila kitu. Kila mtu anaingia kwenye open source kwa sababu tofauti. Ikiwa lengo lako kama mtunzaji wa open source ni kuonyesha kazi yako, kuwa wazi kuhusu msimbo wako, au tu kufurahia, takwimu huenda zisikuhusu.
Ikiwa _unavutiwa_ na kuelewa mradi wako kwa kiwango cha kina, endelea kusoma kwa njia za kuchambua shughuli za mradi wako.
## Ugunduzi
Kabla ya mtu yeyote kutumia au kuchangia mradi wako, wanahitaji kujua kuwa upo. Jiulize: _je, watu wanaupata mradi huu?_

Ikiwa mradi wako unahifadhiwa kwenye GitHub, [unaweza kuona](https://help.github.com/articles/about-repository-graphs/#traffic) ni watu wangapi wanaotembelea mradi wako na wanatoka wapi. Kutoka kwenye ukurasa wa mradi wako, bonyeza "Insights", kisha "Traffic". Katika ukurasa huu, unaweza kuona:
* **Total page views:** Inakuambia ni mara ngapi mradi wako umekaguliwa
* **Total unique visitors:** Inakuambia ni watu wangapi walitembelea mradi wako
* **Referring sites:** Inakuambia wapi wageni walitoka. Takwimu hii inaweza kusaidia kubaini wapi kufikia hadhira yako na ikiwa juhudi zako za matangazo zinafanya kazi.
* **Popular content:** Inakuambia wageni wanakoenda kwenye mradi wako, ikigawanywa kwa maoni na wageni wa kipekee.
[GitHub stars](https://help.github.com/articles/about-stars/) pia zinaweza kusaidia kutoa kipimo cha msingi cha umaarufu. Ingawa nyota za GitHub hazihusiani moja kwa moja na upakuaji na matumizi, zinaweza kukuambia ni watu wangapi wanachukua tahadhari kwa kazi yako.
Huenda pia ukataka [kufuatilia ugunduzi katika maeneo maalum](https://opensource.com/business/16/6/pirate-metrics): kwa mfano, Google PageRank, trafiki inayorejelea kutoka kwenye tovuti ya mradi wako, au marejeleo kutoka kwa miradi mingine ya open source au tovuti.
## Matumizi
Watu wanaupata mradi wako kwenye hiki kitu cha ajabu tunayoiita mtandao. Kwa kawaida, wanapoona mradi wako, watapaswa kuhisi kutaka kufanya jambo. Swali la pili unalotaka kujiuliza ni: _je, watu wanatumia mradi huu?_
Ikiwa unatumia package manager, kama npm au RubyGems.org, kusambaza mradi wako, huenda ukawa na uwezo wa kufuatilia upakuaji wa mradi wako.
Kila package manager unaweza kutumia ufafanuzi tofauti wa "download", na downloads hauhusiani moja kwa moja na usakinishaji au matumizi, lakini unatoa kipimo fulani cha kulinganisha. Jaribu kutumia [Libraries.io](https://libraries.io/) kufuatilia takwimu za matumizi katika meneja maarufu wa pakiti.
Ikiwa mradi wako uko kwenye GitHub, tembelea tena ukurasa wa "Traffic". Unaweza kutumia [grafu ya clone](https://github.com/blog/1873-clone-graphs) kuona ni mara ngapi mradi wako umeklonwa kwa siku fulani, ikigawanywa kwa clones za jumla na waklonaji wa kipekee.

Ikiwa matumizi ni ya chini ikilinganishwa na idadi ya watu wanaogundua mradi wako, kuna masuala mawili ya kuzingatia. Ama:
* Mradi wako haufanikiwi kubadilisha hadhira yako, au
* Unavutia hadhira isiyo sahihi
Kwa mfano, ikiwa mradi wako unapatikana kwenye ukurasa wa mbele wa Hacker News, huenda ukapata ongezeko la ugunduzi (trafiki), lakini kiwango cha kubadilisha ni cha chini, kwa sababu unawafikia watu wote kwenye Hacker News. Ikiwa mradi wako wa Ruby unajulikana kwenye mkutano wa Ruby, hata hivyo, huenda ukapata kiwango cha juu cha kubadilisha kutoka kwa hadhira iliyolengwa.
Jaribu kubaini wapi hadhira yako inatoka na kuwauliza wengine maoni kuhusu ukurasa wako wa mradi ili kubaini ni ipi kati ya masuala haya mawili unayokabiliana nayo.
Mara tu unapoelewa kuwa watu wanatumia mradi wako, huenda ukataka kujua wanachofanya nacho. Je, wanajenga juu yake kwa kufork msimbo wako na kuongeza vipengele? Je, wanatumia kwa ajili ya sayansi au biashara?
## Uhifadhi
Watu wanaupata mradi wako na wanatumia. Swali la tatu unalotaka kujiuliza ni: _je, watu wanachangia mradi huu?_
Kamwe si mapema sana kuanza kufikiria kuhusu wachangiaji. Bila watu wengine kusaidia, unakabiliwa na hatari ya kujitumbukiza katika hali isiyo ya afya ambapo mradi wako ni _maarufu_ (watu wengi wanatumia) lakini _hauungwi mkono_ (sio muda wa kutosha wa watunzaji kukidhi mahitaji).
Uhifadhi pia unahitaji [kuongezeka kwa wachangiaji wapya](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2), kwani wachangiaji waliokuwa na shughuli hapo awali hatimaye watahamia kwenye mambo mengine.
Mifano ya takwimu za jamii ambazo unaweza kutaka kufuatilia mara kwa mara ni pamoja na:
* **Idadi ya jumla ya wachangiaji na idadi ya commits kwa kila mchangiaji:** Inakuambia ni wachangiaji wangapi unao, na nani yuko na shughuli zaidi au chini. Kwenye GitHub, unaweza kuona hii chini ya "Insights" -> "Contributors." Hivi sasa, grafu hii inahesabu tu wachangiaji ambao wamefanya commit kwenye tawi la msingi la hifadhi.

* **Wachangiaji wa mara ya kwanza, wa kawaida, na wa kurudi:** Hii husaidia kufuatilia ikiwa unapata wachangiaji wapya, na ikiwa wanarudi. (Wachangiaji wa kawaida ni wachangiaji wenye idadi ndogo ya commits. Ikiwa ni commit moja, chini ya commits tano, au kitu kingine, inategemea wewe.) Bila wachangiaji wapya, jamii ya mradi wako inaweza kuwa ya kusimama.
* **Idadi ya masuala wazi na ombi za kuvuta wazi:** Ikiwa hizi nambari zinakuwa kubwa sana, huenda ukahitaji msaada katika kuangalia masuala na mapitio ya msimbo.
* **Idadi ya masuala _iliyofunguliwa_ na ombi za kuvuta _iliyofunguliwa_:** Masuala yaliyofunguliwa yanamaanisha mtu anajali vya kutosha kuhusu mradi wako kufungua suala. Ikiwa nambari hiyo inaongezeka kwa muda, inamaanisha watu wanavutiwa na mradi wako.
* **Aina za michango:** Kwa mfano, commits, kurekebisha makosa au typos, au kutoa maoni kwenye suala.
## Shughuli za watunzaji
Hatimaye, unapaswa kufunga mzunguko kwa kuhakikisha kwamba watunzaji wa mradi wako wanaweza kushughulikia kiasi cha michango wanayopokea. Swali la mwisho unalotaka kujiuliza ni: _je, mimi (au sisi) tunajibu jamii yetu?_
Watunzaji wasiojibu wanakuwa kizuizi kwa miradi ya open source. Ikiwa mtu anawasilisha mchango lakini hajawahi kusikia kutoka kwa mtunzaji, wanaweza kujisikia kukatishwa tamaa na kuondoka.
[Utafiti kutoka Mozilla](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) unashauri kwamba ufanisi wa watunzaji ni kipengele muhimu katika kuhamasisha michango ya kurudi.
Fikiria [kufuatilia ni muda gani inachukua kwako (au mtunzaji mwingine) kujibu michango](https://github.blog/2023-07-19-metrics-for-issues-pull-requests-and-discussions/), iwe suala au ombi la kuvuta. Kujibu hakuhitaji kuchukua hatua. Inaweza kuwa rahisi kama kusema: _"Asante kwa kuwasilisha! Nitaangalia hii ndani ya wiki ijayo."_
Pia unaweza kupima muda inachukua kuhamasisha kati ya hatua katika mchakato wa mchango, kama vile:
* Wakati wa wastani suala linabaki wazi
* Ikiwa masuala yanakamilishwa na PRs
* Ikiwa masuala ya zamani yanakamilishwa
* Wakati wa wastani wa kuunganishwa kwa ombi la kuvuta
## Tumia 📊 kujifunza kuhusu watu
Kuelewa takwimu kutakusaidia kujenga mradi wa open source unaokua na wenye shughuli. Hata kama hujafuatilia kila takwimu kwenye dashibodi, tumia mfumo huu kulenga umakini wako kwenye aina ya tabia ambayo itasaidia mradi wako kufanikiwa.
[CHAOSS](https://chaoss.community/) ni jamii ya wazi inayokaribisha inayolenga uchambuzi, takwimu na programu za afya ya jamii.
================================================
FILE: _articles/sw/security-best-practices-for-your-project.md
================================================
---
lang: sw
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/sw/starting-a-project.md
================================================
---
lang: sw
title: Kuanzisha Mradi wa Open Source
description: Jifunze zaidi kuhusu ulimwengu wa Open Source na uwe tayari kuzindua mradi wako mwenyewe.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## "Nini" na "Kwa Nini" ya Open Source
Basi unafikiria kuanza na open source? Hongera! Ulimwengu unathamini mchango wako. Hebu tuzungumze kuhusu nini open source ni na kwa nini watu huifanya.
### Nini maana ya "open source"?
Wakati mradi ni open source, inamaanisha **mtu yeyote yuko huru kutumia, kujifunza, kubadilisha, na kusambaza mradi wako kwa kusudi lolote.** Ruhusa hizi zinaimarishwa kupitia [leseni ya open source](https://opensource.org/licenses).
Open source ni nguvu kwa sababu inashusha vizuizi vya kupitisha na ushirikiano, ikiruhusu watu kueneza na kuboresha miradi haraka. Pia kwa sababu inawapa watumiaji uwezo wa kudhibiti kompyuta zao, ikilinganishwa na mradi usio huria. Kwa mfano, biashara inayotumia programu ya open source ina chaguo la kuajiri mtu kufanya maboresho maalum kwa programu hiyo, badala ya kutegemea maamuzi ya bidhaa ya muuzaji wa mradi usio huria pekee.
_Programu ya bure_ inarejelea seti sawa ya miradi kama **open source**. Wakati mwingine utaona [maneno haya](https://en.wikipedia.org/wiki/Free_and_open-source_software) yakiwa pamoja kama "free and open source software" (FOSS) au "free, libre, and open source software" (FLOSS).
_Free_ na _libre_ zinarejelea uhuru, [sio bei](#je-open-source-inamaanisha-bila-malipo).
### Kwa nini watu wanafungua chanzo cha kazi zao?
[Kuna sababu nyingi](https://ben.balter.com/2015/11/23/why-open-source/) kwa nini mtu au shirika lingetaka kufungua chanzo cha mradi. Baadhi ya mifano ni pamoja na:
* **Ushirikiano:** Miradi ya open source inaweza kukubali mabadiliko kutoka kwa mtu yeyote duniani. [Exercism](https://github.com/exercism/), kwa mfano, ni jukwaa la mazoezi ya programu lenye washiriki zaidi ya 350.
* **Kupitishwa na kubadilisha:** Miradi ya open source inaweza kutumika na mtu yeyote kwa karibu kusudi lolote. Watu wanaweza hata kuitumia kujenga mambo mengine. [WordPress](https://github.com/WordPress), kwa mfano, ilianza kama fork ya mradi uliopo uitwao [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md).
* **Uwazi:** Mtu yeyote anaweza kukagua mradi wa open source kwa makosa au kutokuelewana. Uwazi ni muhimu kwa serikali kama [Bulgaria](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) au [Marekani](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/), sekta zilizo chini ya udhibiti kama benki au huduma za afya, na programu za usalama kama [Let's Encrypt](https://github.com/letsencrypt).
Open source si kwa programu tu, pia unaweza kufungua kila kitu kutoka kwa seti za data hadi vitabu. Angalia [GitHub Explore](https://github.com/explore) kwa mawazo kuhusu nini kingine unaweza kufungua.
### Je, open source inamaanisha "bila malipo"?
Moja ya mvuto mkubwa wa open source ni kwamba haigharimu pesa. "Bila malipo", hata hivyo, ni matokeo ya thamani ya jumla ya open source.
Kwa sababu [leseni ya open source inahitaji](https://opensource.org/definition-annotated/) kwamba mtu yeyote anaweza kutumia, kubadilisha, na kushiriki mradi wako kwa karibu kusudi lolote, miradi yenyewe huwa bila malipo. Ikiwa mradi ungegharimu pesa kutumika, mtu yeyote angeweza kisheria kufanya nakala na kutumia toleo la bure badala yake.
Kwa hivyo, miradi mingi ya open source ni bure, lakini "bila malipo" si sehemu ya ufafanuzi wa open source. Kuna njia za kuchaji kwa miradi ya open source kwa njia zisizo za moja kwa moja kupitia leseni mbili au vipengele vilivyopunguzwa, huku bado ukikidhi ufafanuzi rasmi wa open source.
## Je, ni lazima nizindue mradi wangu wa open source?
Jibu fupi ni ndiyo, kwa sababu bila kujali matokeo, kuzindua mradi wako ni njia nzuri ya kujifunza jinsi open source inavyofanya kazi.
Ikiwa hujawahi kufungua mradi hapo awali, huenda ukawa na wasiwasi kuhusu kile watu watasema, au ikiwa mtu yeyote atagundua hata kidogo. Ikiwa hii inasikika kama wewe, huenda usiwe peke yako!
Kazi ya open source ni kama shughuli nyingine yoyote ya ubunifu, iwe ni uandishi au uchoraji. Inaweza kuonekana kutisha kushiriki kazi yako na ulimwengu, lakini njia pekee ya kuboresha ni kufanya mazoezi - hata kama huna hadhira.
Ikiwa bado hujashawishika, chukua muda kufikiria kuhusu malengo yako yanaweza kuwa yapi.
### Kuweka malengo yako
Malengo yanaweza kukusaidia kubaini ni nini cha kufanya, ni nini cha kukatalia, na ni wapi unahitaji msaada kutoka kwa wengine. Anza kwa kujuliza, _kwa nini ninafungua mradi huu?_
Hakuna jibu moja sahihi kwa swali hili. Unaweza kuwa na malengo mengi kwa mradi mmoja, au miradi tofauti yenye malengo tofauti.
Ikiwa lengo lako pekee ni kuonyesha kazi yako, huenda usitake hata michango, na hata kusema hivyo katika README yako. Kwa upande mwingine, ikiwa unataka wachangiaji, utawekeza muda katika nyaraka wazi na kuwafanya wapya wajisikie kukaribishwa.
Kadri mradi wako unavyokua, jamii yako inaweza kuhitaji zaidi ya msimbo kutoka kwako. Kujibu masuala, kupitia msimbo, na kuhamasisha mradi wako ni kazi muhimu katika mradi wa open source.
Wakati kiasi cha muda unachotumia kwenye kazi zisizo za kuandika kitategemea ukubwa na upeo wa mradi wako, unapaswa kuwa tayari kama mtunza mradi kukabiliana nazo mwenyewe au kupata mtu wa kukusaidia.
**Ikiwa wewe ni sehemu ya kampuni inayofungua mradi,** hakikisha mradi wako una rasilimali za ndani zinazohitajika ili kustawi. Utataka kubaini ni nani anayehusika na kutunza mradi baada ya uzinduzi, na jinsi utakavyoshiriki kazi hizo na jamii yako.
Ikiwa unahitaji bajeti maalum au wafanyakazi kwa ajili ya matangazo, operesheni na kutunza mradi, anza mazungumzo hayo mapema.
### Kuchangia miradi mingine
Ikiwa lengo lako ni kujifunza jinsi ya kushirikiana na wengine au kuelewa jinsi open source inavyofanya kazi, zingatia kuchangia kwenye mradi uliopo. Anza na mradi ambao tayari unautumia na kuupenda. Kuchangia kwenye mradi kunaweza kuwa rahisi kama kurekebisha makosa ya tahajia au kuboresha nyaraka.
Ikiwa hujui jinsi ya kuanza kama mchango, angalia mwongozo wetu wa [Jinsi ya Kuchangia kwa Open Source](../how-to-contribute/).
## Kuzindua mradi wako wa open source
Hakuna wakati mzuri wa kufungua chanzo cha kazi yako. Unaweza kufungua wazo, kazi inayoendelea, au baada ya miaka ya kuwa closed source.
Kwa ujumla, unapaswa kufungua mradi wako unapojisikia vizuri kuwa na wengine wanaweza kuangalia, na kutoa maoni kuhusu, kazi yako.
Bila kujali hatua gani unachagua kufungua mradi wako, kila mradi unapaswa kujumuisha nyaraka zifuatazo:
* [Leseni ya open source](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Miongozo ya kuchangia](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Kanuni ya tabia](../code-of-conduct/)
Kama mtunza mradi, vipengele hivi vitakusaidia kuwasiliana matarajio, kusimamia michango, na kulinda haki za kisheria za kila mtu (ikiwemo yako mwenyewe). Vinapanua sana nafasi zako za kuwa na uzoefu mzuri.
Ikiwa mradi wako uko kwenye GitHub, kuweka faili hizi kwenye saraka yako ya mizizi kwa majina yaliyopendekezwa kutasaidia GitHub kutambua na kuziwasilisha moja kwa moja kwa wasomaji wako.
### Kuchagua leseni
Leseni ya open source inahakikisha kwamba wengine wanaweza kutumia, nakala, kubadilisha, na kuchangia tena kwenye mradi wako bila madhara. Pia inakulinda kutokana na hali ngumu za kisheria. **Lazima ujumuisha leseni unapozindua mradi wa open source.**
Kazi ya kisheria si ya kufurahisha. Habari njema ni kwamba unaweza kunakili na kupaste leseni iliyopo kwenye hazina yako. Itachukua dakika moja kulinda kazi yako ngumu.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), na [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) ni leseni maarufu zaidi za open source, lakini [kuna chaguzi nyingine](https://choosealicense.com) za kuchagua.
Unapounda mradi mpya kwenye GitHub, unapata chaguo la kuchagua leseni. Kuweka leseni ya open source kutafanya mradi wako wa GitHub kuwa open source.

Ikiwa una maswali au wasiwasi mengine kuhusu nyanja za kisheria za kusimamia mradi wa open source, [tumeandaa mwongozo](../legal/) kwa ajili yako.
### Kuandika README
READMEs hufanya zaidi ya kuelezea jinsi ya kutumia mradi wako. Pia zinaelezea kwa nini mradi wako ni muhimu, na ni nini watumiaji wako wanaweza kufanya nacho.
Katika README yako, jaribu kujibu maswali yafuatayo:
* Mradi huu unafanya nini?
* Kwa nini mradi huu ni muhimu?
* Nitaanzaje?
* Nitaweza kupata msaada zaidi wapi, ikiwa nahitaji?
Unaweza kutumia README yako kujibu maswali mengine, kama vile jinsi unavyoshughulikia michango, ni malengo gani ya mradi, na taarifa kuhusu leseni na kutambua. Ikiwa hutaki kukubali michango, au mradi wako haujawa tayari kwa uzalishaji, andika taarifa hii chini.
Wakati mwingine, watu wanakwepa kuandika README kwa sababu wanahisi mradi haujakamilika, au hawataki michango. Hizi ni sababu nzuri za kuandika moja.
Kwa maelezo zaidi, jaribu kutumia mwongozo wa @dguo ["Fanya README"](https://www.makeareadme.com/) au [templat ya README ya @PurpleBooth](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) kuandika README kamili.
Unapojumuisha faili ya README kwenye saraka ya mizizi, GitHub itaonyesha moja kwa moja kwenye ukurasa wa nyumbani wa hazina.
Wakati mwingine, watu huepuka kuandika README kwa sababu wanahisi kama mradi haujakamilika, au hawataki michango. Hizi zote ni sababu nzuri sana za kuandika moja.
Kwa msukumo zaidi, jaribu kutumia mwongozo wa @dguo ["Tengeneza README"](https://www.makeareadme.com/) au @PurpleBooth's [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) kuandika SOMA kamili.
Unapojumuisha faili ya README kwenye saraka ya mizizi, GitHub itaionyesha kiotomatiki kwenye ukurasa wa nyumbani wa hazina.
### Kuandika miongozo yako ya kuchangia
Faili ya CONTRIBUTING inawaambia wasomaji wako jinsi ya kushiriki katika mradi wako. Kwa mfano, unaweza kujumuisha taarifa kuhusu:
* Jinsi ya kuwasilisha ripoti za makosa (jaribu kutumia [mifano ya masuala na ombi la kuvuta](https://github.com/blog/2111-issue-and-pull-request-templates))
* Jinsi ya kupendekeza kipengele kipya
* Jinsi ya kuweka mazingira yako na kuendesha majaribio
Mbali na maelezo ya kiufundi, faili ya CONTRIBUTING ni fursa ya kuwasilisha matarajio yako kwa michango, kama vile:
* Aina za michango unazotafuta
* Ramani yako au maono ya mradi
* Jinsi wachangiaji wanavyopaswa (au wasipasa) kuwasiliana nawe
Kutumia sauti ya kirafiki na ya kukaribisha na kutoa mapendekezo maalum ya michango (kama vile kuandika nyaraka, au kutengeneza tovuti) kunaweza kusaidia sana katika kuwafanya wapya wajisikie kukaribishwa na kufurahia kushiriki.
Kwa mfano, [Active Admin](https://github.com/activeadmin/activeadmin/) huanza [miongozo yake ya kuchangia](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) na:
> Kwanza kabisa, asante kwa kuzingatia kuchangia kwa Active Admin. Ni watu kama wewe wanaofanya Active Admin kuwa chombo bora.
Katika hatua za awali za mradi wako, faili yako ya CONTRIBUTING inaweza kuwa rahisi. Unapaswa kila wakati kuelezea jinsi ya kuripoti makosa au kuwasilisha masuala, na mahitaji yoyote ya kiufundi (kama majaribio) ili kufanya mchango.
Kadri muda unavyosonga, unaweza kuongeza maswali mengine yanayoulizwa mara kwa mara kwenye faili yako ya CONTRIBUTING. Kuandika habari hii kuna maana kwamba watu wachache watauliza maswali sawa mara kwa mara.
Kwa msaada zaidi wa kuandika faili yako ya CONTRIBUTING, angalia mwongozo wa @nayafia [template ya kuchangia](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) au ["Jinsi ya Kujenga CONTRIBUTING.md" ya @mozilla](https://mozillascience.github.io/working-open-workshop/contributing/).
Linki kwa faili yako ya CONTRIBUTING kutoka kwenye README yako, ili watu wengi zaidi waione. Ikiwa [uweka faili ya CONTRIBUTING kwenye hazina ya mradi wako](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), GitHub itaunganisha moja kwa moja kwenye faili yako wakati mchangiaji anaunda suala au kufungua ombi la kuvuta.

### Kuanzisha kanuni ya tabia
Hatimaye, kanuni ya tabia husaidia kuweka sheria za msingi za tabia kwa washiriki wa mradi wako. Hii ni muhimu hasa ikiwa unazindua mradi wa open source kwa jamii au kampuni. Kanuni ya tabia inakupa uwezo wa kuwezesha tabia nzuri na ya kujenga katika jamii, ambayo itapunguza msongo wako kama mtunza mradi.
Kwa maelezo zaidi, angalia mwongozo wetu wa [Kanuni ya Tabia](../code-of-conduct/).
Mbali na kuwasilisha _jinsi_ unavyotarajia washiriki watende, kanuni ya tabia pia huwa inaelezea ni nani matarajio haya yanatumika, wakati yanatumika, na nini cha kufanya ikiwa ukiukaji unafanyika.
Kama leseni za open source, pia kuna viwango vinavyotokea kwa kanuni za tabia, hivyo huna haja ya kuandika yako mwenyewe. [Mkataba wa Wachangiaji](https://contributor-covenant.org/) ni kanuni ya tabia inayoweza kutumika ambayo inatumika na [mradi zaidi ya 40,000 wa open source](https://www.contributor-covenant.org/adopters), ikiwa ni pamoja na Kubernetes, Rails, na Swift. Haijalishi ni maandiko gani unayotumia, unapaswa kuwa tayari kutekeleza kanuni yako ya tabia inapohitajika.
Pachika maandiko moja kwa moja kwenye faili ya CODE_OF_CONDUCT kwenye hazina yako. Hifadhi faili hiyo kwenye saraka ya mradi wako ili iwe rahisi kuipata, na uunganishe nayo kutoka kwenye README yako.
## Kutoa jina na kuchapisha ya mradi wako
kuchapisha ni zaidi ya nembo ya kuvutia au jina la mradi linalokumbukwa. Ni kuhusu jinsi unavyoongea kuhusu mradi wako, na ni nani unayefikia na ujumbe wako.
### Kuchagua jina sahihi
Chagua jina ambalo ni rahisi kukumbuka na, kwa kawaida, linatoa wazo kuhusu mradi unavyofanya. Kwa mfano:
* [Sentry](https://github.com/getsentry/sentry) inafuatilia programu kwa ripoti za ajali
* [Thin](https://github.com/macournoyer/thin) ni seva ya wavuti ya Ruby yenye haraka na rahisi
Ikiwa unajenga juu ya mradi uliopo, kutumia jina lao kama kiambatisho kunaweza kusaidia kufafanua kile mradi wako unachofanya (kwa mfano, [node-fetch](https://github.com/bitinn/node-fetch) inaletee `window.fetch` Node.js).
Fikiria wazi zaidi kuliko yote. Mifano ni ya kufurahisha, lakini kumbuka kwamba baadhi ya vichekesho huenda visitafsiriwe kwa tamaduni nyingine au watu wenye uzoefu tofauti na wewe. Baadhi ya watumiaji wako wanaweza kuwa wafanyakazi wa kampuni: hutaki kuwafanya wajisikie wasumbufu wanapohitajika kuelezea mradi wako kazini!
### Kuepuka migongano ya majina
[Angalia miradi ya open source yenye jina sawa](https://namechecker.vercel.app/), hasa ikiwa unashiriki lugha ya programu au mfumo sawa. Ikiwa jina lako linagongana na mradi maarufu uliopo, unaweza kuchanganya hadhira yako.
Ikiwa unataka tovuti, jina la Twitter, au mali nyingine za kuwakilisha mradi wako, hakikisha unaweza kupata majina unayotaka. Kwa kawaida, [hifadhi majina hayo sasa](https://instantdomainsearch.com/) kwa amani ya akili, hata kama hujapanga kuyatumia bado.
Hakikisha jina la mradi wako halikiuka alama za biashara. Kampuni inaweza kukutaka uondoe mradi wako baadaye, au hata kuchukua hatua za kisheria dhidi yako. Si thamani ya hatari hiyo.
Unaweza kuangalia [WIPO Global Brand Database](http://www.wipo.int/branddb/en/) kwa migongano ya alama za biashara. Ikiwa uko kwenye kampuni, hii ni moja ya mambo ambayo [timu yako ya kisheria inaweza kukusaidia nayo](../legal/).
Hatimaye, fanya utafutaji wa haraka wa jina la mradi wako. Je, watu wataweza kuipata mradi wako kwa urahisi? Je, kuna kitu kingine kinachotokea kwenye matokeo ya utafutaji ambacho huenda hutaki watu waone?
### Jinsi unavyandika (na kuandika msimbo) inavyoathiri chapa yako pia!
Katika maisha ya mradi wako, utakuwa na maandiko mengi: READMEs, mafunzo, nyaraka za jamii, kujibu masuala, labda hata jarida na orodha za barua.
Iwe ni nyaraka rasmi au barua ya kawaida, mtindo wako wa uandishi ni sehemu ya chapa ya mradi wako. Fikiria jinsi unavyoweza kuonekana kwa hadhira yako na ikiwa hiyo ndiyo sauti unayotaka kuwasilisha.
Kutumia lugha ya kukaribisha (kama "them", hata wakati ukirejelea mtu mmoja) kunaweza kusaidia sana katika kufanya mradi wako ujisikie unakaribisha kwa wachangiaji wapya. Kaa na lugha rahisi, kwani wengi wa wasomaji wako huenda si wazawa wa lugha ya Kiingereza.
Zaidi ya jinsi unavyandika maneno, mtindo wako wa kuandika msimbo pia unaweza kuwa sehemu ya chapa ya mradi wako. [Angular](https://angular.io/guide/styleguide) na [jQuery](https://contribute.jquery.org/style-guide/js/) ni mifano miwili ya miradi yenye mitindo na miongozo ya kuandika.
Sio lazima kuandika mwongozo wa mtindo kwa mradi wako unapokuwa unaanza, na unaweza kupata kwamba unafurahia kuunganisha mitindo tofauti ya kuandika msimbo katika mradi wako. Lakini unapaswa kutarajia jinsi mtindo wako wa uandishi na wa kuandika msimbo unaweza kuvutia au kukatisha tamaa aina tofauti za watu. Hatua za awali za mradi wako ni fursa yako ya kuweka mfano unayotaka kuona.
## Orodha yako ya ukaguzi kabla ya uzinduzi
Je, uko tayari kuweka mradi wako open source? Hapa kuna orodha ya ukaguzi ili kusaidia. Je, umekagua masanduku yote? Uko tayari kwenda! [Bonyeza "chapisha"](https://help.github.com/articles/making-a-private-repository-public/) na ujipatie sifa.
**Nyaraka**
**Msimbo**
**Watu**
Ikiwa wewe ni mtu binafsi:
Ikiwa wewe ni kampuni au shirika:
## Umefanya!
Hongera kwa kuanzisha mradi wako wa kwanza wa open source. Bila kujali matokeo, kufanya kazi hadharani ni zawadi kwa jamii. Kwa kila commit, maoni, na ombi la kuvuta, unaunda fursa kwako mwenyewe na kwa wengine kujifunza na kukua.
================================================
FILE: _articles/ta/best-practices.md
================================================
---
lang: ta
title: பராமரிப்பாளர்களுக்கான சிறந்த நடைமுறைகள்
description: திறந்த மூல பராமரிப்பாளராக உங்கள் வாழ்க்கையை எளிதாக்குவது, உங்கள் சமூகத்தை செயல்படுத்துவதற்கான செயல்முறைகளை ஆவணப்படுத்துதல்.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## ஒரு பராமரிப்பாளராக இருப்பது எதை அர்த்தப்படுத்துகிறது?
நிறைய மக்கள் பயன்படுத்தும் திறந்த மூல திட்டத்தை நீங்கள் பராமரித்தால், நீங்கள் குறைவாக குறியிடுவதையும் சிக்கல்களுக்கு அதிகமாக பதிலளிப்பதையும் கவனித்திருக்கலாம்.
ஒரு திட்டத்தின் ஆரம்ப கட்டங்களில், நீங்கள் புதிய கருத்துக்களை பரிசோதித்து, நீங்கள் விரும்பியவற்றை அடிப்படையாக கொண்ட முடிவுகளை எடுப்பீர்கள். உங்கள் திட்டம் பிரபலமடையும்போது, உங்கள் பயனர் மற்றும் பங்களிப்பாளர்களுடன் மேலும் நீங்கள் வேலை செய்வீர்கள்.
ஒரு திட்டத்தை பராமரிக்க, நிரலாக்கத்தை விட அதிக ஈடுபாடு வேண்டும். இந்த பணிகள் பெரும்பாலும் எதிர்பாராதவை, ஆனால் அவை வளரும் திட்டத்திற்கு முக்கியம். செயல்முறைகளை ஆவணப்படுத்துவதிலிருந்து சமூகத்தை மேம்படுத்துவதுவரை, சில எளிய வழிமுறைகளை நாங்கள் சேகரித்துள்ளோம்.
## உங்கள் செயல்முறைகளை ஆவணப்படுத்துதல்
ஆவணப்படுத்துதல், ஒரு பராமரிப்பாளராக நீங்கள் செய்ய வேண்டிய முக்கிய கடமையாகும்.
ஆவணம் உங்கள் சொந்த சிந்தனையை தெளிவுபடுத்துவதோடு மட்டுமல்லாமல், உங்களுடைய தேவை அல்லது எதிர்பார்ப்பை அடுத்தவர்கள் கேட்கும்முன் சொல்ல உதவுகிறது.
உங்கள் நோக்குடன் ஏதாவது பொருந்தாதபோது, இல்லை என்று சொல்வதை ஆவணப்படுத்துதல் எளிதாகிறது. அது மட்டுமல்லாமல் மற்றவர்கள் உதவி செய்ய முன்வரும்போது, இது அவர்களின் பணியை எளிமையாக்குகிறது. யார் உங்கள் திட்டத்தை வாசிப்பார்கள் அல்லது பயன்படுத்துகிறார்களோ என்பது உங்களுக்குத் தெரியாது.
நீங்கள் முழு பத்திகளாக எழுதாவிட்டாலும், புல்லட் புள்ளிகளைக் கொண்டு எழுதுவது, எழுதாமல் இருப்பதைவிட மேலாகும்.
உங்கள் ஆவணங்களை புதுப்பித்த நிலையில் வைக்க நினைவில் கொள்ளுங்கள். நீங்கள் இதை எப்போதும் செய்ய இயலாவிட்டால், உங்கள் காலாவதியான ஆவணங்களை நீக்குங்கள் அல்லது காலாவதியானது என்பதைக் குறிப்பிடுக. அதனால் பங்களிப்பாளர்கள் புதுப்பிப்புகளுக்கு வரவேற்பு உள்ளதாக அறிவார்கள்.
### உங்கள் திட்டத்தின் பார்வையை எழுதுங்கள்
உங்கள் திட்டத்தின் இலக்குகளை எழுதுவதன் மூலம் தொடங்கவும். அவற்றை உங்கள் README இல் சேர்க்கவும், அல்லது VISION எனப்படும் ஒரு தனி கோப்பை உருவாக்கவும். ஒரு செயல்திட்டத் திட்டத்தின் வழியே உதவக்கூடிய பிற கைவினைப்பொருட்கள் இருந்தால், அதை பொதுவெளியில் வைக்கவும்.
தெளிவான, ஆவணப்படுத்தப்பட்ட பார்வை உங்களின் கவனத்தை ஒருமுகபடுத்துவதோடு மற்றவர்களின் பங்களிப்புகளில் இருந்து "வரையெல்லை தொய்வை" தவிர்க்க உதவுகிறது.
எடுத்துக்காட்டாக, @lord ஒரு திட்டத்தின் பார்வை கொண்டிருப்பதால், நேரம் செலவிட வேண்டிய கோரிக்கைகளை அவர் கண்டுபிடித்தார். ஒரு புதிய பராமரிப்பாளராக, [Slate](https://github.com/lord/slate) க்கு தனது முதல் அம்ச கோரிக்கை கிடைத்தபோது, அவர் தனது திட்டத்தின் நோக்குடன் ஒட்டவில்லை என்று வருத்தப்பட்டார்.
### உங்கள் எதிர்பார்ப்புகளை தெரிவிக்கவும்
விதிகள் எழுதுவதற்கு கடினமாக இருக்கலாம். மற்றவர்களின் நடத்தைகளை நீங்கள் கண்காணிப்பதைப்போல சில நேரங்களில் நீங்கள் நினைக்கலாம்.
நன்கு எழுதப்பட்டு, செயல்படுத்தப்படும் விதிகள், பராமரிப்பவர்களுக்கு அதிகாரம் அளிக்கிறது. நீங்கள் செய்ய விரும்பாத விஷயங்களைச் செய்வதில் இழுக்கப்படுவதை அவர்கள் தடுக்கிறார்கள்.
உங்கள் திட்டத்தைச் சந்திக்கும் பெரும்பான்மையானவர்கள் உங்களுக்கு அல்லது உங்களுடைய சூழ்நிலைகளை பற்றி எதுவும் தெரியாது. அவர்கள் வழக்கமாக பயன்படுத்துவதாலும், சார்ந்துஇருப்பதாலும், திட்டப்பணியில் நீங்கள் செய்யும் வேலைக்கு பணம் பெறுகிறீர்கள் என அவர்கள் எண்ணலாம். ஒருவேளை ஒரு கட்டத்தில் உங்கள் திட்டத்தில் நிறைய நேரம் போடலாம், ஆனால் இப்போது நீங்கள் ஒரு புதிய வேலை அல்லது குடும்ப அங்கத்தினருடன் ஓய்வில்லாமல் இருக்கலாம்.
இந்த அனைத்து நன்றாக இருக்கிறது! மற்றவர்கள் அதைப் பற்றி அறிந்திருப்பதை உறுதிப்படுத்தவும்.
உங்கள் திட்டத்தை பராமரிப்பது பகுதியாக அல்லது முற்றிலும் தன்னார்வமாக இருந்தால், நீங்கள் எவ்வளவு நேரம் செலவு செய்வீர்கள் என்பது பற்றி நேர்மையாக இருக்க வேண்டும். இந்த நேரமென்பது திட்டப்பணிக்கு தேவையான நேரமோ அல்லது நீங்கள் திட்டப்பணிக்காக எவ்வளவு நேரம் செலவிட வேண்டும் என்று மற்றவர்கள் விரும்பும் அளவிற்கு இணையாக இருக்கவேண்டுமென்பதில்லை.
ஆவணப்படுத்த வேண்டிய முக்கிய விதிமுறைகளில் சில:
* ஒரு பங்களிப்பு எவ்வாறு மதிப்பாய்வு செய்யப்படுகிறது மற்றும் ஏற்றுக்கொள்ளப்படுகிறது (_அவைகளுக்கு சோதனைகள் தேவையா? இடுவு வார்ப்புரு?_)
* நீங்கள் ஏற்கும் பங்களிப்பு வகைகள் (_உங்கள் குறியீட்டின் ஒரு பகுதியுடன் மட்டுமே உதவி வேண்டுமா?_)
* எப்பொழுது பின்தொடர்வது பொருத்தமாக இருக்கும் (_உதாரணமாக, "7 நாட்களுக்குள் ஒரு பராமரிப்பாளரின் பதிலை எதிர்பார்க்கலாம். அதற்குமேலும் எந்த பதிலும் இல்லாமலிருந்தால், பிரியில் எனக்கு செய்தி அனுப்பவும்."_)
* நீங்கள் திட்டத்தில் எவ்வளவு நேரம் செலவு செய்கிறீர்கள் (_உதாரணமாக, "இந்த திட்டத்தில் வாரத்திற்கு 5 மணிநேரம் மட்டுமே செலவிடுகிறோம்"_)
[ஜெகில்](https://github.com/jekyll/jekyll/tree/master/docs), [கோகோபாட்ஸ்](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), மற்றும் [ஹோம்புருவ்](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) பராமரிப்பாளர்களுக்கும் பங்களிப்பாளர்களுக்கும் தரவின் விதிகள் கொண்ட பல திட்டங்களுக்கான உதாரணங்கள்.
### கருத்துப்பரிமாற்றத்தை பொதுவில் வைக்கவும்
உங்கள் கருத்துப்பரிமாற்றத்தை ஆவணப்படுத்த மறக்காதீர்கள். முடிந்தவரை திட்டப்பணி குறித்த கருத்துப்பரிமாற்றங்களை பொதுவில் வைக்கவும். ஒரு அம்ச கோரிக்கையை அல்லது ஆதரவு தேவை பற்றி விவாதிக்க தனிப்பட்ட முறையில் உங்களைத் தொடர்பு கொள்ள முயற்சித்தால், ஒரு அஞ்சல் முகவரி அல்லது சிக்கல் தடமி போன்ற பொதுத் தொடர்புத் தலையீட்டை அவர்களை அமைதியாக வழிநடத்துகிறது.
நீங்கள் மற்ற பராமரிப்பாளர்களுடன் சந்தித்தால், அல்லது தனிப்பட்ட முறையில் ஒரு பெரிய முடிவை எடுத்தால், உங்கள் உரையை இடுகையிடும் போதும், இந்த உரையாடல்களை பொதுவில் ஆவணப்படுத்துங்கள்.
அவ்வாறே, உங்கள் சமூகத்தில் சேருகின்ற எவருக்கும் பல வருடங்களாக இருக்கின்றவருக்கு கிடைத்த அதே தகவலை அணுக முடியும்.
## இல்லை என சொல்ல கற்றல்
நீங்கள் விஷயங்களை எழுதிவிட்டீர்கள். பெரும்பாலும், எல்லோரும் உங்கள் ஆவணங்கள் படிக்க வேண்டும், ஆனால் உண்மையில், நீங்கள் இந்த அறிவு உள்ளது என்று மற்றவர்களுக்கு ஞாபகப்படுத்த வேண்டும்.
எவ்வாறாயினும், உங்கள் விதிகளை நடைமுறைப்படுத்த வேண்டிய அவசியம் ஏற்பட்டால், சூழ்நிலைகளைத் தனிமைப்படுத்த உதவுகிறது.
இல்லை என்று சொல்வது எளிதானது இல்லை, ஆனால் _"உங்கள் பங்களிப்பு இந்த திட்டத்தின் அளவுகோல்களுடன் பொருந்தவில்லை"_ என்பது _"உங்கள் பங்களிப்பு எனக்கு பிடிக்கவில்லை"_ என்பதைவிட தனிப்பட்டமுறையில் இல்லாமல் உள்ளது.
ஒரு பராமரிப்பாளராக இல்லை என கூறும் பல சூழ்நிலைகளை நீங்கள் எதிர்கொள்வீர்கள்: நோக்கம் பொருந்தாத அம்ச கோரிக்கைகள், ஒருவர் கலந்துரையாடலைத் தடம்புரள செய்தல், மற்றவர்களுக்கு தேவையற்ற வேலையைச் செய்வது.
### உரையாடலை நட்புணர்வுடன் வைத்துக் கொள்ளுங்கள்
இடுவு மற்றும் இழு கோரிக்கை வரிசை ஆகியவை இல்லை என சொல்ல வேண்டிய இடங்களில் முக்கியமானவையாகும். ஒரு திட்ட பராமரிப்பாளராக, நீங்கள் தவிர்க்க விரும்பாத பரிந்துரைகளை பெறுவீர்கள்.
பங்களிப்பு உங்கள் திட்டத்தின் நோக்கத்தை மாற்றுகிறது அல்லது உங்கள் பார்வைக்கு பொருந்தவில்லை. ஒருவேளை நல்ல யோசனை, ஆனால் செயல்படுத்துதலில் சரியின்மை.
காரணம் எதுவாயினும், உங்கள் திட்டத்தின் தரத்தைச் சந்திக்காத பங்களிப்புகளை சமாளிப்பதற்கு இது சாத்தியமாகும்.
நீங்கள் ஏற்றுக்கொள்ள விரும்பாத பங்களிப்பைப் பெற்றால், உங்கள் முதல் பிரதிபலிப்பு அதை புறக்கணிக்கலாம் அல்லது நீங்கள் அதைப் பார்க்கவில்லை என்று பாசாங்கு செய்யலாம். அவ்வாறு செய்வது மற்றவரின் உணர்ச்சிகளை காயப்படுத்தி, உங்கள் சமூகத்தின் பிற முக்கிய பங்களிப்பாளர்களைத் தடுக்கலாம்.
நீங்கள் தேவையற்ற பங்களிப்பை மூடுவதற்காக வருத்தம் கொள்ள தேவையில்லை. காலப்போக்கில், உங்கள் திட்டத்தில் பதிலளிக்கப்படாத இடுவுகள் மற்றும் இழு கோரிக்கைகள் மனஅழுத்தத்தையும், அச்சுறுத்தலையும் அதிகரிக்கிறது.
நீங்கள் ஏற்க விரும்பாத பங்களிப்புகளை உடனடியாக மூடிவிடுதல் நல்லது. உங்கள் திட்டத்தில் ஏற்கனவே வேலைகள் நிறைய இருந்தால், [திறம்பட சிக்கல்களை எவ்வாறு தீர்க்க முடியும்](https://words.steveklabnik.com/how-to-be-an-open-source-gardener) @steveklabnik சொல்லும் சில பரிந்துரைகள்.
இரண்டாவதாக, பங்களிப்புகளை புறக்கணிப்பது உங்கள் சமூகத்திற்கு ஒரு எதிர்மறை சமிக்ஞையை அனுப்புகிறது. ஒரு திட்டத்திற்கு பங்களிப்பது அச்சுறுத்தலாக இருக்கலாம், குறிப்பாக ஒருவரின் முதல் முறை. நீங்கள் அவர்களின் பங்களிப்பை ஏற்றுக் கொள்ளாவிட்டாலும், அதன் பின்னால் உள்ள நபரிடம் ஒப்புக்கொள்வதோடு, அவர்களின் ஆர்வத்திற்கு நன்றி தெரிவிக்கவும். இது ஒரு பெரிய பாராட்டு!
பங்களிப்பை ஏற்றுக்கொள்ள விரும்பவில்லை எனில்:
* **நன்றி சொல்லுங்கள்** அவர்களின் பங்களிப்புக்காக
* **திட்டத்தின் வரம்பிற்குள் ஏன் இது பொருந்தாது** என்பதை விளக்கவும், முன்னேற்றத்துக்கான தெளிவான பரிந்துரைகளை வழங்கவும். பரிவுடன் அதே சமயம் உறுதியுடன் இருங்கள்.
* **தொடர்புடைய ஆவணங்களுடன் இணையுங்கள்**, உங்களிடம் இருந்தால். நீங்கள் ஏற்றுக்கொள்ள விரும்பாத விடயங்களுக்கு மீண்டும் மீண்டும் கோரிக்கைகளை நீங்கள் கண்டால், தவிர்க்கவேண்டிய ஆவணத்தில் அவற்றைச் சேர்க்கவும்.
* **கோரிக்கையை மூடவும்**
நீங்கள் பதிலளிப்பதற்கு 1-2 க்கும் மேற்பட்ட வாக்கியங்கள் தேவையில்லை. உதாரணமாக, [செலரியின்](https://github.com/celery/celery/) ஒரு பயனரின் விண்டோஸ் தொடர்பான பிழை அறிக்கைக்கு, @berkerpeksag [மறு மொழி](https://github.com/celery/celery/issues/3383):

இல்லை என கூறுவதற்கு அச்சமிருந்தால், நீங்கள் மட்டும் தனித்து இல்லை. @jessfraz [கூறுவதுபோல்](https://blog.jessfraz.com/post/the-art-of-closing/):
> பல திறந்த மூல திட்டங்கள், மெசோஸ், குபெர்னிஸ், குரோமியம் ஆகியவற்றின் பராமரிப்பாளர்களிடம் நான் பேசியபோது, அவர்கள் அனைவருக்கும் நீங்கள் விரும்பாத இணைப்புகளை "இல்லை" என்று கூறுவது ஒரு பராமரிப்பாளரின் கடினமான பகுதிகளில் ஒன்று என்று ஓப்புக்கொண்டனர்.
ஒருவரின் பங்களிப்பை ஏற்றுக்கொள்ள விரும்பாதது பற்றி குற்றவுணர்வு கொள்ளவேண்டிய அவசியமில்லை. திறந்த மூலத்தின் முதல் விதி, @shykes [கூற்றுப்படி](https://twitter.com/solomonstre/status/715277134978113536) : _"இல்லை என்பது தற்காலிகம், ஆம் என்பது நிரந்தரம்."_ மற்றொரு நபரின் உற்சாகத்துடன் சமரசம் செய்வது ஒரு நல்ல விஷயம், ஒரு பங்களிப்பை நிராகரிப்பது என்பது பின்னால் உள்ள நபரை நிராகரிப்பது போலவே அல்ல.
இறுதியில், ஒரு பங்களிப்பு போதுமானதாக இல்லையென்றால், அதை ஏற்றுக்கொள்வதற்கான எந்த கடமையும் இல்லை. உங்கள் திட்டத்தில் மக்கள் பங்களிக்கும் போது, தயவுசெய்து பதிலளிக்கவும், ஆனால் நீங்கள் உண்மையிலேயே நம்பும் மாற்றங்களை ஏற்கவும். இல்லை என அடிக்கடி சொல்வதால், அது எளிமையாகிறது. உண்மை.
### செயல்திறனுடன் இருங்கள்
முதல் இடத்தில் தேவையற்ற பங்களிப்புகளின் அளவு குறைக்க, உங்கள் பங்களிப்பு செயல்முறை உங்கள் பங்களிப்பு வழிகாட்டி பங்களிப்புகளை சமர்ப்பிக்கும் மற்றும் ஏற்றுக்கொள்வதையும் விளக்கவும்.
பல குறைந்த தரவரிசை பங்களிப்புகளைப் பெறுகிறீர்கள் என்றால், பங்களிப்பாளர்கள் பணிபுரியும் பணி செய்யும்முன் செய்யவேண்டியவைகளில் சில உள்ளன. உதாரணமாக:
* ஒரு இடுவு அல்லது இழு கோரிக்கை வார்ப்புரு/பட்டியல் நிரப்புக
* ஒரு இழு கோரிக்கை சமர்ப்பிக்கும் முன் ஒரு இடுவு திறக்கவும்
அவர்கள் உங்கள் விதிகள் பின்பற்றவில்லை என்றால், உடனடியாக இடுவை மூடிவிட்டு உங்கள் ஆவணத்தை சுட்டிக்காட்டவும்.
இந்த அணுகுமுறை முதலில் தவறாக உணரக்கூடும் என்றாலும், இரு கட்சிகளுக்கும் நன்மை பயக்கும். நீங்கள் ஏற்கெனவே பல மணிநேரம் வீணடிக்கப்பட்ட வேலைகளில் ஒருவரை இழுக்க வேண்டுமென்ற வாய்ப்பு குறைகிறது. அது உங்கள் பணிச்சுமையை எளிதாக நிர்வகிக்க உதவுகிறது.
சில நேரங்களில், நீங்கள் இல்லை என சொல்லும்போது, உங்கள் பங்களிப்பாளருக்கு வருத்தமளிக்கலாம் அல்லது உங்கள் முடிவை விமர்சிக்கலாம். அவர்களின் நடத்தை விரோதமானது என்றால், [நிலைமையைத் தணிப்பதற்கான நடவடிக்கைகளை எடுக்கவும்](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) அல்லது ஆக்கபூர்வமாக ஒத்துழைக்க தயாராக இல்லை என்றால் அவர்களை உங்கள் சமூகத்திலிருந்து நீக்கவும்.
### வழிகாட்டுதலை அரவணையுங்கள்
ஒருவேளை உங்கள் சமூகத்தில் உள்ளவர்கள் உங்கள் திட்டத்தின் தரத்தைச் சந்திக்காத பங்களிப்பைச் சமர்ப்பிக்கலாம். நிரந்தரமாக நிராகரிக்கப்படுவதன் மூலம் இரு கட்சிகளுக்கும் ஏமாற்றமளிக்கலாம்.
உங்கள் திட்டத்தை யாராவது ஆர்வத்துடன் பார்க்கிறார்களோ, ஆனால் சிறிது மெருகூற்றல் தேவைப்படுவதால், பொறுமையாக இருங்கள். ஒவ்வொரு சூழ்நிலையிலும் அவர்களின் பங்களிப்புகள் திட்டத்தின் எதிர்பார்ப்புகளை ஏன் பூர்த்தி செய்யவில்லை என்பதை தெளிவாக விளக்குங்கள். எளிமையான அல்லது குறைவான தெளிவற்ற பணியை சுட்டிக்காட்டும் முயற்சியில், "நல்ல முதல் பிழை" என்ற பெயரில், அவர்களுக்கு நல்ல தொடக்கத்தை ஊக்கப்படுத்தவேண்டும். உங்களிடம் நேரம் இருந்தால், அவர்கள் முதல் பங்களிப்பு மூலம் அவர்களை வழிகாட்டுதல், அல்லது உங்கள் சமூகத்தில் வழிகாட்ட வேறு யாரையேனும் ஒருவரை கண்டுபிடியுங்கள்.
## உங்கள் சமூகத்தை ஊக்குவிக்கவும்
நீங்களே எல்லாவற்றையும் செய்ய வேண்டியதில்லை. உங்கள் திட்டத்தின் சமூகம் ஒரு காரணத்திற்காக உள்ளது! செயல்படும் பங்களிப்பாளர்களைக் கொண்டிராவிட்டாலும் கூட, நிறைய பயனர்கள் இருந்தால், அவர்களை கொண்டு வேலை செய்யுங்கள்.
### பணிச்சுமையை பகிர்ந்து கொள்ளுங்கள்
நீங்கள் அடுத்தவர்கள் பங்களிக்க விரும்பினால், அவர்களிடம் உதவியை கேட்கவும்.
புதிய பங்களிப்பாளர்கள் மீண்டும் மீண்டும் பங்களிப்பதை நீங்கள் காணும்போது, அதிக பொறுப்புகளை வழங்குவதன் மூலம் அவர்களின் வேலைகளை அங்கீகரியுங்கள். மற்றவர்கள் தலைமைத்துவ பாத்திரங்களாக வர விரும்பினால், எவ்வாறு வளரலாம் என்பதை ஆவணப்படுத்தவும்.
[திட்டப்பணியின் முதலாளுமையை பகிர](../building-community/#share-ownership-of-your-project) அடுத்தவர்களை ஊக்கப்படுத்துவத்தின் மூலம் உங்கள் சொந்த பணிச்சுமையை பெரிதும் குறைக்க முடியும், என @lmccart தனது திட்டப்பணியில் கண்டறிந்தார், [p5.js](https://github.com/processing/p5.js?files=1).
நீங்கள் உங்கள் திட்டத்திலிருந்து தற்காலிகமாகவோ அல்லது நிரந்தரமாக விலக வேண்டியிருந்தால், வேறு யாரிடமேனும் உங்கள் திட்டத்தை எடுத்துக்கொள்ளுமாறு கேட்டுக்கொள்வதில் எந்த வருத்தமும் கொள்ள தேவையில்லை.
மற்றவர்கள் அதன் திசையைப் பற்றி ஆர்வத்துடன் இருந்தால், அவர்களுக்கு அணுகல் வழங்க அல்லது அதிகாரப்பூர்வமாக மற்றவர்களிடம் கட்டுப்பாட்டை ஒப்படைக்கவும். யாராவது உங்கள் திட்டத்தின் கிளையை, வேறு எங்காவது பராமரித்து வந்தால், உங்கள் அசல் திட்டத்திடமிருந்து பிணைப்பை இணைக்கவும். பல மக்கள் உங்கள் திட்டம் வாழ வேண்டும் என எண்ணுவது பெரிய விஷயம்!
@progrium திட்டத்தின் நோக்கை ஆவணப்படுத்திருந்ததால், அவர் திட்டத்தில் இருந்து விலகி பின்னர் கூட [Dokku](https://github.com/dokku/dokku) அந்த இலக்குகளை வாழ உதவியது என [கண்டறிந்தார்](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/)
> நான் விரும்பியதை விவரிக்கும் ஒரு விக்கி பக்கத்தையும் நான் ஏன் விரும்பினேன் என்றும் எழுதினேன். சில காரணங்களால், பராமரிப்பாளர்கள் அந்த திசையில் திட்டத்தை நகர்த்தியதில் எனக்கு ஆச்சரியமாக இருந்தது! அது நான் நகர்த்துவதை போல இருந்ததா? எல்லா நேரத்திலும் இல்லை. ஆனால் நான் எழுதியதை நோக்கி திட்டத்தை கொண்டு சென்றது.
### மற்றவர்களுக்குத் தேவையான தீர்வுகளை உருவாக்கவும்
உங்களுடைய திட்டம் என்ன செய்ய வேண்டும் என்பதைப் பொறுத்து ஒரு பங்களிப்பாளருக்கு வித்தியாசமான அபிப்ராயம் இருந்தால், அவர்கள் தங்கள் சொந்த கிளையில் வேலை செய்ய மெதுவாக ஊக்குவிக்க வேண்டும்.
ஒரு திட்டத்தை நகலெடுப்பது ஒரு கெட்ட காரியம் அல்ல. திட்டங்களை நகலெடுத்து மாற்றியமைப்பது திறந்த மூலத்தில் உள்ள விஷயங்களில் ஒன்றாகும். உங்கள் சமூக உறுப்பினர்கள் தங்கள் சொந்த கிளையில் வேலை செய்ய ஊக்குவிப்பார்கள், உங்கள் திட்டத்தின் பார்வைக்கு முரணாக இல்லாமல், அவர்கள் தேவைப்படும் படைப்புக்கு வெளிச் செல்லும் வழியை வழங்க முடியும்.
அதேபோல், இது உங்களுக்கு அலைக்கற்றை இல்லாத பொழுது உங்கள் தீர்வை உண்மையில் விரும்பும் ஒரு பயனருக்கு இது பொருந்தும். APIகள் மற்றும் தனிப்பயனாக்குதல் கொக்கிகள் வழங்குவதன் மூலம், மற்றவர்கள் தங்கள் சொந்த தேவைகளை பூர்த்தி செய்ய முடியும், மூலத்தை நேரடியாக மாற்றியமைக்க முடியாது. கோகோபாட்களுக்கான கூடுதல் ஊக்குவிப்புகளை "மிகவும் சுவாரஸ்யமான சில கருத்துக்களுக்கு" வழிவகுத்தது என்று @orta [கண்டறிந்தார்](https://artsy.github.io/blog/2016/07/03/handling-big-projects/):
> ஒரு திட்டம் பெரியதாகிவிட்டால், அவை புதிய குறியீட்டை அறிமுகப்படுத்துவது பற்றி மிகவும் பழமைவாதமாக இருக்க வேண்டும் என்பது கிட்டத்தட்ட தவிர்க்க முடியாதது. நீங்கள் "இல்லை" என்று சொல்வது நல்லது, ஆனால் நிறைய பேர் சட்டப்பூர்வ தேவைகளை கொண்டிருக்கிறார்கள். எனவே, அதற்கு பதிலாக நீங்கள் ஒரு கருவியாக உங்கள் மேடையாக மாற்ற முடிகிறது.
## தானியங்கு பொறிகளை கொண்டு வாருங்கள்
மற்றவர்கள் உங்களுக்கு உதவக்கூடிய பணிகளைச் செய்வது போலவே, எந்தவொரு மனிதனும் செய்ய வேண்டாத பணிகளும் உள்ளன. தானியங்கு பொறிகள் உங்கள் நண்பர்களே. ஒரு பராமரிப்பாளராக உங்கள் வாழ்வை எளிதாக்குவதற்கு அவற்றைப் பயன்படுத்துங்கள்.
### உங்கள் குறியீட்டின் தரத்தை மேம்படுத்துவதற்கு சோதனைகள் மற்றும் பிற சரிபார்ப்பு முறைகள் தேவை
சோதனைகளை சேர்ப்பதன் மூலம் நீங்கள் உங்கள் திட்டத்தை தானியங்க செய்யக்கூடிய மிக முக்கியமான வழிகளில் ஒன்றாகும்.
சோதனைகள், பங்களிப்பாளர்களுக்கு அவர்கள் எதையும் உடைக்க மாட்டார்கள் என்று நம்பிக்கையை தருகிறது. விரைவாக பங்களிப்புகளை மதிப்பாய்வு செய்து ஏற்றுக்கொள்வதற்கும் அவை எளிதாக்குகின்றன. நீங்கள் துரிதமாக பதிலளிக்கிறீர்கள் என்றால், உங்கள் சமுதாயத்தை இன்னும் அதிகமாக ஈடுபடுத்தலாம்.
அனைத்து எதிர்வரும் பங்களிப்புகளை இயக்கும் தானியங்கு சோதனைகள் அமைக்கவும், உங்கள் சோதனைகளை எளிதில் பங்களிப்பவர்களால் இயக்க முடியும் என்பதை உறுதி செய்யவும். அனைத்து குறியீட்டு பங்களிப்புகளும் சமர்ப்பிக்கப்படுவதற்கு முன் உங்கள் சோதனைகளை கடக்க வேண்டும். எல்லா சமர்ப்பிப்புகளுக்குமான குறைந்தபட்ச தரமான தரத்தை அமைக்க உதவுவீர்கள். கிட்ஹப்-இல் [தேவைப்படும் நிலை சரிபார்ப்புக்கள்](https://help.github.com/articles/about-required-status-checks/) உங்கள் சோதனைகளை கடந்துசெல்லாமல் மாற்றம் எதுவும் சேர்க்கப்படாது என்பதை உறுதிப்படுத்த உதவுகிறது.
நீங்கள் சோதனையைச் சேர்த்தால், உங்கள் பங்களிப்புக் கோப்பில் (CONTRIBUTING file) அவர்கள் எவ்வாறு வேலை செய்கின்றன என்பதை விளக்கிச் சொல்லுங்கள்.
### அடிப்படை பராமரிப்பு பணிகளை தானியங்குபடுத்துவதற்கு கருவிகளைப் பயன்படுத்துங்கள்
ஒரு பிரபலமான திட்டத்தை பராமரிப்பது பற்றிய நற்செய்தி என்னவெனில் மற்ற பராமரிப்பாளர்கள் இதே போன்ற பிரச்சினைகளை எதிர்கொண்டு, அதற்காக ஒரு தீர்வை உருவாக்கினர்.
பராமரிப்பு பணியின் சில அம்சங்களை தானியங்குபடுத்துவதற்கு [பல்வேறு வகையான கருவிகள்](https://github.com/showcases/tools-for-open-source) உள்ளன. ஒரு சில உதாரணங்கள்:
* [சொற்பொருள் வெளியீடு](https://github.com/semantic-release/semantic-release) உங்கள் வெளியீட்டை தானியங்குபடுத்துகிறது
* [குறிப்பிடு-செயலி](https://github.com/facebook/mention-bot) இழு கோரிக்கைகளுக்கு சாத்தியமான விமர்சகர்களை குறிப்பிடுகின்றது
* [இடர்](https://github.com/danger/danger) குறியீடு மதிப்பாய்வை தானியங்குபடுத்துவதற்கு உதவுகிறது
பிழை அறிக்கைகள் மற்றும் பிற பொதுவான பங்களிப்புகளுக்கு, கித்ஹப்-இல் உள்ள [சிக்கல் வார்ப்புருக்கள் மற்றும் இழு கோரிக்கை சிக்கல் வார்ப்புருக்கள்](https://github.com/blog/2111-issue-and-pull-request-templates), நீங்கள் பெறும் தகவலை தடையின்றிப் பெருவதற்கு உதவும். @TalAter உங்கள் சிக்கல் மற்றும் PR வார்ப்புருக்கள் எழுதுவதற்கு உதவுவதற்கு [உங்கள் சொந்த சாதனை வழிகாட்டியைத் தேர்வுசெய்யவும்](https://www.talater.com/open-source-templates/#/) உருவாக்கினார்.
உங்கள் மின்னஞ்சல் அறிவிப்புகளை நிர்வகிக்க, [மின்னஞ்சல் வடிகட்டிகள்](https://github.com/blog/2203-email-updates-about-your-own-activity) மூலம் முன்னுரிமை கொடுத்து ஒழுங்குபடுத்தலாம்.
நீங்கள் இன்னும் சிறிது மேம்பட்ட பெற விரும்பினால், பாணி வழிகாட்டிகள் மற்றும் பிசிரிழை மூலம் திட்ட பங்களிப்புகளை தரப்படுத்தி அவற்றை ஆய்வு மற்றும் ஏற்க எளிதாக செய்ய முடியும்.
இருப்பினும், உங்கள் தரவுகள் மிக சிக்கலானதாக இருந்தால், அவர்கள் பங்களிப்புக்கு தடைகளை அதிகரிக்க முடியும். நீங்கள் எல்லோருடைய வாழ்க்கையையும் எளிதாக்கிக்கொள்ள போதுமான விதிகள் மட்டுமே சேர்க்கிறீர்கள் என்பதை உறுதிப்படுத்தவும்.
எந்த கருவிகளைப் பயன்படுத்துவது என்பது உங்களுக்குத் தெரியாவிட்டால், பிற பிரபலமான திட்டங்கள், குறிப்பாக உங்கள் சுற்றுச்சூழலில் உள்ளவை என்ன என்பதைப் பாருங்கள். உதாரணமாக, பங்களிப்பு செயல்முறை பிற முனை தொகுதிகள் எவ்வாறு இருக்கும்? இதேபோன்ற கருவிகள் மற்றும் அணுகுமுறைகளைப் பயன்படுத்துவதன் மூலம் உங்கள் இலக்கு பங்களிப்பாளர்களுக்கு உங்கள் செயல்முறை நன்கு அறியப்படும்.
## இடைநிறுத்தம் எடுப்பது பரவாயில்லை
திறந்த மூல வேலை உங்களுக்கு மகிழ்ச்சியைக் கொடுத்தது. ஒருவேளை இப்போது நீங்கள் தனிமை அல்லது குற்ற உணர்வு கொள்ளலாம்.
உங்கள் திட்டங்களைப் பற்றி நீங்கள் யோசித்துக்கொண்டிருக்கும்போது ஒருவேளை நீங்கள் கவலைகள் அல்லது அச்சம் வளர்வதாக உணரலாம். இதற்கிடையில், பிரச்சினைகள் மற்றும் கோரிக்கைகளை இழுக்கின்றன.
வெளிப்படையான மூல வேலைகளில், குறிப்பாக பராமரிப்பாளர்களிடையே, தீய்வு என்பது ஒரு உண்மையான மற்றும் பரவலான பிரச்சினையாகும். ஒரு பராமரிப்பாளராக, உங்களுடைய மகிழ்ச்சி என்பது திறந்த மூல திட்டத்தின் உயிர் பிழைப்பதற்கான ஒரு நிபந்தனையற்ற தேவையாகும்.
சொல்வதற்கு அவசியமில்லை, ஒரு இடைவெளி எடுத்துக்கொள்ளுங்கள்! ஒரு விடுமுறை எடுக்க எரிந்தொழியும் வரை நீங்கள் காத்திருக்க வேண்டியதில்லை. @brettcannon, ஒரு பைதான் உள்ளக மேம்பாட்டாளர், 14 வருடங்கள் திறந்த மூல தன்னார்வ பணிக்கு பிறகு [ஒரு மாத கால விடுமுறை](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) எடுத்து கொள்ள முடிவு செய்தார்.
வேறு எந்த வகையிலான பணிமுறையையும் போல, வழக்கமான இடைவெளிகளை எடுத்துக் கொண்டால், நீங்கள் உங்கள் வேலையைப் புதுப்பித்து, மகிழ்ச்சியுடன், உற்சாகமாக வைத்திருப்பீர்கள்.
சில நேரங்களில், எல்லோருக்கும் உங்கள் அவசியம் தேவைப்படுவது போல் உணர்ந்தால் திறந்த மூல வேலைகளில் இருந்து இடைவேளி எடுப்பது கடினம். நீங்கள் விலகிச் செல்லவதால் மக்கள் உங்களை குற்றவாளியாக உணர முயற்சி செய்யலாம்.
நீங்கள் ஒரு திட்டத்தில் இருந்து விலகி நிற்கையில், உங்கள் பயனர்களுக்கும் சமூகத்திற்கும் ஆதரவைக் கண்டறிய உதவுங்கள். உங்களுக்குத் தேவையான ஆதரவைக் கண்டுபிடிக்க முடியவில்லை என்றால், எப்படியாவது ஒரு இடைவெளியை எடுங்கள். நீங்கள் கிடைக்காதபோது தொடர்புகொள்வதை உறுதிப்படுத்திக் கொள்ளுங்கள், எனவே உங்கள் மறுமொழியின்மை காரணமாக மக்கள் குழப்பமடைவதில்லை.
இடைவெளிகளை எடுத்துக்கொள்வது வெறும் விடுமுறையை விட அதிகமாகும். நீங்கள் வார இறுதிகளில் திறந்த மூல வேலை செய்ய விரும்பவில்லை என்றால், அல்லது வேலை நேரங்களில், அந்த எதிர்பார்ப்புகளை மற்றவர்களுக்கு தெரிவிக்க வேண்டும், எனவே அவர்கள் உங்களை தொந்தரவு செய்யக்கூடாது என அறிவர்.
## உங்களை முதலில் கவனித்துக் கொள்ளுங்கள்!
ஒரு பிரபலமான திட்டத்தை பராமரிப்பது, முந்தைய வளர்ச்சியை விட வேறுபட்ட திறமைகளுக்குத் தேவை, ஆனால் அது குறைவான நன்மதிப்பும் இல்லை. ஒரு பராமரிப்பாளராக, சிலர் மட்டுமே அனுபவப்படும் தலைமை மற்றும் தனிப்பட்ட திறமைகளை நீங்கள் பயிற்சி செய்வீர்கள். நிர்வகிப்பது எப்போதும் எளிதல்ல, தெளிவான எல்லைகளை அமைத்தல் மற்றும் நீங்கள் வசதியாக உள்ளதை மட்டும் எடுத்துக்கொள்வது, மகிழ்ச்சியாக, புத்துணர்ச்சியுடனும், பயனுள்ளதாகவும் இருக்க உதவும்.
================================================
FILE: _articles/ta/building-community.md
================================================
---
lang: ta
title: வரவேற்பு சமூகங்களை உருவாக்குதல்
description: உங்கள் திட்டத்தை மக்களுக்கு பயன்படுத்தவும், பங்களிக்கவும், ஊக்கப்படுத்தவும் ஒரு சமூகத்தை உருவாக்குங்கள்.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## வெற்றிக்கு உங்கள் திட்டத்தை அமைத்தல்
நீங்கள் உங்கள் திட்டத்தைத் தொடங்கினீர்கள், நீங்கள் வார்த்தை பரப்பி வருகிறீர்கள், அதை பார்க்கிறார்கள். அற்புதம்! இப்போது, அவர்களை எப்படிக் அருகாமையில் வைத்திருப்பது?
ஒரு வரவேற்பு சமூகம் உங்கள் திட்டத்தின் வருங்கால மற்றும் புகழ் முதலீடு ஆகும். உங்கள் திட்டம் அதன் முதல் பங்களிப்பைப் பார்க்க ஆரம்பித்தால், ஆரம்ப பங்களிப்பாளர்களுக்கு ஒரு நேர்மறையான அனுபவத்தை வழங்குவதன் மூலம் தொடங்கவும், மேலும் அவர்கள் மீண்டும் வருவதை எளிதாக்கவும் செய்யுங்கள்.
### மக்கள் வரவேற்பை உணர வேண்டும்
உங்கள் திட்டத்தின் சமூகத்தைப் பற்றி சிந்திக்க ஒரு வழி @MikeMcQuaid [பங்களிப்பாளர் வடிகுழலி](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/) என அழைக்கிறார்.:

நீங்கள் உங்கள் சமூகத்தை உருவாக்கும்போது, வடிகுழலியின் (ஒரு சாத்தியமான பயனர்) ஒருவரை கோட்பாட்டளவில் கீழ்தளத்திற்கு (செயலூக்கமுள்ள பராமரிப்பாளராக) எப்படிக் கொண்டு வரலாம் என்று கருதுங்கள். பங்களிப்பவர் அனுபவத்தின் ஒவ்வொரு கட்டத்திலும் உராய்வுகளை குறைப்பதே உங்கள் குறிக்கோள். மக்கள் எளிதாக வெற்றி காணும்போது, அவர்கள் இன்னும் செய்ய ஊக்கமளிக்கும்.
உங்கள் ஆவணங்களுடன் தொடங்கவும்:
* **உங்கள் திட்டத்தை யாரேனும் பயன்படுத்த எளிதாக செய்தல்.** [ஒரு தோழமையான README](../starting-a-project/#readme-எழுதுவது) மற்றும் தெளிவான குறியீடு எடுத்துக்காட்டுகள் உங்கள் திட்டத்தில் தொடங்குவதற்கு எவருக்கும் எளிதாக இருக்கும்.
* [உங்களின் CONTRIBUTING கோப்பு](../starting-a-project/#உங்கள்-பங்களிப்பு-வழிமுறைகளை-எழுதுதல்) உங்கள் சிக்கல்களை புதுப்பித்த நிலையில் வைத்திருப்பதன் மூலம், **எப்படி பங்களிக்க வேண்டும் என்பதை தெளிவுபடுத்துங்கள்**.
[கிட்ஹப் இன் 2017 திறந்த மூல கருத்தாய்வு](http://opensourcesurvey.org/2017/) மிகப்பெரிய பிரச்சனையாக முழுமையடையாத அல்லது குழப்பமான ஆவணமாக்கலைக் திறந்த மூல பயனர்களுக்கு உள்ளது என காட்டியது. நல்ல ஆவணங்கள் உங்கள் திட்டத்துடன் தொடர்புகொள்வதற்கு மக்களை வரவேற்கின்றது. இறுதியில், யாராவது ஒரு சிக்கலைத் அல்லது இழு கோரிக்கையை திறக்கலாம். இந்த பரஸ்பரங்களைப் பயன்படுத்தி அவற்றை வடிகுழலின் கீழ் வரை நகர்த்துவதற்கான வாய்ப்பாக பயன்படுத்தவும்.
* **உங்கள் திட்டத்தில் யாரேனும் புதியதாக தொடங்கினால், அவர்களுடைய ஆர்வத்திற்கு நன்றி சொல்லுங்கள்!** ஒரே ஒரு எதிர்மறை அனுபவமானது ஒருவரை மறுபடியும் திரும்பி வர விரும்பாமல் செய்துவிடும்.
* **மறுமொழி கூறுங்கள்.** ஒரு மாதம் தங்கள் பிரச்சனைக்கு நீங்கள் பதிலளிக்கவில்லை என்றால் அவர்கள் ஏற்கனவே உங்கள் திட்டத்தை மறந்துவிட வாய்ப்புகள் உள்ளன.
* **நீங்கள் ஏற்றுக் கொள்ள வேண்டிய பங்களிப்புகளை பற்றி திறந்த மனதுடன் இருங்கள்.**பல பங்களிப்பாளர்கள் ஒரு பிழை அறிக்கை அல்லது சிறு பிழைத்திருத்தத்துடன் தொடங்குகின்றனர். ஒரு திட்டத்திற்கு [பங்களிக்க பல வழிகள் உள்ளன](../how-to-contribute/#பங்களிப்பதின்-அர்த்தம்-என்ன). மக்கள் எவ்வாறு உதவ விரும்புகிறார்களோ அவ்வாறே உதவட்டும்.
* **நீங்கள் உடன்படாத ஒரு பங்களிப்பு இருந்தால்,** அவர்கள் கருத்திற்கு நன்றி தெரிவிக்கவும் [ஏன்](../best-practices/#இல்லை-என-சொல்ல-கற்றல்) இது திட்டத்தின் நோக்கத்திற்கு ஏன் பொருந்தவில்லை என, ஆவணத்துடன் (இருந்தால்) சுட்டிக்காட்டவும்.
பெரும்பாலான திறந்த மூல பங்களிப்பாளர்கள் "தற்காலிக பங்களிப்பாளர்கள்": ஒரு திட்டத்தில் பங்களித்தவர்கள் எப்போதாவது மட்டுமே. ஒரு சாதாரண பங்களிப்பாளருக்கு உங்கள் திட்டத்தின்போது வேகத்தை அதிகரிக்க நேரம் கிடைக்காமல் போகலாம், எனவே உங்கள் வேலையை எளிதில் பங்களிக்க உதவும்.
பிற பங்களிப்பாளர்களை உற்சாகப்படுத்துவது உங்களுக்கு ஒரு முதலீடு ஆகும். நீங்கள் உற்சாகமாக பணிபுரியும் உங்கள் பெரிய ரசிகர்களை அதிகப்படுத்தும்போது, எல்லாவற்றையும் நீங்களே செய்வதற்கான அழுத்தம் குறைகிறது.
### அனைத்தையும் ஆவணப்படுத்துங்கள்
நீங்கள் ஒரு புதிய திட்டத்தை தொடங்கும்போது, உங்கள் வேலையைத் தனிப்பட்ட முறையில் வைத்திருக்க இயலும். உங்கள் செயல்முறையை பொதுவில் ஆவணப்படுத்தும்போது, திறந்த மூல திட்டங்கள் செழித்தோங்கும்.
விடயங்களை எழுதும்போது, ஒவ்வொரு அடியிலும் அதிகமானவர்கள் பங்கேற்பார்கள். நீங்கள் உங்களுக்குத் தெரியாத ஒன்றில் உங்களுக்கு உதவி கிடைக்கலாம்.
விடயங்களை எழுதுவது வெறும் தொழில்நுட்ப ஆவணங்களை விட அதிகமானது. எந்த நேரத்திலும் உங்கள் திட்டத்தை விவாதித்து அல்லது தனிப்பட்ட முறையில் கலந்துரையாடுவது எப்போது வேண்டுமானாலும் நீங்கள் உணரலாம், அதை பொதுவெளியில் வைக்கலாமா என்று உங்களை நீங்களே கேளுங்கள்.
உங்கள் திட்டத்தின் திட்ட வரைபடம், நீங்கள் தேடுகிற பங்களிப்புகள், பங்களிப்புகளை மதிப்பாய்வு செய்தல் அல்லது நீங்கள் ஏன் சில முடிவுகளை எடுத்தீர்கள் என்பதை பற்றி வெளிப்படையாக இருங்கள்.
பல பயனர்கள் அதே சிக்கலில் இயங்குவதை நீங்கள் கண்டால், README இல் பதில்களை ஆவணப்படுத்தவும்.
சந்திப்புகளுக்கு, உங்கள் குறிப்புகள் அல்லது எடுத்துக்காட்டுகளை ஒரு பொருத்தமான விவகாரத்தில் வெளியிடுங்கள். வெளிப்படையான இந்த மட்டத்திலிருந்து நீங்கள் பெறும் பின்னூட்டம் உங்களுக்கு ஆச்சரியமாக இருக்கலாம்.
எல்லாவற்றையும் ஆவணப்படுத்துவது என்பது நீங்கள் செய்யும் வேலைக்கும் பொருந்தும். உங்கள் திட்டத்திற்கு ஒரு கணிசமான புதுப்பிப்பை நீங்கள் செய்திருந்தால், அதை ஒரு மிகுதிக் கோரிக்கையுடன் போட்டு, அதை பணி முன்னேற்றத்தில் (WIP) என்று குறிக்கவும். அந்த வழியில், பிற மக்கள் ஆரம்பத்தில் இருந்தே செயல்முறையில் ஈடுபட்டு உணர முடியும்.
### பதிலளிக்க வேண்டும்
நீங்கள் [உங்கள் திட்டத்தை ஊக்குவிக்க](../finding-users), மக்கள் உங்களுக்கு கருத்து தெரிவிக்க வேண்டும். விஷயங்கள் எவ்வாறு வேலை செய்கின்றன என்பதைப் பற்றிய கேள்விகள் இருக்கலாம் அல்லது தொடங்குவதற்கு உதவி தேவைப்படலாம்.
யாராவது ஒரு சிக்கலைப் பதிவுசெய்தால், இழு கோரிக்கையை சமர்ப்பித்தால் அல்லது உங்கள் திட்டத்தைப் பற்றிய கேள்வியை கேட்டால், பதிலளிக்கும் முயற்சியை மேற்கொள்ளுங்கள். நீங்கள் விரைவாக பதிலளிக்கும்போது, அவர்கள் ஒரு உரையாடலின் பகுதியாக இருப்பதாக மக்கள் உணருவார்கள், மேலும் அவர்கள் பங்கு பெறுவதில் ஆர்வம் காட்டுவார்கள்.
நீங்கள் கோரிக்கையை உடனடியாக மதிப்பாய்வு செய்யாவிட்டாலும், ஆரம்பத்தில் அதை ஒப்புக் கொள்ளுதல் என்பது பங்களிப்பை அதிகரிக்க உதவுகிறது. [மிடில்மேன்](https://github.com/middleman/middleman/pull/1466) இழு கோரிக்கைக்கு @tdreyno இவ்வாறு பதிலளித்தார்:

[ஒரு மோசில்லா ஆய்வு](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) 48 மணி நேரத்திற்குள் குறியீட்டு மதிப்பீடுகளைப் பெற்ற பங்களிப்பாளர்கள் மிக அதிகமான எண்ணிக்கையில் திரும்பினர் மற்றும் மீண்டும் பங்களிப்பு செய்தனர் என்று கண்டறிந்தது.
உங்கள் திட்டத்தைப் பற்றிய உரையாடல்கள், இணையம் முழுவதும் பிற இடங்களில் ஸ்டேக் ஓவர்ஃப்ளோ, ட்விட்டர் அல்லது ரெடிட் போன்றவைகளில் நடக்கலாம். இந்த இடங்களில் சில அறிவிப்புகளை நீங்கள் அமைக்கலாம், எனவே யாராவது உங்கள் திட்டத்தை குறிப்பிடுகையில் விழிப்பூட்டப்படுவீர்கள்.
### உங்கள் சமுதாயத்தைக் ஒன்று திரட்ட ஒரு இடம் கொடுங்கள்
உங்கள் சமுதாயத்தை ஒன்று சேர்ப்பதற்கான இடம் கொடுப்பதற்கு இரண்டு காரணங்களாகும்.
முதல் காரணம் அவர்களுக்காக. ஒருவருக்கொருவர் தெரிந்துகொள்ள உதவுங்கள். பொதுவான நலன்களைக் கொண்ட மக்கள் தவிர்க்கவியலாமல் அதைப் பற்றி பேச ஒரு இடம் வேண்டும். தொடர்பு பொதுவிலும் மற்றும் அணுகத்தக்க வகையிலும் இருக்கும் போது, எவராலும் முந்தைய காப்பகங்களை படித்து வேகமாக பங்கு பெற முடியும்.
இரண்டாவது காரணம் உங்களுக்காக. உங்கள் திட்டத்தைப் பற்றி பேசுவதற்கு பொது மக்களுக்கு பொதுவெளியில் இடம் கொடுக்கவில்லை என்றால், அவர்கள் உங்களை நேரடியாக தொடர்புகொள்வார்கள். தொடக்கத்தில், இது தனிப்பட்ட செய்திகளுக்கு பதிலளிக்கும் போது "இது ஒரு முறை" மட்டுமே என எளிதானதாக தோன்றலாம். ஆனால் காலப்போக்கில், குறிப்பாக உங்கள் திட்டம் பிரபலமாகி விட்டால், நீங்கள் சோர்வாக உணருவீர்கள். தனிப்பட்ட முறையில் உங்கள் திட்டத்தைப் பற்றி மக்களுடன் தொடர்பு கொள்வதற்கான தூண்டுதலை எதிர்க்கவும். அதற்கு பதிலாக, ஒரு நியமிக்கப்பட்ட பொது அலைத்தடத்திற்கு அவர்களை வழிநடத்துங்கள்.
உங்கள் வலைப்பதிவில் நேரடியாகவோ அல்லது கருத்து தெரிவிப்பதற்கோ பதிலளிப்பதற்குப் பதிலாக, மக்களை திறந்த சிக்கலுக்கு வழிகாட்டுவதைப்போல பொது தகவல்தொடர்பு மிகவும் எளிது. நீங்கள் ஒரு அஞ்சல் பட்டியலை அமைக்கலாம் அல்லது ஒரு ட்விட்டர் கணக்கை உருவாக்கலாம், ஸ்லாக் அல்லது ஐ.ஆர்.சி சேனல் உங்கள் திட்டத்தை பற்றி பேசுவதற்கு. அல்லது மேலே கூறிய அனைத்தையும் முயற்சி செய்யலாம்!
[குபெர்னீஸ் காப்ஸ்](https://github.com/kubernetes/kops#getting-involved) சமுதாய உறுப்பினர்களுக்கு உதவ ஒவ்வொரு வாரமும் அலுவலக நேரங்களை ஒதுக்கி வைக்கிறது:
> சமூகத்திற்கு உதவி மற்றும் வழிநடத்துதலை வழங்குவதற்காக ஒவ்வொரு வாரமும் காப்ஸ் நேரத்தை ஒதுக்கியுள்ளது. காப்ஸ் பராமரிப்பாளர்கள் குறிப்பாக புதிதாக பணிபுரியும் பணியாளர்களுடன் பணிபுரிவதற்கு அர்ப்பணிக்கப்பட்ட நேரத்தை ஒதுக்கி, PR களுக்கு உதவுவது, புதிய அம்சங்களைப் பற்றி கலந்துரையாட ஒப்புக் கொண்டனர்.
பொது தொடர்புக்கு குறிப்பிடத்தக்க விதிவிலக்குகள்: 1) பாதுகாப்பு பிரச்சினைகள் மற்றும் 2) உணர்ச்சிமிக்க நடத்தை நெறிமுறைகளின் கட்டு மீருகைகள். இந்த சிக்கல்களைத் தனிப்பட்ட முறையில் தெரிவிக்க மக்களுக்கு எப்போதும் ஒரு வழி இருக்க வேண்டும். நீங்கள் உங்கள் தனிப்பட்ட மின்னஞ்சல் பயன்படுத்த விரும்பவில்லை என்றால், ஒரு பிரத்யேக மின்னஞ்சல் முகவரியை அமைக்கலாம்.
## உங்கள் சமூகத்தை வளர்த்தல்
சமூகங்கள் மிகவும் சக்திவாய்ந்தவை. அந்த சக்தி உங்களுக்கு ஆசீர்வாதமாகவோ சாபமாகவோ இருக்கலாம், அதை எவ்வாறு செயலாட்சி செய்கிறோம் என்பதைப் பொறுத்து. உங்கள் திட்டத்தின் சமூகம் வளரும் போது, கட்டுமானத்திற்கு ஒரு சக்தியாக உதவுவதற்கான வழிகளாக இருக்கும், அழிக்கும் வழியாக அல்ல.
### தீங்கு விளைவிப்பவர்களை பொறுத்துக் கொள்ளாதீர்கள்
எந்தவொரு பிரபலமான திட்டமும் தவிர்க்க முடியாமல் தீங்கு விளைவிக்கும் நபர்களை ஈர்க்கும். அவர்கள் தேவையற்ற விவாதங்களைத் தொடங்கலாம், அற்பமான அம்சங்கள் மீது விவாதிக்கலாம் அல்லது மற்றவர்களுக்கு தொல்லை தரலாம்.
இந்த வகையான மக்களிடம் சகிப்பின்மையை கடைப்பிடிப்பது சிறந்தது. இதை தடுக்காமல் விட்டுவிட்டால், எதிர்மறையான மக்கள் உங்கள் சமூகத்தில் பிறருக்கு சங்கடத்தை ஏற்படுத்தலாம். அவர்கள் விலக கூட நேரிடலாம்.
உங்கள் திட்டத்தின் அற்பமான அம்சங்களைப் பற்றிய வழக்கமான விவாதங்கள் முக்கியமான விஷயங்களில் கவனம் செலுத்துவதில் இருந்து நீங்கள் உட்பட, மற்றவர்களை திசை திருப்ப கூடியவை. உங்கள் திட்டத்திற்கு வரும் புதிய நபர்கள் இந்த உரையாடல்களைக் காணலாம் மற்றும் பங்கேற்க விரும்பாமல் போகலாம்.
உங்கள் திட்டத்தில் எதிர்மறையான நடத்தை நடக்கும்போது, அதை வெளிப்படையாக அழைக்கவும். ஒரு வகையான ஆனால் உறுதியான தொனியில், அவர்களின் நடத்தை ஏற்றுக்கொள்ளத்தக்கது அல்ல என விளக்கவும். பிரச்சனை தொடர்ந்தால், நீங்கள் [அவர்களை விலகி விடுமாறு கேளுங்கள்](../code-of-conduct/#உங்கள்-நடத்தை-விதித்-தொகுப்பை-செயல்படுத்ததுதல்). உங்கள் [நடத்தை குறியீடு](../code-of-conduct/) இந்த உரையாடல்களுக்கு ஒரு ஆக்கபூர்வமான வழிகாட்டியாக இருக்கலாம்.
### பங்களிப்பவர்கள் எங்கிருந்தாலும் அவர்களை சந்திக்கவும்
உங்கள் சமூகம் வளரும் போது நல்ல ஆவணங்கள் மிக முக்கியமானதாக மாறும். உங்கள் திட்டத்தினை நன்கு அறிந்திருக்காத சாதாரண பங்களிப்பாளர்கள், அவர்களுக்கு தேவையான சூழலை விரைவாக பெற உங்கள் ஆவணங்களைப் படிக்கவும்.
உங்கள் பங்களிப்புக் (CONTRIBUTING) கோப்பில், புதிய பங்களிப்பாளர்களை எவ்வாறு தொடங்குவது என்பதைத் தெளிவாக வெளிப்படுத்துங்கள். இந்த நோக்கத்திற்காக நீங்கள் ஒரு பிரத்யேக பிரிவை உருவாக்க விரும்பலாம்.[Django](https://github.com/django/django), உதாரணமாக, புதிய பங்களிப்பாளர்களை வரவேற்க ஒரு சிறப்பு இறங்கும் பக்கம் வைத்துள்ளார்.

உங்கள் பிரச்சினை வரிசையில், பல்வேறு வகை பங்களிப்பாளர்களுக்கு பொருத்தமான பிழைகளுக்கு விவரத்துணுக்கு கொடுக்கவும்: உதாரணத்திற்கு, [_"முதல் முறை பங்களிப்பாளர்களுக்கு மட்டும்"_](https://kentcdodds.com/blog/first-timers-only), _"நல்ல முதல் பிழை"_, அல்லது _"ஆவணங்கள்"_. [இந்த விவரத்துணுக்குகள்](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) யாராவது உங்கள் திட்டத்திற்கு புதியவர்கள் விரைவாக உங்கள் பிரச்சினைகளை பார்பதற்கும், தொடங்குவதற்கும் எளிதாக்குகின்றன.
கடைசியாக, ஒவ்வொரு அடியிலும் மக்கள் வரவேற்பைப் பெற உங்கள் ஆவணங்களைப் பயன்படுத்தவும்.
உங்கள் திட்டத்தில் உள்ள பெரும்பாலான மக்களுடன் நீங்கள் தொடர்பு கொள்ள மாட்டீர்கள். நீங்கள் பெறாத பங்களிப்புகள் இருக்கலாம், ஏனெனில் யாரோ ஒருவர் பயமுறுத்தப்பட்டார் அல்லது எங்கு தொடங்குவது என தெரியாமல் இருக்கலாம். உங்கள் திட்டத்தை இருந்து யாரேனும் விலகுவதை உங்களின் ஒரு சில கனிவான வார்த்தைகளால் தடுக்கலாம்.
உதாரணமாக, [ரூபினிஸ்](https://github.com/rubinius/rubinius/) இங்கே எப்படி [அதன் பங்களிப்பு வழிகாட்டியை](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md) தொடங்குகியது:
> ரூபினியஸைப் பயன்படுத்துவதற்கு நன்றி தெரிவிப்பதன் மூலம் நாம் துவங்க வேண்டும். இந்த திட்டம் காதலால் உருவானது, மற்றும் பிழைகள் பிடிக்க, செயல்திறன் மேம்பாடுகள், மற்றும் ஆவணங்களை உதவி என்று அனைத்து பயனர்களையும் பாராட்டுகிறோம். ஒவ்வொரு பங்களிப்பும் அர்த்தமுள்ளது, எனவே பங்கு பெறுவதற்கு நன்றி. இதனால் கூறப்படுவதன் என்னவெனில், உங்களுடைய பிரச்சினையை வெற்றிகரமாக தீர்க்க நாங்கள் பின்பற்றும் சில வழிகாட்டு நெறிகள் நீங்கள் பின்பற்ற வேண்டும் .
### Share ownership of your project
உரிமையாளர்களாக உணர்கையில் மக்கள் திட்டங்களுக்கு பங்களிப்பதில் உற்சாகமாக உள்ளனர். நீங்கள் உங்கள் திட்டத்தின் பார்வையிலிருந்து விலக வேண்டும் அல்லது நீங்கள் விரும்பாத பங்களிப்பை ஏற்க வேண்டும் என்று அர்த்தமில்லை. ஆனால் நீங்கள் மற்றவர்களை கௌரவப்படுத்தும் பொழுது, அவர்கள் இன்னும் அதிகமாகக் பங்களிப்பார்கள்.
உங்கள் சமூகத்துடன் உரிமையை எவ்வளவு பகிர முடியுமோ அந்தளவு வழிகளை நீங்கள் கண்டுபிடிக்க முடியுமா என்பதைப் பார்க்கவும். சில யோசனைகள்:
* **எளிதாக (அல்லாத முக்கிய) பிழைகளை சரிசெய்வதை எதிர்க்கவும்.** அதற்கு மாறாக, புதிய பங்களிப்பாளர்களைப் பணியமர்த்துவதற்கான வாய்ப்பாக அவற்றைப் பயன்படுத்துங்கள் அல்லது பங்களிக்க விரும்பும் ஒரு வழிகாட்டியாக இருக்க வேண்டும். இது முதலில் இயற்கைக்கு மாறானதாக தோன்றலாம், ஆனால் உங்கள் முதலீடு காலப்போக்கில் திரும்பிவிடும். உதாரணமாக, @michaeljoseph சிக்கலைக் குறைக்க, தானே சரிசெய்யாமல், ஒரு பங்களிப்பாளரிடம் [Cookiecutter](https://github.com/audreyr/cookiecutter) இழு கோரிக்கை எழுப்புமாறு கேட்டார்.

* [சினாட்ரா](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md) போன்று உங்கள் திட்டத்தில் பங்களித்த அனைவருக்கும் **உங்கள் திட்டத்தில் ஒரு பங்களிப்பாளர்கள்(CONTRIBUTORS) அல்லது நூலாசிரியர்கள்(AUTHORS) கோப்பைத் தொடங்கவும்.**
* உங்கள் சமூகம் பெரியதாயிருந்தால், **ஒரு செய்திமடலை முடிக்க அல்லது வலைப்பதிவு இடுகையை எழுதுவதன் முலம்** பங்களிப்பாளர்களுக்கு நன்றி சொல்லுங்கள். ரஸ்ட்-ன் [இந்த வாரம் ரஸ்ட்](https://this-week-in-rust.org/) மற்றும் ஹூடி-ன் [கூச்சலிடுங்கள்](http://hood.ie/blog/shoutouts-week-24.html) இரண்டு நல்ல உதாரணங்களாகும்.
* **ஒவ்வொரு பங்களிப்பாளரும் ஒப்பவிக்கும் அனுமதி தரவும்.** இது மக்களை [அவர்களின் இணைப்புகளை மெருகூட்டுவதற்கு மிகவும் உற்சாகமாக இருக்கிறது](https://felixge.de/2013/03/11/the-pull-request-hack.html)என்று @felixge கண்டறிந்தார், மேலும் அவர் சமீபத்தில் வேலை செய்யாத திட்டங்களில் கூட புதிய பராமரிப்பாளர்களைக் கண்டார்.
* உங்கள் திட்டம் கிட்ஹப் இல் இருந்தால், **உங்கள் திட்டத்தை உங்கள் தனிப்பட்ட கணக்கிலிருந்து ஒரு [அமைப்பாக](https://help.github.com/articles/creating-a-new-organization-account/)** மாற்றவும் மற்றும் குறைந்தது ஒரு காப்பு நிர்வாகியை சேர்க்கவும். வெளிப்புற ஒத்துழைப்பாளர்களுடன் திட்டங்களில் வேலை செய்வதை நிறுவனங்கள் எளிதாக்குகின்றன.
உண்மை என்னவென்றால், [பெரும்பாலான திட்டங்களுக்கு](https://peerj.com/preprints/1233/) பெரும்பாலான வேலைகள் செய்யக்கூடிய ஒன்று அல்லது இரண்டு பராமரிப்பாளர்கள் இருப்பர். பெரிய திட்டம், மற்றும் உங்கள் சமூகம் பெரியதாக இருப்பின், எளிதாக உதவியை கண்டுபிடிக்க முடியும்.
அழைப்பிற்கு பதில் தெரிவிக்க யாரும் இல்லை என்றாலும், ஒரு சமிக்ஞையைத் தட்டினால், மற்றவர்கள் அதில் கலந்துகொள்ளும் வாய்ப்புகளை அதிகரிக்கிறது. எவ்வளவு முந்தி நீங்கள் ஆரம்பிக்கிறீர்களோ, விரைவில் மக்களால் உதவ முடியும்.
## முரண்பாடுகளை தீர்த்தல்
உங்கள் திட்டத்தின் ஆரம்ப கட்டங்களில், பெரிய முடிவுகளை எடுப்பது எளிதானது. நீங்கள் ஏதாவது செய்ய விரும்பினால், நீங்கள் அதை செய்யலாம்.
உங்கள் திட்டம் மிகவும் பிரபலமாகும்போது, நீங்கள் செய்யும் தீர்மானங்களில் ஆர்வம் அதிகரிக்கும். உங்களுக்கு ஒரு பெரிய பங்களிப்பாளர் சமூகம் இல்லையெனிலும், உங்கள் திட்டத்தில் நிறைய பயனர்கள் இருந்தால், முடிவுகளை எடுப்பதில் அல்லது தங்கள் சொந்த பிரச்சினைகளை எழுப்புவதில் உங்களை எடை போடலாம்.
பெரும்பாலும், நீங்கள் ஒரு நட்பு, மரியாதைக்குரிய சமூகம் பயிரிட்டால் மற்றும் உங்கள் செயல்முறைகளை வெளிப்படையாக ஆவணப்படுத்தியிருந்தால், உங்கள் சமூகம் தீர்மானத்தைக் கண்டறிய முடியும். ஆனால் சில நேரங்களில் ஒரு சில சிக்கல்களில் நீங்கள் உரையாட சிறிது கடினமான இருக்கலாம்.
### இரக்கத்திற்கு கோல் வைக்கவும்
உங்கள் சமூகம் கடினமான சிக்கலைக் கொண்டுவருகையில், கோபம் அதிகரிக்கும். மக்கள் கோபமாக அல்லது விரக்தியடைந்து, ஒருவருக்கொருவர் அல்லது உங்களிடத்தில் கோபம் கொள்ளலாம்.
ஒரு பராமரிப்பாளராக உங்கள் வேலை இந்த சூழ்நிலைகளை அதிகரிக்காமல் பார்க்க வேண்டும். உங்களுக்கு ஒரு தலைப்பில் ஒரு வலுவான கருத்து இருந்தால் கூட, போராட்டத்தில் குதித்து விடாமல் அல்லது உங்கள் கருத்துக்களை தள்ளி விடாமல், ஒரு நடுவராக நிலையை எடுக்க முயற்சிக்கவும். யாரோ ஒருவர் கலகலப்பாகவோ அல்லது உரையாடலை ஏகபோகமாகவோ செய்தால், [உடனடியாக செயல்பட்டு](../building-community/#தீங்கு-விளைவிப்பவர்களை-பொறுத்துக்-கொள்ளாதீர்கள்) விவாதங்களை பொறுப்புள்ளதாக மற்றும் ஆக்கமிக்கதாக செய்யுங்கள்.
மற்றவர்கள் வழிநடத்துதலுக்காக உங்களைத் தேடுகிறார்கள். ஒரு நல்ல உதாரணம் அமையுங்கள். நீங்கள் இன்னமும் ஏமாற்றம், துயரத்தை அல்லது கவலையை வெளிப்படுத்தலாம், ஆனால் அமைதியாக செய்யலாம்.
உங்களை சாந்தமாக வைத்துக்கொள்வது எளிதானது அல்ல, ஆனால் உங்கள் சமூகத்தின் ஆரோக்கியத்தை மேம்படுத்துவது என்பது தலைமைத்துவத்தை நிரூபிக்கிறது. இணையம் நன்றி சொல்லும்.
### உங்கள் README ஐ ஒரு அரசியலமைப்பாக நடத்துங்கள்
உங்கள் README [வழிமுறைகளின் தொகுப்பை விடவும் மேலானது](../starting-a-project/#readme-எழுதுவது). இது உங்கள் இலக்குகள், தயாரிப்பு பார்வை, மற்றும் திட்ட வரைபடங்களைப் பற்றி பேசுவதற்கான இடமாகும். ஒரு குறிப்பிட்ட அம்சத்தின் தகுதியைப் பற்றி விவாதிக்க மக்கள் கவனம் செலுத்தினால், அது உங்கள் README ஐ மறுபரிசீலனை செய்ய மற்றும் உங்கள் திட்டத்தின் உயர்ந்த பார்வை பற்றி பேச உதவும். உங்கள் README இல் கவனம் செலுத்துவது உரையாடலைப் பயன்படுத்துகிறது, எனவே நீங்கள் ஒரு ஆக்கபூர்வமான விவாதம் செய்யலாம்.
### பயணத்தின் மீது கவனம் செலுத்துங்கள், இலக்கு அல்ல
சில திட்டங்கள் பெரிய முடிவுகளை எடுக்க வாக்களிக்கும் செயல்முறையைப் பயன்படுத்துகின்றன. முதல் பார்வையில் புத்திசாலித்தனமாக, வாக்களிப்பது ஒருவரது கவலையைப் பேசுவதற்கும், பேசுவதற்கும் பதிலாக "பதில்" பெறுவதை வலியுறுத்துகிறது.
வாக்களிப்பு அரசியல் ரீதியாக மாறலாம், அங்கு சமூக உறுப்பினர்கள் ஒருவருக்கொருவர் உத்வேகம் கொடுப்பதாக அல்லது ஒரு குறிப்பிட்ட வழியில் வாக்களிக்க அழுத்தம் கொடுக்கின்றனர். உங்கள் சமூகத்தில் எல்லோரும் வாக்குகளிப்பது இல்லை, அது [அமைதி பெரும்பான்மை](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users) உள்ளவர்கள் அல்லது ஒரு வாக்களிக்க தெரியாத தற்போதைய பயனர்கள் யாராயினும்.
சில நேரங்களில், வாக்களிப்பது அவசியமான ஒரு தேவையான சமநிலை முறிகை ஆகும். இருப்பினும், உங்களால் முடிந்த அளவுக்கு, ஒருமித்த கருத்தை விட ["சமரசம் தேடுவதை"](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) வலியுறுத்துகின்றன.
ஒரு கருத்தொன்றைத் தேடும் செயல்முறையின் கீழ், சமுதாய உறுப்பினர்கள் தாங்கள் போதுமான அளவு கேட்டிருப்பதை உணரும் வரை முக்கிய கவலைகளை விவாதிக்கின்றனர். சிறிய கவலை மட்டுமே இருக்கும் போது, சமூகம் முன்னோக்கி நகர்கிறது. ஒரு சமூகம் ஒரு சரியான பதிலை அடைய முடியாது என்பதை ஒப்புக்கொள்கிறது. அதற்கு பதிலாக, அதை கேட்பதற்கும் மற்றும் விவாதிப்பதற்கு முன்னுரிமை கொடுக்கவும்.
நீங்கள் ஒரு கருத்தொன்றைத் தேடும் நடைமுறையை உண்மையில் பின்பற்றவில்லை என்றால், ஒரு திட்ட பராமரிப்பாளராக, நீங்கள் கவனிப்பதை மக்கள் அறிந்திருப்பது அவசியம். மற்றவர்கள் கேட்டதை உணர்ந்து, தங்கள் கவலைகளை தீர்ப்பதில் ஈடுபடுவதால், சிக்கலான சூழ்நிலைகளைத் தூண்டுவதற்கு நீண்ட தூரம் செல்கிறது. பிறகு, உங்கள் வார்த்தைகளை செயல்களோடு பின்பற்றுங்கள்.
ஒரு தீர்மானம் எடுப்பதற்காக விரைந்து முடிவை எடுக்க வேண்டாம். எல்லோரும் கேட்டதை உணர்ந்து கொள்ளுங்கள் மற்றும் அனைத்துத் தகவலும் ஒரு தீர்மானம் நோக்கி நகரும் முன் பகிரங்கமாக்கப்பட்டுள்ளது.
### உரையாடலை நடவடிக்கைகளில் கவனம் செலுத்துக
கலந்துரையாடல் முக்கியம், ஆனால் உற்பத்தி மற்றும் ஆக்கபூர்வமற்ற உரையாடல்களுக்கு இடையே வேறுபாடு உள்ளது.
விவாதத்திற்கு ஊக்கமளிக்கும் வரை அது தீவிரமாக தீர்மானம் நோக்கி நகரும். உரையாடலைத் தாமதப்படுத்துவது அல்லது புறப்படுவது என்பது தெளிவாக இருந்தால், தனிப்பட்டவர்கள், அல்லது சிறு விவரங்களைப் பற்றி மக்கள் குற்றம் சாட்டுகிறார்கள், அதை மூடுவதற்கான நேரம்.
இந்த உரையாடல்களைத் தொடர அனுமதிப்பது நடப்பிலுள்ள பிரச்சினைக்குத் தீமை மட்டுமல்ல, உங்கள் சமூகத்தின் ஆரோக்கியத்திற்கு மோசமானது. இந்த வகையான உரையாடல்கள் அனுமதிக்கப்படுவதையோ, ஊக்கப்படுத்தினாலும், அது எதிர்கால பிரச்சினைகளை எழுப்புவதையோ அல்லது தீர்ப்பதிலோ இருந்து மக்களை ஊக்கங்கெடுக்கலாம்.
உங்களுக்கோ மற்றவர்களுக்கோ எவ்விதமான குறிப்பையும் கொண்டு, உங்களைக் கேட்டுக்கொள்ளுங்கள், _"இது எப்படி ஒரு தீர்மானத்திற்கு நெருக்கமாக உள்ளது?"_
உரையாடலை அவிழ்க்கத் தொடங்கினால், குழுவைக் கேட்கவும் _"அடுத்தடுத்து எடுக்கும் நடவடிக்கை என்ன?"_ உரையாடலை மறுசீரமைக்க.
ஒரு உரையாடல் தெளிவாக போகவில்லை என்றால், எடுக்கும் தெளிவான நடவடிக்கைகள் எதுவும் இல்லை, அல்லது அதற்கான நடவடிக்கை ஏற்கனவே எடுக்கப்பட்டு விட்டது, சிக்கலை மூடிவிட்டு நீங்கள் ஏன் மூடினீர்கள் என்பதை விளக்குங்கள்.
### உங்கள் போர்களை புத்திசாலித்தனமாக எடுக்கவும்
சூழல் முக்கியமானது. கலந்துரையாடலில் யார் ஈடுபட்டு உள்ளனர், எப்படி அவர்கள் மற்ற சமூகத்தை பிரதிநிதித்துவப்படுத்துகிறார்கள் என்பதையும் கவனியுங்கள்.
சமுதாயத்தில் எல்லோரும் சோகமாக இருக்கிறார்களா, அல்லது இந்த பிரச்சினையுடன் கூட ஈடுபடுகிறார்களா? அல்லது ஒரு தனி தொந்தரவு? செயலில் உள்ள குரல்களை மட்டுமல்ல, உங்கள் அமைதியான சமூக உறுப்பினர்களைக் கருத்தில் கொள்ள மறக்காதீர்கள்.
உங்கள் சமூகத்தின் பரந்த தேவைகளை சிக்கல் பிரதிநிதித்துவப்படுத்தவில்லை என்றால், சிலருடைய கவலையை நீங்கள் ஒப்புக் கொள்ள வேண்டும். இது ஒரு தெளிவான தீர்மானம் இல்லாமல் தொடர்ச்சியான பிரச்சினை என்றால், தலைப்பில் முந்தைய விவாதங்களை சுட்டிக்காட்டவும் மற்றும் பிரியை மூட வேண்டும்.
### ஒரு சமூக சமநிலை முறிகையாளரை அடையாளம் காணுங்கள்
ஒரு நல்ல அணுகுமுறை மற்றும் தெளிவான தகவல்தொடர்புடன், மிகக் கடினமான சூழ்நிலைகள் தீர்க்கத்தக்கவை. இருப்பினும், ஒரு செயல்திறன் கொண்ட உரையாடலில் கூட, எப்படி நடந்துகொள்வது என்பது பற்றி கருத்து வேறுபாடு இருக்கும். இந்த சந்தர்ப்பங்களில், ஒரு சமநிலை முறிகையாளராக இருக்க ஒரு தனிநபரோ அல்லது குழுவோ அடையாளம் காணுங்கள்.
ஒரு சமநிலை முறிகையாளராக திட்டத்தின் முதன்மை பராமரிப்பாளர் இருக்க முடியும், அல்லது இது வாக்களிக்கும் அடிப்படையில் ஒரு முடிவை எடுக்க மக்கள் ஒரு சிறிய குழு இருக்க முடியும். சமநிலை முறிகையாளரை பயன்படுத்தவதற்கு முன், அடையாளம் கண்டு செயல்முறையை ஆட்சி முறை (GOVERNANCE) கோப்பில் இணைக்கவேண்டும்.
உங்கள் சமநிலை முறிகையாளர் ஒரு கடைசி போக்கிடமாக இருக்க வேண்டும். உங்கள் சமூகம் வளரவும் கற்றுக்கொள்ளவும் பிளவுபடும் பிரச்சினைகள் ஒரு வாய்ப்பாகும். இந்த வாய்ப்புகளைத் தழுவி, முடிந்தவரை ஒரு தீர்மானத்திற்கு நகர்த்துவதற்கு ஒரு கூட்டு செயல்முறையைப் பயன்படுத்துங்கள்.
## சமூகமானது ❤️ திறந்த மூலம்
ஆரோக்கியமான, வளரும் சமுதாயங்கள் ஒவ்வொரு வாரமும் ஆயிரக்கணக்கான மணி நேரம் திறந்த மூலத்திற்கு ஊற்றப்படுகின்றன. பல பங்களிப்பாளர்கள் மற்றவர்களிடம் திறந்த மூலத்தில் - வேலை செய்வதற்கான - அல்லது ஏன் வேலை செய்யவில்லை காரணத்தை சுட்டிக்காட்டுகின்றனர். ஆக்கபூர்வமாக அந்த ஆற்றலை எவ்வாறு தட்டச்சு செய்வது என்பதைக் கற்றுக்கொள்வதன் மூலம், யாரோ ஒருவருக்கு மறக்கமுடியாத திறந்த மூல அனுபவத்தை பெற நீங்கள் உதவுவீர்கள்.
================================================
FILE: _articles/ta/code-of-conduct.md
================================================
---
lang: ta
title: உங்கள் நடத்தை விதி
description: நடத்தை நெறிமுறைகளை பின்பற்றுவதன் மூலம், ஆரோக்கியமான மற்றும் ஆக்கபூர்வமான சமூக நடத்தைக்கு உதவுதல்.
class: coc
order: 8
image: /assets/images/cards/coc.png
related:
- building
- leadership
---
## எனக்கு எதற்கு ஒரு நடத்தை விதித் தொகுப்பு வேண்டும்?
நடத்தை விதித் தொகுப்பு என்பது உங்கள் திட்டத்தின் பங்கேற்பாளர்களுக்கு நடத்தைக்கான எதிர்பார்ப்புகளை நிர்ணயிக்கும் ஆவணம். ஏற்றுக்கொள்வதும், நடைமுறைப்படுத்துவதும், உங்கள் சமூகத்திற்கான ஒரு நேர்மறையான சமூக சூழ்நிலையை உருவாக்க ஒரு நடத்தை விதித் தொகுப்பு உதவும்.
நடத்தை விதித் தொகுப்பு உங்கள் பங்கேற்பாளர்களை மட்டுமல்ல, உங்களையும் பாதுகாக்கும். நீங்கள் ஒரு திட்டத்தை பராமரித்து வந்தால், பிற பங்கேற்பாளர்களிடமிருந்து உற்பத்தியைப் பெறாத மனப்பான்மை, காலப்போக்கில் உங்கள் வேலையைப் பற்றி நீங்கள் வெறுமையாக அல்லது மகிழ்ச்சியற்றதாக உணரலாம்.
நடத்தை விதித் தொகுப்பு ஆரோக்கியமான, ஆக்கபூர்வமான சமூக நடத்தைக்கு உதவுகிறது. உங்கள் செயல்திட்டத்துடன் நீங்கள் அல்லது பிறர் சோர்வடைந்தால், நீங்கள் ஏற்றுக்கொள்ளாத ஒன்றை எவரேனும் செய்தால், நடவடிக்கை எடுக்க உதவுகிறது.
## நடத்தை விதித் தொகுப்பு உருவாக்குதல்
ஆரம்பத்தில் ஒரு நடத்தை விதித் தொகுப்பு உருவாக்க முயற்சிக்கவும்: இதனை நீங்கள் முதலில் உங்கள் திட்டத்தை உருவாக்கும் போது சிறந்தது.
உங்கள் எதிர்பார்ப்புகளைத் தெரிவிப்பதோடு மட்டுமல்லாமல், ஒரு நடத்தை விதித் தொகுப்பு பின்வருமாறு விவரிக்கிறது:
* நடத்தை விதித் தொகுப்பு நடைமுறைக்கு வந்தால் _(சிக்கல்களிலும் இழு கோரிக்கைகளிலும், அல்லது நிகழ்வுகள் போன்ற சமூக நடவடிக்கைகளிலோ மட்டுமே)_
* யாரைப் பின்பற்றுகிறீர்கள் _(சமூக உறுப்பினர்கள் மற்றும் பராமரிப்பாளர்கள், ஆனால் ஆதரவாளர்கள்?)_
* ஒருவர் நடத்தை விதிகளை மீறுவதால் என்ன நிகழும்
* ஒருவர் மீறல்களை எப்படி அறிவிக்க முடியும்
நீங்கள் எங்கு வேண்டுமானாலும், முந்தைய உபாயத்தை பயன்படுத்தவும். [பங்களிப்பாளரின் உடன்படிக்கை](https://contributor-covenant.org/) என்பது ஒரு நடத்தை விதியாகும், இது குபெர்னீஸ், ரெயில்ஸ் மற்றும் ஸ்விஃப்ட் உள்ளிட்ட 40,000 திறந்த மூல திட்டங்களில் பயன்படுத்தப்படுகிறது.
[Django நடத்தை விதித் தொகுப்பு](https://www.djangoproject.com/conduct/) மற்றும் [சிட்டிசன் நடத்தை விதித் தொகுப்பு](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) நடத்தை விதித் தொகுப்புக்கான இரண்டு நல்ல உதாரணங்களாகும்.
உங்கள் திட்டத்தின் மூலம் கோப்பகத்தில் CODE_OF_CONDUCT கோப்பை வைக்கவும், மேலும் உங்கள் CONTRIBUTING அல்லது README கோப்பில் இருந்து அதை இணைப்பதன் மூலம் அதை உங்கள் சமூகத்திற்குத் தெரியப்படுத்தவும்.
## உங்கள் நடத்தை விதித் தொகுப்பு எவ்வாறு செயல்படுவது என்பதை நீங்கள் தீர்மானிப்பீர்கள்
உங்களுடைய நடத்தை எவ்வாறு நடைமுறைப்படுத்தப்படும் என்பதை ஒரு மீறல் ஏற்படும் **_முன்பு_** நீங்கள் விளக்க வேண்டும். அவ்வாறு செய்ய பல காரணங்கள் உள்ளன:
* தேவைப்படும்போது நீங்கள் நடவடிக்கை எடுப்பது பற்றி தீவிரமாக இருப்பதை இது காட்டுகிறது.
* புகார்கள் உண்மையில் மறுபரிசீலனை செய்யப்படுமென உங்கள் சமூகம் இன்னும் உறுதி கொள்ளும்.
* ஒரு மீறலுக்காகத் விசாரிக்கப்படும்பொழுது, மீளாய்வு செயல்முறை நியாயமானது மற்றும் வெளிப்படையானதாக இருக்கும் என்று உங்கள் சமூகத்திற்கு உறுதிப்படுத்துங்கள்.
நடத்தை மீறல்களை மக்கள் தனிப்பட்ட முறையில் புகாரளிக்க (மின்னஞ்சல் முகவரியைப் போன்ற) கொடுக்க வேண்டும், மற்றும் அந்த அறிக்கையை யார் பெறுகிறார்கள் என்பதை விளக்கவும். இது ஒரு பராமரிப்பாளர், பராமரிப்பாளர்களின் குழு, அல்லது நடத்தை விதி குழுவாக இருக்கலாம்.
அந்த அறிக்கையைப் பெறும் நபரைப் பற்றி ஒருவர் மீறல் குறித்து புகாரளிக்க விரும்புவதை மறந்துவிடாதீர்கள். இந்த வழக்கில், வேறு யாரிடாமவது மீறல்களைப் புகாரளிக்க அவர்களுக்கு விருப்பத்தெரிவு கொடுங்கள். உதாரணத்திற்கு, @ctb and @mr-c [தங்கள் திட்டத்தை விளக்குகிறார்கள்](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst), [khmer](https://github.com/dib-lab/khmer):
> துஷ்பிரயோகம், தொந்தரவு, அல்லது ஏற்றுக்கொள்ள முடியாத தன்மை ஆகியவற்றின் நிகழ்வுகள் **khmer-project@idyll.org** என்ற மின்னஞ்சல் மூலம் புகாரளிக்கலாம். டைட்டஸ் பிரவுன் மற்றும் மைக்கேல் ஆர். க்ரூஸோ. அவர்களில் ஒருவர் சம்பந்தப்பட்ட ஒரு சிக்கலைப் புகாரளிக்க மின்னஞ்சல் **ஜுடி பிரவுன் கிளார்க், Ph.D.** பரிணாம வளர்ச்சிக்கான ஆய்விற்கான BEACON மையத்தில் பல்வகைமை பணிப்பாளர், அறிவியல் மற்றும் தொழில்நுட்பத்திற்கான NSF மையம்.*
உத்வேகத்திற்கு, ஜான்கோவின் [அமலாக்க கையேடை](https://www.djangoproject.com/conduct/enforcement-manual/) பார்க்கவும் (உங்கள் திட்டத்தின் அளவைப் பொறுத்து, இவ்வளவு விரிவானது தேவைப்படாமல் இருக்கலாம்).
## உங்கள் நடத்தை விதித் தொகுப்பை செயல்படுத்ததுதல்
சில நேரங்களில், உங்கள் சிறந்த முயற்சிகள் இருந்தபோதிலும், யாரோ ஒருவர் இந்த குறியீட்டை மீறுகிறார்கள். இப்படியாகும் பொழுது எதிர்மறையான அல்லது தீங்கு விளைவிக்கும் தன்மையை எதிர்கொள்ள பல வழிகள் உள்ளன.
### நிலைமையைப் பற்றிய தகவல்களை சேகரிக்கவும்
ஒவ்வொரு சமூக உறுப்பினரின் குரலையும் உங்கள் சொந்தமாக குரலைப்போல முக்கியமாக கருதுங்கள். யாராவது நடத்தை விதிமுறைகளை மீறுவதாக ஒரு அறிக்கையைப் பெற்றால், அது தீவிரமாக எடுத்து, அந்த நபருடன் உங்கள் சொந்த அனுபவத்திற்கு பொருந்தவில்லை என்றாலும், அதைப் பற்றி விசாரிக்கவும். இப்படி நீங்கள் செய்தால், உங்கள் சமுதாயத்திற்கு அவர்களின் கண்ணோட்டத்தை நீங்கள் மதிக்கிறீர்கள், அவர்களின் தீர்ப்பை நம்புகிறீர்கள் என சமிக்ஞை அனுப்புகிறது.
கேள்விக்குரிய சமூக உறுப்பினர்கள் மீண்டும் மீண்டும் குற்றவாளியாக இருக்கலாம், மற்றவர்கள் தொடர்ந்து சங்கடப்படுவார்கள், அல்லது அவர்கள் ஒருமுறை சொல்லியோ அல்லது ஏதாவது செய்திருக்கலாம். இரண்டுமே சூழலைப் பொறுத்து, நடவடிக்கை எடுப்பதற்கு அடித்தளமாக இருக்கலாம்.
நீங்கள் பதிலளிக்கும் முன், என்ன நடந்தது என்பதை புரிந்துகொள்ள நேரம் எடுத்துக்கொள்ளுங்கள். நபரின் கடந்தகால கருத்துகள் மற்றும் உரையாடல்களால் அவர்கள் யார் என்பதை நன்கு புரிந்து கொள்ளவும், ஏன் அவர்கள் அப்படி செயல்பட்டிருக்கலாம் என்பதைப் புரிந்து கொள்ளவும். இந்த நபர் மற்றும் அவற்றின் நடத்தை பற்றி உங்களுடைய சொந்தக் காட்சிகளைத் தவிர்ப்பதற்கு முயற்சிக்கவும்.
### தகுந்த நடவடிக்கை எடுக்கவும்
போதுமான தகவலை சேகரித்து செயலாக்குவதன் பிறகு, என்ன செய்ய வேண்டும் என்பதை நீங்கள் தீர்மானிக்க வேண்டும். உங்கள் அடுத்த நடவடிக்கை குறித்து நீங்கள் கருத்தில் கொள்ளும்போது, ஒரு மதிப்பீட்டாளராக உங்கள் குறிக்கோள் பாதுகாப்பான, மரியாதைக்குரிய மற்றும் ஒத்துழைப்புள்ள சூழலை ஊக்குவிப்பதாக நினைவில் கொள்ளுங்கள். சந்தர்ப்ப சூழ்நிலையை எவ்வாறு சமாளிப்பது என்பது மட்டுமல்லாமல், உங்கள் பதிலின் மீதும் உங்கள் சமூகத்தின் நடத்தையையும் எதிர்பார்ப்புகளையும் முன்னெடுத்துச் செல்வதையும் எப்படிப் பாதிக்கும் என்றும் கவனியுங்கள்.
யாராவது நடத்தை மீறல் புகாரளிக்கும் போது, அதை கையாள வேண்டியது உங்கள் வேலை, அவர்களுடையது அல்ல. சில நேரங்களில், தகவல் தருபவர் தங்கள் வாழ்க்கை, புகழ், அல்லது உடல் பாதுகாப்பிற்கு பெரும் ஆபத்தில் தகவல் வெளிப்படுத்துகிறார். அவர்களது துன்புறுத்தலை எதிர்கொள்ள அவர்கள் ஒரு கட்டாய நிலைக்கு தகவல் தருபவரை அனுப்ப முடியும். தகவல் தருபவர் வெளிப்படையாக கோரிக்கை விடுக்காவிட்டால், கேள்விக்குரிய நபருடன் நேரடியாக தொடர்பு கொள்ள வேண்டும்.
நடத்தை மீறலுக்கு நீங்கள் பதிலளிக்கக்கூடிய சில வழிகள் உள்ளன:
* **கேள்விக்குரிய நபருக்கு ஒரு பகிரங்க எச்சரிக்கையை கொடுங்கள்** மேலும் அவர்களின் நடத்தை மற்றவர்களுக்கு எவ்வாறு தாக்கத்தை ஏற்படுத்துகிறது என்பதை விளக்குங்கள், முன்னர் அது ஏற்பட்ட அலைவரிசையில். சாத்தியமானால், பொதுத்தொடர்பு நீங்கள் நடத்தை நெறியை தீவிரமாக எடுத்துக் கொள்வதை சமூகத்தின் ஏனைய பகுதிகளுக்கு தெரிவிக்கின்றது. பரிவுடன், ஆனால் உங்கள் தொடர்பில் உறுதியாக இருங்கள்.
* கேள்விக்குரிய நபரிடம் அவர்களின் நடத்தை எவ்வாறு மற்றவர்களை பாதிக்கின்றது என்பதை விளக்கும் வகையில் **தனிப்பட்ட முறையில் தொடர்பு கொள்ளுங்கள்**. சூழ்நிலை தனிப்பட்ட தகவலை உள்ளடக்கியிருந்தால், நீங்கள் ஒரு தனிப்பட்ட தொடர்பு அலைவரிசையை பயன்படுத்த விரும்பலாம். நீங்கள் தனிப்பட்ட முறையில் யாரோடேனும் தொடர்பு கொண்டால், முதலில் நிலைமையை அறிக்கை செய்தவர்களை CC(தட்டச்சுப் படி) செய்வது நல்லது, எனவே நீங்கள் நடவடிக்கை எடுத்ததை அவர்கள் அறிவார்கள். புகாரளிக்கும் நபரை CC(தட்டச்சுப் படி) செய்வதற்கு முன் சம்மதம் கேளுங்கள்.
சில நேரங்களில், ஒரு தீர்மானத்தை எட்ட முடியாது. கேள்விக்குரிய நபர் எதிர்படும் பொழுது ஆக்ரோஷமாக அல்லது விரோதமாக மாறலாம் அல்லது மாற்றமடையாமல் போகலாம். இந்த சூழ்நிலையில், நீங்கள் வலுவான நடவடிக்கை எடுக்க வேண்டும். உதாரணத்திற்கு:
* இந்த திட்டத்தின் எந்தவொரு அம்சத்திலும் பங்கு பெறும் தற்காலிக தடையின் மூலம், **கேள்விக்குரிய நபரை திட்டத்தில் இருந்து தற்காலிகமாக நிறுத்தி வைக்கவும்**.
* திட்டத்தில் இருந்து **நபரை நிரந்தரமாக தடை செய்யவும்**.
தடைசெய்யப்பட்ட உறுப்பினர்களை இலகுவாக எடுத்துக் கொள்ளக்கூடாது மற்றும் நிரந்தரமான மற்றும் சமரசமற்ற வேறுபாடுகளின் தோற்றத்தை பிரதிபலிக்க வேண்டும். ஒரு தீர்மானத்தை எட்ட முடியவில்லையே என்று தெளிவாகத் தெரிந்தால் மட்டுமே நீங்கள் இந்த நடவடிக்கைகளை எடுக்க வேண்டும்.
## பராமரிப்பாளராக உங்கள் பொறுப்புகள்
தன்னிச்சையாக நடைமுறைப்படுத்த, நடத்தை நெறிமுறை ஒரு சட்டம் அல்ல. நடத்தை விதித் தொகுப்பு செயல்படுத்துபவது மற்றும் நடத்தை நெறிமுறை நிறுவும் விதிகளை பின்பற்றவது உங்கள் பொறுப்பு.
ஒரு பராமரிப்பாளராக உங்கள் சமூகத்தின் வழிகாட்டுதல்களை நீங்கள் நிறுவுவதோடு, உங்கள் வழிகாட்டு நெறிமுறையின் விதிமுறைகளின் படி அந்த வழிமுறைகளை நடைமுறைப்படுத்தவும். அதாவது நடத்தை விதி மீறல் குறித்த எந்தவொரு அறிக்கையையும் தீவிரமாக எடுத்துக்கொள்வதாகும். புகாரளிக்கும் நபர், தங்கள் புகாரை ஒரு முழுமையான மற்றும் நியாயமான மறு ஆய்வு கடன் பட்டிருக்கிறார். அவர்கள் புகார் அளித்த நடத்தை மீறல் அல்ல என்பதை நீங்கள் தீர்மானித்தால், அவர்களுக்குத் தெளிவாகத் தொடர்பு கொண்டு, நீங்கள் ஏன் நடவடிக்கை எடுக்கப் போவதில்லை என்பதை விளக்கவும். அவர்கள் என்ன செய்கிறார்கள் என்பது அவர்களை பொருத்தது: அவர்கள் ஒரு சிக்கல் உள்ள நடத்தை சகித்துக் கொள்ளலாம் அல்லது சமூகத்தில் பங்கு பெறுவதை நிறுத்தலாம்.
நடத்தை முறையை _technically_ மீறாத நடத்தை பற்றிய அறிக்கை உங்கள் சமூகத்தில் ஒரு சிக்கல் இருக்கிறது என்பதைக் குறிக்கலாம், மேலும் இந்த சிக்கலைப் பற்றி விசாரித்து அதன்படி செயல்பட வேண்டும். இது உங்கள் நடத்தையின் விதித் தொகுப்பை மறுசீரமைக்க மற்றும் ஏற்றுக்கொள்ளக்கூடிய நடத்தையை தெளிவுபடுத்தும் மற்றும்/அல்லது கேள்விக்குரிய நபருடன் பேசுவதோடு, அவர்கள் நடத்தை விதிகளை மீறும் போது, அவர்கள் எதிர்பார்ப்பது என்ன என்று விளிம்பில் சாய்வது, பங்கேற்பாளர்கள் சங்கடமாக உணர்கிறார்கள்.
முடிவில், ஒரு பராமரிப்பாளராக, ஏற்றுக்கொள்ளத்தக்க நடத்தைக்கான தரங்களை நீங்கள் அமைத்து நிர்வகிக்கிறீர்கள். உங்களுக்கு திட்டத்தின் சமூக மதிப்புகள் வடிவமைக்கும் திறன் உள்ளது, மற்றும் பங்கேற்பாளர்கள் நீங்கள் ஒரு நியாயமான மற்றும் பாரபட்சமற்ற வழியில் அந்த மதிப்புகளை செயல்படுத்த வேண்டும் என்று எதிர்பார்க்கிறார்கள்.
## நீங்கள் உலகில் பார்க்க விரும்பும் நடத்தை ஊக்குவிக்கவும் 🌎
ஒரு திட்டம் விரோதமானதாகவோ அல்லது அசைக்கமுடியாததாகவோ தோன்றினால், மற்றவர்களின் நடத்தை சகித்துக்கொள்ளும் ஒரே ஒரு நபராக இருந்தாலும், நீங்கள் இன்னும் பல பங்களிப்பாளர்களை இழக்க நேரிடும், நீங்கள் சந்திக்காத சிலர் உட்பட. நடத்தை நெறிமுறைகளை பின்பற்றுவது அல்லது நடைமுறைப்படுத்துவது எப்போதும் எளிதல்ல, ஆனால் வரவேற்புமிக்க சூழல் உங்கள் சமூகத்தை வளர்க்க உதவும்.
================================================
FILE: _articles/ta/finding-users.md
================================================
---
lang: ta
title: உங்கள் திட்டத்திற்கான பயனர்களைக் கண்டறிதல்
description: மகிழ்ச்சியான பயனர்களின் கைகளில் தருவதன் மூலம் உங்கள் திறந்த மூல திட்டத்தை வளர உதவுங்கள்.
class: finding
order: 3
image: /assets/images/cards/finding.png
related:
- beginners
- building
---
## வார்த்தை பரப்புதல்
நீங்கள் ஒரு திறந்த மூல திட்டத்தை தொடங்கும் பொழுதே ஊக்குவிக்க வேண்டும் என்று எந்த விதியும் இல்லை. திறந்த மூலத்தில் பணியாற்றுவதற்கு பல முழுமையடைக்கூடுய காரணங்கள் உள்ளன, அவை பிரபலத்துவத்திற்காக இல்லை. உங்கள் திறந்த மூல திட்டத்தை கண்டுபிடித்துப் பயன்படுத்துவதற்கு மற்றவர்களை நம்புவதற்குப் பதிலாக, உங்களின் கடின உழைப்பைப் பற்றி வார்த்தைகளைப் பரப்ப வேண்டும்!
## உங்கள் செய்தியைக் கண்டறியவும்
உங்கள் திட்டத்தை ஊக்குவிப்பதற்கான உண்மையான பணியைத் தொடங்குவதற்கு முன், நீங்கள் என்ன செய்ய வேண்டும் என்பதை விளக்கவும், ஏன் முக்கியம் என்பதை விளக்கவும் முடியும்.
உங்கள் திட்டம் வித்தியாசமானதா அல்லது சுவாரஸ்யமானதா? நீங்கள் ஏன் அதை உருவாக்கினீர்கள்? இந்த கேள்விகளுக்கு பதில் அளிப்பது, உங்கள் திட்டத்தின் முக்கியத்துவத்தை நீங்கள் பரப்புவதற்கு உதவும்.
பயனர்கள் பயனர்களாக ஈடுபடுவதை நினைவில் கொள்ளுங்கள், இறுதியில் பங்களிப்பாளர்களாகி விடுகிறார்கள், ஏனென்றால் உங்கள் திட்டம் அவர்களுக்கு ஒரு சிக்கலை தீர்க்கிறது. உங்கள் திட்டத்தின் செய்தி மற்றும் மதிப்பைப் பற்றி நீங்கள் சிந்திக்கும்போது, _பயனர்கள் மற்றும் பங்களிப்பாளர்கள்_ விரும்பும் கண்ணாடி வில்லை மூலம் அவற்றைப் பார்க்க முயற்சி செய்யுங்கள்.
எடுத்துக்காட்டாக, @robb [வரைபடவியல்](https://github.com/robb/Cartography), ஏன் பயனுள்ளதாக இருக்கும் என்பதைப் பற்றிய தெளிவான குறியீடுகளைப் பயன்படுத்துகிறார்:

ஒரு ஆழமான செய்திக்கு, மொஸில்லாவின்["ஆளுமை மற்றும் பாதைகள்"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) பயனர் நபர்களை உருவாக்குவதற்கான பயிற்சியைப் பார்க்கவும்.
## மக்கள் உங்கள் திட்டத்தை கண்டுபிடித்து பின்பற்ற உதவுங்கள்
ஒரு பெயரைக் குறிப்பிடுவதன் மூலம் மக்கள் உங்கள் திட்டத்தை கண்டுபிடித்து, நினைவில் வைக்க உதவுங்கள்.
**உங்கள் வேலையை ஊக்குவிக்க ஒரு தெளிவான கைப்பிடி வேண்டும்.** ஒரு கீச்சர் கைப்பிடி, கிட்ஹப் URL, அல்லது IRC சேனல் உங்கள் திட்டத்தை மக்கள் சுட்டிக்காட்ட ஒரு சுலபமான வழி. Tஇந்த நிலையங்கள் உங்கள் திட்டத்தின் வளர்ந்து வரும் சமூகத்தை கூட்டுவதற்கு ஒரு இடத்தையும் கொடுக்கின்றன.
இன்னும் உங்கள் திட்டத்திற்கான நிலையங்கள் அமைக்க விரும்பவில்லை என்றால், நீங்கள் செய்யும் அனைத்தையும் உங்கள் சொந்த கீச்சர் அல்லது கிட்ஹப் கைப்பிடிகளை விளம்பரப்படுத்தவும். உங்கள் கீச்சர் அல்லது கிட்ஹப் கைப்பிடிகளை மேம்படுத்துவது, உங்களை தொடர்புகொள்வது அல்லது உங்கள் வேலையை எவ்வாறு பின்பற்றுவது என்பதை மக்கள் அறிவர். ஒரு சந்திப்பு அல்லது நிகழ்வில் நீங்கள் பேசினால், உங்கள் தொடர்பு தகவல்கள் உங்கள் ஆளுமைக் குறிப்பு அல்லது விளக்கக்காட்சிகளில் சேர்க்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.
**உங்கள் திட்டத்திற்கான வலைத்தளத்தை உருவாக்குங்கள்.** தெளிவான ஆவணங்கள் மற்றும் பயிற்சிகளுடன் இணைந்திருக்கும் போது, ஒரு வலைத்தளம் உங்கள் திட்டத்தை நட்பு ரீதியாகவும் எளிதாகவும் செல்லவும் செய்கிறது. ஒரு வலைத்தளம் இருப்பதால், உங்கள் திட்டம் செயலில் இருப்பதைக் குறிக்கிறது, இது உங்கள் பார்வையாளர்களை மிகவும் வசதியாக உணர வைக்கும். உங்கள் திட்டத்தை எவ்வாறு பயன்படுத்துவது என்பது குறித்த யோசனைகளை வழங்குவதற்கு உதாரணங்கள் வழங்கவும்.
[@adrianholovaty](https://news.ycombinator.com/item?id=7531689), டிஜாங்கோவின் இணை-படைப்பாளி, ஒரு வலைத்தளம் _"நாங்கள் ஆரம்ப நாட்களில் டிஜாங்கோவில் செய்த சிறந்த விஷயம்"_ என்று கூறினார்.
கிட்ஹப் இல் உங்கள் திட்டம் host செய்யப்பட்டிருந்தால், எளிதாக ஒரு வலைத்தளத்தை உருவாக்க [கிட்ஹப் பக்கங்கள்](https://pages.github.com/) பயன்படுத்தலாம். [யோமன்](http://yeoman.io/), [வேக்ரன்ட்](https://www.vagrantup.com/), மற்றும் [மிடில்மேன்](https://middlemanapp.com/) சிறப்பான, விரிவான வலைத்தளங்களின் [சில உதாரணங்கள்](https://github.com/showcases/github-pages-examples) ஆகும்.

இப்போது உங்கள் திட்டத்திற்கான செய்தியைக் கொண்டிருக்கிறோம், உங்கள் திட்டத்தை மக்கள் கண்டுபிடிக்க எளிய வழி, அங்கு சென்று, உங்கள் பார்வையாளர்களுடன் பேசவும்!
## உங்கள் திட்டத்தின் பார்வையாளர்களிடம் (இயங்கலை) செல்லுங்கள்
இயங்கலை விஞ்சியிறுப்பு விரைவில் வார்த்தையை பகிர மற்றும் பரவ ஒரு சிறந்த வழி. இயங்கலை தடங்களைப் பயன்படுத்தி, மிக அதிகமான பார்வையாளர்களை அடைய உங்களுக்கு வாய்ப்பு உள்ளது.
உங்கள் பார்வையாளர்களை அடைய, ஏற்கனவே இருக்கும் இயங்கலை சமூகங்களையும் தளங்களையும் பயன்படுத்தி கொள்ளுங்கள். உங்கள் திறந்த மூல திட்டம் ஒரு மென்பொருள் திட்டமாக இருந்தால், உங்கள் பார்வையாளர்களை ஒருவேளை [ஸ்டாக் ஓவர்ஃப்ளோ](https://stackoverflow.com/), [ரெட்டிட்](https://www.reddit.com), [ஹாக்கர் நியூஸ்](https://news.ycombinator.com/), or [கோரா](https://www.quora.com/) ஆகியவற்றில் நீங்கள் காணலாம். உங்கள் வேலையினால் மக்கள் மிகவும் பயன் அடையும் அல்லது உற்சாகமாக இருக்க வேண்டும் என நினைக்கும் தடங்களை கண்டறியுங்கள்.
உங்கள் திட்டத்தை பொருத்தமான வழிகளில் பகிர்ந்து கொள்ள வழிகளைக் காண முடியுமா என்பதைக் காணவும்:
* **பொருத்தமான திறந்த மூல திட்டங்கள் மற்றும் சமூகங்களை அறிந்து கொள்ளுங்கள்.** சில நேரங்களில், நீங்கள் நேரடியாக உங்கள் திட்டத்தை ஊக்குவிக்க வேண்டியதில்லை. உங்கள் திட்டமானது பைத்தானைப் பயன்படுத்தும் தரவு விஞ்ஞானிகளுக்கு சரியானது என்றால், பைத்தான் தரவு அறிவியலாளரை அறிந்து கொள்ளுங்கள். மக்கள் உங்களுக்குத் தெரிந்தால், உங்கள் வேலையைப் பற்றி பேசுவதற்கும், பகிர்ந்து கொள்வதற்கும் வாய்ப்புகள் இயற்கையாக எழும்.
* **உங்கள் திட்டத்தை சரிசெய்யும் சிக்கலை எதிர்கொள்ளும் நபர்களைக் கண்டறியவும்.** உங்கள் திட்டத்தின் இலக்கு பார்வையாளர்களில் விழும் நபர்களை தொடர்புடைய கருத்துக்களம் மூலம் தேடலாம். அவர்களின் கேள்விக்கு பதில் மற்றும் உத்தமமான வழியை கண்டுபிடிக்கவும், தக்க சமயத்தில் ஒரு தீர்வாக உங்கள் திட்டத்தை பரிந்துரைக்கவும்.
* **கருத்துக்களைக் கேட்கவும்.** உங்களையும் உங்கள் வேலையும் ஒரு பார்வையாளருக்கு, அதனுடன் தொடர்புடையதாகவும் சுவாரசியமாகவும் இருக்கும்படி அறிமுகப்படுத்தவும். உங்கள் திட்டத்தில் இருந்து யார் பயனடையலாம் என நீங்கள் நினைப்பதைப் பற்றி குறிப்பிடவும். Tவாக்கியத்தை முடிக்க முயற்சிக்கும் போது: _"என் திட்டம் உண்மையில் Y- ஐ செய்ய முயற்சிக்கும் X-க்கு உதவும் என்று நினைக்கிறேன்_". வெறுமனே உங்கள் வேலையை ஊக்குவிப்பதை விட, மற்றவர்களின் கருத்துக்களைக் கேட்டு மறுமொழி கூறுங்கள்.
பொதுவாக, மற்றவர்களிடம் எதிர் உதவி கேட்கும் முன்பு, உதவுவதில் கவனம் செலுத்துங்கள். யாரும் எளிதாக ஒரு திட்டத்தை இயங்கலையில் ஊக்குவிக்க முடியும் என்பதால், கூச்சல் நிறைய இருக்கும். கூட்டத்தில் இருந்து தனித்து நிற்க, மக்களிடம் நீங்கள் எதை விரும்புகிறீர்கள் என்று மட்டுமல்லாமல், நீங்கள் யார் என்பதையும் கூறவும்.
யாரும் கவனத்தை ஈர்க்காவிட்டால் அல்லது உங்கள் ஆரம்ப முயற்சிகளுக்கு பதிலளிக்காவிட்டால், மனந்தளர வேண்டாம்! பெரும்பாலான திட்டங்களை அறிமுகப்படுத்த மாதங்கள் அல்லது ஆண்டுகள் ஆகலாம். நீங்கள் முதல் முறையாக பதிலைப் பெறவில்லையெனில், வேறு தந்திரோபாயத்தை முயற்சிக்கவும் அல்லது மற்றவர்களின் வேலைக்கு மதிப்பு சேர்க்க வழிகளைத் தேடுங்கள். உங்கள் திட்டத்தை மேம்படுத்த மற்றும் துவக்க நேரம் மற்றும் அர்ப்பணிப்பு ஆகியவற்றை எடுக்கும்.
## உங்கள் திட்டத்தின் பார்வையாளர்களிடம் (முடக்கலை) செல்லுங்கள்

முடக்கலை நிகழ்வுகள் பார்வையாளர்களுக்கு புதிய திட்டங்களை மேம்படுத்துவதற்கான ஒரு பிரபலமான வழியாகும். ஈடுபட்டுள்ள பார்வையாளர்களை அடைய மற்றும் ஆழமான மனித இணைப்புகளை உருவாக்க அது ஒரு சிறந்த வழி, குறிப்பாக நீங்கள் நிரலாளர்களை அடைவதில் ஆர்வமாக இருந்தால்.
நீங்கள் [பொது பேச்சிற்கு புதிது](https://speaking.io/) என்றால், உங்கள் திட்டத்தின் மொழி அல்லது சுற்றுச்சூழல் தொடர்பான உள்ளூர் சந்திப்பைக் கண்டுபிடிப்பதன் மூலம் தொடங்கவும்.
நீங்கள் முன்பு ஒரு நிகழ்வில் பேசிய அனுபவம் இல்லையென்றால், பதற்ற உணர்வு முற்றிலும் சாதாரணமானது! உங்கள் வேலையைப் பற்றி உண்மையிலேயே கேட்க விரும்புவதால் உங்கள் பார்வையாளர்கள் அங்கு இருப்பதை நினைவில் வையுங்கள்.
உங்கள் பேச்சை எழுதும்போது, உங்கள் பார்வையாளர்களுக்கு சுவாரசியமானவற்றையும், மதிப்பை கொடுப்பதையும் கவனத்தில் கொள்ளவும். உங்கள் மொழி நட்பு மற்றும் அணுகக்கூடியதாக வையுங்கள். புன்னகையுங்கள், சுவாசியுங்கள், கேளிக்கை கொள்ளுங்கள்.
நீங்கள் தயாராக இருந்தால், உங்கள் திட்டத்தை மேம்படுத்த மாநாட்டில் பேசுங்கள். மாநாடுகள் பலரைச் சென்றடைய உதவும், சில நேரங்களில் உலகம் முழுவதும்.
உங்கள் மொழி அல்லது சுற்றுச்சூழல் தொடர்பான குறிப்பிட்ட மாநாடுகளைப் பாருங்கள். உங்கள் பேச்சுக்கு முன், மாநாட்டில் கலந்துரையாடலைப் பேசுவதற்கு உங்கள் உரையைச் சுருக்கமாக ஆராயுங்கள், மாநாட்டில் பேசுவதற்கான வாய்ப்புகள் அதிகரிக்கும். மாநாட்டின் பேச்சாளர்களைப் பார்த்து நீங்கள் உங்கள் பார்வையாளர்களை உணர்வீர்கள்.
## நற்பெயர் உருவாக்கவும்
மேலே கோடிட்டுள்ள உத்திகளைத் தவிர்த்து, உங்கள் திட்டத்தில் பங்கெடுக்க மற்றும் பங்களிக்க மக்களை அழைப்பதற்கான சிறந்த வழி அவர்களின் திட்டங்களை பகிர்ந்து மற்றும் பங்களிக்க வேண்டும்.
புதியவர்களுக்கு உதவி, வளங்களை பகிர்தல், மற்றவர்களின் திட்டங்களுக்கு சிந்தனைக்குரிய பங்களிப்புகளை செய்வது ஆகியவை நேர்மறையான நற்பெயரை உருவாக்க உதவும். திறந்த மூல சமுதாயத்தில் செயலில் உள்ள உறுப்பினராக இருப்பதால், உங்கள் வேலைக்கு மக்கள் சூழலைக் கொண்டிருப்பார்கள், மேலும் உங்கள் திட்டத்தை கவனத்தில் எடுத்து, பகிர்ந்து கொள்ளலாம். மற்ற திறந்த மூல திட்டங்களுடனான உறவை வளர்ப்பதன் மூலம் உத்தியோகபூர்வ கூட்டுக்களுக்கு வழிவகுக்கலாம்.
உங்கள் நற்பெயரைத் தொடங்குவதற்கு என்றும் முன்னதாகவோ அல்லது மிகவும் தாமதமாக இல்லை. நீங்கள் ஏற்கனவே உங்கள் சொந்த திட்டத்தை ஆரம்பித்திருந்தாலும், மற்றவர்களுக்கு உதவ வழிகளைத் தேடுங்கள்.
பார்வையாளர்களை உருவாக்குவதற்கு ஒரே இரவில் தீர்வு இல்லை. நம்பிக்கையையும் மற்றவர்களுடைய மரியாதையையும் பெற்றுக்கொள்வது நேரம் எடுக்கும், உங்கள் நற்பெயரைக் கட்டி முடிக்காது.
## பொறுமை காக்கவும்
உங்கள் திறந்த மூல திட்டத்தை மக்கள் கவனிக்க முன் நீண்ட நேரம் எடுக்கலாம். பரவாயில்லை! மிக பிரபலமான சில திட்டங்கள் இன்று அதிக அளவில் நடவடிக்கைகளை எட்டுவதற்கு பல ஆண்டுகள் எடுத்தன. உங்கள் திட்டம் தன்னிச்சையாக புகழ் பெறும் என்று நம்புவதற்குப் பதிலாக உறவுகளை மேம்படுத்தவதில் கவனம் செலுத்துங்கள். பொறுமையாக இருங்கள், உங்கள் வேலையைப் பாராட்டுபவர்களுடன் பகிர்ந்து கொள்ளுங்கள்.
================================================
FILE: _articles/ta/getting-paid.md
================================================
---
lang: ta
title: திறந்த மூல வேலைக்கு பணம் பெறுதல்
description: உங்கள் நேரத்தை அல்லது உங்கள் திட்டத்திற்கான நிதி ஆதாரத்தை பெறுவதன் மூலம் திறந்த மூலத்தில் உங்கள் பணியைத் தொடரவும்.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## ஏன் சிலர் நிதி ஆதரவை நாடுகின்றனர்
பெரும்பான்மையான திறந்த மூல வேலை தன்னார்வலர்களால் செய்யப்படுகிறது. உதாரணமாக, யாரோ ஒருவர் அவர்கள் ஒரு திட்டத்தில் ஒரு பிழையைச் சந்திக்க நேரிடலாம் அல்லது ஒரு விரைவான பிழைத்திருத்தத்தை சமர்ப்பிக்கலாம், அல்லது திறந்த மூல திட்டத்திற்கு தங்களது ஓய்வு நேரத்திலே பழுது நீக்கல் செய்யலாம்.
ஒரு திறந்த மூல வேலைக்காக ஒரு நபர் பணம் பெற விரும்பவில்லை என்பதற்கு பல காரணங்கள் உள்ளன.
* **அவர்கள் ஏற்கனவே விரும்பும் ஒரு முழுநேர வேலையை கொண்டுள்ளார்கள்**, அதனால் அவர்களது ஓய்வு நேரத்தில் திறந்த மூலத்திற்கு பங்களிக்க உதவுகிறது.
* **அவர்கள் பொழுதுபோக்கு அல்லது ஆக்கப்பூர்வமான விலகலுக்காக திறந்த மூலத்தைப்** பற்றி நினைத்து மகிழ்கிறார்கள், தங்கள் திட்டங்களில் பணியாற்றுவதற்காக நிதி ரீதியாக கடமைப்பட்டிருக்க விரும்பவில்லை.
* தங்கள் நற்பெயரை அல்லது இலாக்காகளை உருவாக்கி, ஒரு புதிய திறமையைக் கற்றுக்கொள்வது அல்லது ஒரு சமூகத்திற்கு நெருக்கமாக உணருதல் போன்ற பிற திறன்களை **திறந்த மூலத்திற்கு பங்களிக்கப்பதன் மூலம் ஆதாயங்களாக அவர்கள் பெறுகிறார்கள்**.
மற்றவர்களுக்கு, குறிப்பாக நன்கொடைகள் தொடர்ககின்ற றல்லது குறிப்பிடத்தக்க நேரத்திற்கு தேவைப்படும் போது, திறந்த மூலத்திற்கு பங்களிக்க பணம் செலுத்துவது மட்டுமே அவர்கள் பங்கேற்கக்கூடிய ஒரே வழி, திட்டத்திற்கு தேவை, அல்லது தனிப்பட்ட காரணங்களுக்காக அல்ல.
பிரபலமான திட்டங்களை பராமரிப்பது குறிப்பிடத்தக்க பொறுப்பாகும், மாதத்திற்கு சில மணிநேரத்திற்கு பதிலாக வாரத்திற்கு 10 அல்லது 20 மணி நேரம் எடுத்துக்கொள்ளலாம்.
பணம் செலுத்தும் வேலை, வாழ்க்கையின் பல்வேறு துறைகளிலிருந்தும் அர்த்தமுள்ள பங்களிப்புகளை செய்ய உதவுகிறது. சிலர் திறந்த மூல திட்டங்களில் தங்கள் தற்போதைய நிதி நிலை, கடன், அல்லது குடும்பம் அல்லது பிற கவனிப்பு கடமைகளின் அடிப்படையில் பணம் செலுத்தப்படாத நேரத்தை செலவிட முடியாது. அதாவது, தங்கள் நேரத்தை தன்னார்வத் தொகையை வழங்க முடியாத திறமையான மக்களிடமிருந்து பங்களிப்பை உலகம் காணாது. இதில் நீதிநெறிக்குரிய உட்குறிப்பீடுகள் உள்ளதால், @ashedryden[விவரித்ததுப்போல்](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community), வாழ்க்கையில் நன்மைகளை அனுபவிப்பவர்களுக்கே ஆதரவளித்து பணி செய்யப்படுவதால், தன்னார்வ பங்களிப்புகளை அடிப்படையாகக் கொண்டு கூடுதல் நன்மைகள் கிடைக்கும், பின்னர் தன்னார்வத் தொண்டு செய்யாத மற்றவர்கள் பின்னர் வாய்ப்புகளை பெறவில்லை, இது திறந்த மூலத்தின் சமூகத்தின் தற்போதைய பல்வகைமையை வலுப்படுத்தும்.
நீங்கள் நிதி ஆதரவு தேடுகிறீர்களானால், இரண்டு பாதைகள் பரிசீலிக்கப்படுகின்றன. உங்கள் சொந்த நேரத்தை ஒரு பங்களிப்பாளராக நீங்கள் ஆதரிக்கலாம் அல்லது திட்டத்திற்கான நிறுவன நிதியுதவியைக் காணலாம்.
## உங்கள் நேரத்திற்கான நிதிநல்கல்
இன்று, பலர் திறந்த மூலத்தில் பகுதி அல்லது முழுநேர வேலைக்கு பணம் சம்பாதிக்கின்றனர். உங்கள் நேரத்திற்கு பணம் சம்பாதிக்க மிகவும் பொதுவான வழி உங்களை பணி அமர்த்துவரிடம் பேசுவதாகும்.
உங்கள் முதலாளி உண்மையிலேயே திட்டத்தை பயன்படுத்துகிறார்களானால், திறந்த மூல வேலைக்கு ஒரு விஷயத்தை எளிதாக்கலாம், ஆனால் உங்கள் சுருதிடன் ஆக்கப்பூர்வமாகப் பெறலாம். ஒருவேளை உங்கள் முதலாளி இந்த திட்டத்தை பயன்படுத்தவில்லை, ஆனால் பைதான் பயன்படுத்தப்படுகிறது, மேலும் பிரபலமான பைத்தான் திட்டத்தை பராமரிக்க புதிய பைத்தான் நிரல் உருவாக்குபவர்களை ஈர்க்கிறது. ஒருவேளை அது உங்கள் முதலாளி பொதுவாக நிரலர் நட்புக்கு மிகவும் பொருத்தமானதாக இருக்கும்.
நீங்கள் வேலை செய்ய உங்களிடம் திறந்த மூல திட்டப்பணி இல்லை என்றால், தற்போதைய பணி வெளியீடு திறந்த மூலமாக்க, உங்கள் சொந்த மென்பொருளில் சிலவற்றை திறக்க உங்கள் முதலாளிக்கு ஒரு வழக்கு உருவாக்கவும்.
பல நிறுவனங்கள் திறந்த மூல திட்டங்களை தங்கள் வியாபாரக் குறி உருவாக்க மற்றும் செயல் திறனை மிக்கவர்களை பணியமர்த்துவதற்கு உருவாக்குகின்றன.
@hueniverse, உதாரணமாக, [வால்மார்ட்டின் திறந்த மூலதன முதலீட்டை](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html) நியாயப்படுத்த நிதி காரணங்களைக் கண்டறிந்துள்ளனர். மற்றும் ஃபேஸ்புக்கின் திறந்த மூல நிரல் ஆட்சேர்ப்பில் [வேறுபாட்டை உருவாக்கியதை](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) @jamesgpearce கண்டறிந்தார்:
> இது எங்கள் கொந்தர் கலாச்சாரத்துடன் நெருக்கமாக உள்ளது, எங்கள் அமைப்பு எவ்வாறு உணரப்பட்டது. நாங்கள் எங்கள் ஊழியர்களிடம் கேட்டோம், "முகநூலில் திறந்த மூல மென்பொருள் திட்டம் பற்றி நீங்கள் அறிந்திருக்கிறீர்களா?". மூன்றில் இரண்டு பங்கு "ஆம்" என்றார். ஒரு பாதிபேர் அந்த செயல்முறைத் திட்டம் எங்களுக்கு வேலை செய்யத் தீர்மானித்தது. இவை குறுகலான எண்களாக இல்லை, மேலும் தொடர்கின்ற ஒரு போக்கு.
உங்கள் நிறுவனம் இந்த வழியில் செல்லும்பொழுது, சமூகம் மற்றும் பெருநிறுவன செயல்பாடுகளுக்கு இடையில் எல்லைகளை வைத்திருக்க வேண்டியது அவசியம்.இறுதியாக, திறந்த மூலமானது உலகெங்கிலும் உள்ள மக்களிடமிருந்து நன்கொடைகள் மூலம் தன்னைத் தக்கவைத்துக்கொள்வதோடு, எந்த ஒரு நிறுவனத்தையும் அல்லது இடத்தையும் விட இது பெரியதாகும்.
திறந்த மூல வேலைக்கு முன்னுரிமை கொடுக்க உங்கள் தற்போதைய பணியாளரை நீங்கள் சமாதானப்படுத்த முடியாவிட்டால், ஒரு புதிய முதலாளி கண்டுபிடிப்பதை கருத்தில் கொள்க. திறந்த மூல வேலை வெளிப்படையான அர்ப்பணிப்பு செய்யும் நிறுவனங்களைக் கவனியுங்கள். உதாரணத்திற்கு:
* சில நிறுவனங்கள், [நெட்ஃபிக்ஸ்](https://netflix.github.io/), திறந்த மூலத்தில் தங்கள் ஈடுபாட்டை வலைத்தளங்கள்ல் உயர்த்தி உரைக்கின்றன
[Go](https://github.com/golang) அல்லது [React](https://github.com/facebook/react) போன்ற ஒரு பெரிய நிறுவனத்தில் தோன்றிய திட்டங்கள், திறந்த மூலத்தில் மேலும் வேலை செய்ய மக்களைப் பயன்படுத்தக்கூடும்.
இறுதியாக, உங்களுடைய தனிப்பட்ட சூழ்நிலைகளை பொறுத்து, நீங்கள் உங்கள் திறந்த மூல வேலைக்கு நிதி திரட்ட முயற்சி செய்யலாம். உதாரணத்திற்கு:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon தனது [Redux](https://github.com/reactjs/redux) திட்டத்திற்கான நிதியை [பேட்ரியன் கூட்டல் நிதி பிரச்சாரத்தின்](https://redux.js.org/) மூலம் திரட்டினார்.
* @andrewgodwin டிஜாங்க் திட்ட அமைப்புமுறைகளை [kickstarter பிரச்சாரத்தின்](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django) மூலம் திரட்டினார்.
## உங்கள் திட்டத்திற்கான நிதிகளைக் கண்டறிதல்
தனிப்பட்ட பங்களிப்பாளர்களுக்கான ஏற்பாடுகளுக்கு அப்பால், சில நேரங்களில் திட்டங்கள் நிறுவனங்கள், தனிநபர்கள் அல்லது மற்றவர்களிடம் இருந்து பணத்தை திரட்டுகின்றன.
நிறுவன நிதியளிப்பு நடப்பு பங்களிப்பாளர்களுக்கு செலுத்துவதை நோக்கி செல்லலாம், திட்டத்தை இயங்கும் செலவுகள் (ஹோஸ்டிங் கட்டணங்கள் போன்றவை) அல்லது புதிய அம்சங்கள் அல்லது யோசனைகளை முதலீடு செய்தல் ஆகியவற்றை உள்ளடக்கும்.
திறந்த மூலத்தின் புகழ் அதிகரிக்கும்போது, திட்டங்களுக்கான நிதிகளைக் கண்டறிவது இன்னும் பரிசோதனையாகும், ஆனால் சில பொதுவான விருப்பத்தெரிவுகள் உள்ளன.
### பிரச்சாரங்களை அல்லது விளம்பரதாரர்கள் மூலம் உங்கள் பணிக்கான பணம் திரட்டவும்
உங்களிடம் வலுவான பார்வையாளர்களோ அல்லது நற்பெயரைப் பெற்றிருந்தால், உங்கள் திட்டம் மிகவும் பிரபலமாக இருந்தால், நிதியுதவிகளை கண்டறிவது நல்லது.
நிதியளிக்கும் திட்டங்களின் சில உதாரணங்கள் பின்வருமாறு:
* **[வெப்பேக்](https://github.com/webpack)** நிறுவனங்கள் மற்றும் தனிநபர்களிடமிருந்து [OpenCollective மூலம்](https://opencollective.com/webpack) நிதி திரட்டுகிறது
* **[ரூபி டுகேதர்](https://rubytogether.org/),** [பண்ட்லர்](https://github.com/bundler/bundler), [ரூபிஜெம்ஸ்](https://github.com/rubygems/rubygems), மற்றும் பிற ரூபி உள்கட்டமைப்பு திட்டங்களுக்கு பணிக்கு பணம் செலுத்துகின்ற ஒரு இலாப நோக்கமற்ற அமைப்பு
### வருவாய் நீரோடை உருவாக்கவும்
உங்கள் திட்டத்தை பொறுத்து, நீங்கள் வணிக ஆதரவு, ஹோஸ்ட் செய்யப்பட்ட விருப்பங்கள், அல்லது கூடுதல் அம்சங்களுக்கு கட்டணம் வசூலிக்கலாம். ஒரு சில உதாரணங்கள் பின்வருமாறு:
* **[சைட்கிக்](https://github.com/mperham/sidekiq)** கூடுதல் ஆதரவுக்கான கட்டண பதிப்புகள் வழங்குகிறது
* **[டிராவிஸ் சிஐ](https://github.com/travis-ci)** அதன் தயாரிப்பின் கட்டண பதிப்புகள் வழங்குகிறது
* **[கோஸ்ட்](https://github.com/TryGhost/Ghost)** ஒரு இலாப நோக்கமற்றத பணம் செலுத்திய நிர்வகிக்கப்பட்ட சேவை
[என்பிஎம்](https://github.com/npm/cli) and [டாக்கர்](https://github.com/docker/docker), போன்ற சில பிரபலமான திட்டங்கள், தங்கள் வணிக வளர்ச்சியை ஆதரிப்பதற்காக துணிகர மூலதனத்தை அதிகரிக்கின்றன.
### மானிய நிதிக்கு விண்ணப்பிக்கவும்
சில மென்பொருள் அடித்தளங்கள் மற்றும் நிறுவனங்கள் திறந்த மூல வேலைகளுக்கு மானியங்களை வழங்குகின்றன. சில நேரங்களில், திட்டத்திற்கான ஒரு சட்ட நிறுவனம் ஒன்றை அமைக்காமல் தனிநபர்களுக்கு மானியங்கள் வழங்கப்படலாம்.
* **[ரீட் த டாக்ஸ்](https://github.com/rtfd/readthedocs.org)** [மோசில்லா திறந்த மூல ஆதரவு](https://www.mozilla.org/en-US/grants/) மூலம் கொடை பெற்றது
* **[ஓபன்எம்ஆர்எஸ்](https://github.com/openmrs)** பணி [Stripe's திறந்த மூல ரிட்ரேட்](https://stripe.com/blog/open-source-retreat-2016-grantees) மூலம் நிதி பெற்றது
* **[லைப்பிரரி.ஐஓ](https://github.com/librariesio)** [ஸ்லோன் அறக்கட்டளை](https://sloan.org/programs/digital-technology) மூலம் கொடை பெற்றது
* **[பைத்தான் மென்பொருள் அறக்கட்டளை](https://www.python.org/psf/grants/)** பைத்தான் தொடர்பான பணிக்கு மானியங்களை வழங்குகிறது
மேலும் விரிவான விருப்ப தெரிவுகள் மற்றும் வழக்கு ஆய்வுகளுக்கு, திறந்த மூல வேலைக்கு பணம் சம்பாதிக்க @nayafia [ஒரு வழிகாட்டி எழுதினார்](https://github.com/nayafia/lemonade-stand). வெவ்வேறு விதமான நிதியுதவி பல்வேறு திறமைகளுக்குத் தேவைப்படுகிறது, எனவே உங்கள் விருப்பங்களை நீங்கள் சிறப்பாகச் செயல்படுத்துவதை கண்டுபிடிக்க உங்கள் பலத்தை கருத்தில் கொள்ளுங்கள்.
## நிதியுதவிக்கு ஒரு வகை செய்தல்
உங்கள் திட்டம் ஒரு புதிய யோசனையாக இருந்தாலும் அல்லது பல ஆண்டுகளாக இருந்தாலும் சரி, உங்கள் இலக்கு அனுபவத்தை அடையாளம் காண்பதில் குறிப்பிடத்தக்க சிந்தனை வைக்க வேண்டும் மற்றும் ஒரு கட்டாய வழக்கு ஒன்றை உருவாக்கும்.
நீங்கள் உங்கள் சொந்த நேரத்திற்காக அல்லது ஒரு திட்டத்திற்கான நிதி திரட்ட, நீங்கள் பின்வரும் கேள்விகளுக்கு பதிலளிக்க வேண்டும்.
### தாக்கம்
ஏன் இந்த திட்டம் பயனுள்ளதாக இருக்கும்? ஏன் உங்கள் பயனர்கள், அல்லது சாத்தியமான பயனர்கள் அதை விரும்புகிறார்கள்? இது ஐந்து ஆண்டுகளில் எங்கு இருக்கும்?
### இழுவை
உங்கள் திட்டம் முக்கியம் என்பதற்கான அளவீடுகள், நிகழ்வுகள், அல்லது சான்றுகள் ஆதாரங்களாக சேகரிக்க முயற்சிக்கவும். இப்போது உங்கள் திட்டத்தை பயன்படுத்தி வரும் நிறுவனங்கள் அல்லது குறிப்பிடத்தக்க மக்கள் இருக்கிறீர்களா? இல்லையென்றால், ஒரு முக்கிய நபர் அதை ஆதரித்தாரா?
### முதலீட்டாளர்களுக்கு மதிப்பு
முதலீட்டாளர்கள், உங்களுடைய முதலாளிகளோ அல்லது மானிய நிதியளிப்பு நிறுவனமோ அடிக்கடி வாய்ப்புகளை சந்திக்கிறார்கள். வேறு எந்த சந்தர்ப்பத்திலும் உங்கள் திட்டத்தை ஏன் அவர்கள் ஆதரிக்க வேண்டும்? அவர்கள் எப்படி தனிப்பட்ட முறையில் பயனடைகிறார்கள்?
### நிதிகளைப் பயன்படுத்துதல்
முன்மொழியப்பட்ட நிதிக்கு என்ன, சரியாக, நீங்கள் சாதிக்க வேண்டும்? ஊதியத்தை செலுத்துவதற்கு பதிலாக திட்ட மைல்கற்கள் அல்லது விளைவுகளை கவனம் செலுத்துங்கள்.
### எவ்வாறு நீங்கள் நிதிகளைப் பெறுவீர்கள்
முதலீட்டாளர்களுக்கு பிரித்துவழங்குதல் குறித்து ஏதேனும் தேவைகள் உள்ளனவா? எடுத்துக்காட்டாக, நீங்கள் ஒரு இலாப நோக்கமற்றவராக அல்லது லாபமற்ற நிதிய நிதியளிப்பாளராக இருக்க வேண்டும். Oஅல்லது ஒருவேளை நிதி ஒரு நிறுவனத்திற்கு பதிலாக தனிப்பட்ட ஒப்பந்தக்காரருக்கு கொடுக்கப்பட வேண்டும். இந்த தேவைகள் நிதிதாரர்களிடையே வேறுபடுகின்றன, எனவே உங்கள் ஆராய்ச்சி முன்னதாகவே செய்ய வேண்டும்.
## பரிசோதனை செய்யுங்கள் மற்றும் தளர்ந்துவிடாதீர்கள்
பணத்தை உயர்த்துவது எளிதானது அல்ல, நீங்கள் ஒரு திறந்த மூல திட்டம், ஒரு இலாப நோக்கமற்ற அல்லது ஒரு மென்பொருள் துளிர் நிறுவனம், மற்றும் பெரும்பாலான சந்தர்ப்பங்களில் நீங்கள் படைப்பாற்றல் பெற்றிருக்க வேண்டும். நீங்கள் எப்படி பணம் சம்பாதிக்க வேண்டும், ஆராய்ச்சி செய்து, உங்கள் முதலீட்டாளர்களுடைய காலணிகளில் உங்களை வைத்துக் கொள்ளுதல், நிதிக்கு உறுதியான ஒரு சூழ்நிலையை உருவாக்கும்.
================================================
FILE: _articles/ta/how-to-contribute.md
================================================
---
lang: ta
title: திறந்த மூலத்திற்கு எவ்வாறு பங்களிப்பது
description: திறந்த மூலத்திற்கு பங்களிக்க விரும்புகிறீர்களா? புதியவர்கள் மற்றும் துறைத்தேர்ந்தோர்க்கான, திறந்த மூல பங்களிப்புகளை உருவாக்கும் ஒரு வழிகாட்டி.
class: contribute
order: 1
image: /assets/images/cards/contribute.png
related:
- beginners
- building
---
## ஏன் திறந்த மூலத்திற்கு பங்களிக்க வேண்டும்?
திறந்த மூலத்திற்கான பங்களிப்பு, நீங்கள் கற்பனை செய்யக்கூடிய எந்தவொரு திறனுடனும் கற்றல், கற்பித்தல் மற்றும் அனுபவத்தை உருவாக்க ஒரு பயனளிக்கும் வழியாகும்.
ஏன் மக்கள் திறந்த மூலத்திற்கு பங்களிக்க வேண்டும்? நிறைய காரணங்கள்!
### இருக்கும் திறன்களை மேம்படுத்தவும்
நீங்கள் பயிற்சிக்காக குறியீட்டு, பயனர் இடைமுக வடிவமைப்பு, வரைகலை திட்டம், எழுதுதல் அல்லது ஒழுங்குபடுத்துதல் போன்றவற்றை தேடுகிறீர்கள் என்றால், திறந்த மூல திட்டத்தில் உங்களுக்கு ஒரு பணி உள்ளது.
### ஒப்பான விஷயங்களில் ஆர்வமாக உள்ளவர்களை சந்திக்க
நல்ல, வரவேற்பு சமூகங்களைக் கொண்ட திறந்த மூல திட்டங்கள், மக்களை பல ஆண்டுகளுக்கு பங்களிப்பை பெறுகின்றன. பல மக்கள் திறந்த மூலத்தில் பங்கேற்பதன் மூலம் வாழ்நாள் முழுவதும் நட்பை உருவாக்குகிறார்கள், இது மாநாட்டில் ஒருவருக்கொருவர் சந்திக்கவோ அல்லது பொரிட்டோஸைப் பற்றிய தாமதமான இரவு அரட்டைகளில் பேசும் வரை கொண்டு செல்லும்.
### வழிகாட்டிகளை கண்டறிதல் மற்றும் பிறருக்கு கற்பித்தல்
ஒரு பகிர்வு திட்டத்தில் மற்றவர்களுடன் வேலை செய்வது என்றால் நீங்கள் விஷயங்களை எவ்வாறு செய்வது என்பதை விளக்க வேண்டும், மேலும் உதவிக்காக பிறரிடம் கேட்கவும். கற்றல் மற்றும் கற்பித்தல் செயல்கள் சம்பந்தப்பட்ட அனைவருக்கும் ஒரு பூரணமான செயலாகும்.
### பொது கலைப்பொருட்களை உருவாக்குவதன் மூலம் உங்கள் நற்பெயர் (மற்றும் ஒரு தொழில்) வளர உதவும்
அடிப்படையில், உங்கள் திறந்த மூல வேலை அனைத்தையும் பொதுமக்கட்குரியது, அதாவது நீங்கள் அவற்றை இலவச செயல் விளக்கமாக எங்கு வேண்டுமானாலும் எடுத்துக்கொள்ளலாம்.
### மக்கள் திறன்களை அறிக
திறந்த மூல தலைமை மற்றும் முகாமைத்துவ திறன்களை நடைமுறைப்படுத்துவதற்கான வாய்ப்பை வழங்குகிறது, முரண்களை தீர்ப்பது, மக்களை அணிகள் ஒழுங்குபடுத்துதல், வேலைகளை முக்கிய வரிசைப்படுத்துதல்.
### மாற்றங்கள் செய்ய அதிகாரம் அளிக்கவல்லது, சிறிய மாற்றங்களாயினும்
திறந்த மூலத்தில் பங்கேற்க நீங்கள் வாழ்நாள் முழுவதும் பங்களிப்பு செய்ய வேண்டியதில்லை. நீங்கள் எப்போதாவது ஒரு வலைத்தளத்தில் ஒரு தட்டச்சுப் பிழையை பார்த்திருக்கிறீர்களா, யாரேனும் அதை சரிசெய்வார்கள் என கருதியிரிக்கிறீர்களா? திறந்த மூல திட்டத்தில், நீங்கள் அதை செய்ய முடியும். திறந்த மூல மக்கள் தங்கள் வாழ்வில் செயலாண்மையை உணர உதவுகிறது மற்றும் அவர்கள் உலக அனுபவத்தை பெறுவது, அதுவே மன நிறைவு தருகிறன்தாகும்.
## பங்களிப்பதின் அர்த்தம் என்ன
நீங்கள் ஒரு புதிய திறந்த மூல பங்களிப்பாளராக இருந்தால், செயல்முறை அச்சுறுத்தும். சரியான திட்டத்தை எப்படி கண்டுபிடிப்பது? உங்களுக்கு குறியீடு தெரியாது என்றால் என்ன செய்வது? ஏதாவது தவறு நடந்தால் என்ன செய்வது?
வருத்தப்பட வேண்டாம்! திறந்த மூல திட்டத்தில் ஈடுபடுவதற்கான எல்லாவித வழிகளும் உள்ளன, மேலும் சில உதவிக்குறிப்புகள் உங்கள் அனுபவத்தை பெருக்க மிகவும் உதவியாக இருக்கும்.
### நீங்கள் குறியீடு பங்களிக்க வேண்டியதில்லை
திறந்த மூலத்திற்கு பங்களிப்பதைப் பற்றி பொதுவான தவறான கருத்து நீங்கள் குறியீட்டை பங்களிக்க வேண்டும். உண்மையில், இது பெரும்பாலும் ஒரு திட்டத்தின் [மிகவும் புறக்கணிக்கப்பட்ட அல்லது கண்காணிக்கவில்லை](https://github.com/blog/2195-the-shape-of-open-source) பிற பகுதிகளாகும். இந்த வகையான பங்களிப்புகளை வழங்குவதன் மூலம் நீங்கள் திட்டத்திற்கு _மிகப்பெரிய_ நன்மை செய்வீர்கள்.
நீங்கள் குறியீட்டை எழுத விரும்பினால் கூட, பிற வகையான பங்களிப்புகள் ஒரு திட்டத்துடன் தொடர்பு கொள்ளவும் மற்ற சமூக உறுப்பினர்களை சந்திக்கவும் சிறந்த வழியாகும். அந்த உறவுகளை கட்டியெழுப்புதல் திட்டத்தின் மற்ற பகுதிகளிலும் வேலை செய்ய உங்களுக்கு வாய்ப்பளிக்கும்.
### நிகழ்வு திட்டமிடல்களை விரும்புகிறீர்களா?
* திட்டம் பற்றி பட்டறைகள் அல்லது சந்திப்புகளை ஏற்பாடு செய்யுங்கள், [@fzamperin NodeSchoolக்கு செய்ததை போல](https://github.com/nodeschool/organizers/issues/406)
* திட்டத்தின் கலந்தாய்வு ஒழுங்குபடுத்துதல் (அப்படி ஒன்று இருந்தால்)
* உதவி சமூக உறுப்பினர்கள் சரியான கலந்தாய்வுகளை கண்டுபிடித்து பேசுவதற்கான திட்டங்களை சமர்ப்பிக்கவும்
### நீங்கள் வடிவமைக்க விரும்புகிறீர்களா?
* திட்டத்தின் பயன்பாட்டினை மேம்படுத்துவதற்கு மறுகட்டமைப்பு வடிவமைப்புகளை அமைத்தல்
* திட்டத்தின் வழிசெலுத்தல் அல்லது பட்டியல்களை மறுசீரமைக்கவும் புதுப்பிக்கவும் பயனர் ஆராய்ச்சி நடத்திடுங்கள், [Drupal கூறுவதைப்போல்](https://www.drupal.org/community-initiatives/drupal-core/usability)
* திட்டத்தின் ஒரு நிலையான காட்சி வடிவமைப்புக்கு உதவும் ஒரு பாணி வழிகாட்டி உருவாக்கவும்
* டி-சர்ட்டுகளுக்கு ஓவியம் அல்லது புதிய சின்னம் உருவாக்கவும், [hapi.js's பங்களிப்பாளர்கள் செய்ததைப்போல](https://github.com/hapijs/contrib/issues/68)
### நீங்கள் எழுத விரும்புகிறீர்களா?
* திட்டத்தின் ஆவணங்களை எழுதுவது மற்றும் மேம்படுத்துவது
* திட்டம் எவ்வாறு பயன்படுத்தப்படுகிறது என்பதை காட்டும் உதாரணங்கள் ஒரு கோப்புறையை தொகுத்தல்
* திட்டத்திற்கான ஒரு செய்திமடலைத் தொடங்கவும் அல்லது அஞ்சல் பட்டியலிலிருந்த சிறப்பம்சங்களைக் தொகுக்கவும்
* திட்டத்திற்கான பயிற்சியை எழுதுங்கள், [PyPA's பங்களிப்பாளர்கள் செய்ததைப்போல](https://packaging.python.org/)
* திட்டத்தின் ஆவணங்களுக்கான ஒரு மொழிபெயர்ப்பை எழுதுங்கள்
### உங்களுக்கு ஒழுங்குபடுத்துவதில் விருப்பமுண்டா?
* விஷயங்களை ஒழுங்காக வைக்க, நகல் சிக்கல்களை இணைக்கவும், புதிய சிக்கல் அடையாளச் சிட்டை பரிந்துரைக்கவும்
* திறந்த சிக்கல்களில் பழையவற்றை மூடுமாறு பரிந்துரைக்கவும், [@nzakas ESLint-ல் செய்ததைப்போல](https://github.com/eslint/eslint/issues/6765)
* விவாதத்தை முன்னோக்கி நகர்த்துவதற்காக சமீபத்தில் திறக்கப்பட்ட சிக்கல்கள் குறித்து கேள்விகளைக் கேளுங்கள்
### நீங்கள் குறிமுறையாக்கத்தை விரும்புகிறீர்களா?
* ஒரு திறந்த சிக்கலைக் கண்டறிந்து கையாளுதல், [@dianjin Leaflet-ல் செய்ததைப்போல](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560)
* புதிய அம்சத்தை எழுதுவதற்கு நீங்கள் உதவ முடியுமா எனக் கேளுங்கள்
* தானியங்கு திட்டம் அமைப்பு
* கருவியாக்கல் மற்றும் சோதனைகளை மேம்படுத்தவும்
### நீங்கள் மக்களுக்கு உதவ விரும்புகிறீர்களா?
* திட்டத்தின் பற்றிய கேள்விகளுக்கு பதிலளிக்கவும் எ.கா., Stack Overflow ([இந்த Postgres உதாரணம் போல](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) அல்லது Reddit
* திறந்த சிக்கல்கள் உள்ளவர்களின் கேள்விகளுக்கு விடையளிக்கவும்
* கலந்துரையாடல் பலகைகள் அல்லது உரையாடல் தடங்களை மிதமாக்க உதவுங்கள்
### நீங்கள் மற்றவர்களுக்கான குறியீடுக்கு உதவ விரும்புவரா?
* மற்றவர்களின் குறியீடு சமர்ப்பிப்புகளை மதிப்பாய்வு செய்தல்
* ஒரு திட்டம் எவ்வாறு பயன்படுத்தப்படலாம் என்ற பயிற்சியை எழுதுங்கள்
* மற்றொரு பங்களிப்பாளருக்கு வழிகாட்டியாக இருத்ததலதல்,[@ereichert @bronzdocக்கு Rustல் இருந்ததைப்போல](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### நீங்கள் மென்பொருள் திட்டங்களில் மட்டுமே வேலை செய்ய வேண்டியதில்லை!
"திறந்த மூலம்" பெரும்பாலும் மென்பொருளைக் குறிக்கும் போது, நீங்கள் எதைப் பற்றியும் கூடி வேலைச்செய்யயலாம். திறந்த மூல திட்டங்களாக உருவாக்கப்பட்ட புத்தகங்கள், சமையல் குறிப்புகள், பட்டியல்கள் மற்றும் வகுப்புகள் உள்ளன.
உதாரணத்திற்கு:
* @sindresorhus ["அற்புதமான" பட்டியல்களின் பட்டியல்](https://github.com/sindresorhus/awesome) தொகுத்தார்
* @h5bp முன்-முனை மேம்பாட்டர் தேர்வர்களுக்கான [சாத்தியமான நேர்காணல் கேள்விகளை](https://github.com/h5bp/Front-end-Developer-Interview-Questions) பராமரிக்கிறார்
* @stuartlynn மற்றும் @nicole-a-tesla [puffins-பெரிய அலகுடைய கடற்பறவைகள் பற்றி வேடிக்கை உண்மைகள் சேகரிப்பு](https://github.com/stuartlynn/puffin_facts) செய்தனர்
நீங்கள் ஒரு மென்பொருள் உருவாக்குநராக இருந்தாலும்கூட, ஆவணங்கள் திட்டத்தில் பணிபுரியும் திறந்த மூலத்தில் நீங்கள் தொடங்குவதற்கு உதவலாம். இது குறியீட்டை உள்ளடக்கிய திட்டங்களில் பணிபுரியும் அளவுக்கு குறைவான அச்சுறுத்தலாகும், மற்றும் ஒத்துழைப்பு செயல்முறை உங்களுக்கு நம்பிக்கையும் அனுபவத்தையும் உருவாக்கும்.
## ஒரு புதிய திட்டத்திற்காக உங்களை நெறிப்படுத்துதல்
ஒரு தட்டச்சுப் பிழையை சரி செய்வதை விட அதிகம், ஓப்பன் சோர்ஸ் பங்களிப்பு என்பது அந்நியர்களின் கொண்டாட்டத்தில் ஒரு குழுவினருடன் நடப்பது போலாகும். அவர்கள் தங்கமீன் பற்றி ஒரு விவாதத்தில் ஆழமாக இருந்தபோது, நீங்கள் இலாமா (கம்பள ஒட்டக இனம்) பற்றி பேச ஆரம்பித்தால், அவர்கள் ஒருவேளை உங்களை ஒரு வித்தியாசமான முறையில் பார்ப்பார்கள்.
உங்கள் சொந்த ஆலோசனையுடன் கண்மூடித்தனமாக குதிக்கும்முன், அறையை படிக்க எப்படி கற்பது என்பதிலிருந்து தொடங்கவும். அவ்வாறு செய்யும்போது, உங்கள் கருத்துக்கள் கவனிக்கப்பட்டு, கேட்கப்படும் வாய்ப்புகளை அதிகரிக்கிறது.
### திறந்த மூல திட்டத்தின் உடற்கூறியல்
ஒவ்வொரு திறந்த மூல சமூகமும் மாறுபட்டவை.
ஒரு திறந்த மூல திட்டத்தில் ஆண்டுகள் செலவழித்து நீங்கள் ஒரு திறந்த மூல திட்டத்தை அறிந்து கொள்ள முடிந்தது. வேறொரு திட்டத்திற்கு செல்லும் பொழுது, சொல்லகராதி, நெறிமுறைகள் மற்றும் தகவல்தொடர்பு பாணிகள் முற்றிலும் வேறுபட்டதாக காணலாம்.
பல திறந்த மூல திட்டங்கள் இதே அமைப்பு முறையை பின்பற்றின. வெவ்வேறு சமூகப் பணிகளைப் புரிந்துகொள்வது மற்றும் மொத்த செயல்முறை ஆகியவை எந்தவொரு புதிய திட்டத்திற்கும் விரைவாகப் பெற உதவும்.
ஒரு பொதுவான திறந்த மூல திட்டம் பின்வரும் வகையான மக்களைக் கொண்டுள்ளது:
* **படைப்பாளர்:** திட்டத்தை உருவாக்கிய நபர்/கள் அல்லது அமைப்பு
* **உரிமையாளர்:** அமைப்பு அல்லது களஞ்சியத்தில் நிர்வாக உரிமையுள்ள நபர்/கள்(எப்போதும் அசல் படைப்பாளர் அல்ல)
* **பராமரிப்பாளர்கள்:** திட்டத்தின் நோக்கம் மற்றும் நிறுவன அம்சங்களை நிர்வகிப்பதற்கும் பொறுப்புள்ள பங்களிப்பாளர்கள். (அவர்கள் திட்டத்தின் படைப்பாளர்கள் அல்லது உரிமையாளர்களாக இருக்கலாம்.)
* **பங்களிப்பாளர்கள்:** திட்டத்திற்கு ஏதேனும் பங்களித்த அனைவருக்கும்.
* **சமூக உறுப்பினர்கள்:** திட்டத்தை பயன்படுத்தும் மக்கள். அவர்கள் உரையாடலில், செயலில் அல்லது திட்டத்தின் திசையைப் பற்றி தங்கள் கருத்தை தெரிவிக்கலாம்.
பெரிய திட்டங்கள், உபகாரம், சமுதாயம் மிதமிடுதல் மற்றும் நிகழ்வு ஏற்பாடு போன்ற பல்வேறு பணிகளைக் கருத்தில் கொண்ட உப குழு அல்லது பணிக்குழுக்கள் இருக்கலாம். இந்தத் தகவலைக் கண்டறிய, ஒரு "குழு" பக்கத்திற்கான ஒரு திட்டத்தின் வலைத்தளத்தைப் பார்க்கவும், அல்லது ஆட்சி ஆவணத்திற்கான களஞ்சியத்தில் பாருங்கள்.
ஒரு திட்டத்தில் ஆவணங்களும் உள்ளன. இந்த கோப்புகள் வழக்கமாக ஒரு களஞ்சியத்தின் மேல் மட்டத்தில் பட்டியலிடப்பட்டுள்ளன.
* **உரிமம்(LICENSE):** வரையறையின்படி, ஒவ்வொரு திறந்த மூல திட்டமும் [திறந்த மூல உரிமத்தை](https://choosealicense.com) கொண்டிருக்க வேண்டும். திட்டத்திற்கு ஒரு உரிமம் இல்லை என்றால், அது திறந்த மூலம் அல்ல.
* **என்னைவாசி(README):** README என்பது புதிய சமூக உறுப்பினர்களை திட்டத்திற்கு வரவேற்கும் வழிமுறை கையேடு ஆகும். ஏன் திட்டம் பயனுள்ளதாக இருக்கும் மற்றும் எப்படி தொடங்குவது என இது விளக்குகிறது.
* **பங்களிப்பு(CONTRIBUTING):** READMEs மக்கள் உதவுகிறது திட்டத்தை _பயன்படுத்த_ உதவுகிறது, CONTRIBUTING ஆவணங்கள் திட்டத்திற்கு மக்கள் _பங்களிக்க_ உதவுகிறது. இது எவ்விதமான பங்களிப்புகள் தேவைப்படுகின்றன மற்றும் செயல்முறை எவ்வாறு செயல்படுகிறது என்பதையும் இது விளக்குகிறது. ஒவ்வொரு திட்டமும் ஒரு பங்களிப்புக் கோப்பில் இல்லை என்றாலும், அதன் இருப்பு சமிக்ஞைகள் இது பங்களிக்க ஒரு வரவேற்புத் திட்டம் ஆகும்.
* **நடத்தை_குறியீடு(CODE_OF_CONDUCT):** நடத்தை குறியீடு தொடர்புடைய பங்கேற்பாளர்கள் நடத்தை தர விதிகள் அமைக்கிறது மற்றும் ஒரு நட்பு, வரவேற்பு சூழலை எளிதாக்கும் உதவுகிறது. ஒவ்வொரு திட்டமும் CODE_OF_CONDUCT கோப்பைக் கொண்டிருக்கவில்லை என்றாலும், இது பங்களிப்பு செய்வதற்கான வரவேற்புத் திட்டம் என்று அதன் இருப்பு சமிக்ஞைகள் உள்ளன.
* **பிற ஆவணங்கள்:** பயிற்சிகள், மேலோட்டப்பார்வைகள் அல்லது ஆளுமைக் கொள்கை போன்ற கூடுதல் ஆவணங்கள் இருக்கலாம், குறிப்பாக பெரிய திட்டங்களில்.
இறுதியாக, திறந்த மூல திட்டங்கள் விவாதத்தை ஒழுங்கமைக்க பின்வரும் கருவிகளைப் பயன்படுத்துகின்றன. ஆவணக்கிடங்குகளை படித்தல் மூலம் சமூகம் எப்படி சிந்திக்கிறது மற்றும் வேலை செய்கிறது என அறிய முடியும்.
* **சிக்கல் தடமி(Issue tracker):** திட்டப்பணியுடன் தொடர்புடைய பிரச்சினைகளை மக்கள் விவாதிக்கும் இடம்.
* **இழு கோரிக்கைகள்(Pull requests):** முன்னேற்றத்தில் இருக்கும் மாற்றங்களை விவாதிக்கும் மற்றும் மதிப்பாய்வு செய்யுமிடம்.
* **கலந்துரையாடல் மன்றங்கள் அல்லது அஞ்சல் பட்டியல்கள்:** சில திட்டங்கள் இந்த உரையாடல்களை உரையாடல் தலைப்புகளில் பயன்படுத்தலாம் (எடுத்துக்காட்டாக, _"நான் எப்படி ..."_ அல்லது _"என்ன நினைக்கிறீர்கள் ..."_ பிழை அறிக்கைகள் அல்லது அம்ச கோரிக்கைகளுக்கு பதிலாக). மற்றவர்கள் எல்லா உரையாடல்களுக்கும் சிக்கல் தடமியை பயன்படுத்துகின்றனர்.
* **ஒத்திசைவு அரட்டை அலைத்தடம்:** சில திட்டங்கள் சாதாரண உரையாடல், ஒத்துழைப்பு, மற்றும் விரைவான பரிமாற்றங்களுக்கான அரட்டைத் தடங்களை (Slack அல்லது IRC போன்றவற்றை) பயன்படுத்துகின்றன.
## பங்களிக்க ஒரு திட்டத்தை கண்டறிதல்
இப்பொழுது திறந்த மூல திட்டங்கள் எப்படி இயங்குகின்றன என்பதை நீங்கள் அறிந்தீர்கள், இது பங்களிக்க ஒரு திட்டத்தை கண்டறியும் நேரம்!
நீங்கள் இதற்கு முன்னர் திறந்த மூலத்திற்கு பங்களித்திருக்கவில்லை எனில், அமெரிக்க ஜனாதிபதி ஜான் எஃப். கென்னடி சில ஆலோசனையை எடுத்துக் கொண்டால், "நாடு உங்களுக்கு என்ன செய்தது என்று கேட்காதீர்கள் - நீங்கள் நாட்டிற்கு என்ன செய்ய முடியும் என்று கேளுங்கள்."
திறந்த மூலத்திற்கான பங்களிப்பு, அனைத்து மட்டங்களிலும் திட்டங்கள்தோறும் நடக்கிறது. உங்களுடைய முதல் பங்களிப்பு என்னவாக இருக்கும், அல்லது அது எப்படி இருக்கும் என்பதை நீங்கள் அதிகம் ஆலோசனை செய்ய வேண்டியதில்லை.
அதற்கு பதிலாக, நீங்கள் ஏற்கனவே பயன்படுத்திய, அல்லது பயன்படுத்த விரும்பும் திட்டங்களை பற்றி யோசித்து தொடங்கவும். நீங்கள் தீவிரமாக பங்களித்த திட்டங்களை நீங்கள் திரும்பி வருகிறீர்கள்.
அந்த திட்டங்களுள், எப்போதாவது நீங்கள் ஏதாவது ஒன்றை சிறப்பாக அல்லது வித்தியாசமாக இருந்திருக்கலாம் என கருதுவீர்கள், உங்கள் உள்ளுணர்வு சொல்வதைக் கேட்டு செயல்படுங்கள்.
திறந்த மூலமானது ஒரு பிரத்யேக சங்கம் அல்ல; இது உங்களைப் போன்ற மக்கள் உருவாக்கியது. உலகின் பிரச்சினைகளை சரிசெய்யக்கூடிய வகையில் "திறந்த மூல" என்பது ஒரு கற்பனையான சொல்.
நீங்கள் ஒரு README ஐ ஸ்கேன் செய்து உடைந்த இணைப்பு அல்லது ஒரு தட்டச்சுப் பிழையை காணலாம். அல்லது நீங்கள் புதிய பயனராக இருக்கின்றீர்கள், நீங்கள் ஏதாவது உடைந்துவிட்டதா என்று கவனித்தீர்களா அல்லது ஒரு சிக்கல் ஆவணத்தில் இருக்க வேண்டும் என்று நீங்கள் நினைக்கிறீர்களா . அதை புறக்கணித்துவிட்டு, நகர்த்துவதற்கு அல்லது வேறு யாராவது அதை சரிசெய்வதற்குப் பதிலாக, நீங்கள் உந்துதல் மூலம் உதவ முடியுமா என்பதைப் பார்க்கவும்.
> திறந்த மூலத்திற்கான [28% தற்காலிக பங்களிப்புகள்](https://www.igor.pro.br/publica/papers/saner2016.pdf) ஒரு தட்டச்சுப் பிழை சரி செய்வது, மறுசீரமைப்பு அல்லது மொழிபெயர்ப்பு எழுதுதல் போன்ற ஆவணங்கள் ஆகும்.
நீங்கள் புதிய திட்டங்களை கண்டறிய மற்றும் பங்களிக்க உதவுவதற்கு பின்வரும் வளங்களில் ஒன்றைப் பயன்படுத்தலாம்:
* [கிட்ஹப் ஆராய்தல்](https://github.com/explore/)
* [திறந்த மூல வெள்ளிக்கிழமை](https://opensourcefriday.com)
* [முதல் முறையாளர்கள் மட்டுமே](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 இழு கோரிக்கைகள்](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [பங்களிப்பாளர்-நிஞ்ஜா](https://contributor.ninja)
* [முதல் பங்களிப்புகள்](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### பங்களிக்கும் முன் ஒரு சரிபார்ப்புப் பட்டியல்
நீங்கள் பங்களிக்க விரும்பும் ஒரு திட்டத்தை நீங்கள் கண்டறிந்தால், பங்களிப்புகளை ஏற்றுக்கொள்வதற்கு திட்டம் பொருத்தமானதா என்பதை உறுதிப்படுத்த விரைவான ஆய்வு செய்யுங்கள். இல்லையெனில், உங்களுடைய கடின உழைப்பு ஒரு மறு மொழியை பெறாது.
ஒரு திட்டம் புதிய பங்களிப்பாளர்களுக்கு பொருத்தமானதா என்பதை மதிப்பீடு செய்வதற்கான ஒரு கையேடு பட்டியல்.
**திறந்த மூலத்தின் வரையறைகளை சந்திக்கிறது**
**திட்டம் தீவிரமாக பங்களிப்பை ஏற்றுக்கொள்கிறது**
master கிளையில் ஒப்படைப்பு செயல்களை பாருங்கள். கிட்ஹப்பில், இந்த தகவலை ஒரு களஞ்சியத்தின் முகப்புப்பக்கத்தில் காணலாம்.
அடுத்து, திட்டத்தின் சிக்கல்களை பாருங்கள்.
இப்போது இதையே திட்டத்தின் இழு கோரிக்கைகளுக்கு செய்யுங்கள்.
**திட்டம் வரவேற்க்கக்கூடியது**
நட்பு மற்றும் வரவேற்பு சமிக்ஞைகள் உள்ள ஒரு திட்டம், புதிய பங்களிப்பாளர்களுக்கு வரவேற்கும் பண்புடையதாகும்.
## பங்களிப்பை எப்படி சமர்ப்பிக்க வேண்டும்
நீங்கள் விரும்பும் ஒரு திட்டத்தை நீங்கள் கண்டுபிடித்து, பங்களிப்பு செய்யத் தயாராக உள்ளீர்கள். இறுதியாக! இங்கே சரியான வழியில் உங்கள் பங்களிப்பு பெறுவது எப்படி.
### திறம்பட தொடர்பு கொள்ளுதல்
நீங்கள் ஒரு முறை பங்களிப்பாளராகவோ அல்லது சமூகத்தில் சேர முயற்சிக்கிறோமா, மற்றவர்களுடன் சேர்ந்து செயல்படுவது திறந்த மூலத்தில் நீங்கள் வளர்த்துக்கொள்ளும் மிக முக்கியமான திறமைகளில் ஒன்றாகும்.
நீங்கள் ஒரு சிக்கலைத் திறக்க அல்லது கோரிக்கையை முன்வைக்க அல்லது அரட்டையில் ஒரு கேள்வியைக் கேட்க முன், இந்த நுட்பங்களை உங்கள் கருத்துக்களுக்கு திறம்பட உதவுவதற்காக மனதில் வைத்துக் கொள்ளுங்கள்.
**சூழ்நிலையை கொடுங்கள்.** விரைவாக மற்றவர்கள் வேகத்திற்கு வர உதவுங்கள். நீங்கள் ஒரு பிழையை கண்டீர்கள் என்றால், நீங்கள் என்ன செய்ய முயற்சிக்கிறீர்கள் என்பதை விளக்கவும், அதை எப்படி மீண்டும் செய்யலாம் என்பதை விளக்கவும். நீங்கள் ஒரு புதிய கருத்தை தெரிவித்திருந்தால், திட்டத்திற்கு பயனுள்ளதாக இருக்கும் என்று நீங்கள் ஏன் நினைக்கிறீர்கள் என்பதை விளக்குங்கள் (உங்களுக்கு மட்டுமல்ல!).
> 😇 _"நான் X செய்யும் போது Y நடக்கவில்லை"_
>
> 😢 _"X உடைந்ததுள்ளது! தயவுசெய்து அதை சரிசெய்யவும்."_
**முன்னதாக உங்களின் வீட்டுப்பாடம் செய்யுங்கள்.** விஷயங்களைத் தெரியாமல் இருப்பது தவறல்ல, ஆனால் நீங்கள் முயற்சித்ததைக் காட்டுங்கள். உதவி கேட்டு முன், ஒரு திட்டத்தின் README, ஆவணங்கள், சிக்கல்கள் (திறந்ததுள்ள அல்லது மூடப்பட்ட), அஞ்சல் பட்டியல், மற்றும் ஒரு பதிலை இணையத்தில் தேடுங்கள். நீங்கள் கற்றுக்கொள்ள முயற்சிக்கிறீர்கள் என்பதை நீங்கள் நிரூபிக்கும் போது மக்கள் பாராட்டுவார்கள்.
> 😇 _"X ஐ எவ்வாறு நடைமுறைப்படுத்துவது என்பது எனக்குத் தெரியவில்லை. உதவி ஆவணங்களை நான் சரிபார்த்தேன், எந்த குறிப்பும் இல்லை."_
>
> 😢 _"X ஐ எப்படி செய்வது??"_
**கோரிக்கைகளை சிறிது மற்றும் நேரடியாக வைத்திருங்கள்.** ஒரு மின்னஞ்சலை அனுப்புவது போல, ஒவ்வொரு பங்களிப்பும், எவ்வளவு எளிய அல்லது உதவிகரமாக இருந்தாலும், வேறொருவருடைய மதிப்பாய்வு தேவைப்படுகிறது. உதவக்கூடிய மக்களை விட பல திட்டங்கள் இன்னும் உள்வரும் கோரிக்கைகளை கொண்டிருக்கின்றன. சுருக்கமாக இருங்கள். மற்றவர்கள் யாராவது உங்களுக்கு உதவ முடியும் என்ற வாய்ப்பை அதிகரிக்க முடியும்.
> 😇 _"நான் ஒரு API பயிற்சி எழுத விரும்புகிறேன்."_
>
> 😢 _"நான் ஒரு நாள் நெடுஞ்சாலையில் வாகனம் ஓட்டி சென்று எரிவாயு நிறுத்தியபோது, பின்னர் நாம் செய்ய வேண்டும் என்ற இந்த அற்புதமான யோசனை இருந்தது, ஆனால் நான் அதை விளக்க முன், நான் உங்களுக்கு காண்பிக்க..."_
**எல்லா தகவல்தொடர்புகளையும் பொதுவில் வைக்கவும்.** Aஇது ஆவலைத் தூண்டும் என்றாலும், முக்கியமான தகவலை (பாதுகாப்புப் பிரச்சினை அல்லது கடுமையான நடத்தை மீறல் போன்றவை) பகிர்ந்து கொள்ளாதவரை தனிப்பட்ட முறையில் பராமரிப்பாளர்களை அடைய வேண்டாம். நீங்கள் உரையாடலை பொதுவில் வைத்திருக்கும்போது, அதிகமான மக்கள் உங்கள் பரிமாற்றத்திலிருந்து கற்றுக் கொள்ளலாம் மற்றும் நன்மை அடையலாம். கலந்துரையாடல்கள்கூட, பங்களிப்புகளாக இருக்கும்.
> 😇 _(ஒரு கருத்துரையாக) "@-maintainer ஹாய்! இந்த PR- ஐ எவ்வாறு தொடர வேண்டும்?"_
>
> 😢 _(ஒரு மின்னஞ்சலாக) "ஹாய், உங்களை மின்னஞ்சலில் தொந்தரவு செய்ய மன்னிக்கவும், ஆனால் என் PR ஐ மறுபரிசீலனை செய்வதற்கான வாய்ப்பைப் பெற்றிருக்கிறதா என அறிய ஆவலாய் இருக்கிறேன்"_
**கேள்விகளைக் கேட்பது பரவாயில்லை (ஆனால் பொறுமையாக இருங்கள்).** எல்லோரும் ஒரு கட்டத்தில் திட்டத்திற்கு புதியவர்களாவர், மேலும் அனுபவமிக்க பங்களிப்பாளர்கள் கூட ஒரு புதிய திட்டத்தை பார்க்கும்போது வேகத்தை அதிகரிக்க வேண்டும். அதே அறிகுறி மூலம், நீண்டகால பராமரிப்பாளர்கள் எப்போதும் திட்டத்தின் ஒவ்வொரு பகுதியையும் நன்கு அறிந்திருப்பதில்லை. அவர்களுக்கு நீங்கள் காட்ட விரும்பும் அதே பொறுமையைக் காட்டுங்கள்.
> 😇 _"இந்த பிழையை பார்த்ததற்கு நன்றி. நான் உங்கள் பரிந்துரைகளை பின்தொடர்ந்தேன். அதன் வெளிப்பாடு."_
>
> 😢 _"என் பிரச்சனையை நீங்கள் ஏன் சரிசெய்ய முடியாது? இது உங்கள் திட்டம்தானே?"_
**சமூகத்தின் முடிவுகளை மதித்தல்.** சமூகத்தின் முன்னுரிமைகள் அல்லது பார்வைகளில் இருந்து உங்கள் கருத்து வேறுபடலாம். அவர்கள் பின்னூட்டம் வழங்கலாம் அல்லது உங்கள் கருத்தைத் தொடரக்கூடாது என்று முடிவு செய்யலாம். நீங்கள் விவாதிக்க மற்றும் சமரசத்திற்குத் தேடும்போது, பராமரிப்பாளர்கள் உங்களுடைய முடிவைக் காட்டிலும் நீண்ட காலம் வாழ வேண்டும். நீங்கள் அவர்களின் திசையில் கருத்து வேறுபாடு கொண்டால், நீங்கள் எப்போதும் உங்கள் சொந்த கவையில் வேலை செய்யலாம் அல்லது உங்கள் சொந்த திட்டத்தை தொடங்கலாம்.
> 😇 _"நீங்கள் என் பயன்பாடு வழக்கை ஆதரிக்க முடியாது என்பது எனக்கு ஏமாற்றம் தான், ஆனால் நீங்கள் விளக்கிய பின்னர் அது ஒரு சிறிய பகுதியை பயனர்களையே பாதிக்கும், நான் ஏன் என்று புரிந்து கொண்டேன். கவனித்தமைக்கு நன்றி."_
>
> 😢 _"என் பயன்பாடு வழக்கு ஏன் நீங்கள் ஆதரிக்கவில்லை? இது ஏற்றுக்கொள்ள முடியாதது!"_
**எல்லாவற்றிற்கும் மேலாக, அது கம்பீரமானதாக வைத்துக்கொள்ளுங்கள்.** திறந்த மூல உலகம் முழுவதும் இருந்து கூட்டுப்பணியாளர்களால் உருவாக்கப்பட்டது. மொழிகள், கலாச்சாரங்கள், புவியியல், மற்றும் நேர மண்டலங்கள் ஆகியவற்றில் சூழல் தொலைந்து போகிறது. கூடுதலாக, எழுதப்பட்ட தொடர்பு ஒரு தொனியை அல்லது மனநிலையை வெளிப்படுத்த கடினமாக்குகிறது. இந்த உரையாடல்களில் நல்ல எண்ணங்களைக் கொள்ளுங்கள். ஒரு யோசனையை மனதுக்குள் தள்ளுவதே நல்லது, மேலும் சூழலைக் கேட்கவும் அல்லது உங்கள் நிலைப்பாட்டை மேலும் தெளிவுபடுத்தவும். இணையத்தை நீங்கள் கண்டறிந்ததைவிட சிறந்த இடத்தை விட்டு விட முயற்சி செய்யுங்கள்.
### சூழல் சேகரித்தல்
எதையும் செய்வதற்கு முன், உங்கள் யோசனை பிற இடங்களில் விவாதிக்கப்படவில்லை என்பதை உறுதிப்படுத்த விரைவாகச் சரிபார்த்துக் கொள்ளுங்கள். திட்டத்தின் README, சிக்கல்கள் (திறந்த மற்றும் மூடியது), அஞ்சல் பட்டியல் மற்றும் ஸ்டாக் ஓவர்ஃப்ளோ நீங்கள் எல்லாவற்றையும் நேரத்திற்கு செலவழிக்க வேண்டிய அவசியமில்லை, ஆனால் சில முக்கிய சொற்களுக்கு ஒரு விரைவான தேடல் நீண்ட தூரம் செல்கிறது.
வேறு எங்காவது உங்கள் யோசனை கண்டுபிடிக்க முடியாவிட்டால், நீங்கள் ஒரு நகர்வு செய்ய தயாராக இருக்கிறோம். திட்டம் கிட்ஹப்பில் இருந்தால், நீங்கள் ஒரு சிக்கலைத் திறப்பதன் மூலம்;
* **சிக்கல்கள்** ஒரு உரையாடல் அல்லது கலந்துரையாடலைத் தொடங்குகிறது
* **இழு கோரிக்கைகள்** ஒரு தீர்வைத் தொடங்குவதற்கான வேலைகள்
* **இலகுரக தகவல்கள்,** என்பது ஒரு தெளிவு பெறுவதோ அல்லது எப்படி கேள்வி கேட்கிறது என்று, திட்டத்தில் ஒன்று இருந்தால், ஸ்டேக் ஓவர்ஃப்ளோ, ஐஆர்சி, ஸ்லேக் அல்லது பிற அரட்டை சேனல்களை கேட்டு முயற்சி செய்யுங்கள்
நீங்கள் ஒரு சிக்கலைத் திறக்க அல்லது கோரிக்கையை முன்வைக்கும் முன், திட்டத்தின் பங்களிப்பு ஆவணங்களை (வழக்கமாக கோப்பினைக் குறிக்கும் CONTRIBUTING அல்லது README இல்) பார்க்கவும். உதாரணமாக, நீங்கள் ஒரு வார்ப்புருவை பின்தொடர வேண்டுமென அவர்கள் கேட்கலாம் அல்லது நீங்கள் சோதனையைப் பயன்படுத்த வேண்டும்.
நீங்கள் கணிசமான பங்களிப்பைச் செய்ய விரும்பினால், அதைத் தொடங்குவதற்கு முன் ஒரு சிக்கலைத் திறக்கவும். இது சிறிது நேரம் திட்டத்தைக் கவனிக்க உதவுகிறது (கிட்ஹப்பில், [நீங்கள் "கவனி" என்பதை கிளிக் செய்யலாம்](https://help.github.com/articles/watching-repositories/) அனைத்து உரையாடல்களையும் தெரியப்படுத்த வேண்டும்), மற்றும் சமுதாய உறுப்பினர்களை தெரிந்துகொள்ளுங்கள், ஏற்றுக்கொள்ள முடியாத வேலைகளை செய்வதற்கு முன்.
### ஒரு சிக்கலைத் திறப்பது
பின்வரும் சூழ்நிலைகளில் நீங்கள் பொதுவாக ஒரு சிக்கலைத் திறக்க வேண்டும்:
* உங்களால் தீர்த்துவிடாத ஒரு பிழையை அறிக்கையிடவும்
* உயர்-நிலை தலைப்பு அல்லது கருத்தை (எடுத்துக்காட்டாக, சமூகம், பார்வை அல்லது கொள்கைகள்)
* ஒரு புதிய அம்சம் அல்லது பிற யோசனையை முன்மொழியுங்கள்
சிக்கல்கள் தொடர்பாக உதவிக்குறிப்புகள்:
* **நீங்கள் சமாளிக்க விரும்பும் திறந்த சிக்கலைக் கண்டால்,** நீங்கள் அதைப் பற்றி கருத்துரை கூறினால் மக்கள் நீங்கள் பணியாற்றுவதை அறிவர் . அந்த வழியில், உங்கள் வேலையை நகல் எடுப்பதற்கு மக்கள் குறைவாகவே இருப்பர்.
* **சிறிது காலமாக முன்பு ஒரு சிக்கல் திறந்திருந்தால்,** இது வேறு எங்காவது உரையாடப்பட்டிருக்கலாம் அல்லது ஏற்கெனவே தீர்மானிக்கப்பட்டுவிட்டது, எனவே வேலை செய்யத் தொடங்குவதற்கு முன் உறுதிப்படுத்திக்கொள்ளவும்.
* **நீங்கள் ஒரு சிக்கலைத் திறந்துவிட்டால், அதற்கு விடையை அறிந்திருந்தால்,** பிரச்சனையைப் பற்றி கருத்து தெரிவித்து, மக்களுக்குத் தெரியப்படுத்துங்கள். அந்த விளைவை ஆவணப்படுத்தியதும் கூட திட்டத்திற்கான பங்களிப்பாகும்.
### ஒரு இழு கோரிக்கையைத் திறத்தல்
வழக்கமாக பின்வரும் சூழல்களில் ஒரு இழு கோரிக்கை திறக்க வேண்டும்:
* எளிதான மாற்றங்களை சமர்ப்பிக்கவும் (எடுத்துக்காட்டாக, ஒரு தட்டச்சுப் பிழை, உடைந்த இணைப்பு அல்லது ஒரு வெளிப்படையான பிழை)
* ஏற்கெனவே கேட்டிருந்த ஒரு பங்களிப்பைத் தொடங்கவும் அல்லது ஒரு விவாதத்தில் ஏற்கனவே விவாதித்திருக்கவும்
ஒரு இழுப்பு கோரிக்கை முடிக்கப்பட்ட பணியை பிரதிநிதித்துவப்படுத்த வேண்டிய அவசியமில்லை. பொதுவாக ஒரு மிகுதிக் கோரிக்கையை திறக்க இது மிகவும் சிறந்தது, எனவே உங்கள் முன்னேற்றம் குறித்து மற்றவர்கள் பார்க்க அல்லது கருத்து தெரிவிக்கலாம். அதை ஒரு வரியில் "WIP" (செயலில் உள்ள வேலை) குறிக்கவும். நீங்கள் எப்போது வேண்டுமானாலும் சேர்க்கலாம்.
திட்டம் கிட்ஹப்பில் இருந்தால், இங்கே எப்படி ஒரு இழு கோரிக்கை சமர்ப்பிக்க வேண்டும்:
* **[களங்சியத்தை கவர்வழி](https://guides.github.com/activities/forking/)** மற்றும் அதை உள்நாட்டில் நகலெடுக்கவும். அசல் "பாய்வு மேற்புறம்(upstream)" களஞ்சியத்தை தொலைதூரமாக சேர்ப்பதன் மூலம் உங்கள் உள்ளூர் இணைப்பை இணைக்கவும். "பாய்வு மேற்புறத்தில்" இருந்து மாற்றங்களை இழுக்கவும், அதனால் நீங்கள் புதுப்பித்த நிலையில் இருப்பீர்கள், உங்கள் குறைநிரப்புக் கோரிக்கையைச் சமர்ப்பிக்கும் போது, மோதல்கள் குறைவாக இருக்கும். (மேலும் விரிவான விவரங்களுக்கு [இங்கே](https://help.github.com/articles/syncing-a-fork/) பார்க்கவும்.)
* **[கிளை ஒன்றை உருவாக்கவும்](https://guides.github.com/introduction/flow/)** உங்கள் திருத்தங்களுக்கு.
* **எந்தவொரு தொடர்படைய விடயங்களையும்** அல்லது ஆதரிக்கும் ஆவணங்களை உங்கள் PR இல் குறிப்பிடவும்(எடுத்துக்காட்டாக, "# 37 மூடுகிறது.")
* உங்கள் மாற்றங்கள் HTML / CSS இல் உள்ள வேறுபாடுகளை உள்ளடக்கியிருந்தால்,**அதற்கு முன்பும் பின்பும் திரைக்காட்சிகளையும் சேர்க்கவும்**. உங்கள் இழு கோரிக்கையின் உடலில் படங்களை இழுத்து விடுங்கள்.
* **உங்கள் மாற்றங்களைச் சோதிக்கவும்!** Rதேவைப்பட்டால் இருக்கும் எந்தவொரு சோதனைகளிலும் உங்கள் மாற்றங்களை இயக்கவும், புதியவற்றை உருவாக்கவும். சோதனைகள் இல்லையா அல்லது இல்லாவிட்டாலும், உங்கள் மாற்றங்கள் ஏற்கனவே இருக்கும் திட்டத்தை உடைக்கவில்லை என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.
* **திட்டத்தின் பாணியில் பங்களிக்கவும்** உங்கள் சிறந்த திறமைகளை கொண்டு. இது உங்கள் சொந்த களஞ்சியத்தில் நீங்கள் விரும்பும் விடயங்களை விட வித்தியாசமாக உள்தள்ளல்கள், அரை-கோல்கன்கள் அல்லது கருத்துக்களைப் பயன்படுத்துவதாகும். ஆனால் எதிர்காலத்தில் மற்றவர்கள் புரிந்து கொள்ளவும், பராமரிக்கவும் பராமரிப்பாளரை எளிதாக்குகிறது.
இது உங்கள் முதல் இழு கோரிக்கை என்றால், [ஒரு இழு கோரிக்கை செய்ய](http://makeapullrequest.com/) பாருங்கள், ஒரு ஒத்திகையும் கற்றல் காணொலியும் @kentcdodds உருவாக்கியுள்ளார். நீங்கள் முதலில் [First Contributions](https://github.com/Roshanjossey/first-contributions) களஞ்சியத்தில் ஒரு இழுப்பு கோரிக்கையை உருவாக்கலாம், @Roshanjossey உருவாக்கியது.
## ஒரு பங்களிப்பை சமர்ப்பித்தபின் என்ன நடக்கிறது
நீங்கள் செய்தீர்கள்! திறந்த மூல பங்களிப்பாளராக வாழ்த்துக்கள். இது பலவற்றில் முதன்மையானது என்று நாங்கள் நம்புகிறோம்.
நீங்கள் ஒரு பங்களிப்பைச் சமர்ப்பித்த பின், பின்வரும் ஒன்று நடக்கும்:
### 😭 உங்களுக்கு பதில் கிடைக்கவில்லை.
ஒரு பங்களிப்பைச் செய்வதற்கு முன்னர் [செயற்பாட்டு அறிகுறிகளுக்கான திட்டத்தை சரிபார்க்க](#பங்களிக்கும்-முன்-ஒரு-சரிபார்ப்புப்-பட்டியல்). ஒரு செயல்கபடக்கூடுய திட்டத்தில் கூட, உங்கள் பங்களிப்பு ஒரு பதிலை பெறாது.
நீங்கள் ஒரு வாரத்திற்குள் பதிலைப் பெறவில்லை என்றால், மறுபரிசீலனைக்காக யாராவது கேட்டு, அதே பிரியில் மரியாதையுடன் பதிலளிப்பது நியாயமானது. உங்கள் பங்களிப்பை மதிப்பாய்வு செய்ய சரியான நபரின் பெயரை உங்களுக்குத் தெரிந்தால், நீங்கள் பிரியில் அவரை @-குறியிடலாம்.
** தனிப்பட்ட முறையில் அந்த நபரிடம் அடைய வேண்டாம்; பொதுத் தகவல்தொடர்பு மூலங்களை திறக்க முக்கியம் என்பதை நினைவில் கொள்ளுங்கள்.
நீங்கள் ஒரு கண்ணியமான கோரிக்கை செய்தால், இன்னும் யாரும் பதிலளிக்கவில்லை என்றால், எப்போதும் யாரும் பதிலளிக்க மாட்டார்கள். இது ஒரு பெரிய உணர்வு அல்ல, ஆனால் அதை நீங்கள் ஊக்கப்படுத்த வேண்டாம். இது அனைவருக்கும் நடந்தது! உங்கள் கட்டுப்பாட்டிலிரு ந்து வெளியேறக்கூடிய தனிப்பட்ட சூழ்நிலைகள் உட்பட, பதிலைப் பெறாததற்கு பல காரணங்கள் உள்ளன. பங்களிக்க மற்றொரு திட்டம் அல்லது வழி கண்டுபிடிக்க முயற்சி. ஏதாவது இருந்தால், இது மற்ற சமூக உறுப்பினர்கள் ஈடுபாடு மற்றும் பதிலளிக்கும் முன் ஒரு பங்களிப்பு செய்வதற்கு அதிக நேரத்தை முதலீடு செய்ய ஒரு நல்ல காரணம்.
### 🚧 உங்கள் பங்களிப்பில் யாரோ ஒருவர் மாற்றங்களைக் கோருகிறார்.
உங்கள் பங்களிப்புக்கு மாற்றங்களை செய்யும்படி கேட்கப்படும், இது உங்கள் யோசனையின் நோக்கம் பற்றிய கருத்து அல்லது உங்கள் குறியீட்டில் மாற்றம் கோரப்பபடபடலாம்.
யாராவது மாற்றங்களை கோரினால், பதிலளிக்க வேண்டும். உங்கள் பங்களிப்பை மதிப்பாய்வு செய்ய அவர்கள் நேரம் எடுத்துள்ளனர். ஒரு PR திறந்துவிட்டு பின்பு விட்டு விலகுவது மோசமானதாகும். மாற்றங்களைச் செய்ய உங்களுக்குத் தெரியாவிட்டால், சிக்கலை ஆராயுங்கள், உங்களுக்கு உதவி தேவைப்பட்டால் கேட்கவும்.
இனி பிரச்சினையில் வேலை செய்ய நேரம் இல்லை என்றால் (எடுத்துக்காட்டாக, உரையாடல் மாதங்களுக்கு நடக்கிறது என்றால், உங்கள் சூழ்நிலைகள் மாறிவிட்டன), பராமரிப்பாளர் அவர்கள் ஒரு பதிலை எதிர்நோக்குவதில்லை என்று தெரிந்து கொள்ளட்டும். வேறு யாராவது எடுத்துக்கொள்ள தயாராக இருக்கலாம்.
### 👎 உங்கள் பங்களிப்பு ஏற்றுக்கொள்ளப்படாது.
உங்கள் பங்களிப்பு இறுதியில் ஏற்றுக்கொள்ளப்படலாம் அல்லது ஏற்றுக்கொள்ளப்படாமல் இருக்கலாம். நீங்கள் ஏற்கனவே அதில் அதிக வேலை செய்யவில்லை. இது ஏன் ஏற்றுக்கொள்ளப்படவில்லை என்பதை உறுதியாக தெரியாவிட்டால், கருத்துரை மற்றும் தெளிவுபடுத்துதலுக்கான பராமரிப்பாளரைக் கேட்பது நியாயமானது. ஆனால் இறுதியில், இது அவர்களின் முடிவு என்று நீங்கள் மதிக்க வேண்டும். வாதிடாதீர்கள் அல்லது விரோதம் கொள்ள வேண்டாம். நீங்கள் கருத்து தெரிவிக்கிறீர்கள் என்றால், நீங்கள் எப்போது வேண்டுமானாலும் வரவேற்பைப் பெறுவீர்கள்.
### 🎉 உங்கள் பங்களிப்பு ஏற்றுக்கொள்ளப்பட்டது..
ஓஹோ! திறந்த மூல பங்களிப்பை வெற்றிகரமாகச் செய்துள்ளீர்கள்!
## நீங்கள் செய்தீர்கள்!
உங்கள் முதல் திறந்த மூல பங்களிப்பை நீங்கள் செய்திருந்தாலும் அல்லது பங்களிக்க புதிய வழிகளைத் தேடுகிறீர்களோ இல்லையோ,நீங்கள் நடவடிக்கை எடுக்க ஈர்க்கப்பட்டிருப்பதாக நம்புகிறோம். உங்கள் பங்களிப்பு ஏற்றுக்கொள்ளப்படவில்லை என்றால், ஒரு பராமரிப்பாளர் உங்களுக்கு உதவ முயற்சிக்கும் போது நன்றி சொல்ல மறக்காதீர்கள். திறந்த மூல உங்களைப் போன்ற நபர்களால் செய்யப்படுகிறது: ஒரு சிக்கல், கோரிக்கையை, கருத்துரை அல்லது high-five (வெற்றியைக் கொண்டாட இருவர், தங்கள் உள்ளங்கைகளை மேலே தூக்கித் தட்டிக்கொள்ளுதல்).
================================================
FILE: _articles/ta/index.html
================================================
---
layout: index
title: திறந்த மூல வழிகாட்டிகள்
lang: ta
permalink: /ta/
---
================================================
FILE: _articles/ta/leadership-and-governance.md
================================================
---
lang: ta
title: தலைமை மற்றும் ஆளுமை
description: வளர்ந்து வரும் திறந்த மூல திட்டங்கள் முடிவுகளை எடுக்க முறையான விதிகளால் நன்மை அடைய முடியும்.
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
---
## உங்கள் வளரும் திட்டத்திற்கான ஆளுமையை புரிந்துகொள்ளுதல்
உங்கள் திட்டம் வளர்ந்து வருகிறது, மக்கள் ஈடுபட்டுள்ளனர், நீங்கள் இந்த காரியத்தை வைத்துக் கொள்ள கடமைப்பட்டுள்ளீர்கள். Aஇந்த கட்டத்தில், உங்கள் பணிப்பகுதிக்கு வழக்கமான திட்ட பங்களிப்பாளர்களை எவ்வாறு இணைப்பது என்பது குறித்து நீங்கள் யோசித்து இருக்கலாம், யாரோ ஒருவருக்கு அணுகல் வழங்குவது அல்லது சமூக விவாதங்களை தீர்த்து வைப்பதாக இருக்கலாம். உங்களிடம் கேள்விகள் இருந்தால், எங்களிடம் பதில்கள் உள்ளன.
## திறந்த மூல திட்டங்களில் பயன்படுத்தப்படும் முறையான பாத்திரங்களுக்கு எடுத்துக்காட்டுகள் என்ன?
பல திட்டங்கள் பங்களிப்பவருக்கும் அங்கீகாரத்திற்கும் ஒத்த கட்டமைப்பைப் பின்பற்றுகின்றன.
உண்மையில் இந்த பாத்திரங்களுக்கு என்ன அர்த்தம் என்பது உங்களை சார்ந்தது. நீங்கள் அடையாளம் காணக்கூடிய சில வகை பாத்திரங்கள் இங்கே:
* **பராமரிப்பாளர்**
* **பங்களிப்பாளர்**
* **ஒப்புவிப்பவர்**
**சில திட்டங்களில், "பராமரிப்பாளர்கள்"** மட்டுமே ஒப்புவி அணுகல் உள்ள மக்கள். மற்ற திட்டங்களில், README இல் பராமரிப்பாளர்களாக பட்டியலிடப்பட்ட நபர்கள் தான்.
ஒரு பராமரிப்பாளர் உங்கள் திட்டத்திற்கான குறியீட்டை எழுதுபவராக இருக்க அவசியம் இல்லை. இவர் உங்கள் திட்டத்தை மேம்படுத்துவதற்காக நிறைய வேலைகளை செய்திருக்கலாம், அல்லது மற்றவர்களுக்கு திட்டத்தை அணுகக்கூடிய ஆவணமாக்கல் செய்திருக்கலாம். அவர்கள் தினமும் என்ன செய்தாலும், ஒரு பராமரிப்பாளர் திட்டத்தின் திசைக்கு பொறுப்பாளராக இருப்பார், அதை மேம்படுத்துவதற்கு கடமைப்பட்டுள்ளார்.
**ஒரு "பங்களிப்பாளர்" என்பவர்** ஒரு சிக்கல் அல்லது இழு கோரிக்கையைப் பற்றி கருத்துத் தெரிவிக்கும், திட்டத்திற்கு மதிப்பைச் சேர்க்கும் நபர்கள் (இது சிக்கல்களை உயர்த்துவது, குறியீடு எழுதுதல், அல்லது நிகழ்வுகளை ஒழுங்குபடுத்துதல்) அல்லது இணைக்கப்பட்ட இழு கோரிக்கையுடன் (ஒருவேளை மிகக் குறுகிய ஒரு பங்களிப்பாளரின் வரையறை).
**"ஒப்புவிப்பவர்" என்ற சொல்** மற்ற வகையான பங்களிப்புகளிலிருந்து பொறுப்பான ஒரு குறிப்பிட்ட வகையிலான பொறுப்பை ஒப்புக் கொள்ளுதல் ஆகியவற்றுக்கு பயன்படுத்தலாம்.
உங்கள் திட்டப்பணியை நீங்கள் விரும்பும் எந்த வழியையும் வரையறுக்க முடியும், மேலும் பங்களிப்பு வடிவங்களை ஊக்குவிக்க [பரந்த வரையறைகளைப் பயன்படுத்துங்கள்](../how-to-contribute/#பங்களிப்பதின்-அர்த்தம்-என்ன). உங்கள் தொழில்நுட்ப திறமையைப் பொருட்படுத்தாமல், உங்கள் திட்டத்தில் சிறந்த பங்களிப்பை செய்தவர்களை அங்கீகரிக்க நீங்கள் தலைமைப் பாத்திரங்களைப் பயன்படுத்தலாம்.
## இந்த தலைமைப் பாத்திரங்களை நான் எப்படி ஒழுங்கமைப்பது?
உங்கள் தலைமைத்துவ பாத்திரங்களை ஒழுங்குபடுத்துவது மக்களுக்கு உரிமையைக் காட்ட உதவுகிறது, மேலும் உதவியைப் பார்க்க மற்ற சமூக உறுப்பினர்களைக் கூறுகிறது.
ஒரு சிறிய திட்டம், தலைவர்கள் நியமனம் என்பது உங்கள் என்னைவாசி(README) அல்லது ஒரு பங்களிப்பாளர்கள்(CONTRIBUTORS) உரை கோப்பில் தங்கள் பெயர்களை சேர்ப்பது போன்ற எளிமையாக இருக்க முடியும்.
ஒரு பெரிய திட்டத்திற்கு, உங்களுக்கு ஒரு வலைத்தளம் இருந்தால், ஒரு குழு பக்கத்தை உருவாக்கவும் அல்லது உங்கள் திட்டத் தலைவர்களை பட்டியலிடவும். உதாரணமாக, [போஸ்கிரஸ்](https://github.com/postgres/postgres/) ஒவ்வொரு பங்களிப்பாளருக்கும் குறுகிய சுயவிவரங்களுடன் [விரிவான குழு பக்கம்](https://www.postgresql.org/community/contributors/) கொண்டு உள்ளது.
உங்கள் திட்டம் மிகவும் சுறுசுறுப்பான பங்களிப்புச் சமுதாயத்தைக் கொண்டிருந்தால், நீங்கள் பராமரிப்பாளர்களின் ஒரு "உள்ளக குழு" அல்லது வெவ்வேறு சிக்கல் பகுதிகளை (எடுத்துக்காட்டாக, பாதுகாப்பு, சிக்கல் மிக்கது, அல்லது சமூக நடத்தை) உரிமையாளர்களாக எடுத்துக் கொள்ளும் உபகுழுக்களாக இருக்கலாம். மக்களுக்கு சுய ஒழுங்கமைப்பையும், தன்னார்வத் தொண்டுகளையும் அவர்கள் மிகவும் உற்சாகமாக அளித்து விட வேண்டும், மாறாக அவர்களை ஒதுக்குவதை விட.
தலைமை குழுக்கள் நியமிக்கப்பட்ட சேனலை (ஐஆர்சி போன்றவை) உருவாக்குவதற்கு அல்லது திட்டத்தை (கிட்டர் அல்லது கூகுள் ஹாங்க் அவுட் போன்றவை) விவாதிப்பதற்கு எண்ணலாம். அந்த கூட்டங்களைப் பொதுவில் வைப்பபதபதால் மற்றவர்கள் கேட்கலாம். உதாரணத்திற்கு [கூக்கூம்பர்-ரூபி](https://github.com/cucumber/cucumber-ruby), [ஒவ்வொரு வாரமும் அலுவல் நேரத்தை நடத்துகிறது](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
தலைமைத்துவப் பாத்திரங்களை நீங்கள் உருவாக்கியிருந்தால், மக்களை எவ்வாறு அடைவது என்பதை ஆவணப்படுத்த மறக்காதீர்கள்! யாரேனும் ஒருவர் பராமரிப்பாளராக அல்லது உங்கள் திட்டத்தில் துணைக்குழுவில் சேரலாம் என்பதற்கும், அதை உங்கள் GOVERNANCE.md இல் எழுதுவதற்கும் ஒரு தெளிவான வழிமுறையை உருவாக்குங்கள்.
[Vossibility](https://github.com/icecrime/vossibility-stack) போன்ற கருவிகள் திட்டத்திற்கு யார் பங்களிப்புகளை தருகிறார் (அல்லது தரவில்லை) என்பதைத் தெரிந்துகொள்ள உதவும். இந்த தகவலை ஆவணப்படுத்துவது, பராமரிப்பாளர்கள் தனிப்பட்ட முறையில் அதன் முடிவுகளை எடுக்கும் ஒரு குழு என்று சமூக அக்கறை தவிர்க்கிறது.
இறுதியாக, உங்கள் திட்டம் கிட்ஹப்பில் இருந்தால், உங்கள் திட்டத்தை உங்கள் தனிப்பட்ட கணக்கிலிருந்து ஒரு நிறுவனத்திற்கு நகர்த்துவதைக் கருத்தில் கொண்டு, குறைந்தது ஒரு காப்பு நிர்வாகி ஒன்றைச் சேர்ப்பதை கருத்தில் கொள்ளுங்கள். [கிட்ஹப் நிறுவனங்கள்](https://help.github.com/articles/creating-a-new-organization-account/) அனுமதிகள் மற்றும் பல களஞ்சியங்களை நிர்வகிக்க எளிதாக்குகின்றன, மேலும் உங்கள் திட்டத்தின் மரபுரிமைகளை [பகிரப்பட்ட உரிமையாளர்](../building-community/#share-ownership-of-your-project) மூலம் பாதுகாக்கின்றன.
## எப்போது யாருக்கு ஒப்புவிக்கும் அணுகல் கொடுக்க வேண்டும்?
சிலர் நீங்கள் ஒரு பங்களிப்பை செய்கிற அனைவருக்கும் அனுமதி வழங்க வேண்டும் என்று நினைக்கிறார்கள். அவ்வாறு செய்வது உங்கள் திட்டத்தின் உரிமையை உணர இன்னும் பலரை ஊக்குவிக்கும்.
மறுபுறம், குறிப்பாக பெரிய, மிகவும் சிக்கலான செயல்திட்டங்களுக்கான, நீங்கள் அவர்களின் அர்ப்பணிப்பை நிரூபிக்கியுள்ள மக்களுக்கு மட்டுமே அனுமதி வழங்க வேண்டும். அதை செய்ய எந்த ஒரு சரியான வழி இல்லை - உங்களுக்கு மிகவும் வசதியாக உள்ள வழியில் செய்க!
உங்கள் திட்டம் கிட்ஹப்பில் இருந்தால், ஒரு குறிப்பிட்ட கிளைக்கு யார் தள்ள முடியும், எந்த சூழ்நிலையிலும் நிர்வகிக்க நீங்கள் [பாதுகாக்கப்பட்ட கிளைகள்](https://help.github.com/articles/about-protected-branches/) பயன்படுத்தலாம்.
## திறந்த மூல திட்டங்களுக்கான பொது ஆளுமை கட்டமைப்புகள் சில யாவை?
திறந்த மூல திட்டங்களுடனான மூன்று பொது ஆளுமை கட்டமைப்புகள் உள்ளன.
* **BDFL:** BDFL "வாழ்வாதாரத்திற்கான சர்வாதிகாரி". இந்த கட்டமைப்பின் கீழ், ஒரு நபர் (பொதுவாக திட்டத்தின் ஆரம்ப எழுத்தாளர்) அனைத்து முக்கிய திட்ட முடிவுகளிலும் இறுதி சொல் உள்ளவரார். [பைதான்](https://github.com/python) ஒரு உன்னதமான உதாரணம். ஒன்று அல்லது இரண்டு பராமரிப்பாளர்கள் இருப்பதால் சிறிய திட்டங்கள் பெரும்பாலும் இயல்பான BDFL ஆகும். ஒரு நிறுவனம் தோற்றுவிக்கப்பட்ட ஒரு திட்டம் BDFL பிரிவில் விழக்கூடும்.
* **தகுதி முறை:** **(குறிப்பு: "தகுதி" என்ற வார்த்தை சில சமூகங்களுக்கு எதிர்மறையான கருத்துகளை கொண்டுள்ளது, மேலும் [சிக்கலான சமூக மற்றும் அரசியல் வரலாறு](http://geekfeminism.wikia.com/wiki/Meritocracy).)** ஒரு தகுதித்துவத்தின் கீழ், செயலில் உள்ள திட்ட பங்களிப்பாளர்கள் ("தகுதியை" நிரூபிப்பவர்கள்) முறையான முடிவு எடுக்கும் பங்கை வழங்கியுள்ளனர். தூய வாக்களிப்பு கருத்தை அடிப்படையாக கொண்ட முடிவுகள் பொதுவாக செய்யப்படுகின்றன. தகுதி முறை கருத்துப் படிவம் [அப்பாச்சி அறக்கட்டளையின்](https://www.apache.org/) முன்னோடியாக இருந்தது; [அனைத்து அப்பாச்சி திட்டங்கள்](https://www.apache.org/index.html#projects-list) தகுதி முறை உள்ளவை. தனிநபர்கள் தங்களைக் குறிக்கும் நபர்களால் மட்டுமே பங்களிப்பு செய்ய முடியும், நிறுவனத்தால் அல்ல.
* **தாராளவாத பங்களிப்பு:** Uதாராளமான பங்களிப்பு மாதிரியின் கீழ், அதிக வேலை செய்யும் மக்கள் மிகவும் செல்வாக்காளர்களாக அங்கீகரிக்கப்படுகின்றனர், ஆனால் இது நடப்பு வேலைகளை அடிப்படையாகக் கொண்டது, வரலாற்று பங்களிப்பு அல்ல. முக்கிய திட்ட முடிவுகள், முழுமையான வாக்கெடுப்புக்கு பதிலாக ஒரு கருத்தொன்றைத் தேடும் செயல்முறையை அடிப்படையாகக் கொண்டு (பெரும் கவலையைப் பற்றிக் கொள்ளுதல்), மற்றும் சாத்தியமான பல சமூக முன்னோக்குகளை உள்ளடக்கியது. தாராளவாத பங்களிப்பு மாதிரி பயன்படுத்தும் திட்டங்களின் பிரபலமான உதாரணங்கள் [Node.js](https://foundation.nodejs.org/) and [Rust](https://www.rust-lang.org/).
நீங்கள் எதைப் பயன்படுத்த வேண்டும்? அதை நீங்கள் தான் முடிவு செய்ய வேண்டும்! ஒவ்வொரு மாதிரியிலும் நன்மைகள் மற்றும் ஈடுகட்டல் உள்ளன. அவை முதலில் வித்தியாசமாக தோன்றினாலும், மூன்று மாதிரிகளுக்கு காண்பதை காட்டிலும் பொதுவானவை அதிகமுள்ளது. இந்த ஒப்புருக்களில் ஒன்றை ஏற்றுக்கொள்ள ஆர்வமாக இருந்தால், இந்த வார்ப்புருக்களைப் பார்க்கவும்:
* [BDFL மாதிரி வார்ப்புரு](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [தகுதி முறை மாதிரி வார்ப்புரு](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js-ன் தாராளவாத பங்களிப்பு கொள்கை](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## நான் என் திட்டத்தை தொடங்கும்போது ஆளுகை ஆவணங்கள் தேவையா?
உங்கள் திட்டத்தின் நிர்வாகத்தை எழுதி வைக்க சரியான நேரம் என்று எதுவுமில்லை, ஆனால் உங்கள் சமூக இயக்கவியலை பார்த்தபின்பு, அதை வரையறுப்பது மிகவும் எளிது. Tதிறந்த மூல ஆளுமை பற்றி சிறந்த (மற்றும் கடினமான) பகுதியாக இது சமூகத்தால் வடிவமைக்கப்பட்டது!
சில ஆரம்ப ஆவணங்கள் தவிர்க்க முடியாமல் உங்கள் திட்டத்தின் ஆளுமைக்கு பங்களிக்கின்றன, இருப்பினும், நீங்கள் என்ன செய்ய முடியுமென்பதை எழுதுங்கள். உதாரணமாக, நடத்தைக்கான தெளிவான எதிர்பார்ப்புகளை நீங்கள் வரையறுக்கலாம் அல்லது உங்கள் திட்டத்தின் தொடக்கத்தில் கூட, உங்கள் பங்களிப்பாளரின் செயல் எவ்வாறு இயங்குகிறது என்பதை நீங்கள் வரையறுக்கலாம்.
நீங்கள் ஒரு திறந்த மூல திட்டத்தை துவக்கும் நிறுவனத்தின் ஒரு அங்கமாக இருந்தால், உங்கள் நிறுவனமானது எவ்வாறு பராமரிப்பது மற்றும் திட்டத்தை முன்னோக்கி நகர்த்துவதற்கான முடிவுகளை எடுப்பது பற்றி அறிமுகப்படுத்துவதற்கு முன்பாக ஒரு உள் விவாதத்தை வைத்திருப்பது நன்று. திட்டத்தில் உங்கள் நிறுவனம் எப்படி ஈடுபடுவது (அல்லது முடியாது!) என்பது குறித்த அனைத்தையும் பகிரங்கமாக விளக்க விரும்பலாம்.
## பெருநிறுவன ஊழியர்கள் பங்களிப்புகளை சமர்ப்பிக்க ஆரம்பித்தால் என்ன நடக்கும்?
வெற்றிகரமான திறந்த மூல திட்டங்கள் பல மக்களாலும் நிறுவனங்களாலும் பயன்படுத்தப்படுகின்றன, மேலும் சில நிறுவனங்களில் வருவாய் நீரோடைகள் திட்டத்தில் இணைந்திருக்கலாம். உதாரணமாக, ஒரு நிறுவனம் ஒரு வணிகச் சேவை வழங்கும் திட்டத்தின் ஒரு பகுதியாக திட்டத்தின் குறியீட்டைப் பயன்படுத்தலாம்.
திட்டம் மிகவும் பரவலாக பயன்படுத்தப்படும் பொழுது, நிபுணத்துவம் கொண்ட மக்கள் தேவை அதிகலாம்- நீங்கள் ஒருவராக இருக்கலாம்! - மற்றும் சில நேரங்களில் அவர்கள் திட்டத்தில் வேலை செய்ய பணம் கிடைக்கும்.
சாதாரணமாக வணிக ரீதியிலான செயல்பாடு மற்றும் அபிவிருத்தி ஆற்றலை மற்றொரு ஆதாரமாகக் கருதுவது முக்கியம். Pபணம் பெறும் நிரலாளர்கள் நிச்சயமாக செலுத்தப்படாதவர்களைவிட சிறப்பு சிகிச்சை பெறக்கூடாது; ஒவ்வொரு பங்களிப்பும் அதன் தொழில்நுட்ப தகுதிகளில் மதிப்பீடு செய்யப்பட வேண்டும். இருப்பினும், வணிக செயல்பாடுகளில் வசதியாக ஈடுபடுவதை உணர வேண்டும், மேலும் ஒரு குறிப்பிட்ட மேம்பாட்டிற்கோ அல்லது அம்சத்திற்கோ ஆதரவாக வாதிடும்போது, அவற்றின் பயன்பாடு வழக்குகள் குறித்து வசதியாக இருக்கும்.
"வணிகம்" என்பது "திறந்த மூலத்திற்கு" ஏற்புடையது. "வணிகம்" என்பது எங்காவது பணத்தை வைத்திருப்பது என்பது பொருள் - மென்பொருளானது வர்த்தகத்தில் பயன்படுத்தப்படுகிறது, இது ஒரு திட்டத்தை வெற்றிகரமாக ஏற்றுக்கொள்வது போன்றது. (திறந்த மூல மென்பொருளானது அல்லாத திறந்த மூல தயாரிப்புகளின் ஒரு பகுதியாக பயன்படுத்தப்படும்போது, மொத்த தயாரிப்பு இன்னும் "தனியுரிமை" மென்பொருளாகும், இருப்பினும், திறந்த மூலத்தைப் போல, இது வணிக ரீதியான அல்லது வணிகரீதியான நோக்கங்களுக்காக பயன்படுத்தப்படலாம்.)
மற்றவர்களைப் போல, வணிக ரீதியாக ஊக்கமளிக்கும் நிரலாளர்கள் தங்கள் பங்களிப்புகளின் தரம் மற்றும் அளவு மூலம் திட்டத்தில் செல்வாக்கைப் பெறுகின்றனர். வெளிப்படையாக, பணம் பெறும் ஒரு நிரலாளர் பணம் இல்லாத ஒருவரைவிட அதிகமாகச் செய்யலாம், ஆனால் அது பரவாயில்லை: பணம் ஒருவர் எவ்வளவு செய்யலாம் என்பதை . பாதிக்கக்கூடிய பல காரணிகளில் ஒன்றாகும்.. உங்கள் திட்ட விவாதங்களை பங்களிப்புகளில் கவனம் செலுத்துங்கள், மக்களுக்கு அந்த பங்களிப்பை வழங்குவதற்கு வெளிப்புற காரணிகளில் அல்ல.
## எனது திட்டத்தை ஆதரிக்க எனக்கு ஒரு சட்ட நிறுவனம் தேவைதானா?
பணத்தை கையாளும் வரை உங்கள் திறந்த மூல திட்டத்தை ஆதரிக்க உங்களுக்கு ஒரு சட்ட நிறுவனம் தேவையில்லை.
உதாரணமாக, நீங்கள் ஒரு வணிக வணிகத்தை உருவாக்க விரும்பினால், நீங்கள் ஒரு சி கார்ப் அல்லது எல்எல்சி ஒன்றை (நீங்கள் அமெரிக்க அடிப்படையிலேயே இருந்தால்) அமைக்க வேண்டும். உங்களுடைய திறந்த மூல திட்டத்துடன் தொடர்புடைய ஒப்பந்த வேலைகளை நீங்கள் செய்தால், நீங்கள் ஒரு தனி உரிமையாளராக பணத்தை ஏற்றுக்கொள்ளலாம் அல்லது எல்.எல்.சி (நீங்கள் அமெரிக்க அடிப்படையிலேயே இருந்தால்) ஒன்றை அமைக்கலாம்.
உங்கள் திறந்த மூல திட்டத்திற்கான நன்கொடைகளை நீங்கள் ஏற்றுக் கொள்ள விரும்பினால், நீங்கள் நன்கொடை பொத்தானை (உதாரணமாக பேபால் அல்லது ஸ்டரைப் பயன்படுத்தி) அமைத்துக்கொள்ளலாம், ஆனால் நீங்கள் தகுதியற்ற இலாப நோக்கில் இல்லாதபட்சத்தில் வரி விதிக்கப்படாது (ஒரு 501c3, நீங்கள் அமெரிக்காவில் இருந்தால்).
பல திட்டங்கள் ஒரு இலாப நோக்கமற்ற அமைப்பை உருவாக்கும் சிக்கல் மூலம் செல்ல விரும்பவில்லை, எனவே அவர்கள் அதற்கு பதிலாக ஒரு லாப நோக்கற்ற நிதி ஆதரவாளரைக் காண்கிறார்கள். ஒரு நிதியளிப்பவர் உங்கள் சார்பில் நன்கொடைகளை ஏற்றுக்கொள்கிறார், வழக்கமாக நன்கொடையின் ஒரு சதவீதத்திற்கு பதிலாக. [மென்பொருள் சுதந்திர பாதுகாப்பு](https://sfconservancy.org/), [அப்பாச்சி அறக்கட்டளை](https://www.apache.org/), [எக்லிப்ஸ் அறக்கட்டளை](https://eclipse.org/org/), [லினக்ஸ் அறக்கட்டளை](https://www.linuxfoundation.org/projects) மற்றும் [திறந்த கூட்டு](https://opencollective.com/opensource) திறந்த மூல திட்டங்களுக்கு நிதி ஆதரவாளர்களாக செயல்படும் நிறுவனங்களின் எடுத்துக்காட்டுகள் ஆகும்.
உங்கள் திட்டம் ஒரு குறிப்பிட்ட மொழியோ அல்லது சுற்றுச்சூழலுக்கோ நெருங்கிய தொடர்புடையதாக இருந்தால், நீங்கள் வேலை செய்யக்கூடிய தொடர்புடைய மென்பொருள் அடித்தளம் இருக்கலாம். உதாரணமாக, [பைத்தான் மென்பொருள் அறக்கட்டளை](https://www.python.org/psf/) [PyPI](https://pypi.python.org/pypi) பைத்தான் தொகுப்பு மேலாளரை, மற்றும் [Node.js அறக்கட்டளை](https://foundation.nodejs.org/) [Express.js](https://expressjs.com/), a ஒரு நோட் Node-சார்ந்த கட்டமைப்பை ஆதரிக்க உதவுகிறது.
================================================
FILE: _articles/ta/legal.md
================================================
---
lang: ta
title: திறந்த மூல சட்டப் பிரிவு
description: திறந்த மூலத்தின் சட்ட பக்கத்தைப் பற்றி நீங்கள் எப்போதாவது யோசித்ததுண்டா, மற்றும் நீங்கள் யோசிக்காத சில விடயங்கள்.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## திறந்த மூலத்தின் சட்ட உட்குறிப்புகளை புரிந்துகொள்வது
உலகம் முழுவதும் உங்கள் படைப்பு பணி பகிர்வது என்பது ஒரு அற்புதமான மற்றும் வெகுமதி உள்ள அனுபவமாக இருக்க முடியும். உங்களுக்குத் தெரியாத சட்ட விஷயங்களைக் குறித்து நீங்கள் கவலைப்பட வேண்டிய அவசியம் இருக்கும். Tஅதிர்ஷ்டவசமாக, நீங்கள் முதலில் இருந்து தொடங்க வேண்டும் என்றில்லை. உங்கள் சட்டப்பூர்வ தேவைகளை விளக்க நாங்கள் இருக்கிறோம். நீங்கள் தோண்டுவதற்கு முன், எங்கள் [மறுப்பை](/notices/) வாசிக்கவும்.)
## திறந்த மூலத்தின் சட்ட பக்கத்தைப் பற்றி மக்கள் ஏன் அதிகம் கவலைப்படுகிறார்கள்?
நீங்கள் கேட்டது மகிழ்ச்சி! நீங்கள் ஒரு படைப்பாற்றல் வேலை (எழுத்து, வரைகலை அல்லது குறியீடு போன்றவை) செய்யும்போது, அந்த வேலை இயல்பாகவே பிரத்யேக பதிப்புரிமையின் கீழ் உள்ளது. அதாவது, உங்கள் வேலையின் ஆசிரியராக, மற்றவர்களுடன் என்ன செய்யலாம் என்று ஒரு சொல் உள்ளது என்று சட்டம் கூறுகிறது.
பொதுவாக, வேறு எவரும் பயன்படுத்த முடியாது, நகலெடுக்கலாம், விநியோகிக்கவோ அல்லது மாற்றவோ உங்கள் வேலையை எடுத்துக்கொள்வதன் மூலம், வீழ்ச்சி, மறுசீரமைப்பு அல்லது வழக்கு அபாயங்கள் ஆகியவை இல்லாமல் இருக்கலாம்.
திறந்த மூலம் ஒரு அசாதாரண சூழ்நிலையாகும், ஏனென்றால் மற்றவர்கள் பயன்படுத்துவதை, மாற்ற, மற்றும் பகிர்வைப் பகிர்ந்து கொள்வார்கள் என ஆசிரியர் எதிர்பார்க்கிறார். ஆனால் இயல்பான சட்டப்பூர்வ தனிப்பட்ட பதிப்புரிமை உடையது என்பதால், இந்த அனுமதிகளை வெளிப்படையாகக் குறிப்பிடும் உரிமம் உங்களுக்குத் தேவை.
திறந்த மூல உரிமத்தை நீங்கள் பயன்படுத்தவில்லை என்றால், உங்கள் திட்டத்தில் பங்களிப்பவர்கள் எல்லோரும் தங்கள் வேலையின் ஒரு பிரத்தியேக பதிப்புரிமை வைத்திருப்பார்கள். இதன் பொருள் யாரும் தங்கள் பங்களிப்புகளை பயன்படுத்தவோ, நகலெடுக்கவோ, விநியோகிக்கவோ, மாற்றவோ முடியாது - மற்றும் "யாரும்" நீங்கள் உட்பட.
இறுதியாக, உங்களுடைய திட்டம் உங்களுக்குத் தெரியாத உரிமத் தேவைகளை சார்ந்திருக்கும். உங்கள் திட்டத்தின் சமூகம், அல்லது உங்கள் முதலாளியின் கொள்கைகள், உங்கள் திட்டத்தில் குறிப்பிட்ட திறந்த மூல உரிமங்களைப் பயன்படுத்த வேண்டியிருக்கும். கீழே உள்ள சூழ்நிலைகளை நாங்கள் பாதுகாக்கிறோம்.
## கிட்ஹப்பில் உள்ள பொது திட்டங்கள் திறந்த மூலமா?
கிட்ஹப்பில் நீங்கள் [புதிய திட்டம் ஒன்றை உருவாக்கும்](https://help.github.com/articles/creating-a-new-repository/) போது, **தனிப்பட்ட** அல்லது **பகிரங்கமான** களஞ்சியமாக உருவாக்க விருப்பத்தேர்வுகள் உள்ளன.

**உங்கள் கிட்ஹப் திட்டப்பணியை பொதுவில் வைப்பது என்பது உங்கள் திட்டத்திற்கு உரிமம் அளிப்பதை போல் அல்ல.** பொது திட்டங்கள் [கிட்ஹப் இன் சேவை விதிமுறைகளால்](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants) பாதுகாக்கப்படுகின்றது,இது உங்கள் திட்டத்தை மற்றவர்களுக்குக் காண்பிப்பதற்கு மற்றும் கவைய அனுமதிக்கிறது, ஆனால் உங்கள் வேலை அனுமதி இன்றி வருகிறது.
மற்றவர்கள் பயன்படுத்த விரும்பினால், விநியோகிக்கவும், மாற்றவும் அல்லது உங்கள் திட்டத்திற்கு பங்களிக்கவும் விரும்பினால், நீங்கள் திறந்த மூல உரிமத்தை சேர்க்க வேண்டும். எடுத்துக்காட்டுக்கு, உங்கள் கிட்ஹப் திட்டத்தின் எந்தவொரு பகுதியையும் அவர்கள் குறியீட்டில் சட்டபூர்வமாகப் பயன்படுத்த முடியாது, பொதுவில் இருந்தாலும், அவற்றை வெளிப்படையாக வழங்குவதற்கு உரிமை இல்லை.
## என் திட்டத்தை நான் பாதுகாக்க வேண்டும் என்பதற்காக டி.எல்;டி.ஆர் தாருங்கள்
உங்கள் அதிர்ஷ்டம், இன்று திறந்த மூல உரிமங்கள் தரநிலையானது மற்றும் பயன்படுத்த எளிதானது. ஏற்கனவே உள்ள உரிமத்தை நேரடியாக உங்கள் திட்டத்தில் நகலெடுக்கலாம்.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), மற்றும் [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) ஆகியவை மிகவும் பிரபலமான திறந்த மூல உரிமங்கள், இன்னும் தேர்வு செய்ய பிற விருப்பங்களும் உள்ளன. இந்த உரிமங்களின் முழு உரைகளையும், அவற்றை எவ்வாறு பயன்படுத்துவது என்பதையும் [choosealicense.com](https://choosealicense.com/) காணலாம்.
நீங்கள் கிட்ஹப்பில் ஒரு புதிய திட்டத்தை உருவாக்கும்போது, நீங்கள் [உரிமத்தைச் சேர்க்கும்படி கேட்கப்படும்](https://help.github.com/articles/open-source-licensing/).
## எனது திட்டத்திற்கு எந்த திறந்த மூல உரிமம் பொருத்தமானது?
நீங்கள் ஒரு வெற்று கற்பலகையில் தொடங்கி இருந்தால், [MIT உரிமத்துடன்](https://choosealicense.com/licenses/mit/) செல்வதில் தவறிருக்காது. இது சிறியது, புரிந்து கொள்ள மிகவும் எளிது, உங்கள் காப்புரிமை அறிவிப்பு உள்ளிட்ட உரிமத்தின் நகல் ஒன்றை வைத்திருக்கும் வரை யாரும் எதையாவது செய்ய அனுமதிக்கிறார்கள். Yஉங்களுக்கு எப்போது வேண்டுமானாலும் நீங்கள் வேறு உரிமத்தின் கீழ் இந்த திட்டத்தை வெளியிட முடியும்.
இல்லையெனில், உங்கள் திட்டத்திற்கான சரியான திறந்த மூல உரிமத்தை தேர்ந்தெடுப்பது உங்கள் நோக்கங்களைப் பொறுத்தது.
Yஉங்கள் திட்டம் **சார்புகள்** கொண்டிருக்க (அல்லது கொள்ள) மிகவும் சாத்தியம் உள்ளது. உதாரணமாக, நீங்கள் ஒரு Node.js திட்டத்தை திறந்தால், ஒருவேளை நீங்கள் Node தொகுப்பு மேலாளர் (npm) இலிருந்து நூலகங்களைப் பயன்படுத்துவீர்கள். நீங்கள் சார்ந்துள்ள அந்த நூலகங்களில் ஒவ்வொன்றும் அதன் சொந்த திறந்த மூல உரிமம் பெற்றிருக்கும். அவற்றின் உரிமங்களில் ஒவ்வொன்றும் "அனுமதி" (கீழ்நிலை உரிமத்திற்கான எந்தவொரு நிபந்தனையும் இல்லாமல், பயன்படுத்த, மாற்ற, மற்றும் பகிர்வதற்கு பொது அனுமதி அளிக்கிறது), நீங்கள் விரும்பும் உரிமத்தை நீங்கள் பயன்படுத்தலாம். MIT, Apache 2.0, ISC, மற்றும் BSD.q ஆகியவை பொதுவான அனுமதிப்பத்திர உரிமங்களாகும்.
மறுபுறம், உங்கள் சார்பற்ற உரிமங்களில் ஏதேனும் "வலுவான நகல்" (அதே பொது உரிமத்தை கீழ்க்கண்ட உரிமத்தைப் பயன்படுத்தி நிபந்தனைக்கு உட்படுத்தலாம்), உங்கள் திட்டம் அதே உரிமத்தைப் பயன்படுத்த வேண்டும். GPLv2, GPLv3, மற்றும் AGPLv3 ஆகியவை பொது வலுவான அளிப்புரிமை உரிமங்களாகும்.
மேலும் நீங்கள் உங்கள் திட்டத்தினைப் பயன்படுத்தம் மற்றும் பங்களிக்கும் **சமூகங்களை** கருத்தில் கொள்ள வேண்டும்.
* **மற்ற திட்டங்களின் சார்பாக உங்கள் திட்டம் பயன்படுத்தப்பட வேண்டுமா?** உங்கள் தொடர்புடைய சமூகத்தில் மிகவும் பிரபலமான உரிமையைப் பயன்படுத்த சிறந்தது. உதாரணமாக, [எம்ஐடி] (https://choosealicense.com/licenses/mit/) என்பது [npm நூலகங்களுக்கு](https://libraries.io/npm) மிகவும் பிரபலமான உரிமம்.
* **உங்கள் திட்டம் பெரிய வணிகங்களுக்கு மேல் முறையிட வேண்டுமா?** ஒரு பெரிய வணிக வாய்ப்பு அனைத்து பங்களிப்பாளர்கள் ஒரு வெளிப்படையான காப்புரிமை உரிமம் வேண்டும். இந்த வழக்கில், [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) உங்களை (மற்றும் அவற்றை) பாதுகாக்கும்.
* **மூடப்பட்ட மூல மென்பொருள் தங்கள் பங்களிப்புகளை பயன்படுத்த விரும்பாத பங்களிப்பாளர்களுக்கு உங்கள் திட்டம் மேல்முறையீடு செய்ய விரும்புகிறீர்களா?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) or (அவர்கள் மூடிய மூல சேவைகள் பங்களிக்க விரும்பவில்லை என்றால்) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) நன்றாக இருக்கும்.
உங்கள் **நிறுவனம்** அதன் திறந்த மூல திட்டங்களுக்கான குறிப்பிட்ட உரிமத் தேவைகளைக் கொண்டிருக்கலாம். உதாரணமாக, நிறுவனத்தின் மூடப்பட்ட மூல தயாரிப்புகளில் உங்கள் திட்டத்தை நிறுவனம் பயன்படுத்த முடியும் என்பதற்கு ஒரு அனுமதிக்கப்பட்ட உரிமம் தேவைப்படலாம். அல்லது உங்களுடைய நிறுவனம் ஒரு வலுவான கோப்பாய் உரிமம் மற்றும் கூடுதலான பங்களிப்பு ஒப்பந்தம் (கீழே பார்க்கவும்) தேவைப்படலாம், அதனால் உங்கள் நிறுவனம் மட்டுமே மூல மென்பொருள் உங்கள் திட்டத்தை மட்டுமே பயன்படுத்த முடியும், வேறு யாரும் பயன்படுத்த முடியாது. அல்லது உங்களுடைய நிறுவனம் தரநிலைகள், சமூக பொறுப்புக்கள் அல்லது வெளிப்படைத்தன்மை தொடர்பான சில தேவைகளைக் கொண்டிருக்கலாம், அதில் எந்தவொரு குறிப்பிட்ட உரிம மூலோபாயம் தேவைப்படும். உங்கள் [நிறுவனத்தின் சட்ட துறையிடம்](#எனது-நிறுவனத்தின்-சட்ட-குழு-என்ன-அறிந்து-கொள்ள-வேண்டும்) பேசுங்கள்.
நீங்கள் கிட்ஹப்பில் புதிய திட்டத்தை உருவாக்கும்போது, உரிமம் ஒன்றைத் தேர்ந்தெடுக்க உங்களுக்கு விருப்பத்தேர்வு உள்ளது. மேலே குறிப்பிட்ட உரிமங்களில் ஒன்று உங்கள் கிட்ஹப் திட்டத்தின் திறந்த மூலத்தை உருவாக்கும். பிற விருப்பங்களை நீங்கள் காண விரும்பினால், உங்கள் திட்டத்திற்கு சரியான உரிமம் கண்டுபிடிக்க [choosealicense.com](https://choosealicense.com), அது [மென்பொருள் இல்லையென்றாலும்](https://choosealicense.com/non-software/).
## எனது திட்டத்தின் உரிமத்தை மாற்ற விரும்பினால் என்ன செய்வது?
பெரும்பாலான திட்டங்கள் உரிமங்களை மாற்ற வேண்டியதில்லை. ஆனால் எப்போதாவது சூழ்நிலைகள் மாறுகின்றன.
உதாரணமாக, உங்கள் திட்டம் வளர்ந்தால், சார்புகள் அல்லது பயனர்களை சேர்க்கிறது அல்லது உங்கள் நிறுவனத்தின் உத்திகளில் மாற்றங்கள், அவற்றில் ஏதேனும் வேறு உரிமம் தேவைப்படலாம் அல்லது விரும்பும். மேலும், உங்கள் திட்டத்தை தொடக்கத்திலிருந்து உரிமையாக்குவதற்கு நீங்கள் புறக்கணிக்கப்பட்டால், ஒரு உரிமத்தைச் சேர்ப்பது உரிமங்களை மாற்றுவது போலவே. உங்கள் திட்டத்தின் உரிமத்தை சேர்ப்பது அல்லது மாற்றியமைக்கும் போது மூன்று அடிப்படை விஷயங்கள் உள்ளன:
**இது சிக்கலானது.** உரிமம் பொருந்தக்கூடிய தன்மை மற்றும் இணக்கத்தைத் தீர்மானித்தல் மற்றும் பதிப்புரிமை வைத்திருப்பவர் சிக்கலையும் மற்றும் மிக விரைவாக குழப்பத்தை ஏற்படுத்தும். புதிய வெளியீடுகள் மற்றும் பங்களிப்புகளுக்கான புதிய ஆனால் இணக்கமான உரிமத்திற்கு மாறுதல் என்பது ஏற்கனவே உள்ள அனைத்து பங்களிப்புகளையும் மறுசீரமைப்பதில் இருந்து வேறுபட்டதாகும். உரிமங்களை மாற்ற விரும்பும் எந்தவொரு விருப்பத்திற்கும் உங்கள் சட்டக் குழுவை ஈடுபடுத்தவும். உங்களுடைய திட்டத்தின் காப்புரிமை வைத்திருப்பவர்களிடமிருந்து உரிமம் மாற்றத்திற்கான அனுமதி கிடைத்திருந்தாலும் அல்லது உங்கள் திட்டத்தின் மற்ற பயனர்கள் மற்றும் பங்களிப்பாளர்களின் மாற்றத்தின் தாக்கத்தை கருத்தில் கொள்ளுங்கள். உங்கள் திட்டத்தின் ஒரு "ஆளுமை நிகழ்வு" என உரிம மாற்றத்தை பற்றி யோசிக்கவும், இது உங்கள் திட்டத்தின் பங்குதாரர்களுடன் தெளிவான தகவல்தொடர்பு மற்றும் ஆலோசனைகளுடன் மென்மையாக செல்லலாம். உங்கள் திட்டத்திற்கான சரியான உரிமம் ஒன்றைத் தேர்வுசெய்து அதைப் பயன்படுத்துவதற்கான அனைத்து காரணங்களும் அதன் துவக்கத்திலிருந்து!
**உங்கள் திட்டத்தின் தற்போதைய உரிமம்.** உங்கள் திட்டத்தின் தற்போதைய உரிமம் நீங்கள் மாற்ற விரும்பும் அனுமதிப்பத்திரத்துடன் இணக்கமாக இருந்தால், புதிய உரிமத்தைப் பயன்படுத்த ஆரம்பிக்கலாம். ஏனெனில் உரிமம் A உரிமம் B உடன் இணக்கமாக இருந்தால், நீங்கள் B இன் விதிமுறைகளை கடைப்பிடிப்பதன் மூலம் (ஆனால் மறுதலையாக அல்லாமல்) இணங்குவீர்கள். எனவே, நீங்கள் தற்போது அனுமதிப்பத்திர அனுமதிப்பத்திரத்தை (எ.கா., MIT) பயன்படுத்துகிறீர்கள் என்றால், MIT உரிமத்தின் நகல் மற்றும் தொடர்புடைய பதிப்புரிமை அறிவிப்புகளை (அதாவது, MIT உரிமத்தின் குறைந்தபட்ச நிலைமைகளுக்கு இணங்குதல்). ஆனால் உங்கள் தற்போதைய உரிமம் அனுமதி இல்லை என்றால் (எ.கா., நகலெடுப்பு அல்லது உங்களுக்கு உரிமம் இல்லை) மற்றும் நீங்கள் ஒரே பதிப்புரிமை வைத்திருப்பவர் அல்ல, உங்கள் திட்டத்தின் உரிமத்தை MITஐ மாற்ற முடியாது. அடிப்படையில், அனுமதிப்பத்திர உரிமம், திட்டத்தின் பதிப்புரிமை வைத்திருப்பவர்கள் உரிமங்களை மாற்ற முன்கூட்டியே அனுமதியளித்தனர்.
**உங்கள் திட்டத்தின் தற்போதைய பதிப்புரிமை வைத்திருப்பவர்கள்.** நீங்கள் உங்கள் திட்டத்திற்கு ஒரே பங்களிப்பாளராக இருந்தால், நீங்கள் அல்லது உங்கள் நிறுவனம் திட்டத்தின் ஒரே பதிப்புரிமை வைத்திருப்பவர். நீங்கள் அல்லது உங்களுடைய நிறுவனம் விரும்பும் உரிமையை நீங்கள் சேர்க்கலாம் அல்லது மாற்றலாம். இல்லையெனில் உரிமங்களை மாற்றுவதற்கு உங்களிடம் உடன்பாடு தேவை என்று பிற பதிப்புரிமை வைத்திருப்பவர்கள் இருக்கலாம். அவர்கள் யார்? உங்கள் திட்டத்தில் ஈடுபடும் மக்கள் தொடங்க ஒரு நல்ல இடம். ஆனால் சில சந்தர்ப்பங்களில் அந்த நபர்களின் முதலாளிகளின் பதிப்புரிமை வைத்திருப்பர். சில சந்தர்ப்பங்களில் மக்கள் குறைந்த பட்ச பங்களிப்புகளை மட்டுமே செய்துள்ளனர், ஆனால் சில வரிகளின் கீழ் பதிப்புரிமைக்கு உட்பட்ட பங்களிப்பு இல்லை என்பதற்கு கடுமையான மற்றும் வேகமான விதி இல்லை. என்ன செய்ய? அது சார்ந்துள்ளது. ஒப்பீட்டளவில் சிறிய மற்றும் இளம் திட்டத்திற்காக, ஒரு சிக்கலில் உள்ள அனைத்து உரிமையாளர்களுக்கும் உரிமம் மாற்றத்தை ஏற்றுக்கொள்ள அல்லது இழு கோரிக்கையை ஏற்றுக்கொள்வது சாத்தியமானதாக இருக்கலாம். பெரிய மற்றும் நீண்ட கால திட்டங்களுக்கு, நீங்கள் பல பங்களிப்பாளர்கள் மற்றும் அவர்களது வாரிசுகளைத் தேட வேண்டும். பயர்பாக்ஸ், தண்டர்பேர்ட் மற்றும் அதனுடன் தொடர்புடைய மென்பொருட்களை மேம்படுத்த மொசில்லாவிற்கு ஆண்டுகள் (2001-2006) எடுத்தது.
மாற்றாக, உங்கள் தற்போதைய திறந்த மூல உரிமத்தால் அனுமதிக்கப்படும் சில நிபந்தனைகளின் கீழ், சில உரிமங்களில் சில உரிம மாற்றங்களுக்கு முன்கூட்டியே நீங்கள் பங்களிப்பாளர்கள் (கூடுதல் பங்களிப்பு ஒப்பந்தம் வழியாக - பார்க்கவும்) ஒப்புக் கொள்ள முடியும். இது சிறிதளவு உரிமங்களை மாற்றியமைக்கும் சிக்கலான மாற்றத்தை மாற்றுகிறது. உங்களுடைய வழக்கறிஞர்களின் உதவியுடன் உங்களுக்கு அதிக உதவி தேவைப்படலாம், மேலும் உங்கள் திட்டத்தின் உரிமையாளரின் உரிமையாளர் மாற்றத்தை நிறைவேற்றும்போது நீங்கள் தெளிவாகத் தெரிவிக்க வேண்டும்.
## எனது திட்டத்திற்கு கூடுதல் பங்களிப்பு ஒப்பந்தம் வேண்டுமா?
அநேகமாக இல்லை. பெரும்பாலான திறந்த மூல திட்டங்களுக்கு,திறந்த மூல உரிமம் உட்குறிப்பாக (பங்களிப்பாளர்களிடமிருந்து) மற்றும் வெளியில் (மற்ற பங்களிப்பாளர்களுக்கும் பயனர்களுக்கும்) உரிமம் வழங்கப்படுகிறது. உங்கள் திட்டம் கிட்ஹப்பில் இருந்தால், கிட்ஹப் சேவை விதிமுறைகள் "inbound=outbound" [வெளிப்படையான இயல்புநிலை](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license).
ஒரு கூடுதல் பங்களிப்பு ஒப்பந்தம் - பெரும்பாலும் ஒரு பங்களிப்பு உரிம ஒப்பந்தம் (CLA) - திட்டம் பராமரிப்பாளர்களுக்கு நிர்வாக வேலை உருவாக்க முடியும். திட்டம் மற்றும் செயல்படுத்தலில் ஒரு ஒப்பந்தம் எவ்வளவு வேலை செய்கிறது என்பதைப் பொறுத்தது. ஒரு எளிய உடன்படிக்கை பங்களிப்பாளர்கள், திட்டத்தின் திறந்த மூல உரிமத்தின் கீழ் பங்களிப்பு செய்வதற்கு அவசியமான உரிமைகள் இருப்பதாக ஒரு சொடுக்கு மூலம் உறுதிப்படுத்திக்கொள்ள வேண்டும். ஒரு சிக்கலான ஒப்பந்தம், பங்களிப்பாளர்களின் முதலாளிகளிடமிருந்து சட்டப்பூர்வ மதிப்பாய்வு மற்றும் கையொப்பமிட வேண்டும்.
மேலும், "காகித வேலைப்பாடு" சேர்ப்பதன் மூலம், சிலர் தேவையற்றவர்கள், புரிந்து கொள்ள முடியாதவர்கள், அல்லது நியாயமற்றவர்களாக இருக்கிறார்கள் (உடன்படிக்கை பெறுபவர் பங்களிப்பாளர்களைக் காட்டிலும் அதிகமான உரிமைகள் பெற்றால் அல்லது திட்டத்தின் திறந்த மூல உரிமத்தின் மூலம்), ஒரு கூடுதல் பங்களிப்பு ஒப்பந்தம் திட்டத்தின் சமூகத்திற்க பிரதிகூலமானது.
உங்கள் திட்டத்திற்கான கூடுதலான பங்களிப்பு ஒப்பந்தத்தை நீங்கள் பரிசீலிக்க விரும்பும் சில சூழ்நிலைகளில் பின்வருவன அடங்கும்:
* உங்கள் வழக்கறிஞர்கள் பங்களிப்பவர்கள் எல்லோரும் பங்களிப்பு விதிமுறைகளை வெளிப்படையாக ஏற்றுக்கொள்ள வேண்டும் (_கையொப்பமிடல்_, இயக்கலை அல்லது முடக்கலை) திறந்த மூல உரிமம் தானே போதுமானது அல்ல (இருப்பினும் கூட!). இது மட்டுமே கவலையாக இருந்தால், திட்டத்தின் திறந்த மூல உரிமத்தை உறுதிப்படுத்தும் பங்களிப்பு ஒப்பந்தம் போதுமானதாக இருக்க வேண்டும். [JQuery தனிநபர் பங்களிப்பாளர் உரிம ஒப்பந்தம்](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/) இலகுரக கூடுதல் பங்களிப்பு ஒப்பந்தத்தின் சிறந்த உதாரணம். சில திட்டங்கள், ஒரு [உருவாக்குபவர் துவக்க சான்றிதழ்](https://github.com/probot/dco) ஒரு மாற்று இருக்க முடியும்.
* உங்கள் திட்டம் ஒரு வெளிப்படையான ஆதார உரிமையைப் பயன்படுத்துகிறது, இது ஒரு வெளிப்படையான காப்புரிமை வழங்கலை (MIT போன்றவை) உள்ளடக்குவதில்லை, மேலும் அனைத்து பங்களிப்பாளர்களிடமிருந்தும் ஒரு காப்புரிமை வழங்கல் உங்களுக்கு தேவைப்படுகிறது, அவர்களில் சிலர் உங்களிடமுள்ள பெரிய காப்புரிமை பிரிவில் உள்ள நிறுவனங்களுக்கு வேலை செய்யலாம், உங்களை அல்லது திட்டத்தின் மற்ற பங்களிப்பாளர்கள் மற்றும் பயனர்கள் குறி வைக்கலாம். [அப்பாச்சி உரிமையாளர் உரிம ஒப்பந்தம்](https://www.apache.org/licenses/icla.pdf) பொதுவாகப் பயன்படுத்தப்படும் கூடுதலான பங்களிப்பு ஒப்பந்தம் ஆகும், இது அப்பாச்சி உரிமம் 2.0 இல் காணப்பட்ட ஒரு காப்புரிமை மானியத்தை பிரதிபலிக்கிறது.
* உங்கள் திட்டம் நகலெடுப்பு உரிமத்தின் கீழ் உள்ளது, ஆனால் நீங்கள் திட்டத்தின் தனியுரிம பதிப்புகளை விநியோகிக்க வேண்டும். உங்களிடம் பதிப்புரிமையை வழங்குவதற்கு அல்லது பங்களிப்பு உரிமத்தை உங்களுக்கு வழங்க (ஆனால் பொதுமக்கள் அல்ல) உங்களுக்கு ஒவ்வொரு பங்காளருக்கும் தேவைப்படும். [மாங்கோ பங்களிப்பாளர் ஒப்பந்தம்](https://www.mongodb.com/legal/contributor-agreement) என்பது இந்த வகை ஒப்பந்தத்தின் ஒரு எடுத்துக்காட்டு.
* உங்கள் திட்டம் அதன் வாழ்நாளில் உரிமங்களை மாற்ற வேண்டும் மற்றும் பங்களிப்பாளர்களுக்கு அத்தகைய மாற்றங்களுக்கு முன்கூட்டியே ஒப்புக் கொள்ள வேண்டும் என்று நீங்கள் நினைக்கிறீர்கள்.
உங்கள் திட்டத்தில் கூடுதலான பங்களிப்பு ஒப்பந்தத்தை நீங்கள் பயன்படுத்த வேண்டியிருந்தால், பங்களிப்பு திசைதிருப்பலை குறைக்க [CLA உதவியாளர்](https://github.com/cla-assistant/cla-assistant) போன்ற ஒரு ஒருங்கிணைப்பைப் பயன்படுத்துங்கள்.
## எனது நிறுவனத்தின் சட்ட குழு என்ன அறிந்து கொள்ள வேண்டும்?
ஒரு நிறுவனம் பணியாளராக ஒரு திறந்த மூல திட்டத்தை வெளியிடுகிறீர்கள் என்றால், முதலில், உங்கள் சட்ட குழு உங்களுக்கு ஒரு திட்டத்தை திறக்கிறது என்பதை அறிந்திருக்க வேண்டும்.
சிறந்த அல்லது மோசமான, அது ஒரு தனிப்பட்ட திட்டத்தை கூட அவர்களுக்கு தெரியப்படுத்துங்கள். உங்கள் நிறுவனத்துடன் ஒரு "பணியாளர் ஐபி உடன்படிக்கை" உங்களிடம் உள்ளது, அவை உங்கள் திட்டங்களை சில கட்டுப்பாட்டிற்குக் கொடுக்கின்றன, குறிப்பாக நிறுவனத்தின் வணிகத்துடன் தொடர்புடையதாக இருந்தால் அல்லது நீங்கள் திட்டத்தை உருவாக்க எந்த நிறுவன வளங்களையும் பயன்படுத்த வேண்டும். உங்கள் நிறுவனம் உங்களை அனுமதிக்க _வேண்டும்_, ஏற்கனவே ஒரு ஊழியர் நட்பு ஐபி ஒப்பந்தம் அல்லது ஒரு நிறுவன கொள்கை மூலம் ஏற்கனவே இருக்கலாம். இல்லையென்றால், நீங்கள் பேச்சுவார்த்தை நடத்தலாம் (உதாரணமாக, உங்களுடைய திட்டம் நிறுவனத்தின் தொழில்முறை கற்றல் மற்றும் வளர்ச்சி இலக்குகளை உங்களுக்கு உதவுகிறது) அல்லது நீங்கள் ஒரு சிறந்த நிறுவனத்தை கண்டுபிடிக்கும் வரை உங்கள் திட்டத்தில் பணிபுரிய வேண்டாம்.
**நீங்கள் உங்கள் நிறுவனத்திற்கு ஒரு திட்டத்தை திறந்தால்,** கண்டிப்பாக அவர்களுக்கு தெரியப்படுத்தவும். உங்கள் சட்ட குழு ஏற்கனவே உங்கள் உரிமையாளர்களின் அனுமதிப்பத்திரங்களுடன் இணங்குகையில் உங்கள் திட்டத்தை உறுதி செய்வதை உறுதிப்படுத்துவதன் மூலம் நிறுவனத்தின் வணிகத் தேவைகள் மற்றும் நிபுணத்துவத்தை அடிப்படையாகக் கொண்டிருக்கும் திறந்த மூல உரிமம் (ஒருவேளை கூடுதல் பங்களிப்பு ஒப்பந்தம்) ஆகியவற்றிற்கான கொள்கைகள் ஏற்கனவே உள்ளன. இல்லையென்றால், நீங்களும் அவர்கள் அதிர்ஷ்டமும் உள்ளவர்கள்! உங்களுடைய சட்ட குழு உங்களுடன் பணியாற்ற ஆர்வமாக இருக்க வேண்டும். சில விஷயங்களை பற்றி சிந்திக்க:
* **மூன்றாம் கட்சி பொருள்:** உங்கள் திட்டத்தை மற்றவர்கள் உருவாக்கிய நம்பகத்தன்மை கொண்டிருக்கிறார்களா அல்லது மற்றவர்களின் குறியீடு அடங்கும் அல்லது பயன்படுத்துகிறார்களா? இவை திறந்த மூலமாக இருந்தால், நீங்கள் பொருள்களின் திறந்த மூல உரிமங்களுக்கு இணங்க வேண்டும். இது மூன்றாம் தரப்பு திறந்த மூல உரிமங்களை (மேலே பார்க்கவும்) வேலை செய்யும் உரிமத்தைத் தேர்ந்தெடுப்பதில் தொடங்குகிறது. மூன்றாம் தரப்பு திறந்த மூல உள்ளடக்கத்தை மாற்றியமைக்கிறீர்கள் அல்லது விநியோகிக்கிறீர்கள் என்றால், உங்கள் சட்ட குழு நீங்கள் பதிப்புரிமை அறிவிப்புகளைத் தொடர்ந்து மூன்றாம் தரப்பு திறந்த மூல உரிமத்தின் ஏனைய நிலைமைகளை சந்திக்கிறீர்கள் என்பதை அறிய விரும்புகிறேன். உங்கள் திட்டம் திறந்த மூல உரிமம் இல்லாத மற்றவர்களின் குறியீட்டைப் பயன்படுத்தினால், மூன்றாம் தரப்பு பராமரிப்பாளர்களை [திறந்த மூல உரிமத்தை சேர்க்க](https://choosealicense.com/no-license/#for-users) ஒருவேளை நீங்கள் கேட்கலாம், மற்றும் நீங்கள் ஒன்றை பெற முடியாது என்றால், உங்கள் திட்டத்தில் தங்கள் குறியீடு பயன்படுத்தி நிறுத்துங்கள்.
* **வாணிப ரகசியம்:** நிறுவனம் பொது மக்களுக்கு கிடைக்க விரும்பாத திட்டத்தில் ஏதேனும் உள்ளதா என்று கருதுங்கள். அப்படியானால், உங்கள் திட்டத்தின் மீதத்தை நீங்கள் திறக்க முடியும், நீங்கள் தனிப்பட்ட முறையில் வைக்க விரும்பும் பொருள் பிரித்தெடுத்த பிறகு.
* **காப்புரிமை:** உங்களுடைய நிறுவனம் உங்கள் காப்புரிமையை திறந்தால், உங்கள் திட்டம் [பகிரங்கமான வெளியீடு](https://en.wikipedia.org/wiki/Public_disclosure) இருக்குமா? துரதிருஷ்டவசமாக, நீங்கள் காத்திருக்கக் கூடும் (அல்லது நிறுவனம் விண்ணப்பத்தின் ஞானத்தை மறுபரிசீலனை செய்யும்). பெரிய காப்புரிமை பிரிவில் உள்ள நிறுவனங்களின் பணியாளர்களிடமிருந்து உங்கள் திட்டப்பணியில் பங்களிப்புகளை எதிர்பார்க்கிறீர்கள் என்றால், பங்களிப்பாளர்களிடமிருந்து (Apache 2.0 அல்லது GPLv3 போன்றவை) பங்களிப்பாளர்களிடமிருந்து வெளிப்படையான காப்புரிமை மானியத்துடன், அல்லது கூடுதல் பங்களிப்பு ஒப்பந்தம் (அல்லது கூடுதல் பங்களிப்பு ஒப்பந்தம்) மேலே பார்க்க).
* **வர்த்தக முத்திரைகள்:** உங்கள் திட்டத்தின் பெயர் [ஏற்கனவே இருக்கும் வர்த்தக முத்திரைகளுடன் மோதல் இல்லை என சரி பாருங்கள்](../starting-a-project/#பெயர்-முரண்பாடுகளைத்-தவிர்த்தல்). நீங்கள் திட்டத்தில் உங்கள் சொந்த நிறுவன வர்த்தக சின்னங்களைப் பயன்படுத்தினால், அது எந்த மோதலையும் ஏற்படுத்தாது என்பதைச் சரிபார்க்கவும். [FOSSmarks](http://fossmarks.org/) இலவச மற்றும் திறந்த மூல திட்டங்களின் சூழலில் வணிக முத்திரைகளை புரிந்து கொள்ள நடைமுறை வழிகாட்டியாகும்.
* **தனியுரிமை:** பயனர்கள் குறித்த தரவுகளை உங்கள் திட்டம் சேகரிக்கிறதா? நிறுவனம் சேவையகங்களுக்கு "தொலைபேசி வீடு"? நிறுவன சட்டங்கள் மற்றும் புற ஒழுங்குமுறைகளுடன் இணங்குமாறு உங்கள் சட்ட குழு உங்களுக்கு உதவும்.
உங்கள் நிறுவனத்தின் முதல் திறந்த மூல திட்டத்தை வெளியிடுகிறீர்கள் என்றால், மேலே உள்ளதை விட அதிகமானதை விட அதிகமாக உள்ளது (ஆனால் கவலை வேண்டாம், பெரும்பாலான திட்டங்கள் எந்த முக்கிய கவலையும் எழுப்பக்கூடாது).
நீண்ட காலமாக, உங்கள் சட்ட குழு நிறுவனம், திறந்த மூலத்தில் அதன் ஈடுபாட்டிலிருந்து நிறுவனத்தின் உதவியை அதிகரிக்க உதவ முடியும், மேலும் பாதுகாப்பாக இருக்கவும்:
* **Eபணியாளர் பங்களிப்பு கொள்கைகள்:** உங்கள் பணியாளர்கள் மூல திட்டங்களை திறக்க எப்படி உதவுகிறது என்பதைக் குறிப்பிடும் ஒரு பெருநிறுவனக் கொள்கையை உருவாக்குங்கள். ஒரு தெளிவான கொள்கை உங்கள் ஊழியர்களிடையே குழப்பத்தை குறைக்கும் மற்றும் நிறுவனங்களின் சிறந்த வட்டி, அவர்களது வேலைகள் அல்லது தங்களின் இலவச நேரத்திலோ, மூல திட்டங்களை திறக்க உதவுகிறது. A good example is Rackspace's [Model IP and Open Source Contribution Policy](https://ospo.co/blog/crafting-your-open-source-contribution-policy/).
* **எதை வெளியிடுவது:** [(கிட்டத்தட்ட) எல்லாவற்றையும்?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) உங்கள் சட்ட குழு புரிந்துகொண்டு உங்கள் நிறுவனத்தின் திறந்த மூலோபாயத்தில் முதலீடு செய்திருந்தால், உங்கள் முயற்சிகளை தடுப்பதை காட்டிலும் உதவி செய்ய முடியும்.
* **இணக்கம்:** உங்கள் நிறுவனம் திறந்த மூல திட்டங்களை வெளியிடாவிட்டாலும், அது மற்றவரின் திறந்த மூல மென்பொருள் பயன்படுத்துகிறது. [விழிப்புணர்வு மற்றும் செயல்முறை](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) தலைவலி, தயாரிப்பு தாமதங்கள் மற்றும் வழக்குகள் ஆகியவற்றை தடுக்கலாம்.
* **காப்புரிமை:** உங்கள் நிறுவனம் [திறந்த கண்டுபிடிப்பு கட்டமைப்பு](https://www.openinventionnetwork.com/), முக்கிய திறந்த மூல திட்டங்களை உறுப்பினர்கள் பயன்படுத்துவதைப் பாதுகாக்க ஒரு பகிரப்பட்ட தற்காப்பு காப்புப்பத்திரத்தில் சேர விரும்பலாம் அல்லது பிற [மாற்று காப்புரிமை உரிமங்களை](https://www.eff.org/document/hacking-patent-system-2016) ஆராயலாம்.
* **ஆட்சி முறை:** குறிப்பாக, ஒரு திட்டத்தை [நிறுவனத்திற்கு வெளியில் ஒரு சட்ட நிறுவனத்திடம்](../leadership-and-governance/#எனது-திட்டத்தை-ஆதரிக்க-எனக்கு-ஒரு-சட்ட-நிறுவனம்-தேவைதானா). கொண்டு செல்வது
================================================
FILE: _articles/ta/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: ta
title: திறந்த மூல பராமரிப்பாளர்களுக்கு சமநிலையை பராமரித்தல்
description: சுய பராமரிப்புக்கான உதவிக்குறிப்புகள் மற்றும் ஒரு பராமரிப்பாளராக எரிவதைத் தவிர்ப்பது.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
ஒரு திறந்த மூல திட்டம் பிரபலமடைந்து வருவதால், நீண்ட காலத்திற்கு புத்துணர்ச்சியுடனும், உற்பத்தித்திறனாகவும் இருக்க சமநிலையை பராமரிக்க உங்களுக்கு உதவ தெளிவான எல்லைகளை அமைப்பது முக்கியம்.
பராமரிப்பாளர்களின் அனுபவங்கள் மற்றும் சமநிலையைக் கண்டுபிடிப்பதற்கான அவர்களின் உத்திகள் பற்றிய நுண்ணறிவுகளைப் பெற, பராமரிப்பாளர் சமூகம் இன் 40 உறுப்பினர்களுடன் நாங்கள் ஒரு பட்டறையை நடத்தினோம், இது திறந்த மூலத்தில் எரியும் மற்றும் அவர்களின் பணிகளைத் தக்கவைத்துக் கொள்ள உதவிய நடைமுறைகளுடனான அவர்களின் மோசமான அனுபவங்களிலிருந்து கற்றுக்கொள்ள அனுமதிக்கிறது. தனிப்பட்ட சூழலியல் கருத்து நடைமுறைக்கு வருகிறது.
தனிப்பட்ட சூழலியல் என்றால் என்ன? ராக்வுட் தலைமைத்துவ நிறுவனத்தால் விவரிக்கப்பட்ட, இது "வாழ்நாள் முழுவதும் நமது ஆற்றலைத் தக்கவைக்க சமநிலை, வேகம் மற்றும் செயல்திறனைப் பராமரித்தல்" ஆகியவற்றை உள்ளடக்கியது. இது எங்கள் உரையாடல்களை வடிவமைத்து, பராமரிப்பாளர்கள் தங்கள் செயல்களையும் பங்களிப்புகளையும் காலப்போக்கில் உருவாகும் ஒரு பெரிய சுற்றுச்சூழல் அமைப்பின் பகுதிகளாக அங்கீகரிக்க உதவுகிறது. [WHO ஆல் வரையறுக்கப்பட்டுள்ளது](https://icd.who.int/browse/2025-01/foundation/en#129180281) நாள்பட்ட பணியிட மன அழுத்தத்தின் விளைவாக ஏற்படும் ஒரு நோய்க்குறியான எரிதல், பராமரிப்பாளர்களிடையே அசாதாரணமானது அல்ல. இது பெரும்பாலும் உந்துதல் இழப்பு, கவனம் செலுத்த இயலாமை மற்றும் நீங்கள் பணிபுரியும் பங்களிப்பாளர்கள் மற்றும் சமூகத்தின் மீது பச்சாதாபம் இல்லாததற்கு வழிவகுக்கிறது.
தனிப்பட்ட சூழலியல் கருத்தை ஏற்றுக்கொள்வதன் மூலம், பராமரிப்பாளர்கள் எரியைத் தவிர்க்கலாம், சுய பாதுகாப்புக்கு முன்னுரிமை அளிக்கலாம், மேலும் அவர்களின் சிறந்த வேலையைச் செய்ய சமநிலை உணர்வை நிலைநிறுத்தலாம்.
## சுய பராமரிப்புக்கான உதவிக்குறிப்புகள் மற்றும் ஒரு பராமரிப்பாளராக எரிவதைத் தவிர்ப்பது:
### திறந்த மூலத்தில் பணியாற்றுவதற்கான உங்கள் உந்துதல்களை அடையாளம் காணவும்
திறந்த மூல பராமரிப்பின் எந்த பகுதிகள் உங்களை உற்சாகப்படுத்துகின்றன என்பதைப் பிரதிபலிக்க நேரம் ஒதுக்குங்கள். உங்கள் உந்துதல்களைப் புரிந்துகொள்வது, உங்கள் ஈடுபாட்டையும் புதிய சவால்களுக்கும் தயாராக இருக்கும் வகையில் வேலைக்கு முன்னுரிமை அளிக்க உதவும். இது பயனர்களிடமிருந்து நேர்மறையான பின்னூட்டமாக இருந்தாலும், சமூகத்துடன் ஒத்துழைப்பதற்கும் சமூகமயமாக்குவதன் மகிழ்ச்சியும் அல்லது குறியீட்டில் டைவிங் செய்வதன் திருப்தி, உங்கள் உந்துதல்களை அங்கீகரிப்பது உங்கள் கவனத்தை வழிநடத்த உதவும்.
### நீங்கள் சமநிலையிலிருந்து வெளியேறவும், வலியுறுத்தவும் என்ன காரணம் என்பதைப் பற்றி சிந்தியுங்கள்
நாம் எரிக்கப்படுவதற்கு என்ன காரணம் என்பதைப் புரிந்துகொள்வது முக்கியம். திறந்த மூல பராமரிப்பாளர்களிடையே நாங்கள் கண்ட சில பொதுவான கருப்பொருள்கள் இங்கே:
* **நேர்மறையான கருத்துக்கள் இல்லாதது:** பயனர்கள் புகார் இருக்கும்போது அடைய அதிக வாய்ப்புள்ளது. எல்லாம் நன்றாக வேலை செய்தால், அவர்கள் அமைதியாக இருக்க முனைகிறார்கள். உங்கள் பங்களிப்புகள் எவ்வாறு வித்தியாசத்தை ஏற்படுத்துகின்றன என்பதைக் காட்டும் நேர்மறையான பின்னூட்டமின்றி வளர்ந்து வரும் சிக்கல்களின் பட்டியலைக் காண்பது ஊக்கமளிக்கும்.
* **'இல்லை' என்று சொல்லவில்லை:** திறந்த மூல திட்டத்தில் நீங்கள் செய்ய வேண்டியதை விட அதிக பொறுப்புகளை ஏற்றுக்கொள்வது எளிதானது. இது பயனர்கள், பங்களிப்பாளர்கள் அல்லது பிற பராமரிப்பாளர்களிடமிருந்து வந்தாலும் - நாங்கள் எப்போதும் அவர்களின் எதிர்பார்ப்புகளுக்கு ஏற்ப வாழ முடியாது.
* **தனியாக வேலை செய்வது:** ஒரு பராமரிப்பாளராக இருப்பது முற்றிலும் தனிமையாக உணர முடியும். நீங்கள் பராமரிப்பாளர்களின் குழுவுடன் பணிபுரிந்திருந்தாலும், கடந்த சில ஆண்டுகளில் விநியோகிக்கப்பட்ட அணிகளை ஒன்றிணைப்பது கடினம்.
* **போதுமான நேரம் அல்லது வளங்கள் இல்லை:** ஒரு திட்டத்தில் பணியாற்ற தங்கள் இலவச நேரத்தை தியாகம் செய்ய வேண்டிய தன்னார்வ பராமரிப்பாளர்களுக்கு இது குறிப்பாக உண்மை.
* **முரண்பட்ட கோரிக்கைகள்:** திறந்த மூலக் குழுக்கள் பல்வேறு நோக்கங்களைக் கொண்ட குழுக்களால் நிறைந்துள்ளன, அவற்றை வழிநடத்துவது கடினமாக இருக்கலாம். திறந்த மூலக் குழுவில் பணியாற்ற உங்களுக்கு பணம் வழங்கப்பட்டால், உங்கள் முதலாளியின் நலன்கள் சில நேரங்களில் சமூகத்துடன் முரண்படக்கூடும்.
### சோர்வு அறிகுறிகளைக் கவனியுங்கள்
உங்களால் 10 வாரங்களா? 10 மாதங்களா? 10 வருடங்களா? உங்கள் வேகத்தைத் தொடர முடியுமா?
[@shaunagm](https://github.com/shaunagm) இல் உள்ள [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) போன்ற கருவிகள் உங்கள் தற்போதைய வேகத்தைப் பற்றி சிந்திக்கவும், நீங்கள் செய்யக்கூடிய ஏதேனும் மாற்றங்கள் உள்ளதா என்பதைப் பார்க்கவும் உதவும். சில பராமரிப்பாளர்கள் தூக்கத்தின் தரம் மற்றும் இதயத் துடிப்பு மாறுபாடு (இரண்டும் மன அழுத்தத்துடன் தொடர்புடையது) போன்ற அளவீடுகளைக் கண்காணிக்க அணியக்கூடிய தொழில்நுட்பத்தையும் பயன்படுத்துகின்றனர்.
### உங்களையும் உங்கள் சமூகத்தையும் தொடர்ந்து நிலைநிறுத்த உங்களுக்கு என்ன தேவை?
இது ஒவ்வொரு பராமரிப்பாளருக்கும் வித்தியாசமாகத் தோன்றும், மேலும் உங்கள் வாழ்க்கையின் கட்டம் மற்றும் பிற வெளிப்புற காரணிகளைப் பொறுத்து மாறும். ஆனால் நாங்கள் கேள்விப்பட்ட சில கருப்பொருள்கள் இங்கே:
* **சமூகத்தின் மீது சாய்ந்து கொள்ளுங்கள்.:** பங்களிப்பாளர்களையும் பிரதிநிதித்துவத்தையும் கண்டுபிடிப்பது, இதனால் பணிச்சுமையைக் குறைக்க முடியும். ஒரு திட்டத்திற்காக பல தொடர்பு புள்ளிகள் இருப்பது கவலைப்படாமல் ஓய்வு எடுக்க உதவும். [Maintainer Community](http://maintainers.github.com/) போன்ற குழுக்களில் பிற பராமரிப்பாளர்களுடனும் பரந்த சமூகத்துடனும் இணையுங்கள். சகாக்களின் ஆதரவு மற்றும் கற்றலுக்கு இது ஒரு சிறந்த ஆதாரமாக இருக்கும்.
பயனர் சமூகத்துடன் ஈடுபடுவதற்கான வழிகளையும் நீங்கள் தேடலாம், இதன் மூலம் நீங்கள் தொடர்ந்து கருத்துக்களைக் கேட்கவும், உங்கள் திறந்த மூலப் பணியின் தாக்கத்தைப் புரிந்துகொள்ளவும் முடியும்.
* **நிதி தேடுங்கள்:** நீங்கள் பீட்சாவிற்கு ஸ்பான்சர் செய்ய யாரையாவது தேடினாலும் சரி, அல்லது முழுநேர ஓப்பன் சோர்ஸுக்கு மாற முயற்சித்தாலும் சரி, உதவ பல ஆதாரங்கள் உள்ளன! முதல் படியாக, உங்கள் ஓப்பன் சோர்ஸ் வேலையை மற்றவர்கள் ஸ்பான்சர் செய்ய அனுமதிக்க [GitHub ஸ்பான்சர்கள்](https://github.com/sponsors) ஐ இயக்குவதைக் கருத்தில் கொள்ளுங்கள். முழுநேரத்திற்கு முன்னேறுவது பற்றி நீங்கள் யோசித்தால், [GitHub Accelerator](http://accelerator.github.com/) இன் அடுத்த சுற்றுக்கு விண்ணப்பிக்கவும்.
* **கருவிகளைப் பயன்படுத்துங்கள்:** [GitHub Copilot](https://github.com/features/copilot/) மற்றும் [GitHub Actions](https://github.com/features/actions) போன்ற கருவிகளைப் பயன்படுத்தி சாதாரணமான பணிகளை தானியக்கமாக்கி, அர்த்தமுள்ள பங்களிப்புகளுக்கு உங்கள் நேரத்தை மிச்சப்படுத்துங்கள்.
* **ஓய்வெடுத்து புத்துணர்ச்சி பெறுங்கள்:** திறந்த மூலத்தைத் தவிர்த்து உங்கள் பொழுதுபோக்குகள் மற்றும் ஆர்வங்களுக்கு நேரம் ஒதுக்குங்கள். வார இறுதி நாட்களில் ஓய்வெடுக்கவும் புத்துணர்ச்சி பெறவும் விடுமுறை எடுத்துக் கொள்ளுங்கள் - மேலும் உங்கள் கிடைக்கும் தன்மையை பிரதிபலிக்கும் வகையில் உங்கள் [GitHub நிலையை](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) அமைக்கவும்! ஒரு நல்ல இரவு தூக்கம் உங்கள் முயற்சிகளை நீண்ட காலத்திற்குத் தக்கவைத்துக்கொள்ளும் திறனில் பெரிய வித்தியாசத்தை ஏற்படுத்தும்.
உங்கள் திட்டத்தின் சில அம்சங்கள் குறிப்பாக சுவாரஸ்யமாக இருந்தால், உங்கள் வேலையை நாள் முழுவதும் அனுபவிக்கும் வகையில் கட்டமைக்க முயற்சிக்கவும்.
* **எல்லைகளை அமைக்கவும்:** ஒவ்வொரு கோரிக்கைக்கும் நீங்கள் ஆம் என்று சொல்ல முடியாது. இது, "இப்போது என்னால் அதை அடைய முடியாது, எதிர்காலத்தில் எனக்கு எந்த திட்டமும் இல்லை" என்று சொல்வது போலவோ அல்லது README இல் நீங்கள் என்ன செய்ய விரும்புகிறீர்கள், என்ன செய்யக்கூடாது என்பதை பட்டியலிடுவது போலவோ எளிமையாக இருக்கலாம். உதாரணமாக, நீங்கள் இவ்வாறு கூறலாம்: "அவை ஏன் செய்யப்பட்டன என்பதற்கான காரணங்களை தெளிவாக பட்டியலிட்ட PRகளை மட்டுமே நான் ஒன்றிணைக்கிறேன்" அல்லது "மாற்று வியாழக்கிழமைகளில் மாலை 6 - 7 மணி வரை மட்டுமே நான் சிக்கல்களை மதிப்பாய்வு செய்கிறேன்." இது மற்றவர்களுக்கான எதிர்பார்ப்புகளை அமைக்கிறது, மேலும் உங்கள் நேரத்தில் பங்களிப்பாளர்கள் அல்லது பயனர்களிடமிருந்து வரும் தேவைகளைத் தணிக்க உதவும் வகையில் மற்ற நேரங்களில் சுட்டிக்காட்ட ஏதாவது ஒன்றை உங்களுக்கு வழங்குகிறது.
நச்சு நடத்தை மற்றும் எதிர்மறை தொடர்புகளை நிறுத்துவதில் உறுதியாக இருக்க கற்றுக்கொள்ளுங்கள். நீங்கள் அக்கறை கொள்ளாத விஷயங்களுக்கு முயற்சி செய்யாமல் இருப்பது சரி.
நினைவில் கொள்ளுங்கள், தனிப்பட்ட சூழலியல் என்பது உங்கள் திறந்த மூல பயணத்தில் நீங்கள் முன்னேறும்போது உருவாகும் ஒரு தொடர்ச்சியான நடைமுறையாகும். சுய பாதுகாப்புக்கு முன்னுரிமை அளித்து சமநிலை உணர்வைப் பேணுவதன் மூலம், திறந்த மூல சமூகத்திற்கு நீங்கள் திறம்பட மற்றும் நிலையான முறையில் பங்களிக்க முடியும், இது உங்கள் நல்வாழ்வையும் நீண்ட காலத்திற்கு உங்கள் திட்டங்களின் வெற்றியையும் உறுதி செய்கிறது.
## கூடுதல் வளங்கள்
* [பராமரிப்பாளர் சமூகம்](http://maintainers.github.com/)
* [திறந்த மூல சமூக ஒப்பந்தம்](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [நச்சுத்தன்மையுள்ளவர்களை எப்படி கையாள்வது](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [ராக்வுட்டின் தலைமைத்துவக் கலை](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](https://governingopen.com/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## பங்களிப்பாளர்கள்
இந்த வழிகாட்டிக்காக தங்கள் அனுபவங்களையும், உதவிக்குறிப்புகளையும் எங்களுடன் பகிர்ந்து கொண்ட அனைத்து பராமரிப்பாளர்களுக்கும் மிக்க நன்றி!
இந்த வழிகாட்டியை எழுதியவர் [@abbycabs](https://github.com/abbycabs), மேலும் [@balamt](https://github.com/balamt) மொழிபெயர்த்துள்ளனர், பங்களிப்புகளுடன்:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + இன்னும் பலர்!
================================================
FILE: _articles/ta/metrics.md
================================================
---
lang: ta
title: திறந்த மூல அளவீடுகள்
description: உங்கள் திறந்த மூல திட்டத்தை வெற்றிகரமாக அளவிட்டு, அதன் வெற்றியை கண்காணிப்பதன் மூலம் அறிவுறுத்தப்பட்ட முடிவுகளை எடுங்கள்.
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
---
## ஏன் எதையும் அளவிட வேண்டுமா?
திறந்த மூல பராமரிப்பாளராக சிறந்த தீர்மானங்களை எடுக்க உதவுவதற்கு, தரவு உங்களுக்கு பயனுள்ளதாக இருக்கும்.
கூடுதலான தகவலுடன், நீங்கள்:
* புதிய அம்சத்திற்கு பயனர்கள் எவ்வாறு பதிலளிக்கிறார்கள் என்பதைப் புரிந்து கொள்ளுங்கள்
* புதிய பயனர்கள் எங்கிருந்து வருகிறார்கள் என்பதைக் கண்டறியவும்
* அடையாளம் கண்டறிந்து, ஆதரவளிப்பீர்களா, வெளிப்படையான பயன்பாடு வழக்கு அல்லது செயல்பாடு என்பதை முடிவு செய்யுங்கள்
* உங்கள் திட்டத்தின் புகழை அளவிடுங்கள்
* உங்கள் திட்டம் எவ்வாறு பயன்படுத்தப்படுகிறது என்பதை புரிந்து கொள்ளுங்கள்
* நிதியுதவி மற்றும் மானியங்கள் மூலம் பணம் திரட்டவும்
உதாரணத்திற்கு, [ஹோம்புருவ்](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) கூகுள் பகுப்பாய்வியல் வேலைக்கு முன்னுரிமை கொடுக்க உதவுகிறது:
> ஹோம்புருவ் இலவசமாக வழங்கப்படுகிறது மற்றும் முழுமையாக தன்னார்வலர்களால் தங்கள் ஓய்வு நேரத்தில் இயக்கப்படுகிறது. இதன் விளைவாக எதிர்கால அம்சங்களை எவ்வாறு வடிவமைப்பது மற்றும் தற்போதைய பணியை முன்னுரிமைப்படுத்துவது ஆகியவற்றை எவ்வாறு தீர்மானிப்பது என்பதைத் தீர்மானிக்க வீட்டு ஹோம்புருவ் பயனர்களின் விரிவான பயனர் ஆய்வுகள் செய்ய எங்களிடம் ஆதாரங்கள் இல்லை. பெயர் அறியப்படாத ஒருங்கிணைந்த பயனர் பகுப்பாய்வு, எங்கு, எங்கு, எப்போது மக்கள் ஹோம்புருவ்-ஐ பயன்படுத்துவது என்ற அடிப்படையில் திருத்தங்கள் மற்றும் அம்சங்களை முன்னுரிமை செய்ய அனுமதிக்கிறது.
புகழ் மட்டுமே எல்லாம் இல்லை. எல்லோரும் வெவ்வேறு காரணங்களுக்காக திறந்த மூலத்தை அடைவார்கள். திறந்த மூல பராமரிப்பாளராக உங்கள் குறிக்கோள் உங்கள் வேலையை காட்ட வேண்டும் என்றால், உங்கள் குறியீட்டு பற்றி வெளிப்படையானதாக இருக்க வேண்டும், அல்லது கேளிக்கையாக இருந்தால், அளவீடு உங்களுக்கு முக்கியமானதாக இருக்காது.
நீங்கள் உங்கள் திட்டத்தை ஒரு ஆழமான மட்டத்தில் புரிந்து கொள்ள ஆர்வமாக இருந்தால், உங்கள் திட்டத்தின் செயல்பாட்டை ஆராய்வதற்கான வழிகளைப் படிக்கவும்.
## கண்டுபிடித்தல்
யாராவது உங்கள் திட்டத்திற்கு மீண்டும் பயன்படுத்த அல்லது பங்களிக்க முன்பு, அவர்கள் அது இருப்பதை தெரிந்து கொள்ள வேண்டும். உங்களை நீங்களே கேட்டுக்கொள்ளுங்கள்: _மக்கள் இந்த திட்டத்தை கண்டுபிடிக்கிறார்களா?_

உங்கள் திட்டம் கிட்ஹப் இல் வழங்கப்பட்டிருந்தால், உங்கள் திட்டத்திற்கு எத்தனை பேர் வருகிறார்கள் மற்றும் எங்கிருந்து வருகிறார்கள் என்பதை [நீங்கள் காணலாம்](https://help.github.com/articles/about-repository-graphs/#traffic). உங்கள் திட்டத்தின் பக்கத்திலிருந்து, "நுண்ணறிவு" என்பதைக் கிளிக் செய்து, பின்னர் "போக்குவரத்து" என்பதைக் கிளிக் செய்யவும். இந்த பக்கத்தில், நீங்கள் பார்க்க கூடியது:
* **மொத்த பக்கம் நோக்குகள்:** எத்தனை முறை உங்கள் திட்டம் பார்க்கப்பட்டது என்று உங்களுக்கு சொல்கிறது
* **மொத்த தனித்துவமான பார்வையாளர்கள்:** உங்கள் திட்டத்தை எத்தனை பேர் பார்த்தார்கள் என்று உங்களுக்கு சொல்கிறது
* **குறிப்பிடு தளங்கள்:** பார்வையாளர்கள் எங்கிருந்து வந்தார்கள் என்று உங்களுக்கு சொல்கிறது. உங்கள் பார்வையாளர்களை எங்கு சென்று அடைவது, உங்கள் ஊக்குவிப்பு முயற்சிகள் உழைக்கிறதா என்பதையும் இந்த அளவீடு உங்களுக்கு உதவும்.
* **பிரபலமான உள்ளடக்கம்:** பார்வையாளர்கள் உங்கள் திட்டத்தில் எங்கு செல்கிறார்கள், பக்கம் நோக்குகள் மற்றும் தனித்துவமான பார்வையாளர்களால் பிரிக்கப்பட்டு உங்களுக்குத் தெரிவிக்கும்.
[கிட்ஹப் நட்சத்திரங்கள்](https://help.github.com/articles/about-stars/) பிரபலத்தின் அடிப்படை அளவை வழங்க உதவுகிறது. கிட்ஹப் நட்சத்திரங்கள் பதிவிறக்கங்கள் மற்றும் பயன்பாட்டுடன் அவசியம் தொடர்பில்லை என்றாலும், உங்கள் வேலையை எத்தனை பேர் கவனிக்கிறார்களென அவை உங்களுக்கு சொல்ல முடியும்.
நீங்கள் [குறிப்பிட்ட இடங்களில் கண்டுபிடிப்பதை கண்டறியலாம்](https://opensource.com/business/16/6/pirate-metrics): எடுத்துக்காட்டாக, கூகுள் பக்க தரவரிசை, உங்கள் திட்டத்தின் வலைத்தளத்திலிருந்து பரிந்துரைத்த போக்குவரத்து, அல்லது பிற திறந்த மூல திட்டங்கள் அல்லது வலைத்தளங்களில் இருந்து பரிந்துரைகளை வழங்குகிறது.
## பயன்பாடு
இந்த கட்டுப்பாடற்ற இடத்திலும் மக்கள் இந்த திட்டத்தை கண்டுபிடிப்பதை இணையம் என நாங்கள் அழைக்கிறோம். வெறுமனே, அவர்கள் உங்கள் திட்டம் பார்க்கும் போது, அவர்கள் ஏதாவது செய்ய கட்டாயம் உணர வேண்டும். நீங்கள் கேட்க விரும்பும் இரண்டாவது கேள்வி என்னவென்றால்: _இந்த திட்டத்தை மக்கள் பயன்படுத்துகிறார்களா?_
உங்கள் திட்டத்தை விநியோகிக்க, நீங்கள் npm அல்லது RubyGems.org போன்ற ஒரு தொகுப்பு நிர்வாகியைப் பயன்படுத்தினால், நீங்கள் உங்கள் திட்டத்தின் பதிவிறக்கங்களைக் கண்காணிக்க முடியும்.
ஒவ்வொரு தொகுப்பு மேலாளரும் "பதிவிறக்க" என்ற சற்று வித்தியாசமான வரையறையைப் பயன்படுத்தலாம், மற்றும் பதிவிறக்கங்கள் அவசியம் நிறுவ அல்லது பயன்படுத்தத் தேவை இல்லை, ஆனால் அது ஒப்பீட்டளவில் சில அடிப்படைகளை வழங்குகிறது. பல பிரபலமான தொகுப்பு மேலாளர்களுக்கிடையே பயன்பாட்டு புள்ளிவிவரங்களைக் கண்காணிக்க [Libraries.io](https://libraries.io/) ஐப் பயன்படுத்தி முயற்சிக்கவும்.
உங்கள் திட்டம் கிட்ஹப் இல் இருந்தால், "போக்குவரத்து" பக்கம் மீண்டும் செல்லவும். உங்கள் திட்டத்தை ஒரு குறிப்பிட்ட நாளில் எத்தனை முறை நகலி எடுக்கப்படுகிறது, மொத்த நகலிகள் மற்றும் தனிப்பட்ட நகலி எடுத்தவர்கள் என பிரித்து பார்க்க [நகலி வரைபடம்](https://github.com/blog/1873-clone-graphs) பயன்படுத்த முடியும்.

உங்கள் திட்டத்தை கண்டுபிடிப்பவர்களின் எண்ணிக்கை ஒப்பிடும்போது பயன்பாடு குறைவாக இருந்தால், கருத்தில் கொள்ள இரண்டு சிக்கல்கள் உள்ளன. இரண்டில் ஒன்று:
* உங்கள் திட்டம் வெற்றிகரமாக உங்கள் பார்வையாளர்களை மாற்றவில்லை, அல்லது
* நீங்கள் தவறான பார்வையாளர்களை ஈர்க்கிறீர்கள்
உதாரணமாக, ஹேக்கர் நியூஸ் முன் பக்கத்தில் உங்கள் திட்டம் தரையிறங்கி இருந்தால், நீங்கள் ஹேக்கர் நியூஸ் அனைவரையும் அடைந்து கொண்டிருப்பதால், ஒருவேளை திட்டத்தை கண்டுபிடிப்பதில் (போக்குவரத்தில்) ஒரு உச்சமடைதலை காணலாம், ஆனால் குறைந்த மாற்று விகிதமே இருக்கும். உங்கள் ரூபி திட்டம் ஒரு ரூபி மாநாட்டில் இடம்பெற்றிருந்தால், நீங்கள் உங்கள் இலக்கு பார்வையாளர்களிடமிருந்து அதிக மாற்று விகிதத்தைக் காணலாம்.
உங்களுடைய பார்வையாளர்கள் எங்கிருந்து வருகிறார்கள் என்பதைக் கண்டுபிடிக்க முயற்சிக்கவும் மற்றும் நீங்கள் எதிர்கொள்ளும் இந்த இரண்டு சிக்கல்களில் எது கண்டுபிடிக்கப்பட வேண்டும் என்பதை உங்கள் திட்டப்பக்கத்தில் கருத்துத் கேட்கவும்.
உங்கள் திட்டத்தை மக்கள் பயன்படுத்தி வருகின்றனர் என்பதை நீங்கள் அறிந்தவுடன், அவர்கள் என்ன செய்கிறார்கள் என்பதை நீங்கள் கண்டுபிடிக்க முயற்சி செய்யலாம். உங்கள் குறியீட்டின் கவையை கொண்டு, அம்சங்களைச் சேர்ப்பதன் மூலம் அவர்கள் அதை உருவாக்கிக் கொண்டிருக்கிறார்களா? அவர்கள் அதை அறிவியல் அல்லது வணிகத்திற்கு பயன்படுத்துகிறார்களா?
## தக்கவைத்தல்
மக்கள் உங்கள் திட்டத்தை கண்டுபிடித்து அதை பயன்படுத்துகின்றனர். உங்களை நீங்களே கேட்க வேண்டிய அடுத்த கேள்வி: _இந்த திட்டத்திற்கு மக்கள் பங்களிப்பு செய்கிறார்களா?_
பங்களிப்பாளர்களைப் பற்றி சிந்திக்கத் தொடங்குவதற்கு இது மிகவும் முற்போக்கானது அல்ல. மற்றவர்கள் தூக்கி எறியவில்லையென்றாலும், உங்கள் திட்டம் _புகழ்பெற்றது_ (பலர் இதைப் பயன்படுத்துகிறார்கள்) ஆனால் _ஆதரிக்கவில்லை_ (தேவைப்பாட்டை சந்திக்க போதுமான பராமரிப்பாளர் நேரம் இல்லை) என்றால் ஆரோக்கியமற்ற சூழ்நிலையில் உங்களை ஈடுபடுத்திக் கொள்கிறீர்கள்.
தக்கவைத்தலுக்கு [புதிய பங்களிப்பாளர்களிடம் செல்வதற்கு](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2) தேவைப்படுகிறது, இதற்கு முன்பு செயலில் பங்களிப்பவர்கள் இறுதியில் மற்ற விஷயங்களுக்கு நகர்வார்கள்.
நீங்கள் தொடர்ந்து கண்காணிக்க விரும்பும் சமூக அளவீடுகளின் எடுத்துக்காட்டுகளில் பின்வருவன அடங்கும்:
* **பங்களிப்பாளர்களின் மொத்த எண்ணிக்கை மற்றும் பங்களிப்பு தொகைகளின் எண்ணிக்கை:** உங்களுக்கு எத்தனை பங்களிப்பாளர்கள் உள்ளனர் என கூறுகிறது, மேலும் அவர்களில் அதிக அல்லது குறைவான செயலில் உள்ளவர் யார். கிட்ஹப் மீது, நீங்கள் இதை "நுண்ணறிவு" -> "பங்களிப்பாளர்கள்" என்பதில் காணலாம். இப்போது, இந்த வரைபடம் களஞ்சியத்தின் இயல்புநிலை கிளைக்கு பங்களித்த பங்களிப்பாளர்களை மட்டுமே கணக்கிடுகிறது.

* **முதல் முறை, சாதாரண, மற்றும் திரும்ப வரும் பங்களிப்பாளர்கள்:** புதிய பங்களிப்பாளர்கள் வருகிறார்களா, அவர்கள் திரும்பி வருகிறார்களா என்பதை நீங்கள் கண்காணிக்க உதவுகிறது. (குறைந்த பங்களிப்புடன் சாதாரண பங்களிப்பாளர்கள் பங்களிப்பவர்கள். அது ஒன்றே ஒன்று தான், ஐந்து ஒப்புவிப்புகளுக்கு குறைவாகவோ அல்லது வேறு ஏதாவது என்பது உங்களை பொறுத்தது.) புதிய பங்களிப்பாளர்கள் இல்லாமல், உங்கள் திட்டத்தின் சமூகம் தேக்கமுற்றதாகிவிடும்.
* **திறந்த சிக்கல்கள் மற்றும் திறந்த இழு கோரிக்கைகளின் எண்ணிக்கை:** இந்த எண்கள் மிக அதிகமானதாக இருந்தால், உங்களுக்கு சிக்கல் மற்றும் குறியீட்டு மதிப்பீடுகளுடன் உதவி தேவைப்படலாம்.
* **_திறந்துள்ள_ சிக்கல்கள் மற்றும் _திறந்துள்ள_ இழு கோரிக்கைகளின் எண்ணிக்கை:** Oதிறந்த சிக்கல்கள் என்பது ஒரு சிக்கலைத் திறக்க உங்கள் திட்டம் பற்றி யாராவது அக்கறை காட்டுகிறார்கள். காலப்போக்கில் அந்த எண்ணிக்கை அதிகரிக்கிறது என்றால், உங்கள் திட்டத்தில் மக்கள் அக்கறை காட்டுகிறார்கள்.
* **பங்களிப்பு வகைகள்:** உதாரணமாக, எழுத்துப்பிழைகள் அல்லது பிழைகளை சரிசெய்து, அல்லது சிக்கலில் கருத்து தெரிவித்தல்.
## பராமரிப்பாளர் செயல்பாடு
இறுதியாக, உங்கள் திட்டத்தின் பராமரிப்பாளர்கள் பெறப்பட்ட பங்களிப்புகளின் அளவைக் கையாள முடியும் என்பதை உறுதிப்படுத்துவதன் மூலம் வட்டத்தை மூடுவதை நீங்கள் விரும்புவீர்கள். உங்களை நீங்களே கேட்க வேண்டிய கடைசி கேள்வி: _நான் (அல்லது நாம்) நமது சமூகத்திற்கு மறுமொழி கூறுகிறோமா?_
செயற்படாத பராமரிப்பாளர்கள் திறந்த மூல திட்டங்களுக்கான ஒரு சிக்கல். யாராவது ஒரு பங்களிப்பைச் சமர்ப்பித்திருந்து, ஒரு பராமரிப்பாளரிடமிருந்து ஒருபோதும் மறுமொழி வரவில்லையென்றால், அவர்கள் சோர்வடைந்து விடுவார்கள்.
[மோசில்லாவிலிருந்து ஆராய்ச்சி](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) பராமரிப்பாளர் எதிர்க் குறிப்பு உணர்த்துதல் மீண்டும் பங்களிப்புகளை ஊக்குவிப்பதில் ஒரு முக்கிய காரணி என்று கூறுகிறது.
ஒரு சிக்கல் அல்லது இழு கோரிக்கை நீங்கள் எவ்வளவு நேரம் எடுத்துக்கொள்கிறீர்கள் (அல்லது இன்னுமொரு பராமரிப்பாளர்) எடுத்துக்கொள்வதைக் கவனியுங்கள். மறுமொழி கூற நடவடிக்கை தேவையில்லை. எளியதாக கூறுவதென்றால்: _"உங்கள் சமர்ப்பிப்பிற்கு நன்றி! நான் அடுத்த வாரத்திற்குள் இதை மதிப்பாய்வு செய்வேன்."_
நீங்கள் பங்களிப்பு செயல்முறை நிலைகளில் இடையே நகர்த்த எடுக்கும் நேரத்தை அளவிட முடியும், அதாவது:
* ஒரு சிக்கல் திறந்த நிலையில் உள்ள சராசரி நேரம்
* சிக்கல்கள் PRக்கள் மூலம் மூடப்பட்டனவா
* பழைய பிரச்சினைகள் மூடப்பட்டனவா
* இழு கோரிக்கையை ஒன்றாக்க சராசரி நேரம்
## மக்களைப் பற்றி அறிய 📊 பயன்படுத்தவும்
அளவீடுகளை புரிந்துகொள்ளுவது செயலில் உள்ள, வளர்ந்து வரும் திறந்த மூல திட்டத்தை உருவாக்க உதவும். நீங்கள் முகப்புப்பெட்டி ஒவ்வொரு அளவீடு பகுதியையும் கண்காணிக்கவில்லை என்றால், உங்கள் திட்டத்தை வளர்த்துக் கொள்ள உதவும் நடத்தை வகையின் மீது உங்கள் கவனத்தை ஒருமுகப்படுத்த மேலே உள்ள கட்டமைப்பைப் பயன்படுத்தவும்.
================================================
FILE: _articles/ta/security-best-practices-for-your-project.md
================================================
---
lang: ta
title: உங்கள் திட்டத்திற்கான சிறந்த பாதுகாப்பு நடைமுறைகள்
description: சார்புநிலை மற்றும் தனியார் பாதிப்பு அறிக்கையிடலைப் பாதுகாக்க அத்தியாவசிய பாதுகாப்பு நடைமுறைகள், MFA மற்றும் குறியீடு ஸ்கேனிங் மூலம் நம்பிக்கையை வளர்ப்பதன் மூலம் உங்கள் திட்டத்தின் எதிர்காலத்தை பலப்படுத்துங்கள்.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
பிழைகள் மற்றும் புதிய அம்சங்கள் ஒருபுறம் இருக்க, ஒரு திட்டத்தின் நீண்ட ஆயுள் அதன் பயனை மட்டுமல்ல, அதன் பயனர்களிடமிருந்து அது சம்பாதிக்கும் நம்பிக்கையையும் சார்ந்துள்ளது. இந்த நம்பிக்கையை உயிர்ப்புடன் வைத்திருக்க வலுவான பாதுகாப்பு நடவடிக்கைகள் முக்கியம். உங்கள் திட்டத்தின் பாதுகாப்பை கணிசமாக மேம்படுத்த நீங்கள் எடுக்கக்கூடிய சில முக்கியமான நடவடிக்கைகள் இங்கே.
## அனைத்து சலுகை பெற்ற பங்களிப்பாளர்களும் Multi-Factor Authentication (MFA) இயக்கப்பட்டிருப்பதை உறுதிசெய்யவும்.
### உங்கள் திட்டத்திற்கு சலுகை பெற்ற பங்களிப்பாளராக ஆள்மாறாட்டம் செய்யும் ஒரு தீங்கிழைக்கும் நபர், பேரழிவு தரும் சேதங்களை ஏற்படுத்துவார்.
சலுகை பெற்ற அணுகலைப் பெற்றவுடன், இந்த நபர் உங்கள் குறியீட்டை தேவையற்ற செயல்களைச் செய்ய மாற்றியமைக்கலாம் (எடுத்துக்காட்டு: கிரிப்டோகரன்சியை சுரங்கப்படுத்துதல்), அல்லது உங்கள் பயனர்களின் உள்கட்டமைப்பிற்கு தீம்பொருளை விநியோகிக்கலாம் அல்லது அறிவுசார் சொத்து மற்றும் முக்கியமான தரவை, பிற சேவைகளுக்கு வெளியேற்ற தனியார் குறியீடு களஞ்சியங்களை அணுகலாம்.
கணக்கு கையகப்படுத்தலுக்கு எதிராக MFA கூடுதல் பாதுகாப்பை வழங்குகிறது. இயக்கப்பட்டதும், உங்கள் பயனர்பெயர் மற்றும் கடவுச்சொல்லுடன் உள்நுழைந்து, உங்களுக்கு மட்டுமே தெரிந்த அல்லது அணுகக்கூடிய மற்றொரு வகையான அங்கீகாரத்தை வழங்க வேண்டும்.
## உங்கள் மேம்பாட்டின் ஒரு பகுதியாக உங்கள் குறியீட்டைப் பாதுகாக்கவும்.
### உங்கள் குறியீட்டில் உள்ள பாதுகாப்பு பாதிப்புகளை, பின்னர் உற்பத்தியில் பயன்படுத்துவதை விட, செயல்பாட்டின் ஆரம்பத்தில் கண்டறியப்பட்டால் சரிசெய்வது மலிவானது.
உங்கள் குறியீட்டில் உள்ள பாதுகாப்பு பாதிப்புகளைக் கண்டறிய நிலையான பயன்பாட்டு பாதுகாப்பு சோதனை (SAST - Static Application Security Testing) கருவியைப் பயன்படுத்தவும். இந்த கருவிகள் குறியீடு மட்டத்தில் இயங்குகின்றன, மேலும் செயல்படுத்தும் சூழல் தேவையில்லை, எனவே செயல்பாட்டின் ஆரம்பத்தில் செயல்படுத்தப்படலாம், மேலும் உருவாக்கத்தின் போது அல்லது குறியீடு மதிப்பாய்வு கட்டங்களின் போது உங்கள் வழக்கமான மேம்பாட்டு பணிப்பாய்வில் தடையின்றி ஒருங்கிணைக்கப்படலாம்.
இது உங்கள் குறியீட்டை ஒரு திறமையான நிபுணர் பார்ப்பது போன்றது, இது வெளிப்படையான பார்வையில் மறைந்திருக்கக்கூடிய பொதுவான பாதுகாப்பு பாதிப்புகளைக் கண்டறிய உதவுகிறது.
உங்கள் SAST கருவியை எவ்வாறு தேர்வு செய்வது?
உரிமத்தைச் சரிபார்க்கவும்: சில கருவிகள் திறந்த மூல திட்டங்களுக்கு இலவசம். உதாரணமாக GitHub CodeQL அல்லது SemGrep.
உங்கள் மொழிகளுக்கான கவரேஜைச் சரிபார்க்கவும்.
* நீங்கள் ஏற்கனவே பயன்படுத்தும் கருவிகளுடன், உங்கள் தற்போதைய செயல்முறையுடன் எளிதாக ஒருங்கிணைக்கக்கூடிய ஒன்றைத் தேர்ந்தெடுக்கவும். எடுத்துக்காட்டாக, விழிப்பூட்டல்களைப் பார்க்க வேறொரு கருவிக்குச் செல்வதற்குப் பதிலாக, உங்கள் தற்போதைய குறியீடு மதிப்பாய்வு செயல்முறை மற்றும் கருவியின் ஒரு பகுதியாக அவை கிடைத்தால் நல்லது.
* தவறான நேர்மறைகளைப் பற்றி எச்சரிக்கையாக இருங்கள்! எந்த காரணமும் இல்லாமல் கருவி உங்களை மெதுவாக்குவதை நீங்கள் விரும்பவில்லை!
* அம்சங்களைச் சரிபார்க்கவும்: சில கருவிகள் மிகவும் சக்திவாய்ந்தவை மற்றும் கறை கண்காணிப்பைச் செய்ய முடியும் (எடுத்துக்காட்டு: GitHub CodeQL), சில செயற்கை நுண்ணறிவு (AI) உருவாக்கிய சரிசெய்தல் பரிந்துரைகளை முன்மொழிகின்றன, சில தனிப்பயன் வினவல்களை எழுதுவதை எளிதாக்குகின்றன (எடுத்துக்காட்டு: SemGrep).
## உங்கள் ரகசியங்களைப் பகிர்ந்து கொள்ளாதீர்கள்.
### API விசைகள், டோக்கன்கள் மற்றும் கடவுச்சொற்கள் போன்ற முக்கியமான தகவல்கள் சில நேரங்களில் தற்செயலாக உங்கள் களஞ்சியத்தில் கவரப்படலாம்.
இந்தக் காட்சியை கற்பனை செய்து பாருங்கள்: உலகெங்கிலும் உள்ள டெவலப்பர்களின் பங்களிப்புகளுடன் கூடிய பிரபலமான திறந்த மூல திட்டத்தின் பராமரிப்பாளராக நீங்கள் இருக்கிறீர்கள். ஒரு நாள், ஒரு பங்களிப்பாளர் அறியாமல் ஒரு மூன்றாம் தரப்பு சேவையின் சில API விசைகளை களஞ்சியத்தில் ஒப்படைப்பார். சில நாட்களுக்குப் பிறகு, யாரோ ஒருவர் இந்த விசைகளைக் கண்டுபிடித்து, அனுமதியின்றி சேவையில் நுழைய அவற்றைப் பயன்படுத்துகிறார். சேவை சமரசம் செய்யப்படுகிறது, உங்கள் திட்டத்தின் பயனர்கள் செயலிழப்பு நேரத்தை அனுபவிக்கிறார்கள், மேலும் உங்கள் திட்டத்தின் நற்பெயர் பாதிக்கப்படுகிறது. பராமரிப்பாளராக, சமரசம் செய்யப்பட்ட ரகசியங்களைத் திரும்பப் பெறுதல், தாக்குபவர் இந்த ரகசியத்தைக் கொண்டு என்ன தீங்கிழைக்கும் செயல்களைச் செய்திருக்க முடியும் என்பதை ஆராய்தல், பாதிக்கப்பட்ட பயனர்களுக்குத் தெரிவித்தல் மற்றும் திருத்தங்களைச் செயல்படுத்துதல் போன்ற கடினமான பணிகளை நீங்கள் இப்போது எதிர்கொள்கிறீர்கள்.
இதுபோன்ற சம்பவங்களைத் தடுக்க, உங்கள் குறியீட்டில் உள்ள அந்த ரகசியங்களைக் கண்டறிய உதவும் "ரகசிய ஸ்கேனிங்" தீர்வுகள் உள்ளன. GitHub Secret Scanning, மற்றும் Truffle Security-இன் Trufflehog போன்ற சில கருவிகள், அவற்றை முதலில் தொலைதூர கிளைகளுக்குத் தள்ளுவதைத் தடுக்கலாம், மேலும் சில கருவிகள் உங்களுக்காக சில ரகசியங்களைத் தானாகவே ரத்து செய்யும்.
## உங்கள் சார்புகளைச் சரிபார்த்து புதுப்பிக்கவும்.
### உங்கள் திட்டத்தில் உள்ள சார்புநிலைகள் உங்கள் திட்டத்தின் பாதுகாப்பை சமரசம் செய்யும் பாதிப்புகளைக் கொண்டிருக்கலாம். சார்புநிலைகளை கைமுறையாகப் புதுப்பித்த நிலையில் வைத்திருப்பது நேரத்தை எடுத்துக்கொள்ளும் பணியாக இருக்கலாம்.
இதைப் பற்றி யோசித்துப் பாருங்கள்: பரவலாகப் பயன்படுத்தப்படும் நூலகத்தின் உறுதியான அடித்தளத்தில் கட்டமைக்கப்பட்ட ஒரு திட்டம். நூலகம் பின்னர் ஒரு பெரிய பாதுகாப்பு சிக்கலைக் காண்கிறது, ஆனால் அதைப் பயன்படுத்தி பயன்பாட்டை உருவாக்கியவர்களுக்கு இது பற்றித் தெரியாது. ஒரு தாக்குபவர் இந்த பலவீனத்தைப் பயன்படுத்தி, அதைப் பிடிக்க பாய்ந்து வரும்போது, முக்கியமான பயனர் தரவு அம்பலப்படுத்தப்படுகிறது. இது ஒரு தத்துவார்த்த வழக்கு அல்ல. 2017 இல் Equifax க்கு இதுதான் நடந்தது: கடுமையான பாதிப்பு கண்டறியப்பட்டதாக அறிவிக்கப்பட்ட பிறகு அவர்கள் தங்கள் Apache Struts சார்புநிலையைப் புதுப்பிக்கத் தவறிவிட்டனர். இது சுரண்டப்பட்டது, மேலும் பிரபலமற்ற Equifax மீறல் 144 மில்லியன் பயனர்களின் தரவைப் பாதித்தது.
இதுபோன்ற சூழ்நிலைகளைத் தடுக்க, Dependabot மற்றும் Renovate போன்ற மென்பொருள் கலவை பகுப்பாய்வு (SCA - Software Composition Analysis ) கருவிகள், NVD அல்லது GitHub ஆலோசனை தரவுத்தளம் போன்ற பொது தரவுத்தளங்களில் வெளியிடப்பட்ட அறியப்பட்ட பாதிப்புகளுக்கு உங்கள் சார்புகளை தானாகவே சரிபார்த்து, பின்னர் அவற்றை பாதுகாப்பான பதிப்புகளுக்குப் புதுப்பிக்க இழுப்பு கோரிக்கைகளை உருவாக்குகின்றன. சமீபத்திய பாதுகாப்பான சார்பு பதிப்புகளுடன் புதுப்பித்த நிலையில் இருப்பது உங்கள் திட்டத்தை சாத்தியமான ஆபத்துகளிலிருந்து பாதுகாக்கிறது.
## பாதுகாக்கப்பட்ட கிளைகளுடன் தேவையற்ற மாற்றங்களைத் தவிர்க்கவும்.
### உங்கள் முக்கிய கிளைகளுக்கான கட்டுப்பாடற்ற அணுகல் தற்செயலான அல்லது தீங்கிழைக்கும் மாற்றங்களுக்கு வழிவகுக்கும், அவை பாதிப்புகளை அறிமுகப்படுத்தலாம் அல்லது உங்கள் திட்டத்தின் நிலைத்தன்மையை சீர்குலைக்கலாம்.
ஒரு புதிய பங்களிப்பாளர் பிரதான கிளைக்கு எழுதும் அணுகலைப் பெறுகிறார், மேலும் தற்செயலாக சோதிக்கப்படாத மாற்றங்களைத் தள்ளுகிறார். சமீபத்திய மாற்றங்களின் காரணமாக, ஒரு கடுமையான பாதுகாப்பு குறைபாடு பின்னர் கண்டறியப்படுகிறது. இதுபோன்ற சிக்கல்களைத் தடுக்க, கிளை பாதுகாப்பு விதிகள் மாற்றங்களை முதலில் மதிப்பாய்வுகளுக்கு உட்படுத்தாமல் மற்றும் குறிப்பிட்ட நிலை சோதனைகளில் தேர்ச்சி பெறாமல் முக்கியமான கிளைகளில் தள்ளவோ அல்லது இணைக்கவோ முடியாது என்பதை உறுதி செய்கின்றன. இந்த கூடுதல் நடவடிக்கை நடைமுறையில் இருப்பதால் நீங்கள் பாதுகாப்பாகவும் சிறப்பாகவும் இருக்கிறீர்கள், ஒவ்வொரு முறையும் உயர்தர தரத்தை உறுதி செய்கிறீர்கள்.
## பாதிப்பு அறிக்கையிடலுக்கான உட்கொள்ளும் பொறிமுறையை அமைக்கவும்.
### உங்கள் பயனர்கள் பிழைகளைப் புகாரளிப்பதை எளிதாக்குவது ஒரு நல்ல நடைமுறைதான், ஆனால் பெரிய கேள்வி என்னவென்றால்: இந்தப் பிழை பாதுகாப்பு தாக்கத்தை ஏற்படுத்தும் போது, தீங்கிழைக்கும் ஹேக்கர்களுக்கு உங்கள் மீது இலக்கு வைக்காமல் அவர்கள் அதை எவ்வாறு பாதுகாப்பாக உங்களிடம் புகாரளிக்க முடியும்?
இதைப் பற்றி யோசித்துப் பாருங்கள்: ஒரு பாதுகாப்பு ஆராய்ச்சியாளர் உங்கள் திட்டத்தில் ஒரு பாதிப்பைக் கண்டறிந்தாலும், அதைப் புகாரளிக்க தெளிவான அல்லது பாதுகாப்பான வழியைக் கண்டுபிடிக்கவில்லை. நியமிக்கப்பட்ட செயல்முறை இல்லாமல், அவர்கள் ஒரு பொதுப் பிரச்சினையை உருவாக்கலாம் அல்லது சமூக ஊடகங்களில் வெளிப்படையாக விவாதிக்கலாம். அவர்கள் நல்ல நோக்கத்துடன் ஒரு தீர்வை வழங்கினாலும், அவர்கள் அதை ஒரு பொது இழுப்பு கோரிக்கையுடன் செய்தால், அது இணைக்கப்படுவதற்கு முன்பு மற்றவர்கள் அதைப் பார்ப்பார்கள்! இந்த பொது வெளிப்படுத்தல், நீங்கள் அதை நிவர்த்தி செய்ய வாய்ப்பு கிடைக்கும் முன்பே தீங்கிழைக்கும் நடிகர்களுக்கு பாதிப்பை வெளிப்படுத்தும், இது பூஜ்ஜிய நாள் (Zero-day) சுரண்டலுக்கு வழிவகுக்கும், உங்கள் திட்டத்தையும் அதன் பயனர்களையும் தாக்கும்.
### பாதுகாப்புக் கொள்கை
இதைத் தவிர்க்க, ஒரு பாதுகாப்புக் கொள்கையை வெளியிடுங்கள். `SECURITY.md` கோப்பில் வரையறுக்கப்பட்ட ஒரு பாதுகாப்புக் கொள்கை, பாதுகாப்புக் கவலைகளைப் புகாரளிப்பதற்கான படிகளை விவரிக்கிறது, ஒருங்கிணைந்த வெளிப்படுத்தலுக்கான வெளிப்படையான செயல்முறையை உருவாக்குகிறது மற்றும் புகாரளிக்கப்பட்ட சிக்கல்களைத் தீர்ப்பதற்கான திட்டக் குழுவின் பொறுப்புகளை நிறுவுகிறது. இந்தப் பாதுகாப்புக் கொள்கை "பொதுப் பிரச்சினை அல்லது மக்கள் தொடர்புத் தகவலில் விவரங்களை வெளியிட வேண்டாம், security@example.com இல் எங்களுக்கு ஒரு தனிப்பட்ட மின்னஞ்சலை அனுப்பவும்" என்பது போல எளிமையாக இருக்கலாம், ஆனால் அவர்கள் உங்களிடமிருந்து எப்போது பதிலைப் பெறுவார்கள் என்பது போன்ற பிற விவரங்களையும் கொண்டிருக்கலாம். வெளிப்படுத்தல் செயல்முறையின் செயல்திறன் மற்றும் செயல்திறனுக்கு உதவும் எதையும்.
### தனியார் பாதிப்பு அறிக்கையிடல்
சில தளங்களில், தனிப்பட்ட சிக்கல்கள் இருந்தால், உட்கொள்ளல் முதல் ஒளிபரப்பு வரை, உங்கள் பாதிப்பு மேலாண்மை செயல்முறையை நீங்கள் நெறிப்படுத்தலாம் மற்றும் வலுப்படுத்தலாம். GitLab இல், இது தனிப்பட்ட சிக்கல்களுடன் செய்யப்படலாம். GitHub இல், இது தனியார் பாதிப்பு அறிக்கையிடல் (PVR - private vulnerability reporting) என்று அழைக்கப்படுகிறது. PVR பராமரிப்பாளர்கள் பாதிப்பு அறிக்கைகளைப் பெறவும், நிவர்த்தி செய்யவும் உதவுகிறது, இவை அனைத்தும் GitHub தளத்திற்குள் உள்ளன. GitHub தானாகவே திருத்தங்களை எழுத ஒரு தனியார் ஃபோர்க்கையும், ஒரு வரைவு பாதுகாப்பு ஆலோசனையையும் உருவாக்கும். சிக்கல்களை வெளிப்படுத்தவும், திருத்தங்களை வெளியிடவும் நீங்கள் முடிவு செய்யும் வரை இவை அனைத்தும் ரகசியமாகவே இருக்கும். வளையத்தை மூட, பாதுகாப்பு ஆலோசனைகள் வெளியிடப்படும், மேலும் உங்கள் அனைத்து பயனர்களுக்கும் அவர்களின் SCA கருவி மூலம் தகவல் அளித்து பாதுகாக்கும்.
## முடிவு: உங்களுக்காக ஒரு சில படிகள், உங்கள் பயனர்களுக்கு ஒரு பெரிய முன்னேற்றம்.
இந்த சில படிகள் உங்களுக்கு எளிதானதாகவோ அல்லது அடிப்படையானதாகவோ தோன்றலாம், ஆனால் அவை உங்கள் திட்டத்தை அதன் பயனர்களுக்கு மிகவும் பாதுகாப்பானதாக மாற்றுவதற்கு நீண்ட தூரம் செல்கின்றன, ஏனெனில் அவை மிகவும் பொதுவான சிக்கல்களுக்கு எதிராக பாதுகாப்பை வழங்கும்.
## பங்களிப்பாளர்கள்
### இந்த வழிகாட்டிக்காக தங்கள் அனுபவங்களையும் உதவிக்குறிப்புகளையும் எங்களுடன் பகிர்ந்து கொண்ட அனைத்து பராமரிப்பாளர்களுக்கும் மிக்க நன்றி!
இந்த வழிகாட்டியை [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) எழுதியுள்ளனர், மேலும் [@balamt](https://github.com/balamt) மொழிபெயர்த்துள்ளனர், பங்களிப்புகள்:
[@JLLeitschuh](https://github.com/JLLeitschuh)
[@intrigus-lgtm](https://github.com/intrigus-lgtm) + இன்னும் பலர்!
================================================
FILE: _articles/ta/starting-a-project.md
================================================
---
lang: ta
title: திறந்த மூல திட்டத்தைத் தொடங்குவது
description: திறந்த மூல உலகத்தைப் பற்றி மேலும் அறிந்து உங்கள் சொந்த திட்டத்தைத் தொடங்க தயாராகுங்கள்.
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
---
## திறந்த மூலத்தின் "என்ன" மற்றும் "ஏன்"
எனவே திறந்த மூலத்துடன் தொடங்குவது பற்றி நீங்கள் யோசித்துக் கொண்டிருக்கிறீர்களா? வாழ்த்துக்கள்! உங்கள் பங்களிப்பை உலகம் பாராட்டுகிறது. திறந்த மூலத்தின் என்ன, அதை ஏன் மக்கள் செய்வது பற்றி பேசலாம்.
### "திறந்த மூலம்" என்றால் என்ன?
ஒரு திட்டம் திறந்த மூலமாக இருக்கும்போது, அதாவது **உங்கள் திட்டத்தை எந்தவொரு நோக்கத்திற்காகவும் காணலாம், பயன்படுத்தலாம், மாற்றலாம் மற்றும் விநியோகிக்க முடியும்.** இந்த அனுமதிகள் [திறந்த மூல உரிமம்](https://opensource.org/licenses) மூலமாக செயல்படுத்தப்படும்.
திறந்த மூலம் சக்திவாய்ந்தது, ஏனெனில் இது தத்தெடுப்புக்கு தடைகளை குறைக்கிறது, கருத்துக்களை விரைவில் பரப்ப அனுமதிக்கிறது.
இது எவ்வாறு வேலை செய்கிறது என்பதைப் புரிந்துகொள்வதற்கு, உங்கள் நண்பர் ஒரு உணவருந்த அழைக்கும் பொழுது நீங்கள் ஒரு செர்ரி பை(பழ அப்பம்) கொண்டுவருகிறீர்கள் என கற்பனை செய்து பாருங்கள்
* எல்லோரும் பழ அப்பம் சுவைக்கின்றனர் (_உபயோகித்தல்_)
* பை ஒரு வெற்றி! நீங்கள் வழங்கிய செய்முறையை அவர்கள் கேட்கிறார்கள் (_நோக்குதல்_)
* ஒரு நண்பர், அலெக்ஸ், ஒரு இனிய மாவுப்பண்டம் சமையற்காரர், சர்க்கரையை குறைக்க யோசனை சொன்னார் (_மாற்று_)
* மற்றொரு நண்பர், லிசா, அடுத்த வாரம் ஒரு விருந்துக்கு அதை உபயோகிக்க கேட்கிறார் (_பகிர்தல்_)
ஒப்பீட்டளவில், ஒரு மூடிய மூல செயல்முறை ஒரு உணவகத்திற்கு சென்று செர்ரி பழ அப்பம் ஒரு துண்டு உத்தரவிடுதல். நீங்கள் பழ அப்பம் சாப்பிட ஒரு கட்டணம் செலுத்த வேண்டும், மற்றும் உணவகம் ஒருவேளை நீங்கள் அவர்களின் செய்முறையை கொடுக்காமல் போகலாம். நீங்கள் அவர்களின் பழ அப்பத்தை சரியாக நகலெடுத்து அதை உங்கள் சொந்த பெயரில் விற்பனை செய்தால், உணவகம் உங்களுக்கு எதிராக நடவடிக்கை எடுக்கலாம்.
### ஏன் மக்கள் தங்கள் வேலையை திறந்த மூலமாக்கிறார்கள்?
ஒரு நபர் அல்லது அமைப்பு திட்ட மூலத்தை ஏன் திறக்க வேண்டும் என்பதற்கு [பல காரணங்கள் உள்ளன](https://ben.balter.com/2015/11/23/why-open-source/). சில உதாரணங்கள் பின்வருமாறு:
* **கூட்டு முயற்சி:** திறந்த மூல திட்டங்கள் உலகில் யாரிடமிருந்தும் மாற்றங்களை ஏற்கலாம். உதாரணமாக, [Exercism](https://github.com/exercism/) என்பது, 350 பங்களிப்பாளர்களுடன் உள்ள ஒரு நிரலாக்க பயிற்சிபாட தளமாகும்.
* **ஏற்றல் மற்றும் மறுகலப்பு செய்தல்:** திறந்த மூல திட்டங்களை ஏறக்குறைய எந்த நோக்கத்திற்காகவும் பயன்படுத்தலாம். மற்ற விஷயங்களை உருவாக்க மக்கள் அதை பயன்படுத்தலாம். உதாரணமாக, [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md) என்று அழைக்கப்படும் ஒரு திட்டத்தின் ஒரு முனையாகத் துவங்கியது [வேர்ட்பிரஸ்](https://github.com/WordPress).
* **வெளிப்படைத்தன்மை:** தவறுகள் அல்லது முரண்பாடுகளுக்கு எவரும் திறந்த மூல திட்டத்தை ஆய்வு செய்ய முடியும். [பல்கேரியா](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-source-98bf626cf70a) அல்லது [ஐக்கிய நாடுகள்](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/) போன்ற அரசாங்கங்களுக்கு, வங்கி அல்லது சுகாதாரம் போன்ற ஒழுங்குபடுத்தப்பட்ட தொழிற்சாலைகள், மற்றும் பாதுகாப்பு மென்பொருள் [Let's Encrypt](https://github.com/letsencrypt) போன்றவற்றிற்கு வெளிப்படைத்தன்மை முக்கியமானது.
திறந்த மூலம் மென்பொருளுக்கு மட்டும் அல்ல. தரவு தொகுப்புகளிலிருந்து புத்தகங்கள் வரை அனைத்தையும் திறக்கலாம். நீங்கள் மூலத்தைத் திறக்க முடியும் என்பதில் கருத்துக்களுக்கு [கிட்ஹப் Explore](https://github.com/explore) என்பதைப் பார்க்கவும்.
### திறந்த மூலம் என்றால் "இலவசம்" என்றா அர்த்தம்?
திறந்த மூலத்தின் மிகப்பெரிய சமநிலைகளில் ஒன்று, பணம் செலவாகாது என்பதுதான். "இருப்பினும், "இலவசம்" என்பது திறந்த மூலத்தின் மொத்த மதிப்பின் ஒரு இடை விளைவுப் பொருள் ஆகும்.
[திறந்த மூல உரிமம்](https://opensource.org/osd-annotated) யாராலும் எந்த நோக்கத்திற்காகவும் உங்கள் திட்டத்தை பயன்படுத்தலாம், மாற்றலாம் மற்றும் பகிர்ந்து கொள்ளலாம் என்பதால், திட்டங்கள் தானாகவே கட்டணமின்றி இருக்கின்றன. Iதிட்டத்தை பயன்படுத்த பணம் செலவு என்றால், யாரோனும் சட்டபூர்வமாக ஒரு நகல் எடுத்து அதற்கு பதிலாக இலவச பதிப்பை பயன்படுத்த முடியும்.
இதன் விளைவாக, பெரும்பாலான திறந்த மூல திட்டங்கள் இலவசம், ஆனால் "கட்டணமின்றி" என்பது திறந்த மூல வரையறையின் பகுதியாக இல்லை. திறந்த மூல திட்டங்களளின் வரையறைக்கு உட்பட்டு, திறந்த மூல திட்டங்களுக்கு மறைமுக வழிகாட்டுதல் வழிகாட்டுதல்கள் அல்லது இரட்டை உரிமம் அல்லது வரையறுக்கப்பட்ட அம்சங்கள் மூலம் கட்டணம் வசூலிக்க வழிகள் உள்ளன.
## எனது சொந்த திறந்த மூல திட்டத்தை நான் தொடங்க வேண்டுமா?
குறுகிய பதில், ஆம், பலன் எதுவாயினும் உங்கள் சொந்த திட்டத்தை தொடங்குவது எப்படி திறந்த மூல வேலை என்பதை அறிய ஒரு சிறந்த வழியாகும்.
நீங்கள் முன்பு ஒரு திட்டத்தை ஆதரிக்கவில்லை என்றால், மக்கள் என்ன சொல்கிறார்களோ, அல்லது யாரிடமாவது கவனிக்கிறார்களா என நீங்கள் கவலைப்படலாம். இது போன்று உங்களுக்கு தோன்றினால், நீங்கள் தனியாக இல்லை!
திறந்த மூல வேலை என்பது மற்ற படைப்பாற்றல் செயல்பாடுகளைப் போலவே, அது எழுதுவது அல்லது ஓவியமாக இருந்தாலும். உங்கள் வேலையை உலகத்துடன் பகிர்ந்து கொள்ள பயமாக இருக்கலாம், ஆனால் சிறந்த விளங்க ஒரே வழி பயிற்சியின் மூலம் மட்டுமே - உங்களுக்கு ஒரு பார்வையாளர் இல்லையென்றாலும் கூட.
நீங்கள் இன்னும் நம்பவில்லை என்றால், உங்கள் குறிக்கோள்களைப் பற்றி சிந்திக்க சிறிது நேரம் ஒதுக்குங்கள்.
### உங்கள் இலக்குகளை அமைத்தல்
இலக்குகள் எதைப் பற்றி வேலை செய்ய வேண்டும், எதைப் பற்றி சொல்ல வேண்டும், மற்றவர்களிடமிருந்து உங்களுக்கு உதவி தேவை என்பவற்றைக் கண்டுபிடிக்க உதவுகிறது. உங்களை நீங்களே கேட்டுக் கொள்ளுங்கள், _நான் இந்த திட்டத்தை திறக்க வேண்டும்?_
இந்த கேள்விக்கு ஒரு சரியான பதில் இல்லை. நீங்கள் ஒரு திட்டத்திற்கு பல இலக்குகளை அல்லது பல்வேறு இலக்குகளுடன் வெவ்வேறு திட்டங்களைக் கொண்டிருக்கலாம்.
உங்களுடைய ஒரே குறிக்கோள் உங்கள் வேலையை காட்ட விரும்பினால், நீங்கள் பங்களிப்புகளை விரும்பக்கூடாது, மேலும் உங்கள் README இல் சொல்லவும் கூட இருக்கலாம். மறுபுறம், உங்களுக்கு பங்களிப்பாளர்கள் தேவைப்பட்டால், தெளிவான ஆவணங்கள் மீது நேரத்தை முதலீடு செய்து புதுமுகங்களின் வரவேற்பைப் பெறுவீர்கள்.
உங்கள் திட்டம் வளரும் போது, உங்களுடைய சமூகம் உங்களிடமிருந்து வெறும் குறியீட்டை தாண்டி மேலும் எதிர்பார்க்கும். சிக்கல்களை எதிர்கொண்டு, குறியீட்டை மறுபரிசீலனை செய்தல் மற்றும் உங்கள் திட்டத்தை மேம்படுத்துதல் திறந்த மூல திட்டத்தில் உள்ள முக்கிய பணிகளும் ஆகும்.
நீங்கள் நிரலாக்குதல் அல்லாத பணிகளில் நேரம் செலவிடுவது உங்கள் திட்டத்தின் அளவு மற்றும் நோக்கம் சார்ந்து இருக்கும் போது, நீங்கள் அவர்களுக்கு உரையாற்ற ஒரு பராமரிப்பாளராக தயாராக இருங்கள் அல்லது உங்களுக்கு உதவ யாரையாவது அடையாளம் காணுங்கள்.
**நீங்கள் ஒரு திட்டத்தை திறந்த மூலமாக்கும் நிறுவனத்தின் ஒரு பகுதியாக இருந்தால்,** உங்களுடைய திட்டத்தின் உள் ஆதாரங்களை வளர்த்துக்கொள்ள வேண்டும் என்பதை உறுதிப்படுத்தவும். நீங்கள் அறிமுகப்படுத்திய பின்னர் திட்டத்தை பராமரிப்பதற்கு யார் பொறுப்பு என்பதை நீங்கள் அறிய விரும்புகிறீர்கள், உங்கள் சமூகத்துடன் அந்தப் பணிகளை எவ்வாறு பகிர்ந்து கொள்கிறீர்கள் என்பதை நீங்கள் தெரிந்துகொள்ள வேண்டும்.
உங்களுக்கு அர்ப்பணிக்கப்பட்ட வரவு செலவுத் திட்டம் அல்லது தொழில் முன்னேற்ற ஆக்க முயற்சி, இயக்கம் மற்றும் செயல்திட்டத்திற்கான பட்ஜெட் ஊழியர்கள் தேவைப்பட்டால், ஆரம்பத்திலேயே உரையாடல்களைத் தொடங்குங்கள்.
### மற்ற திட்டங்களுக்கு பங்களிப்பு
மற்றவர்களுடன் எப்படி ஒத்துழைக்க வேண்டும் அல்லது திறந்த மூல வேலை எப்படி இயங்குகிறது என்பதை அறிவது உங்கள் இலக்கு என்றால், ஏற்கனவே இருக்கும் திட்டத்திற்கு பங்களிப்பு செய்யுங்கள். ஏற்கனவே நீங்கள் பயன்படுத்த விரும்பும் திட்டத்தில் தொடங்கவும். ஒரு திட்டத்தில் பங்களிப்பு தட்டச்சு அல்லது ஆவணங்களை பிழைத்திருத்துதல் என எளியமையானதாக இருக்கலாம்.
ஒரு பங்களிப்பாளராக எவ்வாறு தொடங்குவது என்பது உங்களுக்கு தெரியாவிட்டால், எங்கள் [திறந்த மூல வழிகாட்டிக்கு எவ்வாறு பங்களிப்பது](../how-to-contribute/) காணுங்கள்.
## உங்கள் சொந்த திறந்த மூல திட்டத்தை துவக்குதல்
உங்களுடைய வேலையை திறக்க சரியான நேரம் என்று எதுவும் இல்லை. நீங்கள் ஒரு யோசனை, நடப்பிலிருக்கும் வேலை, அல்லது பல ஆண்டுகளாக மூடிய திட்டம் என எதையும் திறக்கலாம்.
பொதுவாக பேசுகையில், உங்கள் திட்டத்தை நீங்கள் மற்றவர்கள் நோக்குவதற்கு மற்றும் உங்கள் வேலையைப் பற்றி கருத்துத் தெரிவிப்பதை வசதியாக கருதும்பொழுது உங்கள் திட்டத்தைத் திறக்க வேண்டும்.
எந்த கட்டத்தில் நீங்கள் உங்கள் திட்டத்தை திறக்க முடிவு செய்தாலும், ஒவ்வொரு திட்டமும் பின்வரும் ஆவணங்கள் சேர்க்கப்பட வேண்டும்:
* [திறந்த மூல உரிமம்](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [பங்களிப்பு நெறிமுறைகள்](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [நடத்தை குறியீடு](../code-of-conduct/)
ஒரு பராமரிப்பாளராக, இந்த கூறுகள் எதிர்பார்ப்புகளைத் தொடர்புகொள்வதற்கும், பங்களிப்புகளை நிர்வகிப்பதற்கும், எல்லோருடைய சட்ட உரிமைகளையும் (உங்கள் சொந்த உள்ளடங்கலாக) பாதுகாக்கும். அவர்கள் நேர்மறையான அனுபவத்தைப் பெற்றிருப்பதற்கான வாய்ப்புகளை கணிசமாக அதிகரிக்கிறார்கள்.
உங்கள் திட்டம் கிட்ஹப் இல் இருந்தால், உங்கள் கோப்பகத்தை உங்கள் மூல அடைவில் பரிந்துரைக்கப்படும் கோப்புப்பெயர்கள் மூலம் கிட்ஹப் அங்கீகரிக்கவும், தானாக உங்கள் வாசகர்களுக்கு அவற்றைப் பரப்பவும் உதவும்.
### உரிமம் தெரிவு செய்தல்
திறந்த மூல உரிமம் மற்றவர்கள் பயன்படுத்தலாம், நகலெடுக்கலாம், மாற்றலாம், மற்றும் விளைவுகள் இல்லாமல் உங்கள் திட்டத்திற்கு மீண்டும் பங்களிக்கலாம் என உத்திரவாதம் அளிக்கிறது. இது ஒட்டக்கூடிய சட்டப்பூர்வ சூழ்நிலைகளிலிருந்து உங்களை பாதுகாக்கிறது. **திறந்த மூல திட்டத்தை நீங்கள் தொடங்கும்போது உரிமம் சேர்க்கப்பட வேண்டும்.**
சட்ட வேலை வேடிக்கை இல்லை. நல்ல செய்தி என்னவெனில் உங்கள் களஞ்சியத்தில் ஏற்கனவே உரிமம் நகலெடுத்து ஒட்டலாம். உங்கள் கடின உழைப்பைப் பாதுகாக்க இது ஒரு நிமிடம் மட்டுமே ஆகும்.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), மற்றும் [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) மிகவும் பிரபலமான திறந்த மூல உரிமங்கள், ஆனால் தேர்ந்தெடுக்க [மற்ற விருப்பங்கள் தெரிவுகளும் உள்ளன](https://choosealicense.com).
நீங்கள் கிட்ஹப் இல் புதிய திட்டத்தை உருவாக்கும்போது, உரிமம் ஒன்றைத் தேர்ந்தெடுக்கும் உரிமை உங்களுக்கு உள்ளது. ஒரு திறந்த மூல உரிமத்தை உட்படுத்துவது உங்கள் கிட்ஹப் திட்டத்தை திறந்த மூலமாக்கும்.

ஒரு திறந்த மூல திட்டத்தை நிர்வகிப்பதற்கான சட்ட அம்சங்களைப் பற்றி நீங்கள் மற்ற கேள்விகளை அல்லது கவலையைப் பெற்றிருக்கிறீர்கள் என்றால், [நாங்கள் உங்கள் பாதுகாப்பிற்கு உள்ளோம்](../legal/).
### README எழுதுவது
README கள் உங்கள் திட்டத்தை எவ்வாறு பயன்படுத்துவது என்பதை விளக்கவும். உங்கள் திட்டப்பணிகளுக்கான காரணத்தையும் உங்கள் பயனர்கள் என்ன செய்யலாம் என்பதையும் அவை விளக்கும்.
உங்கள் README இல் பின்வரும் கேள்விகளுக்கு பதிலளிக்க முயற்சி செய்க:
* இந்த திட்டம் என்ன செய்கிறது?
* ஏன் இந்த திட்டம் பயனுள்ளதாக இருக்கும்?
* நான் எப்படி தொடங்குவது?
* எனக்கு உதவி தேவைப்பட்டால், எங்கிருந்து உதவி கிடைக்கும்?
நீங்கள் பங்களிப்புகளை எவ்வாறு கையாளுகிறீர்கள், திட்டத்தின் இலக்குகள் என்ன, உரிமங்கள் மற்றும் பண்புக்கூறு பற்றிய தகவல்கள் போன்ற மற்ற கேள்விகளுக்கு பதிலளிக்க உங்கள் README ஐ பயன்படுத்தலாம். பங்களிப்புகளை ஏற்றுக்கொள்ள விரும்பவில்லை என்றால், அல்லது உங்கள் திட்டம் இன்னும் தயாரிப்புக்கு தயாராக இல்லை என்றால், இந்த தகவலை கீழே எழுதவும்.
சில நேரங்களில், மக்கள் ஒரு README எழுதுவதைத் தவிர்ப்பதால், திட்டம் முடிவடையாததுபோல் அவர்கள் உணர்கிறார்கள் அல்லது பங்களிப்புகளை விரும்பவில்லை. இவை ஒவ்வொன்றும் எழுத மிகவும் நல்ல காரணங்கள்.
மேலும் உத்வேகம் பெறுவதற்காக, @18F இன் ["README களை வாசிக்கக்கூடியதாக செய்தல்"](https://pages.18f.gov/open-source-guide/making-readmes-readable/) or @PurpleBooth's [README வார்ப்புரு](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) முழுமையான README எழுதுவதற்கு பயன்படுத்தவும்.
நீங்கள் மூல அடைவில் ஒரு README கோப்பை சேர்க்கும்போது, கிட்ஹப் தானாக களஞ்சியத்தின் முகப்பு பக்கத்தில் காண்பிக்கும்.
### உங்கள் பங்களிப்பு வழிமுறைகளை எழுதுதல்
உங்கள் திட்டத்தில் பங்கெடுக்க எப்படி உங்கள் பார்வையாளர்களுக்கு ஒரு CONTRIBUTING கோப்பு சொல்கிறது. உதாரணமாக, நீங்கள் இதில் பின்வரும் தகவல்களைக் கொண்டிருக்கலாம்:
* ஒரு பிழை அறிக்கையை எவ்வாறு பதிவு செய்யலாம் ([சிக்கல் மற்றும் இழு கோரிக்கை வார்ப்புருக்களை](https://github.com/blog/2111-issue-and-pull-request-templates) பயன்படுத்தி முயற்சி செய்யுங்கள்)
* ஒரு புதிய அம்சத்தை எப்படி பரிந்துரைப்பது
* எப்படி உங்கள் சூழலை அமைப்பது மற்றும் சோதனைகள் ஓட்டுவது
தொழில்நுட்ப விவரங்களுடன் கூடுதலாக, பங்களிப்பிற்கான உங்கள் எதிர்பார்ப்புகளை தொடர்புகொள்வதற்கான ஒரு வாய்ப்பாக உள்ளது:
* நீங்கள் தேடும் பங்களிப்பு வகைகள்
* திட்டத்திற்கான உங்கள் செயல் திட்டம் அல்லது பார்வை
* எப்படி பங்களிப்பாளர்கள் உங்களுடன் தொடர்பு கொள்ள வேண்டும் (அல்லது கூடாது)
ஒரு இரக்கம் உள்ள, நட்புரீதியான தொனியைப் பயன்படுத்தி, பங்களிப்பிற்கான குறிப்பிட்ட பரிந்துரைகளை வழங்குதல் (ஆவணங்கள் எழுதுதல் அல்லது வலைத்தளமாக்குதல் போன்றவை) புதுமுகங்கள் வரவேற்பு மற்றும் பங்கேற்க ஆர்வமுடையவையாக இருப்பதால் நீண்ட தூரம் செல்லலாம்.
உதாரணமாக, [ஆக்டிவ் அட்மின்](https://github.com/activeadmin/activeadmin/) [அதன் பங்களிப்பு வழிகாட்டி](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md) உடன் தொடங்குகிறது:
> முதலில், ஆக்டிவ் அட்மினுக்கு பங்களிக்க கருதியதற்கு நன்றி. ஆக்டிவ் அட்மின் போன்ற ஒரு பெரிய கருவியை உருவாக்கியது உங்களை போன்ற மக்கள் தான்.
உங்கள் திட்டத்தின் ஆரம்ப கட்டங்களில், உங்கள் CONTRIBUTING கோப்பு எளியதாக இருக்கலாம். பிழைகள் அல்லது கோப்புப் பிரச்சினைகள், மற்றும் எந்த ஒரு தொழில்நுட்ப தேவைகள் (சோதனைகள் போன்றவை) பங்களிப்பைச் செய்வது குறித்து புகாரளிப்பது எப்போது என்பதை நீங்கள் எப்பொழுதும் விளக்க வேண்டும்.
காலப்போக்கில், உங்கள் பங்களிப்புக் கோப்பில் நீங்கள் அடிக்கடி கேட்கப்படும் கேள்விகள் சேர்க்கப்படலாம். இந்த தகவலை எழுதுவது குறைவான மக்கள் உங்களை மீண்டும் அதே கேள்விகளை கேட்க வேண்டும் என்பதாகும்.
உங்கள் பங்களிப்புக் கோப்பை எழுதுவதற்கு அதிக உதவிக்காக, @nayafia இன் [பங்களிப்பு வழிகாட்டி வார்ப்புரு](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) அல்லது @mozilla's ["எப்படி ஒரு CONTRIBUTING.md உருவாக்கவும்"](Https://mozillascience.github.io/working-open-workshop/contributing/) என பார்க்கவும்.
உங்கள் README லிருந்து உங்கள் பங்களிப்பு கோப்பினை இணைக்க, அதிகமானோர் அதைப் பார்க்கிறார்கள். நீங்கள் ஒரு [பங்களிப்பு கோப்பு உங்கள் திட்டத்தின் களஞ்சியத்தில் வைக்கும்போது](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), உங்கள் பங்களிப்பாளர் ஒரு சிக்கல் உருவாக்கும் போது அல்லது ஒரு மிகுதிக் கோரிக்கையைத் திறக்கும் போது கிட்ஹப் தானாகவே கோப்பில் இணைக்கப்படும்

### நடத்தை குறியீடு நிலைநாட்டுதல்
இறுதியாக, உங்கள் திட்டத்தின் பங்கேற்பாளர்களுக்கு நடத்தைக்கான விதிகளை அமைப்பதற்கு ஒரு நடத்தை நெறிமுறை உதவுகிறது. ஒரு சமூகம் அல்லது நிறுவனத்திற்கான திறந்த மூல திட்டத்தை நீங்கள் தொடங்கினால், இது குறிப்பாக மதிப்புமிக்கது. பராமரிப்பாளராக உங்கள் அழுத்தத்தை குறைக்கும் ஆரோக்கியமான, ஆக்கபூர்வமான சமூக நடத்தைக்கு ஒரு நடத்தை நெறிமுறை உங்களுக்கு உதவுகிறது.
மேலும் தகவலுக்கு, எங்கள் [நடத்தை வழிகாட்டி](../code-of-conduct/).
கூடுதலாக பங்கேற்பாளர்கள் _எப்படி_ நடந்து கொள்ள வேண்டும் என நீங்கள் எதிர்பார்க்கிறீர்கள், ஒரு நெறிமுறை குறியீடு கூட இந்த எதிர்பார்ப்புகளை யாருக்கு எப்போது உபயோகிக்கப்படும், மற்றும் ஒரு மீறல் ஏற்படுமானால் என்ன செய்ய வேண்டும் என்பதை விவரிக்க முனைகிறது.
திறந்த மூல உரிமங்களைப் போலவே, நடத்தை நெறிமுறைகளுக்கான தரநிலைகளும் உள்ளன, எனவே நீங்கள் சொந்தமாக எழுத வேண்டியதில்லை. [பங்களிப்பாளரின் உடன்படிக்கை](https://contributor-covenant.org/) என்பது, [40,000 திறந்த மூல திட்டங்களுக்கு](https://contributor-covenant.org/adopters/) பயன்படுத்துகின்ற ஒரு நெறிமுறை குறியீடாகும், குபெர்னீஸ், ரெயில்ஸ் மற்றும் ஸ்விஃப்ட் உட்பட. நீங்கள் பயன்படுத்தும் உரை எதுவாக இருந்தாலும், தேவையான போது உங்கள் நடத்தை நெறிமுறை செயல்படுத்துவதற்கு நீங்கள் தயாராக இருக்க வேண்டும்.
உரையை நேரடியாக உங்கள் களஞ்சியத்தில் CODE_OF_CONDUCT கோப்பில் ஒட்டுக. உங்கள் திட்டத்தின் கோப்பகத்தில் மூல அடைவில் கோப்பை வைத்திருங்கள், அதை எளிதாக கண்டுபிடிக்கலாம், மேலும் அதை README இலிருந்து இணைக்கவும்.
## உங்கள் திட்டத்திற்கான பெயரிடுதல் மற்றும் முத்திரை பதித்தல்
வணிகச் சின்னம் என்பது ஒரு கவர்ச்சியுள்ள முத்திரை அல்லது திட்டப்பணி பெயரை விட அதிகம். நீங்கள் உங்கள் திட்டத்தைப் பற்றி என்ன பேசுகிறீர்கள், மற்றும் நீங்கள் உங்கள் செய்தியுடன் யாரை சென்றடைகிறீர்கள் என்பது தான்.
### சரியான பெயரைத் தேர்ந்தெடுப்பது
நினைவில் எளிதான ஒரு பெயரைத் தேர்ந்தெடுத்து, திட்டம் என்ன செய்வதென்று சில யோசனைகள் தெரிவியிங்கள். உதாரணத்திற்கு:
* [சென்ட்ரி](https://github.com/getsentry/sentry) தகர்வொலி அறிக்கைக்காக செயலிகளை கண்காணிக்கிறது
* [தின்](https://github.com/macournoyer/thin) ஒரு வேகமான மற்றும் எளிமையான ரூபி வலை சேவையகம்
ஏற்கனவே இருக்கும் திட்டத்தின் மீது நீங்கள் கட்டியெழுப்பினால், முன்னொட்டாக தங்கள் பெயரைப் பயன்படுத்தி உங்கள் திட்டம் என்ன என்பதை தெளிவுபடுத்துவதற்கு உதவலாம் (எடுத்துக்காட்டாக, [node-fetch](https://github.com/bitinn/node-fetch) `window.fetch` ஐ Node.js க்கு கொண்டு வருகிறது).
தெளிவு எல்லாவற்றிற்கும் மேலானது. சிலேடை பேச்சு வேடிக்கையானது, ஆனால் சில நகைச்சுவைகளை நீங்கள் வேறுபட்ட கலாச்சாரங்களுடன் அல்லது வேறுபட்ட அனுபவங்களுடன் மக்களுக்கு மொழிபெயர்க்க முடியாது என்பதை நினைவில் கொள்க. உங்கள் சாத்தியமான சில பயனர்கள் நிறுவன ஊழியர்களாக இருக்கலாம்: வேலையில் உங்கள் திட்டத்தை விளக்க அவர்களுக்கு நீங்கள் சங்கடத்தை உண்டாக்க வேண்டாம்!
### பெயர் முரண்பாடுகளைத் தவிர்த்தல்
[இதே போன்ற பெயரில் திறந்த மூல திட்டங்களுக்கான சரிபார்க்கவும்](http://ivantomic.com/projects/ospnc/), குறிப்பாக நீங்கள் ஒரே மொழியை அல்லது சுற்றுச்சூழலைப் பகிர்ந்து கொள்ளும் பொழுது. பிரபலமான ஒரு திட்டத்தினுடன் உங்கள் பெயர் மேற்பொருந்துதல் இருந்தால், உங்கள் பார்வையாளர்களை குழப்பக்கூடும்.
வலைத்தளம், கீச்சு கைப்பிடி அல்லது உங்கள் திட்டத்தை பிரதிநிதித்துவப்படுத்தும் பிற பண்புகளை நீங்கள் விரும்பினால், நீங்கள் விரும்பும் பெயர்களை பெறலாம் என்பதை உறுதிப்படுத்தவும். நீங்கள் இன்னும் அவற்றை பயன்படுத்த விரும்பவில்லை என்றால் கூட, மன அமைதிக்காக [இப்போது அந்த பெயர்களை வைத்திருக்கவும்](https://instantdomainsearch.com/).
உங்கள் திட்டத்தின் பெயர் எந்த வர்த்தக முத்திரைகளிலும் மீறவில்லை என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள். ஒரு நிறுவனம் பின்னர் உங்கள் திட்டத்தை நீக்குமாறு கேட்கலாம் அல்லது உங்களுக்கு எதிரான சட்ட நடவடிக்கை எடுக்கலாம். அது ஆபத்துக்கு மதிப்பு இல்லை.
வர்த்தக முத்திரை மோதல்களுக்கு [WIPO குளோபல் பிராண்ட் டேட்டாபேஸ்](http://www.wipo.int/branddb/en/) சரிபார்க்கலாம். நீங்கள் ஒரு நிறுவனத்தில் இருந்தால், இதில் உங்கள் [சட்ட குழு உங்களுக்கு உதவும்](../legal/).
இறுதியாக, உங்கள் திட்டத்தின் பெயரை கூகுளில் தேடுங்கள். மக்கள் உங்கள் திட்டத்தை எளிதில் கண்டுபிடிக்க முடியுமா? வேறு எதையாவது நீங்கள் காண விரும்பாதவை தேடல் முடிவுகளில் தோன்றுகிறதா?
### எப்படி எழுதுவது (மற்றும் நிரலாக்குதல்) உங்கள் நிறுவனஅடையாளத்தை பாதிக்கிறது!
உங்கள் திட்டத்தின் வாழ்நாள் முழுவதிலும், நீங்கள் நிறைய எழுதுவீர்கள்: README கள், பயிற்சிகள், சமூகம் ஆவணங்கள், சிக்கல்களுக்கு பதிலளித்தல், சில வேளைகளில் செய்திமடல்கள் மற்றும் அஞ்சல் பட்டியல்கள்.
இது உத்தியோகபூர்வ ஆவணமாக்கல் அல்லது ஒரு தற்காலிக மின்னஞ்சலாக இருந்தாலும், உங்கள் எழுத்து பாணி உங்கள் திட்டத்தின் நிறுவனஅடையாளத்தின் ஒரு பகுதியாகும். உங்கள் பார்வையாளர்களிடம் நீங்கள் எப்படி நடந்துகொள்வீர்கள் என்பதையும், நீங்கள் அறிவிக்க விரும்பும் தொனி அதுதானா என்பதையும் கவனியுங்கள்.
கனிவான, உள்ளடக்கிய மொழி (ஒற்றை நபரைக் குறிப்பிடும் போதும் "அவர்கள்" போன்றவை) உங்கள் திட்டத்தை புதிய பங்களிப்பாளர்களுக்கு வரவேற்பதாக உணர வைக்கும். எளிமையான மொழியை கடைபிடியுங்கள், உங்கள் வாசகர்களில் பலருக்கு ஆங்கிலம் தாய்மொழியாக இல்லாமலிருக்கலாம்.
நீங்கள் வார்த்தைகளை எப்படி எழுதுகிறீர்களோ அப்படியே, உங்கள் குறியீட்டு பாணி உங்கள் திட்டத்தின் நிலையக அடையாள பகுதியாகவும் மாறும். [Angular](https://github.com/johnpapa/angular-styleguide) மற்றும் [jQuery](https://contribute.jquery.org/style-guide/js/) இரண்டும் கடுமையான குறியீட்டு முறை மற்றும் வழிகாட்டுதல்கள் உள்ள திட்டங்களுக்கான உதாரணங்களாகும்.
நீங்கள் தொடங்கும் பொழுதே, உங்கள் திட்டத்திற்கு ஒரு பாணி வழிகாட்டி எழுத தேவையில்லை, மற்றும் நீங்கள் எப்படியும் உங்கள் திட்டத்தில் வேறு குறியீட்டு பாணியை ஒருங்கிணைத்து அனுபவிக்கலாம். ஆனால் உங்கள் எழுத்து மற்றும் குறியீட்டு நடை எப்படி பல்வேறு வகையான மக்களை கவர்ந்திழுக்க அல்லது ஊக்கப்படுத்தலாம் என்பதை நீங்கள் எதிர்பார்க்க வேண்டும். உங்கள் திட்டத்தின் ஆரம்ப கட்டங்கள் நீங்கள் பார்க்க விரும்பும் முன்னோடிகளை அமைக்கும் வாய்ப்பாக இருக்கும்.
## உங்கள் முன்-வெளியீட்டு பட்டியல்
உங்கள் திட்டத்தைத் திறக்க தயாரா? உதவிக்கு ஒரு பட்டியல் இங்கே. அனைத்து பெட்டிகளையும் சரிபார்க்கவும்? நீங்கள் செல்ல தயாராக உள்ளீர்கள்! ["வெளியிடு" என்பதைக் சொடுக்கவும்](https://help.github.com/articles/making-a-private-repository-public/) பின்பு உங்களை நீங்களே தட்டிக்கொடுத்து கொள்ளவும்.
**ஆவணப்படுத்தல்**
**Code**
**மக்கள்**
நீங்கள் ஒரு தனிநபர் என்றால்:
நீங்கள் ஒரு நிறுவனம் அல்லது அமைப்பாக இருந்தால்:
## நீங்கள் செய்தீர்கள்!
உங்களுடைய முதல் திட்டத்தை திறந்து வைப்பதில் வாழ்த்துக்கள். பலன் எதுவாயினும், பொதுவில் வேலை செய்வது சமுதாயத்திற்கு ஒரு பரிசு. ஒவ்வொரு அணுகலும், கருத்து தெரிவிக்கவும், கோரிக்கை விடுக்கவும், நீங்களாகவும், மற்றவர்களுக்காகவும் கற்றுக்கொள்ளவும் வளரவும் வாய்ப்புகளை உருவாக்குகிறீர்கள்.
================================================
FILE: _articles/tr/best-practices.md
================================================
---
lang: tr
title: Geliştiriciler İçin Örnek Yöntemler
description: Belgelendirme işlemlerinden topluluğunuzu güçlendirmeye kadar açık bir kaynak geliştiricisi olarak hayatınızı kolaylaştırın.
class: best-practices
order: 5
image: /assets/images/cards/best-practices.png
related:
- metrics
- leadership
---
## Geliştirici olmak ne demektir?
Birçok insanın kullandığı açık kaynak bir projeyi sürdürürseniz, daha az kodladığınızı ve sorunlara daha fazla cevap verdiğinizi fark etmiş olabilirsiniz.
Bir projenin ilk aşamalarında, yeni fikirleri deniyor ve istediğinizi temel alan kararlar alıyorsunuz. Projeniz popülerlik arttıkça, kendinizi kullanıcılar ve katkıda bulunanlarla daha fazla çalışırken bulabilirsiniz.
Bir projeyi sürdürmek kod yazmaktan daha fazlasını gerektirir. Bu görevler genellikle beklenmedik bir durum değildir, ancak büyümekte olan bir proje için son derece önemlidir. Yaşamınızı kolaylaştırmak için, belgeleme işlemlerinden topluluğunuzu güçlendirmeye kadar birkaç yol yöntemi derledik.
## İşlemlerinizi belgeleme
Her şeyi yazı hale getirmek, geliştirici olarak yapabileceğiniz en önemli şeylerden biridir.
Dokümantasyon sadece kendi düşüncelerinizi netleştirmekle kalmaz, diğer kişilerin size sormadan önce neye ihtiyacınız olduğunu veya ne beklediğinizi anlamalarına yardımcı olur.
Bir şeyler yazmak, bir şey sizin kapsamınıza uymadığında hayır demeyi kolaylaştırır. Ayrıca insanların girip yardım etmesini kolaylaştırır. Projenizi kimlerin okuyup kullanabileceğini asla bilemezsiniz.
Geniş paragraflar kullanmasanız da, madde imleri kullanarak not almak bile, yazmaktan daha iyidir.
Belgelerinizi güncel tutmayı unutmayın. Bunu her zaman yapamıyorsanız, eski belgelerinizi silin veya eski olduğunu belirtin; böylece katkıda bulunanlar güncellemelerin memnuniyetle karşılandığını bilir.
### Projenizin vizyonunu yazın
Projenizin hedeflerini yazarak başlayın. Bunları README'nize ekleyin veya VISION adlı ayrı bir dosya oluşturun. Proje yol haritası gibi, yardımcı olabilecek başka çıktılar varsa, bunları da yayınlayabilirsiniz.
Net ve belgelenmiş bir vizyona sahip olmanız odaklanmanızı sağlar ve başkalarının katkılarından "kapsamın sürünmesini" önlemenize yardımcı olur.
Örneğin, @lord, proje vizyonuna sahip olmanın, hangi ihtiyaç için zaman harcamaya ihtiyaç duyulacağını belirlemesine yardımcı olduğunu keşfetti. Yeni bir geliştirici olarak, [Slate](https://github.com/lord/slate) için ilk uzun metraj talebini aldığında, projesinin kapsamına uymadığı için pişmanlık duydu.
### Beklentilerinizi iletin
Kurallar yazmak için sinir bozucu olabilir. Bazen başkalarının davranışlarına göz attığınızı ya da tüm eğlenceyi öldürdüğünüzü hissedebilirsiniz.
Ancak, adil bir şekilde yazılmış ve uygulanmış olduğunda, iyi kurallar geliştiricileri güçlendirir. Yapmak istemediğiniz şeyleri yapmaya sürüklenmenizi önlerler.
Projenize rastlayan çoğu kişi sizin hakkınızda veya durumunuz hakkında hiçbir şey bilmiyor olabilir. Üzerinde çalışmak için para aldığınızı varsayabilirler, özellikle düzenli olarak kullandıkları ve güvendikleri bir şeyse. Belki bir noktada projenize çok zaman ayırıyorsunuz, ancak şimdi yeni bir iş veya aile üyesiyle meşgulsünüz.
Bunların hepsi olabilir! Sadece başkalarının da bildiğinden emin ol.
Projenizi yarı zamanlı veya tamamen gönüllü olarak sürdürmekteyseniz, ne kadar vaktiniz olduğu konusunda dürüst olun. Bu, projenin ne kadar zaman gerektirdiğini düşündüğünüzle veya başkalarının ne kadar zaman harcamanızı istediği ile aynı değildir.
Yazmaya değer birkaç kural:
* Bir katkı nasıl gözden geçirilir ve kabul edilir ( _Testlere ihtiyaçları var mı? Bir sorun şablonu var mı?_ )
* Kabul edeceğiniz katkı türleri ( _Kodunuzun yalnızca belirli bir bölümünde yardım mı istiyorsunuz?_ )
* Bekleme süresi ne kadardır (_örneğin, "7 gün içinde bir bakıcıdan bir yanıt bekleyebilirsiniz. O zamana kadar bir şey duymadıysanız, ipliğe ping atmaktan çekinmeyin."_)
* Projeye ne kadar zaman harcıyorsunuz (_örneğin, "Bu projeye haftada sadece 5 saat harcıyoruz"_)
[Jekyll](https://github.com/jekyll/jekyll/tree/HEAD/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules) ve [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) geliştiriciler ve katkıda bulunanlar için temel kuralları olan projelere birkaç örnektir.
### İletişimi herkese açık tutun
Sizin de etkileşimlerinizi belgelemeyi unutmayın. Nerede olursanız olun, projeniz hakkında iletişimi halka açık tutun. Birisi bir özellik isteğini veya destek ihtiyacını tartışmak için sizinle özel olarak iletişim kurmaya çalışırsa, kibarca onları bir posta listesi veya sorun izleyici gibi bir kamu iletişim kanalına yönlendirin.
Diğer geliştiricilerle tanışırsanız veya özel olarak büyük bir karar verirseniz, bu konuşmaları halka açıklayın, yalnızca notlarınızı gönderiyor olsanız bile.
Bu şekilde, topluluğunuza yeni katılan herhangi biri, yıllardır orada olan biriyle aynı bilgilere erişebilecektir.
## Hayır demeyi öğrenme
Her şeyi yazdınız. İdeal olarak, herkes belgelerinizi okur, ancak gerçekte, bu bilginin var olduğunu başkalarına hatırlatmanız gerekecek.
Bununla birlikte, her şeyin yazılı olması, kurallarınızı uygulamanız gerektiğinde durumları kişisellikten uzaklaştırmanıza yardımcı olur.
Hayır demenin eğlenceli olmadığı kesin, ancak "_Katkınız bu projenin ölçütlerine uymuyor_" cevabı "_Katkınızı beğenmedim_" cevabından daha kurumsal hissettiriyor.
Bir geliştirici olarak karşılaşacağınız birçok durum için hayır demek uygundur: Örneğin, kapsama uygun olmayan özellik talepleri, tartışmanın rayından çıkması durumunda, başkaları için gereksiz işler yapılması durumunda.
### Sohbeti dostane tutun
Hayır demeyi uygulayacağınız en önemli yerlerden biri de, sorun ve istek sıralarıdır. Bir proje sorumlusu olarak, çoğunlukla kabul etmek istemediğiniz öneriler alırsınız.
Belki yapılan katkı projenizin kapsamını değiştiriyor veya vizyonunuza uymuyor. Belki fikir iyidir, ancak uygulama zayıftır.
Sebep ne olursa olsun, projenizin standartlarına uymayan katkıları titizlikle ele almak mümkündür.
Kabul etmek istemediğiniz bir katkı alırsanız, ilk tepkiniz bunu görmezden gelmek veya görmemiş gibi yapmak olabilir. Bunu yapmak, diğer kişinin duygularına zarar verebilir ve hatta topluluğunuzdaki diğer potansiyel katılımcıların cesaretini kırabilir.
Kendinizi suçlu hissettiğiniz için veya iyi davranmak istediğiniz için, istenmeyen bir katkıyı açık bırakmayın. Zaman içinde, cevaplanmayan sorunlar ve birleştirme istekleri projeniz üzerinde çalışmayı çok daha stresli ve korkutucu hissettirecektir.
Kabul etmek istemediğinizi bildiğiniz katkıları derhal kapatmak daha iyidir. Projeniz zaten büyük bir birikimden etkilenmişse, @steveklabnik, [sorunların verimli bir şekilde nasıl sıralanacağı](https://words.steveklabnik.com/how-to-be-an-open-source-gardener) konusunda verdiği önerilere bakabilirsiniz.
İkincisi, katkıları görmezden gelmek, topluluğunuz için olumsuz bir sinyal gönderir. Bir projeye katkıda bulunmak, özellikle birinin ilk defa olması durumunda korkutucu olabilir. Katkısını kabul etmeseniz bile, arkasındaki kişiyi kabul edin ve ilgileri için teşekkür ederiz. Onlar için bu büyük bir iltifat olur!
Bir katkıyı kabul etmek istemiyorsanız:
* Katkıdan dolayı **teşekkür edin**.
* **Neden proje kapsamına girmediğini açıklayın** ve mümkünse iyileştirme için net önerilerde bulunun. Nazik ama kararlı olun.
* Varsa, **ilgili belgelere link verin**. Kabul etmek istemediğiniz şeyler için tekrarlanan istekler fark ederseniz, tekrar etmemek için bunları belgelerinize ekleyin.
* **İsteği kapatın.**
Cevap vermek için 1-2 cümleden fazlasına ihtiyacınız yoktur. Örneğin, [Celery](https://github.com/celery/celery/) kullanıcısı Windows ile ilgili bir hata bildirdiğinde, @berkerpeksag [verdiği cevap](https://github.com/celery/celery/issues/3383):

Eğer hayır deme düşüncesi sizi korkutuyorsa, yalnız değilsiniz. @Jessfraz'ın [söylediği gibi](https://blog.jessfraz.com/post/the-art-of-closing/):
> Birkaç farklı açık kaynaklı projeden, Mesos, Kubernetes, Chromium'dan gelenlerle konuştum ve hepsi de bir geliştirici olmanın en zor kısımlarından birinin yaptığı istemediğiniz yamalar için "Hayır" demek olduğu konusunda hemfikirler.
Birinin katkısını kabul etmek istemediğiniz için suçluluk hissetmeyin. @Shykes'e [göre](https://twitter.com/solomonstre/status/715277134978113536) ilk açık kaynak kuralı: _"Hayır geçici, evet kalıcıdır."_ Başka birinin coşkusunu empati etmek iyi bir şey olsa da, bir katkıyı reddetmek, arkasındaki kişiyi reddetmekle aynı değildir.
Sonuçta, eğer bir katkı yeterince iyi değilse, kabul etme yükümlülüğünüz yoktur. İnsanlar projenize katkıda bulunurken nazik ve duyarlı olun, ancak yalnızca projenizi daha iyi hale getireceğine gerçekten inandığınız değişiklikleri kabul edin. Ne kadar sık hayır demeyi pratik edersen, işin o kadar kolaylaşır. Kesinlikle.
### Proaktif olun
İstenmeyen katkıların hacmini ilk etapta azaltmak için, projenizin katkıda bulunma rehberinde katkı gönderme ve kabul etme sürecini açıklayın.
Çok fazla düşük kaliteli katkı alıyorsanız, katkıda bulunanların önceden biraz çalışma yapmasını isteyin, örneğin:
* Bir sorun veya PR şablonunu veya kontrol listesi doldurma
* PR göndermeden önce bir sorun açma
Kurallarınıza uymuyorlarsa, belgelerinizi referans göstererek sorunu hemen kapatın.
Bu yaklaşım ilk başta kaba görünebilir olsa da proaktif olmak her iki taraf için de iyidir. Birisinin kabul etmeyeceğiniz bir talep boşa saatlerce çalışma yapma riskini azaltır. Ve sizin de iş yükünüzü yönetmeyi kolaylaştırır.
Bazen, hayır dediğinizde, katkıda bulunan kişi kararınızdan dolayı kırılabilir veya sizi eleştirebilir. Davranışları düşmanca olursa, yapıcı bir şekilde işbirliği yapmaya istekli olmazlarsa [durumu etkisiz hale getirmek için adımlar atın](https://github.com/jonschlinkert/maintainers-guide-to-staying-positive#action-items) ve hatta onları topluluğunuzdan çıkarın.
### Mentorluğu benimseyin
Belki de topluluğunuzdaki birileri düzenli olarak projenizin standartlarını karşılamayan katkılar sunar. Her iki tarafın da bu reddedilme süreçlerinden defalarca geçmesi sinir bozucu olabilir.
Birinin projeniz için hevesli olduğunu ancak biraz el vermek gerektirdiğini görürseniz, sabırlı olun. Her durumda katkılarının neden projenin beklentilerini karşılamadığını açık bir şekilde açıklayın. Onları ellerini kirletmek için _"ilk iş için uygun"_ olarak işaretlenmiş bir konu gibi daha kolay veya daha az belirsiz bir işe yönlendirmeyi deneyin. Vaktiniz varsa, ilk katkılarınla onlara mentor olmayı düşünün veya topluluğunuzda mentor olmaya istekli olabilecek başka birini bulun.
## Topluluğunuzdan yararlanma
Her şeyi kendiniz yapmak zorunda değilsiniz. Projenizin topluluğunun olmasının bir nedeni var! Henüz aktif bir katkıda bulunan topluluğunuz olmasa bile, çok fazla kullanıcınız varsa, onları işe dahil edin.
### İş yükünü paylaşın
Başkalarının işe girişmesini istiyorsanız, bu dile getirerek başlayın.
Yeni katılımcılar kazanmanın bir yolu da [yeni katılanlar için kolay çözülebilecek sorunları belirmektir](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels). GitHub bu sorunları platform üzerindeki farklı sayfalarda göstererek farkedilebilir olmalarını sağlayacaktır.
Katkıda bulunan arasında yeni olanları gördüğünüzde, çalışmalarını daha fazla sorumluluk sunarak tanıyın. İsterlerse kendilerinin de yöneticilik rolüne nasıl dönüşebileceğini belgeleyin.
Başkalarını yüreklendirmek ve [projenin sahipliğini paylaşmak](../building-community/#projenizi-paylaşın) kendi iş yükünüzü azaltır. @lmccart kendi projesinde bunu nasıl yaptığını aşağıdaki gibi anlatıyor, [p5.js](https://github.com/processing/p5.js).
Projenizden, ara sıra veya kalıcı olarak çıkmanız gerekirse, bir başkasının sizin için üstlenmesini istemek utanılacak bir şey değildir.
Diğer insanlar yeni yön konusunda istekliyse, giriş yapmalarını sağlayın veya resmi olarak bir başkasına kontrolünü verin. Birisi projenizi çatalladı ve aktif olarak başka bir yerde sürdürüyorsa, orijinal projenizdeki çatalda bağlantı kurmayı düşünün. Bu kadar çok insanın projenizin devam etmesini istemesi harika bir şeydir!
@progrium [farkına vardı ki](https://web.archive.org/web/20151204215958/https://progrium.com/blog/2015/12/04/leadership-guilt-and-pull-requests/); projesinin ([Dokku](https://github.com/dokku/dokku)) vizyonunu belgelemesi sayesinde kendisi projeden çekilse bile hedefleri canlı kalabildi:
> Ne istediğimi ve neden istediğimi anlatan bir wiki sayfası yazdım. Bir nedenden dolayı, bakıcıların projeyi bu yönde hareket ettirmeye başlaması bana sürpriz oldu! Tam olarak benim istediğim gibi mi oldu? Her zaman değil. Ama yine de projeyi yazdıklarımın yakınına getirdi.
### Başkalarının ihtiyaç duydukları çözümleri inşa etmelerine izin verin
Potansiyel bir katılımcının projenizin ne yapması gerektiği konusunda farklı bir görüşü varsa, onları kendi çatalı üzerinde çalışmaya kibarca teşvik etmek isteyebilirsiniz.
Bir projeyi terk etmek kötü bir şey olmak zorunda değildir. Projeleri kopyalayıp değiştirebilmek, açık kaynak kodlu hakkında en iyi şeylerden biridir. Topluluk üyelerinizi kendi çatalı üzerinde çalışmaya teşvik etmek, projenizin vizyonuyla çelişmeden ihtiyaç duydukları yaratıcı çıkışı sağlayabilir.
Aynı şey, inşa edecek bant genişliğine sahip olmadığınız bir çözümü gerçekten isteyen bir kullanıcı için de geçerlidir. API'ler ve kişiselleştirme kancaları sunmak, kaynağını doğrudan değiştirmek zorunda kalmadan, başkalarının kendi ihtiyaçlarını karşılamasına yardımcı olabilir. @orta, CocoaPod'lar için teşvik edici eklentilerin "en ilginç fikirlerin bazılarına" yol açtığını [gördü](https://artsy.github.io/blog/2016/07/03/handling-big-projects/) :
> Bir proje büyükleştiğinde, bakımcılar yeni kodu nasıl girdikleri konusunda daha muhafazakar hale gelmek neredeyse kaçınılmazdır. Hayır demekte iyisin, ama birçok insanın meşru ihtiyaçları var. Bunun yerine aracınızı bir platforma dönüştürürsünüz.
## Robotları kullanın
Tıpkı diğer insanların size yardımcı olabileceği görevler olduğu gibi, hiçbir insanın yapmaması gereken görevler de vardır. Robotlar senin arkadaşın. Hayatınızı kolaylaştırmak için bunları kullanın.
### Kodunuzun kalitesini yükseltmek için testler ve diğer kontrolleri zorunlu kılın
Projenizi otomatikleştirmenin en önemli yollarından biri de testler eklemektir.
Testler, katkıda bulunanların hiçbir şeyi kırmayacaklarından emin olmalarına yardımcı olur. Ayrıca katkıları hızla incelemenizi ve kabul etmenizi kolaylaştırır. Ne kadar duyarlı olursanız, toplumunuz o kadar adanmış olabilir.
Tüm gelen katkılarda çalışacak otomatik testler ayarlayın ve testlerinizin katılımcılar tarafından kolayca yerel olarak çalıştırılabildiğinden emin olun. Tüm kod katkılarının gönderilmeden önce testlerinizi geçmesini şart koşun. Tüm gönderiler için minimum kalite standardı belirlenmesine yardımcı olmuş olacaksınız. GitHub'daki [zorunlu durum kontrolleri](https://help.github.com/articles/about-required-status-checks/) , testleriniz geçmeden değişiklik yapılmadan birleştirilmemesini sağlayabilir.
Testler eklerseniz, CONTRIBUTING dosyanızda nasıl çalıştıklarını açıkladığınızdan emin olun.
### Temel bakım görevlerini otomatikleştirmek için araçlar kullanın
Popüler bir projeyi sürdürmenin iyi haberi, diğer geliştiricilerin de benzer sorunlarla karşı karşıya kalmaları ve bunun için bir çözüm üretmeleridir.
Bakım çalışmalarının bazı yönlerini otomatikleştirmeye yardımcı olacak [çeşitli araçlar vardır](https://github.com/showcases/tools-for-open-source). Birkaç örnek:
* [semantic-release](https://github.com/semantic-release/semantic-release) sürümlerinizi otomatikleştirir
* [mention-bot](https://github.com/facebook/mention-bot) PR talepleri için potansiyel denetçilerden bahseder
* [Danger](https://github.com/danger/danger) kod incelemesini otomatikleştirmeye yardımcı olur
* [no-response](https://github.com/probot/no-response) geliştiricilerin uzun süre yanıt vermediği sorunları kapatır
* [dependabot](https://github.com/dependabot) bağımlılık dosyalarınızı her gün eski gereksinimler için kontrol eder ve bulduğu her biri için PR istekleri açar
Hata raporları ve diğer genel katkılar için GitHub, aldığınız iletişimi kolaylaştırmak için oluşturabileceğiniz [Sorun Şablonlarına ve PR İsteği Şablonlarına](https://github.com/blog/2111-issue-and-pull-request-templates) sahiptir. @TalAter sorununuzu ve PR şablonlarınızı yazmanıza yardımcı olmak için [Choose Your Own Adventure](https://www.talater.com/open-source-templates/#/) rehberini geliştirdi.
E-posta bildirimlerinizi yönetmek için, önceliğe göre düzenlemek için [e-posta filtreleri](https://github.com/blog/2203-email-updates-about-your-own-activity) ayarlayabilirsiniz.
Biraz daha gelişmiş olmak istiyorsanız, stil rehberleri ve taslaklar proje katkılarını standartlaştırabilir ve inceleme ve kabul etmeyi kolaylaştırabilir.
Bununla birlikte, standartlarınız çok karmaşıksa, katılımların önüne engel olabilirler. Herkesin hayatını kolaylaştırmak için sadece yeterince kural eklediğinizden emin olun.
Hangi araçları kullanacağınızdan emin değilseniz, özellikle ekosisteminizdeki diğer popüler projelerin neler yaptığına bakın. Örneğin, katılım süreci diğer Node modülleri için nasıl yapılmış? Benzer araçlar ve yaklaşımlar kullanmak, sürecinizi katkıda bulunması olası insanlar için daha tanıdık yapacaktır.
## Duraklatmak sorun değildir
Açık kaynak çalışması bir zamanlar size heyecan ve mutluluk getirmiştir. Ama şimdi size yük veya sorumluluk hissettirmeye başlamış olabilir.
Belki de projelerinizi düşünürken bunalmış veya artan bir korku hissi duyuyorsunuz. Bu arada, sorunlar ve PR talepleri de yığılıyor.
Tükenmişlik, özellikle geliştiriciler arasında açık kaynaklı çalışmalarda gerçek ve yaygın bir konudur. Bir geliştirici olarak mutluluğunuz, açık kaynaklı herhangi bir projenin hayatta kalması için tartışılmaz bir gerekliliktir.
Söylemeye gerek yok ama, ara verin! Tatil yapmak için yanmış hissedene kadar beklemeniz gerekmez. Bir Python çekirdek geliştiricisi olan @brettcannon, 14 yıllık gönüllü OSS çalışmasının ardından [bir ay boyunca tatil](https://snarky.ca/why-i-took-october-off-from-oss-volunteering/) yapmaya karar verdi.
Tıpkı diğer tüm işlerde olduğu gibi, düzenli molalar vermek de işinizi yenileyecek, mutlu ve heyecanlı tutacaktır.
Bazen, herkesin size ihtiyacı olduğunu düşündüğünüz zamanlarda, bir açık kaynak projesine mola vermek zor olabilir. İnsanlar uzaklaştığınız için sizi suçlu hissettirmeye çalışabilir.
Bir projeden uzaktayken kullanıcılarınız ve topluluğunuz için destek bulmak için elinizden geleni yapın. İhtiyacınız olan desteği bulamazsanız, yine de bir ara verin. Uygun olmadığınız zamanı duyurduğunuzdan emin olun, böylece insanlar yanıt verme konusundaki eksikliğinizden dolayı şaşkınlığa uğramazlar.
Ara vermek, tatillerden daha fazlası için de geçerlidir. Hafta sonları veya mesai saatleri arasında açık kaynak kodlu bir iş yapmak istemiyorsanız, bu beklentinizi başkalarına iletin; böylece sizi rahatsız etmemeleri gerektiğini bilirler.
## İlk önce kendinize iyi bakın!
Popüler bir projeyi sürdürmek, büyümenin önceki aşamalarından farklı beceriler gerektirir, ancak daha az ödüllendirici değildir. Bir geliştirici olarak, birkaç kişinin deneyimleyebileceği bir seviyede liderlik ve kişisel beceriler geliştireceksiniz. Yönetimi her zaman kolay olmamakla birlikte, net sınırlar koymak ve yalnızca neleri yapacağınızı belirlemek sizin mutlu, yenilenmiş ve üretken kalmanıza yardımcı olacaktır.
================================================
FILE: _articles/tr/building-community.md
================================================
---
lang: tr
title: Misafirperver Topluluklar Oluşturma
description: İnsanları projenizi kullanmaya, katkıda bulunmaya ve uyarlamaya teşvik eden bir topluluk oluşturmak.
class: building
order: 4
image: /assets/images/cards/building.png
related:
- best-practices
- coc
---
## Projenizi başarı için hazırlamak
Projenizi başlattınız, mesajınızı yayıyorsunuz ve insanlar bunu farkediyor. Mükemmel! Şimdi, size katılmalarını nasıl sağlarsınız?
Misafirperver bir topluluk, projenizin geleceğine ve itibarına yapılan bir yatırımdır. Projeniz ilk katkıları görmeye yeni başlıyorsa, erken katkıda bulunanlara olumlu bir deneyim vererek başlayın ve geri gelmelerini kolaylaştırın.
### İnsanlara hoş geldiklerini hissettirmek
Projenizin topluluğunu tanımlandırmanın bir yolu da @MikeMcQuaid'in dediği gibi onu [katılımcı hunisi olarak](https://mikemcquaid.com/2018/08/14/the-open-source-contributor-funnel-why-people-dont-contribute-to-your-open-source-project/) düşünmektir:

Topluluğunuzu oluştururken huninin tepesindeki birinin (potansiyel bir kullanıcı) teorik olarak en alt seviyeye nasıl ulaşabileceğini (etkin bir geliştirici) düşünün. Amacınız, katılımcı deneyiminin her aşamasında engelleri azaltmaktır. İnsanlar kolay dahil olduklarında daha fazlasını yapmaya teşvik olurlar.
Belgelerinizle başlayın:
* **Birinin projenizi kullanmasını kolaylaştırın.** [Dostça bir README](../starting-a-project/#readme-yazma) ve sade kod örnekleri, projenize ulaşan herkesin başlamasını kolaylaştıracaktır.
* [CONTRIBUTING dosyanızı](../starting-a-project/#katk%C4%B1da-bulunma-rehberinizi-yazmak) kullanarak ve sorun listenizi güncel tutarak **nasıl katkıda bulunulabileceğini açıkça belirtin**.
* **Başlamak için iyi sorunlar**: Yeni katkıda bulunanların başlamasına yardımcı olmak için, [yeni başlayanların çözmesi için yeterince basit olan sorunları açıkça etiketlemeyi](https://help.github.com/en/articles/helping-new-contributors-find-your-project-with-labels) düşünün. GitHub daha sonra bu sorunları platformda çeşitli yerlere taşıyacak, faydalı katkıları artıracak ve kullanıcıların seviyeleri için çok zor olan sorunlarla karşılaştırmayak sürtünmeyi azaltacak.
[GitHub'ın 2017 Açık Kaynak Anketi](http://opensourcesurvey.org/2017/) gösterdi ki açık kaynak kullanıcıları için en büyük problem yarım ya da karmaşık belgelerdir. İyi bir dökümantasyon insanların projeniz ile etkileşime geçmesini sağlar. Eninde sonunda birisi bir sorun bildirecek veya istekte bulunacaktır. Bu etkileşimleri, dönüşüm hunisinden aşağıya taşımak için fırsatlar olarak kullanın.
* **Yeni birileri projenize geldiğinde, ilgilendikleri için teşekkür edin!** Birinin geri gelmek istememesi için yalnızca bir olumsuz deneyim yeterlidir.
* **Hızlı cevap verin.** Sorunlarına bir ay boyunca cevap vermezseniz, büyük olasılıkla projenizi çoktan unutmuş olurlar.
* **Kabul edeceğiniz katkı türleri konusunda açık fikirli olun.** Katkıda bulunan birçok kişi bir hata raporu veya küçük bir düzeltme ile başlar. Bir projeye [katkıda bulunmak için birçok yol](../how-to-contribute/#katk%C4%B1da-bulunmak-ne-demektir) var. İnsanların nasıl istiyorlarsa öyle yardım etmelerine izin verin.
* **Katılmadığınız bir katkı varsa** , fikirleri için onlara teşekkür edin ve [niçin](../best-practices/#hay%C4%B1r-demeyi-%C3%B6%C4%9Frenme) projenin kapsamına uymadığını açıklayın, varsa ilgili dokümantasyondan alıntı yapın.
Açık kaynak katkıda bulunanların çoğunluğu "geçici katkı yapanlardır": yani bir projeye yalnızca ara sıra katkıda bulunan insanlar. Sıradan bir katılımcının projenizi hızlandırmak için tam zamanı olmayacağı için işiniz onların katkıda bulunmalarını kolaylaştırmaktır.
Diğer katılımcıları teşvik etmek kendinize yapılan bir yatırımdır. En büyük hayranlarınızı, heyecanlandıkları işle çalışmaya ikna ettiğinizde, her şeyi kendiniz yapmanız için daha az baskı olacaktır.
### Her şeyi belgeleyin
Yeni bir projeye başladığınızda, çalışmanızı özel tutmak doğal olabilir. Ancak, açık kaynaklı projeler, sürecinizi halka açık olarak belgelemeniz durumunda gelişir.
Bir şeyleri yazdığınızda, her adımda daha fazla kişi katılabilir. İhtiyacın olduğunu bile bilmediğin bir konuda yardım alabilirsin.
Bir şeyleri yazmak teknik dokümantasyondan daha fazlası demektir. Bir şeyi bir yere yazma istediğinizi veya projenizi özel olarak tartışmak istediğinizi her ne zaman hissederseniz, kendinize halka açılıp açılamayacağınızı sorun.
Projenizin yol haritası, aradığınız katkı türleri, katkıların nasıl değerlendirildiği veya neden belirli kararlar aldığınız konusunda şeffaf olun.
Aynı problemle karşılaşan birden fazla kullanıcı fark ederseniz, cevapları README'de belgeleyin.
Toplantı notlarını ve sonuçlarını ilgili bir sorun açarak yayınlamayı düşünün. Bu şeffaflık seviyesinden alacağınız geri bildirimler sizi şaşırtabilir.
Her şeyin belgelenmesi, yaptığınız iş için de geçerlidir. Projenize yönelik önemli bir güncelleme üzerinde çalışıyorsanız, bunun için bir PR açın ve devam etmekte olan bir çalışma (WIP) olarak işaretleyin. Bu şekilde, diğer insanlar bu sürece erkenden dahil olduklarını hissedebilirler.
### Hızlı cevap verin
[Projenizi duyurduğunuzda](../finding-users), insanların sizin için geri bildirimleri olacaktır. İşlerin nasıl yürüdüğü hakkında soruları olabilir veya başlamak için yardıma ihtiyaçları olabilir.
Birisi bir sorun bildirirken, bir PR gönderdiğinde veya projeniz hakkında bir soru sorduğunda hızlıca cevap vermeye çalışın. Hızlı cevap verdiğinizde, insanlar bir diyaloğun parçası olduklarını hissedecekler ve katılım konusunda daha istekli olacaklar.
İsteği hemen detaylı inceleyemezseniz bile, erkenden geri dönüş yapmak, katılımın artmasına yardımcı olur. İşte @dreyno'nun [Middleman'daki](https://github.com/middleman/middleman/pull/1466) PR için verdiği cevap:

[Bir Mozilla çalışması](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177), 48 saat içinde kod incelemeleri alan katılımcıların çok daha yüksek bir getiri oranına ve katkı tekrarına sahip olduğunu gösterdi.
Projenize ilişkin konuşmalar, İnternet üzerindeki Stack Overflow, Twitter veya Reddit gibi başka platformlarda da olabilir. Bu yerlerden bazılarında bildirimler ayarlayabilir, böylece birileri projenizden bahsettiğinde haberdar olursunuz.
### Topluluğunuza toplanacak bir yer verin
Topluluğuna toplanacak bir yer vermenin iki nedeni var.
İlk sebep onlar için. İnsanların birbirlerini tanımalarına yardımcı olun. Ortak çıkarları olan insanlar kaçınılmaz olarak bunun hakkında konuşacakları bir yer isteyeceklerdir. İletişim kamuya açık ve erişilebilir olduğunda, herkes hızlanmak ve katılmak için geçmiş arşivleri okuyabilir.
İkinci sebep sizin için. İnsanlara projeniz hakkında konuşacakları halka açık bir yer vermezseniz, muhtemelen sizinle doğrudan temasa geçerler. Başlangıçta, özel mesajlara "sadece bu seferlik" cevap verecek kadar kolay görünebilir. Ancak zamanla, özellikle de projeniz popüler hale gelirse, kendinizi yorgun hissedeceksiniz. Özel olarak projenizle ilgili insanlarla iletişim kurmaya özen gösterin. Bunun yerine, onları belirlenmiş bir genel kanala yönlendirin.
Halkla iletişim, insanları doğrudan size e-posta göndermek veya blogunuza yorum yapmak yerine bir sorun açmaya yönlendirmek kadar basit olabilir. İnsanların projeniz hakkında konuşması için bir posta listesi oluşturabilir veya bir Twitter hesabı, Slack veya IRC kanalı oluşturabilirsiniz. Veya yukarıdakilerin hepsini deneyin!
[Kubernetes kops](https://github.com/kubernetes/kops#getting-involved), topluluk üyelerine yardımcı olmak için her hafta bir miktar çalışma saatini ayırıyor:
> Kops ayrıca topluluğa yardım ve rehberlik sunmak için her hafta biraz zaman ayırıyor. Kops şirket olarak çalışanlarının, yeni gelenlerle çalışmaya, PR'lara yardım etmeye ve yeni özellikleri tartışmaya özel olarak ayrılan zamanı kullanmasını kabul etti.
Kamu iletişiminde dikkate değer istisnalar şunlardır: 1) güvenlik sorunları ve 2) hassas davranış kuralları ihlalleri. İnsanların bu sorunları özel olarak bildirmeleri için her zaman bir yolunuz olmalıdır. Kişisel e-postanızı kullanmak istemiyorsanız, özel bir e-posta adresi ayarlayın.
## Topluluğunuzu büyütmek
Topluluklar son derece güçlü yapılardır. Bu güç, onu nasıl kullandığınıza bağlı olarak bir lütuf veya bir lanet olabilir. Projenizin topluluğu büyüdükçe, yıkıcı değil, yapıcı bir güç haline gelmesine yardım etmenin yolları var.
### Kötü karakterlere müsamaha göstermeyin
Herhangi bir popüler proje kaçınılmaz olarak topluluğunuza yardım etmek yerine, zarar verebilecek insanları de çekecektir. Gereksiz tartışmalara başlatabilir, önemsiz özelliklere dikkat çekebilir veya başkalarını zorbalık edebilirler.
Bu tür insanlara karşı sıfır tolerans politikası benimsemek için elinizden geleni yapın. Denetlenmezse, negatif insanlar topluluğunuzdaki diğer insanları rahatsız eder. Hatta ayrılmalarına sebep olabilirler.
Projenizin önemsiz yönleriyle ilgili düzenli tartışmalar, sizin de dahil olmak üzere diğerlerini önemli görevlere odaklanmaktan alıkoyuyor. Projenize gelen yeni insanlar bu konuşmaları görebilir ve katılmak istemeyebilir.
Projenizde olumsuz davranışlar olduğunu gördüğünüzde, herkese açık olarak uyarın. Nazikçe ama sert bir tonda, davranışlarının neden kabul edilebilir olmadığını açıklayın. Sorun devam ederse, [onlardan gitmelerini istemeniz](../code-of-conduct/#davran%C4%B1%C5%9F-kurallar%C4%B1n%C4%B1z%C4%B1-g%C3%BC%C3%A7lendirmek) gerekebilir. [Davranış kuralları listeniz](../code-of-conduct/) bu konuşmalar için yapıcı bir rehber olabilir.
### Katkıda bulunan katılımcılarla oldukları yerde tanışın
İyi belgeler sadece topluluğunuz büyüdükçe daha önemli hale gelir. Projenize başka şekilde aşina olamayacak geçici katılımcılar, ihtiyaç duydukları bağlamı hızlı bir şekilde almak için belgelerinizi okuyabilirler.
CONTRIBUTING dosyanızda, yeni katılımcılara nasıl başlayacaklarını açıkça söyleyin. Bu amaç için özel bir bölüm oluşturmak bile isteyebilirsiniz. Örneğin [Django](https://github.com/django/django), yeni katılımcıları karşılamak için özel bir açılış sayfasına sahiptir.

Sorun listenizde, katkıda bulunanlar için farklı türlerlerde etiket kullanmak uygundur: örneğin, [_"ilk gelenler için"_](https://kentcdodds.com/blog/first-timers-only) , _"başlamak için"_ veya _"belge"._ [Bu etiketler](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14), projenizde yeni birisinin sorunlarınızı hızla taramasını ve başlamasını kolaylaştırır.
Son olarak, insanların yolun her aşamasında kendilerini rahat hissetmelerini sağlamak için belgelerinizi kullanın.
Projenize ulaşan çoğu insanla asla etkileşime geçemeyeceksiniz. Biri kendini çekingen hissettiği veya nereden başlayacağını bilmediği için almadığınız katkılar olabilir. Birkaç nazik kelime bile, birisinin projenizde hayal kırıklığına uğratmasına engel olabilirsiniz.
Örneğin, [Rubinius](https://github.com/rubinius/rubinius/)[katkıda bulunan kılavuzuna](https://github.com/rubinius/rubinius/blob/HEAD/.github/contributing.md) {a2}şöyle{/a2} başlıyor:
> Rubinius'u kullandığınız için teşekkür ederek başlamak istiyoruz. Bu proje bir sevgi emeğidir ve hataları yakalayan, performans iyileştirmeleri yapan ve belgelere yardımcı olan tüm kullanıcıları takdir ediyoruz. Her katkı anlamlıdır, katılımınız için teşekkür ederiz. İşte sorununuzu başarıyla çözebilmemiz için izlemenizi istediğimiz birkaç kural.
### Projenizi paylaşın
İnsanlar sahiplik hissi duyduklarında projelere katkıda bulunmaktan heyecan duyarlar. Bu, projenizin vizyonunu devretmeniz veya istemediğiniz katkıları kabul etmeniz gerektiği anlamına gelmez. Ancak başkalarına ne kadar çok kredi verirseniz, o kadar çok sadık kalırlar.
Mülkiyetinizi topluluğunuzla mümkün olduğunca paylaşmanın yollarını bulabilecek misiniz bir bakın. İşte bazı fikirler:
* **Kolay (kritik olmayan) hataları kendiniz düzeltmeye karşı direnç gösterin.** Bunun yerine, bunları yeni katkıda bulunanlar bulmak için fırsatlar olarak kullanın veya katkıda bulunmak isteyen birini akıl hocası olarak kullanın. İlk başta doğal görünmeyebilir, ancak yatırımınız zamanla karşılığını verir. Örneğin, @michaeljoseph, bir katılımcıdan, sorunu kendisini düzeltmek yerine, [Cookiecutter](https://github.com/audreyr/cookiecutter) konusuna ilişkin bir PR isteği göndermesini istedi.

* Projenizde, projenize katkıda bulunan herkesi listeleyen **bir CONTRIBUTORS veya AUTHORS dosyası başlatın**,[Sinatra'nın](https://github.com/sinatra/sinatra/blob/HEAD/AUTHORS.md) yaptığı gibi.
* Oldukça büyük bir topluluğunuz varsa, **bülten gönderin veya katkıda bulunanlara teşekkür eden bir blog yazısı yazın**. Rust'ın [Rust'ta Bu Hafta](https://this-week-in-rust.org/) ve Hoodie'nin [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) bültenleri iki güzel örnek.
* **Her katkıda bulunana commit izni verin.** @felixge, bunun insanları [yamalarını geliştirme konusunda daha heyecanlı](https://felixge.de/2013/03/11/the-pull-request-hack.html) hale getirdiğini buldu ve bir süredir üzerinde çalışamadığı projeler için yeni geliştiriciler buldu.
* Projeniz GitHub'daysa, **projenizi kişisel hesabınızdan bir [Organizasyona](https://help.github.com/articles/creating-a-new-organization-account/) hesabına taşıyın** ve en az bir yedek yönetici ekleyin. Organizasyon hesapları, harici çalışanlarla projeler üzerinde çalışmayı kolaylaştırır.
Gerçek şu ki çoğu projede işlerin çoğunu yapan [yalnızca](https://peerj.com/preprints/1233/) bir veya iki geliştirici vardır. Projeniz büyüdükçe ve topluluğunuz büyüdükçe, yardım bulmak o kadar kolay olur.
Çağrıya her zaman cevap verecek birini bulamayacak olsanız da, bir mesaj bırakmak, diğer kişilerin girme şansını arttırır.
## Çatışmaları çözme
Projenizin ilk aşamalarında, büyük kararlar vermek kolaydır. Bir şey yapmak istediğinizde, sadece yaparsınız.
Projeniz popülerleştikçe, aldığınız kararlara daha fazla insan ilgi gösterecek. Katkıda bulunanların çok olduğu bir topluluğunuz olmasa bile, projenizde çok fazla kullanıcı varsa, kararlarınızı tartan ya da kendi sorunlarını dile getiren kişileri bulacaksınız.
Çoğunlukla, arkadaş canlısı, saygılı bir topluluk oluşturduysanız ve süreçlerinizi açıkça belgelemişseniz, topluluğunuzun sorunlara çözüm bulabilmesi gerekir. Ancak bazen ele alınması biraz zor olan bir sorunla karşılaşırsınız.
### Nezaket seviyesini ayarlayın
Topluluğunuz zor bir mesele ile boğuşurken, tansiyon artabilir. İnsanlar sinirlenebilir veya öfkelenebilir ve birbirlerine ya da size yönelebilirler.
Bir proje sorumlusu olarak işiniz, bu durumların tırmanmasını önlemektir. Konuyla ilgili güçlü bir fikriniz olsa bile, kavgaya atılmak ve görüşlerinizi dayatmak yerine, moderatör veya kolaylaştırıcı olarak yer almaya çalışın. Birisi kaba veya tartışmacı davranıyorsa, tartışmaları medeni ve üretken kılmak için [hemen harekete](../building-community/#k%C3%B6t%C3%BC-karakterlere-m%C3%BCsamaha-g%C3%B6stermeyin) geçin.
Diğer insanlar rehberlik için size bakar. İyi bir örnek olun. Gerektiğinde hayal kırıklığını, mutsuzluğu veya endişeyi ifade edebilirsiniz, ancak bunu sakince yapın.
Sakinleşmek kolay değildir, ancak liderlik göstermek topluluğunuzun sağlığını iyileştirir. İnternet size bu konuda minnettar olur.
### README'nizi anayasa olarak kabul edin
README'niz [bir talimat dizisinden daha fazlasıdır](../starting-a-project/#readme-yazma). Aynı zamanda amaçlarınız, ürün vizyonunuz ve yol haritanız hakkında konuşabileceğiniz bir yerdir. İnsanlar, belirli bir özelliğin haklarını tartışmaya aşırı odaklanıyorsa, README'nizi tekrar ziyaret etmek ve projenizin vizyonundan bahsetmek yardımcı olabilir. README'nize odaklanmak da konuşmayı kişiselleştirmekten uzaklaştırır, böylece yapıcı bir tartışma yapabilirsiniz.
### Hedefe değil, yolculuğa odaklanın
Bazı projeler büyük kararlar almak için bir oylama süreci kullanır. İlk bakışta mantıklı olsa da, oylama, birbirlerinin kaygılarını dinlemek ve ele almaktan ziyade, bir "cevaba" ulaşmayı vurgular.
Oylama, topluluk üyelerinin birbirlerine iyilik yapmak veya belirli bir şekilde oy kullanmak için baskı yaptığını hissettiklerinde politik hale gelebilir. Toplumunuzdaki [sessiz çoğunluk](https://ben.balter.com/2016/03/08/optimizing-for-power-users-and-edge-cases/#the-silent-majority-of-users), ya da oylamadan haberdar olmayan mevcut kullanıcılar oy kullanmayabilir.
Bazen oy vermek gerekli bir sonlandırıcıdır. Ancak, mümkün olduğu kadar, fikir birliği yerine ["uzlaşma arayışı"nı](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) vurgulayın.
Bir uzlaşma arayışı sürecinde, topluluk üyeleri yeterince duyulduğunu hissedene kadar önemli endişelerini tartışırlar. Sadece küçük kaygılar kalırsa, topluluk ileriye doğru hareket eder. "Uzlaşma arayışı", bir topluluğun mükemmel bir cevaba ulaşamayabileceğini kabul eder. Bunun yerine, dinlemeye ve tartışmaya öncelik verir.
Aslında bir uzlaşma arama sürecini benimsemeseniz bile, bir proje sorumlusu olarak, insanların dinlediğinizi bilmesi önemlidir. Diğer insanların duyulduklarını hissetmeleri ve endişelerini çözmeyi denediğinizi görmeleri, hassas durumları dağıtmak için size bir yol verir. Ardından, kelimelerinizi eylemlerle devam ettirin.
Karar almak için bir karara varmayın. Herkesin duyulduğunu hissettiğinden ve bir çözüme gitmeden önce tüm bilgilerin kamuya açıldığından emin olun.
### Sohbeti eylem odaklı tutun
Tartışma önemlidir, ancak üretken ve üretken olmayan konuşmalar arasında büyük bir fark vardır.
Aktif olarak çözüme doğru hareket ettiği sürece tartışmayı teşvik edin. Konuşmanın durgunlaştığı veya konu dışı olduğu, atışmaların kişisel olduğu veya insanların küçük ayrıntılara takıldığı açıksa, bunu kapatma zamanı gelmiş demektir.
Bu konuşmaların devam etmesine izin vermek yalnızca eldeki sorun için değil, topluluğunuzun sağlığı için de kötüdür. Bu tür konuşmalara izin verildiğini veya hatta teşvik edildiğini gösteren bir mesaj verir ve insanların gelecekteki sorunları dile getirmeleri veya çözmeleri konusunda cesaretlerini kırar.
Siz veya başkaları tarafından yapılan her noktada kendinize, _"Bu bizi çözüme nasıl daha fazla yaklaştırır?" Diye sorun._
Konuşma çözülmeye ulaştıysa, sohbeti yeniden odaklamak için gruba _"Bundan sonra hangi adımları atmalıyız?"_ diye sorun.
Bir konuşma açıkça bir yere gitmiyorsa, yapılacak net bir işlem yoksa veya uygun bir işlem yapılmamışsa, sorunu kapatın ve neden kapattığınızı açıklayın.
### Savaşlarınızı akıllıca seçin
Bağlam önemlidir. Tartışmaya kimlerin dahil olduğunu ve toplumun geri kalanını nasıl temsil ettiğini düşünün.
Topluluktaki herkes bu sorunla ilgili mi, hatta uğraştı mı? Yoksa yalnız bir baş belası mı? Yalnızca aktif sesleri değil, sessiz topluluk üyelerini de göz önünde bulundurmayı unutma.
Sorun, topluluğunuzun daha geniş ihtiyaçlarını karşılamıyorsa, birkaç kişinin endişelerini onaylamanız gerekebilir. Bu, net bir çözüm olmadan tekrar eden bir sorunsa, konuyla ilgili önceki tartışmalara yönlendirin ve konuyu kapatın.
### Topluluk için eşitlik bozucu tanımlayın
İyi bir tutum ve net iletişim ile çoğu zor durum çözülebilir. Bununla birlikte, üretken bir konuşmada bile, nasıl devam edileceğine dair bir fikir ayrılığı olabilir. Bu gibi durumlarda, eşitlik bozucu olarak görev yapabilecek bir kişi veya grubu tanımlayın.
Projenin ana sorumlusu bir eşitlik bozucu olabilir veya oylamaya dayalı bir karar veren küçük bir grup insan olabilir. İdeal olarak, kullanmak zorunda kalmadan önce bir GOVERNANCE dosyasında bir eşitlik bozucu ve ilişkili işlemi tanımlayın.
Eşitlik bozucu son bir çare olmalı. Bölücü konular topluluğunuzun büyümesi ve öğrenmesi için bir fırsattır. Bu fırsatları benimseyin ve mümkün olan her yerde bir çözüme geçmek için ortak bir süreç kullanın.
## Topluluk açık kaynağın ❤️
Sağlıklı, gelişen topluluklar her hafta açık kaynağa dökülen binlerce saati besliyor. Katkıda bulunan birçok kişi, diğer insanlara açık kaynak üzerinde çalışmanın veya çalışmamanın nedeni olarak ilham veriyor. Bu güce yapıcı olarak nasıl dokunulacağını öğrenerek, dışarıdaki birisinin unutulmaz bir açık kaynak deneyimine sahip olmasına yardımcı olacaksınız.
================================================
FILE: _articles/tr/code-of-conduct.md
================================================
---
lang: tr
title: Davranış Kurallarınız
description: Bir davranış kuralını benimseyerek ve uygulayarak sağlıklı ve yapıcı topluluk davranışını kolaylaştırın.
class: coc
order: 8
image: "/assets/images/cards/coc.png"
related:
- building
- leadership
---
## Neden bir davranış kural listesine ihtiyacım var?
Davranış kural listesi, projenizin katılımcıları için davranış beklentilerini belirleyen bir belgedir. Bir davranış kuralını kabul etmek ve uygulamak, topluluğunuz için olumlu bir sosyal atmosfer yaratmanıza yardımcı olabilir.
Davranış kuralları sadece katılımcılarınızı değil kendinizi de korumanıza yardımcı olur. Bir projeyi sürdürürken, diğer katılımcıların verimsiz tutumlarından dolayı zaman içinde çalışmalarınızda kendinizi yorgun veya mutsuz hissedebilirsiniz.
Davranış kuralları, sağlıklı ve yapıcı topluluk davranışını oluşturmanıza yardımcı olur. Proaktif olmak, sizin veya başkalarının projenizde yorulma olasılığını azaltır ve bir kişi aynı fikirde olmadığınız bir şey yaptığında harekete geçmenize yardımcı olur.
## Davranış kural listesini oluşturmak
Mümkün olduğunca en erken zamanda bir davranış kural listesi oluşturmaya çalışın: İdeal olanı, projenizi ilk oluşturduğunuzda bunu yapmanızdır.
Beklentilerinizi iletmenin yanı sıra, bir davranış kural listesi aşağıdakileri de açıklar:
* Davranış kuralları nerede yürürlüğe girer _(sadece sorunlar ve talepler üzerine mi yoksa toplantılar gibi topluluk etkinliklerinde mi?)_?
* Davranış kuralları kimin için geçerlidir _(topluluk üyeleri ve bakıcıları, peki ya sponsorlar?)_?
* Birisi davranış kurallarını ihlal ederse ne olur?
* İhlaller nasıl rapor edilebilir?
Nerede olursanız olun, geçmiş tecrübelerden faydalanın. [Katkıda Bulunanlar Sözleşmesi (Contributor Covenant)](https://contributor-covenant.org/) Kubernet, Rails ve Swift dahil olmak üzere 40.000'den fazla açık kaynaklı proje tarafından kullanılan ortak bir davranış kural listesidir.
[Django Davranış Kuralları](https://www.djangoproject.com/conduct/) ve [Vatandaş Davranış Kuralları](https://web.archive.org/web/20200330154000/http://citizencodeofconduct.org/) da aynı zamanda iki iyi davranış kural listesi örneğidir.
CODE_OF_CONDUCT dosyasını projenizin kök dizinine yerleştirin ve CONTRIBUTING veya README dosyanızdan bağlantılayarak topluluğunuz tarafından görülebilir hale getirin.
## Davranış kurallarınızı nasıl uygulayacağınıza karar verme
Bir ihlal meydana _gelmeden önce_ davranış kurallarınızın nasıl uygulanacağını açıklamalısınız. Bunu yapmak için birkaç neden var:
* İhtiyaç duyulduğunda harekete geçme konusunda ciddi olduğunuzu gösterir.
* Topluluğunuz şikayetlerin gerçekten gözden geçirildiği konusunda daha güvende hissedecektir.
* Topluluğunuza, inceleme sürecinin adil ve şeffaf olduğunu, kendilerini bir ihlal için araştırıldıklarında güvence altında olduklarını hissettirirsiniz.
İnsanlara davranış kuralları ihlalini bildirebilmeleri için özel bir yol (e-posta adresi gibi) vermelisiniz ve bu raporun kimlere ulaştığını açıklamalısınız. Bu bir kurucu, bir geliştirme grubu veya bir davranış kuralları çalışma grubu olabilir.
Birisinin, bu raporları alan bir kişi hakkındaki ihlali bildirmek isteyebileceğini de unutmayın. Bu durumda, ihlalleri bir başkasına bildirme seçeneği de verin. Örneğin, @ctb ve @mr-c"nin [projeleri üzerinde açıkladıkları gibi](https://github.com/dib-lab/khmer/blob/HEAD/CODE_OF_CONDUCT.rst) , [khmer](https://github.com/dib-lab/khmer) :
> Kötü niyetli, taciz edici veya kabul edilemez davranışların **örnekleri** , yalnızca C. Titus Brown ve Michael R. Crusoe'ye gönderilen **khmer-project@idyll.org adresine** e-posta {strong2}gönderilerek{/strong2} bildirilebilir. İkisini de içeren bir sorunu bildirmek için lütfen {strong3}Judi Brown Clarke, Ph.D.{/strong3} NSAC Bilim ve Teknoloji Merkezi olan, Eylemdeki Evrim Çalışması Merkezi'ndeki BEACON Çeşitlilik Direktörü. *
İlham almak için Django'nun [uygulama kılavuzunu inceleyin](https://www.djangoproject.com/conduct/enforcement-manual/) (ancak projenizin büyüklüğüne bağlı olarak bu kadar kapsamlı bir şeye ihtiyacınız olmayabilir).
## Davranış kurallarınızı güçlendirmek
Bazen, en iyi çabalarınıza rağmen, birileri bu kodu ihlal eden bir şey yapabilir. Olay ortaya çıktığında olumsuz ya da zararlı davranışları ele almanın birkaç yolu vardır.
### Durum hakkında bilgi toplayın
Her topluluğun üyesinin sesine, sizinki kadar önemli verin. Birinin davranış kurallarını ihlal ettiğini bildiren bir rapor alırsanız, ciddiye alın ve bu kişi olan kendi deneyiminize uymasa bile konuyu araştırın. Bunu yapmak, topluluğunuza kendi perspektifine değer verdiğinizi ve kararlarına güvendiğinizi gösterir.
Söz konusu topluluk üyesi, sürekli olarak başkalarını rahatsız hissetmesine neden olan, ya da bir kez bir şey söyleyen veya yapan bir suçlu olabilir. Her ikisi de bağlama bağlı olarak eyleme geçmenin gerekçesi olabilir.
Cevap vermeden önce, neler olduğunu anlamak için biraz zaman harcayın. Kim olduklarını ve neden böyle davrandıklarını daha iyi anlamak için, kişi ya da kişilerin geçmiş yorumlarını ve konuşmalarını okuyun. Bu kişi ve davranışları hakkındaki kendi görüşleriniz dışında başka bakış açıları da toplamaya çalışın.
### Uygun işlemi yapın
Yeterli bilgiyi topladıktan ve işledikten sonra ne yapacağınıza karar vermeniz gerekir. Sonraki adımlarınızı düşündüğünüz gibi, moderatör olarak hedefinizin güvenli, saygılı ve işbirliğine dayalı bir ortam oluşturmak olduğunu unutmayın. Yalnızca söz konusu durumla nasıl başa çıkacağınızı değil, yanıtınızın topluluğunuzun davranışlarını ve ilerleyişindeki beklentilerini nasıl etkileyeceğini de düşünün.
Birisi bir davranış kuralları ihlali bildirdiğinde, bu durumla yüzleşmesi gereken sizsiniz, bildiren kişi değil. Bazen, ihbar eden kişi kariyer, itibar veya fiziksel güvenlik açısından büyük risk altındaki bilgileri ifşa ediyordur. Onları tacizcileriyle yüzleşmeye zorlamak, ihbar eden kişiyi uzlaşma konumuna getirebilir. İhbar eden açıkça aksini talep etmediği sürece, söz konusu kişiyle doğrudan iletişime geçmelisiniz.
Bir davranış kural ihlaline yanıt vermenin birkaç yolu vardır:
* **Söz konusu kişiye genel bir uyarı verin** ve davranışlarının diğerlerini, nasıl olumsuz etkilediğini tercihen meydana geldiği kanalda açıklayın. Mümkün olan diğer yerlerde de, genel iletişim kanalarında da, davranış kurallarını ciddiye aldığınız toplumun geri kalanına iletir. Kibar olun, ancak iletişiminizde sağlam olun.
* Davranışlarının diğerlerini nasıl olumsuz yönde etkilediğini açıklamak **için ilgili kişiye özel olarak ulaşın**. Durum hassas kişisel bilgiler içeriyorsa, özel bir iletişim kanalı kullanmak isteyebilirsiniz. Biriyle özel olarak iletişim kurarsanız, durumu ilk ihbar eden kişileri CC ile bilgilendirmek iyi bir fikirdir, bu sayede harekete geçtiğinizi bilmiş olurlar. CC'ye eklemeden önce ihbar den kişiden onay isteyin.
Bazen bir çözüme ulaşılamaz. Söz konusu kişi karşı karşıya geldiğinde saldırgan veya düşmanca olabilir veya davranışlarını değiştirmez. Bu durumda, daha güçlü bir işlem yapmayı düşünebilirsiniz. Örneğin:
* Söz konusu kişiyi projedeki herhangi bir şeye katılamayacak şekilde **gecici olarak engelleyebilirsiniz**
* Kişiyi projeden **kalıcı olarak yasaklayabilirsiniz**
Kalıcı olarak yasaklama üyeleri kolayca alınmamalı ve kalıcı uzlaşmaz bir bakış açısı farklılığını temsil etmelidir. Bu önlemleri yalnızca bir çözüme ulaşılamayacağı açıksa almalısınız.
## Proje sahibi olarak sorumluluklarınız
Davranış kuralları, keyfi olarak uygulanan bir yasa değildir. Davranış kurallarının uygulayıcısı sizsiniz ve davranış kurallarının belirlediği kuralları takip etmek de sizin sorumluluğunuzda.
Proje sahibi olarak, topluluğunuz için kılavuz ilkeler belirler ve bu ilkeleri davranış kurallarınızda belirtilen kurallara uygun olarak uygularsınız. Bu, herhangi bir davranış kuralları ihlali raporunu ciddiye almak anlamına gelir. İhbar eden şikayeti hakkında kapsamlı ve adil bir inceleme yapılmasını hak eder. Bildirdikleri davranışların bir ihlal olmadığını belirlerseniz, bunu açıkça belirtin ve neden bu konuda harekete geçmeyeceğinizi açıklayın. Bununla ne yapacakları onlara bağlı: Sorunlu olduğunu düşündükleri davranışlara hoşgörü gösterirler veya topluluktan ayrılabilirler.
_Teknik_ olarak davranış kurallarını ihlal etmeyen bir davranış raporu, toplumunuzda bir sorun olduğunu gösterebilir ve bu olası sorunu araştırmanız ve buna göre davranmanız gerekir. Bu, kabul edilebilir davranışı netleştirmek için davranış kurallarınızı gözden geçirmeyi ve/veya davranışları rapor edilen kişiyle konuşmayı ve davranış kurallarını ihlal etmemelerine rağmen, diğer katılımcıları rahatsız etiğini bildirmeniz gerekebilir.
Sonunda, bir proje sahibi olarak, kabul edilebilir davranış için standartları belirler ve uygularsınız. Projenin topluluk değerlerini şekillendirme yetkiniz var ve katılımcılar bu değerleri adil ve eşit bir şekilde uygulamanızı beklerler.
## Dünyada görmek istediğiniz davranışı teşvik edin 🌎
Bir proje düşmanca veya isteksiz göründüğü zaman, davranışları başkaları tarafından hoş görülebilecek tek bir kişi olsa bile, bazılarıyla hiç karşılaşmadığınız birçok katılımcıyı kaybetme riskiyle karşı karşıya kalırsınız. Bir davranış kural listesini kabul etmek veya uygulamak her zaman kolay değildir, ancak sıcak bir ortamı teşvik etmek topluluğunuzun büyümesine yardımcı olacaktır.
================================================
FILE: _articles/tr/finding-users.md
================================================
---
lang: tr
title: Projeniz için Kullanıcı Bulma
description: Açık kaynaklı projenizin, mutlu kullanıcıların eline geçerek büyümesini sağlayın.
class: finding
order: 3
image: "/assets/images/cards/finding.png"
related:
- beginners
- building
---
## Duyurmak
Başlar başlamaz açık kaynak projenizi tanıtmanız gerektiğini söyleyen bir kural yok. Açık kaynak kodlu çalışmanın popülerlikle ilgisi olmayan birçok yönü vardır. Başkalarının açık kaynak projenizi bulup kullanmasını ümit etmek yerine, yaptığınız sıkı çalışmayı duyurmanız gerekir!
## Mesajını ilet
Projenizi tanıtmaya yönelik asıl çalışmaya başlamadan önce, ne yaptığını ve neden önemli olduğunu açıklayabilmelisiniz.
Projenizi farklı veya ilginç kılan nedir? Neden yarattınız? Bu soruları kendiniz cevaplamak, projenizin önemini bildirmenize yardımcı olacaktır.
İnsanların kullanıcı olarak dahil olduklarını ve sonunda katkıda bulunduğunu unutmayın, çünkü projeniz onlar için bir problemi çözüyor. Projenizin mesajını ve değerini düşündüğünüzde, _kullanıcıların ve katkıda bulunanların_ ne isteyebileceğini onların gözünden bakmaya çalışarak görmeye çalışın.
Örneğin, @robb, projesi olan [Cartography'nin](https://github.com/robb/Cartography) neden faydalı olduğunu açıkça belirtmek için kod örnekleri kullanır:

Mesajlaşmaya daha derin bir dalış yapmak için Mozilla'nın ["Personas and Pathways"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) egzersizini kullanıcı kimliği geliştirmek için kontrol edin.
## İnsanların projenizi bulmasına ve takip etmesine yardımcı olun
İnsanların projenizi tek bir alana işaret ederek bulup hatırlamalarına yardımcı olun.
**Çalışmanızı tanıtma işini açık bir şekilde ele alın.** Bir Twitter hesabı, GitHub URL'si veya IRC kanalı, insanları projenize yönlendirmenin kolay bir yoludur. Bu iletişim noktaları aynı zamanda projenizin büyüyen topluluğuna toplanacak bir yer sağlar.
Henüz projeniz için iletişim noktaları kurmak istemiyorsanız, yaptığınız her şeyde kendi Twitter veya GitHub hesabınızı tanıtın. Twitter veya GitHub hesabınızı tanıtmak, insanların sizinle nasıl iletişim kurabileceklerini veya işlerinizi takip etmelerini sağlayacaktır. Bir buluşma veya etkinlikte konuşuyorsanız, iletişim bilgilerinizin biyo veya slaytlarınıza eklendiğinden emin olun.
**Projeniz için bir web sitesi oluşturmayı düşünün.** Bir web sitesi, projenizi daha net hale getirir ve özellikle açık belgeler ve eğitimlerle desteklendiğinde gezinmeyi kolaylaştırır. Bir web sitesine sahip olmak, projenizin aktif olduğunu ve bu sayede hedef kitlenizin kendisini daha rahat hissetmesini sağlayacaktır. İnsanlara projenizi nasıl kullanacakları hakkında fikir vermek için örnekler verin.
Django'nun yaratıcısı [@adrianholovaty](https://news.ycombinator.com/item?id=7531689) , bir web sitesinin _"ilk günlerde Django için yaptıkları en iyi şey" olduğunu söyledi_.
Projeniz GitHub'da barındırıyorsanız, kolayca web sitesi yapmak için [GitHub Pages](https://pages.github.com/) kullanabilirsiniz. [Yeoman](http://yeoman.io/) , [Vagrant](https://www.vagrantup.com/) ve [Middleman](https://middlemanapp.com/) mükemmel, kapsamlı web sitelerine [birkaç örnektir](https://github.com/showcases/github-pages-examples) .

Artık projeniz için bir mesajınız ve insanların projenizi bulmaları için kolay bir yolu olsun, haydi çıkıp izleyicilerinizle konuşun!
## Projenizin hedef kitlesinin olduğu yere gidin (çevrimiçi olarak)
Çevrimiçi sosyal yardım, mesajınızı hızla paylaşmanın ve yaymanın harika bir yoludur. Çevrimiçi kanalları kullanarak, çok geniş bir kitleye ulaşma potansiyeline sahip olursunuz.
Hedef kitlenize ulaşmak için mevcut çevrimiçi topluluklardan ve platformlardan yararlanın. Açık kaynaklı projeniz bir yazılım projesiyse, kitlenizi [Stack Overflow](https://stackoverflow.com/) , [Reddit](https://www.reddit.com) , [Hacker News](https://news.ycombinator.com/) veya [Quora](https://www.quora.com/)'da bulabilirsiniz. İnsanların işinizden en çok faydalanabileceğini veya heyecanlanacağını düşündüğünüz kanalları bulun.
Projenizi ilgili kanallarda paylaşmanın yollarını bulabilecek misiniz bir bakın:
* **İlgili açık kaynaklı projeleri ve toplulukları tanıyın.** Bazen projenizi doğrudan tanıtmanız gerekmez. Projeniz Python'u kullanan veri bilimcileri için mükemmelse, Python veri bilimi topluluğunu tanıyın. İnsanlar sizi tanıdıkça, hakkında konuşmak ve çalışmalarınızı paylaşmak için doğal fırsatlar ortaya çıkacaktır.
* **Projenizin çözdüğü sorunu yaşayan insanları bulun.** Projenizin hedef kitlesine giren kişileri ilgili forumlarda arayın. Projenizi bir çözüm olarak önermek için sorularına cevap verin ve uygun olduğunda temkinli bir yol bulun.
* **Geri bildirim isteyin.** Kendinizi ve işinizi ilgili ve ilgi çekici bulabilecek bir kitleye tanıtın. Projenizden kimin faydalanacağını düşündüğünüz konusunda net olun. Cümleyi bitirmeye çalışın: _"Projemin gerçekten Y'yi yapmaya çalışan X'e yardım edeceğini düşünüyorum_ ." Çalışmanızı tanıtmak yerine, başkalarının geri bildirimlerini dinleyin ve bunlara yanıt verin.
Genel olarak konuşursak, karşılığında bir şey istemeden önce başkalarına yardım etmeye odaklanın. Herkes bir projeyi çevrimiçi olarak kolayca tanıtabildiğinden, çok fazla gürültü çıkacaktır. Kalabalıktan sıyrılmak için, insanlara sadece ne istediğinizi değil, kim olduğunuzu anlatmaya çalışın.
İlk duyurularınız hiç kimsesin dikkatini çekmiyorsa veya kimse cevap vermiyorsa, cesaretini kırmayın! Çoğu proje lansmanı aylar veya yıllar alabilen yinelemeli bir süreçtir. İlk kez bir yanıt alamazsanız, farklı bir taktik deneyin veya başkalarının çalışmalarına ilk olarak değer katmanın yollarını arayın. Projenizi tanıtmak ve başlatmak zaman ve özveri gerektirir.
## Projenizin hedef kitlesinin olduğu yere gidin (çevrimdışı)

Çevrimdışı etkinlikler, izleyicilere yeni projeler tanıtmanın popüler bir yoludur. Odaklı bir kitleye ulaşmak ve daha derin insan bağlantıları kurmak için, özellikle geliştiricilere ulaşmakla ilgileniyorsanız, harika bir yoldur.
[Topluluk karşısında konuşma konusunda](https://speaking.io/) yeniyseniz, projenizin dili veya ekosistemiyle ilgili yerel bir buluşma bularak başlayın.
Daha önce topluluk önünde konuşmadıysanız, gergin hissetmek tamamen normaldir! İzleyicilerinizin sizin için orada olduğunu unutmayın, çünkü işinizi gerçekten duymak istiyorlar.
Konuşmanızı yazarken, izleyicilerinizin ilginç bulacağı ve değer kazanacağı şeylere odaklanın. Dilinizi arkadaşça ve ulaşılabilir tutun. Gülümseyin, nefes alın ve eğlenin.
Hazır olduğunuzda, projenizi tanıtmak için bir konferansta konuşmayı düşünün. Konferanslar, bazen dünyanın her yerinden daha fazla insana ulaşmanıza yardımcı olabilir.
Dilinize veya ekosisteminize özgü konferansları arayın. Konuşmanızı göndermeden önce, konuşmanızı katılımcılar için uyarlamak ve konferansta konuşma kabul etme şansınızı artırmak için konferansı araştırın. Konferansın konuşmacılarına bakarak, izleyicilerinizi daha kolay anlayabilirsiniz.
## Bir itibar oluşturun
Yukarıda belirtilen stratejilere ek olarak, insanları projenizi paylaşmaya ve katkıda bulunmaya davet etmenin en iyi yolu, onların projelerini paylaşma ve katkıda bulunmakdır.
Yeni gelenlere yardım etmek, kaynakları paylaşmak ve başkalarının projelerine anlamlı katkılar yapmak olumlu bir itibara kavuşmanıza yardımcı olacaktır. Açık kaynak topluluğunda aktif bir üye olmak, insanların çalışmanız için bağlam oluşturmasına yardımcı olacak ve projenize dikkat etme ve paylaşma olasılıkları artacaktır. Diğer açık kaynaklı projelerle ilişkilerin geliştirilmesi resmi ortaklıklara yol açabilir.
İtibarınızı oluşturmak için asla çok erken veya geç değildir. Kendi projenizi daha önce başlatmış olsanız bile, başkalarına yardım etmenin yollarını aramaya devam edin.
Kitle oluşturmak için bir gecede çözüm yoktur. Başkalarının güvenini ve saygısını kazanmak zaman alır ve itibarınızı geliştirmek hiç tamamlanmayan bir iştir.
## Devam et!
İnsanların açık kaynaklı projenizi fark etmesi uzun zaman alabilir. Sorun yok! Bugün en popüler projelerden bazılarının yüksek düzeyde faaliyet göstermesi yıllar aldı. Projenizin kendiliğinden popülerlik kazanacağını ummak yerine ilişkiler kurmaya odaklanın. Sabırlı olun ve çalışmanızı takdir edenlerle paylaşmaya devam edin.
================================================
FILE: _articles/tr/getting-paid.md
================================================
---
lang: tr
title: Açık Kaynak Çalışmalar İçin Ödeme Alma
description: Zamanınız veya projeniz için maddi destek alarak açık kaynak çabanızı sürdürün.
class: getting-paid
order: 7
image: /assets/images/cards/getting-paid.png
related:
- best-practices
- leadership
---
## Neden bazı insanlar finansal destek ister?
Açık kaynaklı çalışmaların çoğu gönüllüdür. Örneğin, birileri kullandıkları bir projede bir hatayla karşılaşabilir hızlı bir düzeltme yapabilirler veya boş zamanlarında açık kaynak kodlu bir proje ile uğraşmanın tadını çıkarabilirler.
Bir kişinin açık kaynak çalışmaları için ödeme almak istememesinin birçok nedeni vardır.
* Boş zamanlarında açık kaynağa katkıda bulunmalarını sağlayan, **sevdikleri bir tam zamanlı işleri olabilir**.
* **Açık kaynaklı projeyi bir hobi olarak düşünmekten hoşlanıyor olabilirler**, işlerinde gösteremedikleri yaratıcılığı gösterebildikleri bir alan olarak da değerlendirebilir ve projeleri üzerinde çalışmak için mali olarak zorunluluk hissetmek istemeyebilirler.
* İtibar veya portföylerini oluşturmak, yeni bir beceri öğrenmek veya bir topluluğa daha yakın hissetmek gibi **açık kaynağa katkıda bulunarak başka faydalar elde** etmek istiyor olabilirler.
Bazıları içinse, özellikle katkıların devamlı olduğu veya önemli bir zaman gerektirdiğinde, açık kaynağa katkıda bulunmak için ödeme almak, projenin gerektirdiği veya kişisel nedenlerden dolayı kabul edebilecekleri tek yoldur.
Popüler projeleri sürdürmek, ayda birkaç saat yerine haftada 10 veya 20 saat süren önemli bir sorumluluk gerektirebilir.
Ücretli işler aynı zamanda farklı yaşam alanlarından insanların anlamlı katkılar yapmalarını sağlar. Bazı insanlar şu anki mali durumları, borçları veya aileleri veya diğer sorumluluklarından açık kaynaklı projeler için ücretsiz zaman harcayamazlar. Bu, zamanını gönüllü olarak kullanamayan yetenekli insanların katkılarını asla dünyanın ile paylaşamamaları anlamına gelir. Bu, @ashedryden'in [açıkladığı](https://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community) gibi etik tartışmalara yola açar, çünkü yapılan çalışmalar, yaşamda zaten avantajları olanlara, gönüllü katkılarına dayanarak ek avantajlar sağlarken, gönüllü olarak katkısı olamayanlar için dezavantajlar oluşturur. Bu açık kaynak toplumdaki mevcut çeşitlilik eksikliğini pekiştiren bir durumdur.
Finansal destek arıyorsanız, dikkate alınması gereken iki yol vardır. Kendi zamanınızı katkıda bulunan kişi olarak fonlayabilir veya proje için organizasyonel fon bulabilirsiniz.
## Kendi zamanınızı fonlamak
Bugün, birçok insana yarı zamanlı veya tam zamanlı olarak açık kaynak üzerinde çalışmak için ödeme yapılır. Vaktiniz için ödeme almanın en yaygın yolu işvereninizle konuşmaktır.
Eğer işvereniniz projeyi gerçekten kullanıyorsa, işiniz daha kolay, ancak adımınızda yaratıcı olun. Belki işvereniniz projeyi kullanmaz, ancak Python'u kullanır ve popüler bir Python projesini sürdürmek yeni Python geliştiricilerini çekmeye yardımcı olur. Belki işvereninizin genel olarak geliştirici dostu görünmesini sağlar.
Üzerinde çalışmak istediğiniz bir açık kaynak projeniz yoksa, ancak mevcut iş çıktınızın açık kaynaklı olmasını tercih ederseniz, işvereninizin kendi iç yazılımlarının bir kısmının kaynağını açması için bir öneride bulunun.
Birçok şirket markalarını geliştirmek ve kaliteli yetenekler kazanmak için açık kaynaklı programlar geliştiriyor.
Örneğin @hueniverse, [Walmart'ın açık kaynak yatırımını](https://www.infoworld.com/article/2608897/open-source-software/walmart-s-investment-in-open-source-isn-t-cheap.html) haklılaştırmak için finansal sebeplerin olduğunu belirtti. Ve @jamesgpearce, Facebook'un açık kaynak programının işe alımda [bir fark](https://opensource.com/business/14/10/head-of-open-source-facebook-oscon) yarattığını keşfetti:
> Programlama kültürümüz ve kuruluşumuzun nasıl algılandığı ile yakından ilişkilidir. Çalışanlarımıza “Facebook'taki açık kaynaklı yazılım programının farkında mıydınız?” diye sorduk. Üçte ikisi "Evet" dedi. Yarısı, programın bizim için çalışma kararlarına olumlu katkıda bulunduğunu söyledi. Bunlar marjinal sayılar değildir ve umarım devam eden bir eğilimdir.
Şirketiniz bu rotadan geçerse, topluluk ve kurumsal faaliyet arasındaki sınırları net tutmak önemlidir. Sonuçta, açık kaynak, tüm dünyadaki insanlardan sağlanan katkılarla kendisini sürdürüyor ve bu, herhangi bir şirket veya konumdan daha büyüktür.
Mevcut işvereninizi açık kaynak çalışmasına öncelik vermeye ikna edemiyorsanız, çalışan katkılarını açık kaynağa teşvik eden yeni bir işveren bulmayı düşünün. Açık kaynak kodlu çalışmalara açık bir şekilde kendini adadıklarını söyleyen şirketleri arayın. Örneğin:
* [Netflix](https://netflix.github.io/) gibi bazı şirketler, açık kaynaklara katılımını vurgulayan web sitelerine sahiptir.
[Go](https://github.com/golang) veya [React](https://github.com/facebook/react) gibi büyük bir şirketten gelen projeler, muhtemelen açık kaynak üzerinde çalışmak için insanları istihdam edecek.
Kişisel durumunuza bağlı olarak, açık kaynaklı işinize para yatırmak için bağımsız olarak para toplamayı deneyebilirsiniz. Örneğin:
* @Homebrew (and [many other maintainers and organizations](https://github.com/sponsors/community)) fund their work through [GitHub Sponsors](https://github.com/sponsors)
* @gaearon, [Redux](https://github.com/reactjs/redux) ile ilgili çalışmalarını bir [Patreon kitlesel fonlama kampanyası](https://redux.js.org/) yoluyla finanse etti
* @andrewgodwin [, bir Kickstarter kampanyasıyla](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django) Django şema göçleri konusundaki çalışmaları finanse etti
Son olarak, bazen açık kaynaklı projeler, yardım etmeyi düşündüğünüz meselelere güçlükler getirir.
* @ConnorChristie, @MARKETProtocol'un JavaScript paketlerinde [yardımcı olarak](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) gitcoin'deki bir [ödülle{/a2} para kazanabildi.](https://gitcoin.co/)
* @mamiM, [sorun Bounties Network'te finanse](https://explorer.bounties.network/bounty/134) edildikten sonra @MetaMask için Japonca çeviriler yaptı.
## Projeniz için finansman bulma
Bireysel katılımcılar için yapılan düzenlemelerin ötesinde, bazen projeler devam eden çalışmaları finanse etmek için şirketler, bireyler veya başkalarından para toplarlar.
Örgütsel finansman, projenin yürütülmesi (barındırma ücreti gibi) maliyetlerini kapsayan veya yeni özelliklere veya fikirlere yatırım yapma gibi mevcut katkı paylarını ödemeye yönelebilir.
Açık kaynağın popülaritesi arttıkça, projelere fon bulmak için hala deneysel olmakla birlikte, birkaç seçenek vardır.
### Topluluk fonlama kampanyaları veya sponsorluklarıyla işiniz için para toplayın
Sponsorluk bulmak, zaten güçlü bir kitleye veya şöhrete sahipseniz veya projeniz çok popülerse işe yarar. Sponsorlu projelere birkaç örnek:
* **[webpack](https://github.com/webpack)** [OpenCollective](https://opencollective.com/webpack) üzerinden şirketler ve bireylerden para topladı
* **[Ruby Together](https://rubytogether.org/) ,** [paketleyici](https://github.com/bundler/bundler) , [RubyGems](https://github.com/rubygems/rubygems) ve diğer Ruby altyapı projelerinde işe yarayan kar amacı gütmeyen bir organizasyon
### Bir gelir akışı oluşturun
Projenize bağlı olarak, ticari destek, barındırılan seçenekler veya ek özellikler için ücret alabilirsiniz. Birkaç örnek şunları içerir:
* **[Sidekiq](https://github.com/mperham/sidekiq)** , ek destek için ücretli sürümler sunar
* **[Travis CI](https://github.com/travis-ci)** ürünlerinin ücretli sürümlerini sunuyor
* **[Ghost](https://github.com/TryGhost/Ghost)** ücretli bir yönetim servisi olan kar amacı gütmeyen bir kurumdur.
[Npm](https://github.com/npm/cli) ve [Docker](https://github.com/docker/docker) gibi bazı popüler projeler iş büyümelerini desteklemek için risk sermayesini desteği arıyorlar.
### Hibe fonu için başvur
Bazı yazılım kurumları ve şirketleri açık kaynak kodlu çalışmalar için hibe sunar. Bazen, hibeler proje için tüzel kişilik oluşturmadan bireylere ödenebilir.
* **[Read the Docs](https://github.com/rtfd/readthedocs.org)** projesi [Mozilla Açık Kaynak Desteği'nden](https://www.mozilla.org/en-US/grants/) hibe aldı
* **[OpenMRS](https://github.com/openmrs)** çalışması [Stripe's Open-Source Retreat](https://stripe.com/blog/open-source-retreat-2016-grantees) ile finanse edildi
* **[Libraries.io](https://github.com/librariesio)** projesi [Sloan Vakfı'ndan](https://sloan.org/programs/digital-technology) burs aldı.
* **[Python Yazılım Vakfı](https://www.python.org/psf/grants/)** Python ile ilgili işler için bağışlar sunuyor
Daha ayrıntılı seçenekleri ve vaka çalışmaları için, açık kaynak çalışmalarına finansman bulma için @nayafia [bir rehber yazdı](https://github.com/nayafia/lemonade-stand). Farklı finansman türleri farklı beceriler gerektirir, bu nedenle hangi seçeneğin sizin için en uygun olduğunu bulmak için güçlü yönlerinizi değerlendirin.
## Finansal destek için bir süreç oluşturma
Projeniz yeni bir fikir olsun ya da yıllardır sürüyor olsun, hedef kitlenizi belirlemek ve teşvik edici bir öneri oluşturmak için kafa yormalısınız.
Kendi zamanınız için ödeme almak veya bir projeye fon sağlamak için aşağıdaki soruları cevaplayabilmeniz gerekir.
### Etki
Bu proje neden faydalıdır? Kullanıcılarınız veya potansiyel kullanıcılar neden bu kadar hoşlanıyor? Beş yıl sonra nerede olacak?
### Çekiş
Projenizin metrikleri, tecrübeleri veya referansları olsun ve önemli olduğuna dair kanıt toplamaya çalışın. Şu anda projenizi kullanan şirketler veya kayda değer insanlar var mı? Olmazsa, tanınmış bir kişi bunu onayladı mı?
### Fon verene katkı
İşvereninize veya bir hibe veren vakıf olup olmadığına bakılmaksızın fon sağlayıcılara sıklıkla fırsatlar ile yaklaşılmalıdır. Projenizi neden başka bir fırsat üzerinde desteklemeliler? Kişisel olarak nasıl yararlanabilirler?
### Fon kullanımı
Önerilen fonla tam olarak ne yapacaksınız? Maaş ödemek yerine proje kilometre taşlarına veya sonuçlarına odaklanın.
### Fonları nasıl alacaksınız?
Fon verenin ödeme çevresinde herhangi bir şartı var mı? Örneğin, kar amacı gütmeyen veya kar amacı gütmeyen bir mali sponsora sahip olmanız gerekebilir. Veya belki de fonlar bir organizasyon yerine bireysel bir yükleniciye verilmelidir. Bu gereklilikler fon sağlayıcılar arasında farklılık gösterir, bu yüzden araştırmanızı önceden yaptığınızdan emin olun.
## Denemeyin ve pes etmeyin
Açık kaynak kodlu bir proje, kar amacı gütmeyen veya bir yazılım başlangıcı olsanız da, para kazanmak kolay değildir ve çoğu durumda yaratıcı olmanızı gerektirir. Nasıl ödeme almak istediğinizi belirlemek, araştırmanızı yapmak ve kendinizi fon sağlayıcınızın yerine koymak, finansman için ikna edici bir durum oluşturmanıza yardımcı olacaktır.
================================================
FILE: _articles/tr/how-to-contribute.md
================================================
---
lang: tr
title: Açık Kaynağa Nasıl Katkıda Bulunulur
description: Açık kaynağa katkıda bulunmak ister misiniz? İlk defa yapacaklar ve tecrübeliler için katkı yapma rehberi.
class: contribute
order: 1
image: "/assets/images/cards/contribute.png"
related:
- beginners
- building
---
## Açık kaynağa neden katkıda bulunmalıyım?
Açık kaynağa katkıda bulunmak, hayal edebileceğiniz herhangi bir konuyu öğrenmek, öğretmek ve deneyim geliştirmek için faydalı bir yol olabilir.
İnsanlar neden açık kaynağa katkıda bulunur? Bunun bir sürü sebebi vardır!
### Güvendiğiniz yazılımı geliştirme
Açık kaynak projelere katkıda bulunanların birçoğu projeyle kullanıcısı olarak tanışırlar. Kullandığınız açık kaynak bir yazılımda bir hata bulduğunuzda, kendiniz yamalayıp düzeltip düzeltemeyeceğiniz görmek için kaynağa bakmak isteyebilirsiniz. Bu durumda, yamanın yapılmasına katkıda bulunmak, arkadaşlarınızın (ve bir sonraki sürüme geçtiğinizde kendinizin de) bundan faydalanmasını sağlamak için en iyi yoldur.
### Mevcut becerileri geliştirme
Kodlama, kullanıcı arayüzü tasarımı, grafik tasarımı, yazma veya düzenleme gibi konularda pratik arıyorsanız, herhangi bir açık kaynak projede sizin için mutlaka bir görev vardır.
### Benzer şeylerle ilgilenen insanlarla tanışma
Sıcak, misafirperver topluluklarla açık kaynak projeler insanları yıllarca müdavimleri yaparlar. Pek çok insan, konferanslarda ya da açık kaynak projelerine katılarak, farklı konularla ilgili çevrimiçi gece sohbetlerine gireyecekleri ömür boyu sürecek arkadaşlıklar kurarlar.
### Mentor bulma ve başkalarına öğretme
Paylaşımlı bir projede başkalarıyla çalışmak demek, işlerinizi nasıl yaptığınızı açıklamanın yanı sıra diğer insanlardan yardım istemek demektir. Öğrenme ve öğretme eylemleri, katılan herkes için tatmin edici bir aktivite olabilir.
### İtibarınızı (ve kariyerinizi) geliştirmenize yardımcı olacak eserler oluşturma
Tanım olarak, açık kaynak kodlu çalışmaların tamamı kamuya açıktır; yapabileceklerinizin bir göstergesi olarak herhangi bir yerde göstermek için ücretsiz örneklere sahip olursunuz.
### İnsani beceriler kazanma
Açık kaynak, çatışmaları çözmek, ekipleri organize etmek ve işlerin önceliklerini yönetmek gibi liderlik ve yönetim becerilerini uygulama fırsatları sunar.
### Küçük bile olsa değişiklik yapabilme gücü verir
Açık kaynak geliştirmekten zevk alabilmek için ömür boyu katkıda bulunmanız gerekmez. Hiç bir web sitesinde bir yazım hatası gördünüz ve birisinin düzeltmesini dilediniz mi? Açık kaynak bir projede, bunu siz yapabilirsiniz. Açık kaynak, insanların yaşamları ve dünyayı nasıl tecrübe ettikleri konusunda kendilerini etkin hissetmelerine yardımcı olur ve bu kendi içinde memnuniyet vericidir.
## Katkıda bulunmak ne demektir?
Açık kaynaklı bir projeye ilk defa katkıda bulunuyorsanız, bu süreç korkutucu olabilir. Doğru proje nasıl bulunur? Ya nasıl kodlanacağını bilmiyorsan? Ya bir şeyler ters giderse?
Endişe etmeyin! Açık kaynak kodlu bir projeye dahil olmanın çok farklı yolları vardır ve birkaç ipucu deneyiminizden en iyi şekilde yararlanmanıza yardımcı olacaktır.
### Kod yazarak katkıda bulunmak zorunda değilsin
Açık kaynağa katkıda bulunma konusunda yaygın bir yanılgı, kod yazarak katkıda bulunmanız gerektiğidir. Aslında, genellikle [en çok ihmal edilen veya göz ardı edilen](https://github.com/blog/2195-the-shape-of-open-source) projenin diğer kısımlarıdır. Bu tür katkılara katılmayı teklif ederek projeye _büyük bir_ iyilik yapacaksınız!
Kod yazmayı sevseniz bile, diğer katkı türleri de bir projeye katılmak ve diğer topluluk üyeleriyle tanışmak için harika bir yoldur. Bu ilişkileri kurmak size projenin diğer bölümlerinde de çalışma fırsatı verecektir.
### Etkinlik planlamayı sever misiniz?
* [NodeSchool için @fzamperin yaptığı gibi](https://github.com/nodeschool/organizers/issues/406), proje hakkında atölye çalışmaları veya buluşmalar düzenleyin
* Projenin konferansını düzenleyin (eğer varsa)
* Topluluk üyelerinin doğru konferansları bulmasına ve konuşma için öneriler sunmasına yardımcı olun
### Tasarlamayı sever misiniz?
* Projenin kullanılabilirliğini geliştirmek için şablonları yeniden yapılandırın
* [Drupal'ın önerdiği gibi](https://www.drupal.org/community-initiatives/drupal-core/usability), projenin navigasyonunu veya menülerini yeniden düzenleyin ve bunu yapmak için hassas kullanıcı araştırması yapın
* Projenin tutarlı bir görsel tasarıma sahip olması için bir stil rehberi hazırlayın
* [Hapi.js’in katılımcılarının yaptığı gibi](https://github.com/hapijs/contrib/issues/68) t-shirtler veya yeni bir logo tasarlayın
### Yazmayı sever misin?
* Proje dokümantasyonunu yazın ve geliştirin
* Projenin nasıl kullanıldığını gösteren örnekler oluşturun
* Proje için bir bülten başlatın veya posta listesinden önemli noktaları açığa çıkarın
* [PyPA'nın katılımcılarının yaptığı gibi](https://packaging.python.org/) proje için dersler yazın
* Projenin dokümantasyonu için çeviri yapın
### Organize etmeyi sever misiniz?
* Projeyi daha organize hale getirmek için benzer sorunları bağlantılayın ve yeni sorun etiketleri önerin
* Açık sorunların üzerinden geçin ve eskileri kapatmayı önerin, [@nzakas'ın ESLint için yaptığı gibi](https://github.com/eslint/eslint/issues/6765)
* Tartışmayı ileriye taşımak için açılan konular hakkında açıklayıcı sorular sorun.
### Kod yazmayı sever misiniz?
* [@Dianjin'in Leaflet için yaptığı gibi](https://github.com/Leaflet/Leaflet/issues/4528#issuecomment-216520560) çözülmesi gereken açık bir konu bulun
* Yeni bir özellik yazmak için yardımcı olabilir misiniz diye sorun
* Proje kurulumunu otomatikleştirin
* Araçları ve testleri geliştirin
### İnsanlara yardım etmeyi sever misiniz?
* Proje hakkında soruları yanıtlayın. Örneğin, Stack Overflow'da ([bu Postgres örneğinde olduğu gibi](https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)) veya Reddit'te
* İnsanlar için açık konulardaki soruları cevaplayın
* Tartışma panolarını veya konuşma kanallarını yönetmeye yardımcı olun
### Başkalarına kod yazarken yardım etmeyi sever misiniz?
* Diğer kişilerin gönderimlerindeki kodu inceleyin
* Bir projenin nasıl kullanılabileceğini öğretici yazılar yazın
* Başka bir katılımcıya mentor olmaya çalışın, [@ereichert Rust projesinde @bronzdoc için yaptığı gibi](https://github.com/rust-lang/book/issues/123#issuecomment-238049666)
### Sadece yazılım projeleri üzerinde çalışmak zorunda değilsiniz!
"Açık kaynak" genellikle yazılımla ilişkilendirilse de, her şey için işbirliği yapabilirsiniz. Açık kaynak projeleri olarak geliştirilen kitaplar, tarifler, listeler ve sınıflar var.
Örneğin:
* @sindresorhus ["harika" listelerin bir listesini oluşturuyor](https://github.com/sindresorhus/awesome)
* @h5bp ön yüz geliştirici adayları için [olası mülakat sorularının bir listesini](https://github.com/h5bp/Front-end-Developer-Interview-Questions) oluşturuyor
* @stuartlynn ve @nicole-a-tesla [martılar hakkında eğlenceli bilgiler topladı](https://github.com/stuartlynn/puffin_facts)
Bir yazılım geliştiricisi olsanız bile, bir dokümantasyon projesi üzerinde çalışmak açık kaynak kodla başlamanıza yardımcı olabilir. Kod içermeyen projeler üzerinde çalışmak genellikle daha az korkutucu olur ve işbirliği süreci sizin güven ve deneyiminizi artırır.
## Kendinizi yeni bir projeye yönlendirmek
Bir yazım hatasının düzeltilmesinden daha fazla olarak, açık kaynağa katkıda bulunmak, partideki bir grup yabancıyla konuşmaya çalışmak gibidir. Lamalar hakkında konuşmaya başlarsanız, akvaryum balığı ile ilgili derin bir tartışma yapıyorlarsa, muhtemelen size biraz garip bakarlar.
Kendi önerilerinizle kör bir şekilde atlamadan önce, odanın neler konuştuğunu öğrenmekle başlayın. Bunu yapmak, fikirlerinizi fark ettirme ve duyurma şansınızı arttırır.
### Açık kaynak kodlu bir projenin anatomisi
Her açık kaynak topluluğu kendine özgüdür.
Bir açık kaynak projeye yıllarınızı harcamak, projeyi tanıdığınız anlamına gelir. Farklı bir projeye geçin; kelime, norm ve iletişim biçimlerinin tamamen farklı olduğunu göreceksiniz.
Bununla birlikte, birçok açık kaynak projenin benzer organizasyon yapılarını takip ettiği söylenebilir. Farklı topluluk rollerini ve genel süreci anlamak, yeni projeye hızlı bir şekilde odaklanmanıza yardımcı olacaktır.
Tipik bir açık kaynak projesi aşağıdaki insan türlerine sahiptir:
* **Yazar:** Projeyi yaratan kişi(ler)/kurum(lar)
* **Sahip:** Kurum veya depo üzerinde yönetim hakkına sahip kişi/kişiler (her zaman orijinal yazarla aynı olmayabilir)
* **Geliştiriciler:** Vizyonu yönlendirmekten ve projenin organizasyonel yönlerini yönetmekten sorumlu olanlar ve katkıda bulunanlar (Projenin yazarları veya sahipleri de olabilirler)
* **Katkıda Bulunanlar:** Projeye katkıda bulunan herkes
* **Topluluk Üyeleri:** Projeyi kullanan insanlar. Sohbetlerde aktif olabilirler veya projenin yönü ile ilgili görüşlerini ifade edebilirler.
Daha büyük projeler ayrıca araç yönetimi, öncelik yönetimi, topluluk yönetimi ve etkinlik organizasyonu gibi farklı görevlere odaklanmış alt komitelere veya çalışma gruplarına sahip olabilir. Bu bilgileri bulmak için bir projenin "ekip" sayfasına veya yönetim dokümantasyon deposuna bakın.
Projelerin belgeleri de vardır. Bu dosyalar genellikle bir kütüphanenin dizin yapısının en üst seviyelerinde listelenir.
* **LICENCE:** Tanım gereği her açık kaynak projenin [bir açık kaynak lisansa](https://choosealicense.com) sahip olması gerekir. Projenin lisansı yoksa açık kaynak değildir.
* **README:** README, projeye yeni topluluk üyelerini karşılayan kullanım kılavuzudur. Projenin neden yararlı olduğunu ve nasıl başlayacaklarını açıklar.
* **CONTRIBUTING:** README dosyaları projeyi insanların _kullanmalarına_ yardımcı olurken, CONTRIBUTING dökümanları insanların projeye _katkıda_ bulunmalarına yardımcı olur. Hangi tür katkıların gerekli olduğunu ve sürecin nasıl çalıştığını açıklar. Her projenin bir CONTRIBUTING dosyası olmasa da, varlığı bunun katkı bekleyen bir proje olduğunu işaret eder.
* **CODE_OF_CONDUCT:** Davranış kuralları, katılımcıların davranışlarıyla ilgili temel kuralları belirler ve arkadaşça ve misafirperver bir ortamı oluşturmaya yardımcı olur. Her projenin bir CODE_OF_CONDUCT dosyası olmasa da, varlığı bu konuya dikkate edilen bir proje olduğunu gösterir.
* **Diğer belgeler:** Özellikle büyük projelerde öğretici belgeler, izlenecek yollar veya yönetim politikaları gibi ek belgeler olabilir.
Son olarak, açık kaynak projeler tartışmaları yönetmek için aşağıdaki araçları kullanır. Arşivleri okumak, topluluğun nasıl düşündüğü ve çalıştığı hakkında size iyi bir fikir verecektir.
* **Sorun listesi:** İnsanların projeyle ilgili sorunları tartıştıkları yerler.
* **PR (Değişiklik istekleri):** İnsanların devam etmekte olan değişiklikleri tartıştıkları ve inceledikleri yerler.
* **Tartışma forumları veya e-posta listeleri:** Bazı projeler, tartışma konuları için bu kanalları kullanabilir (örneğin, hata raporları veya özellik istekleri yerine _"Nasıl ...?"_ veya _"Ne düşünüyorsunuz ...?" gibi_). Diğerleri, tüm konuşmalar için sorun listesini kullanır.
* **Anlık sohbet kanalları:** Bazı projelerde gündelik konuşmalar, işbirlikleri ve hızlı fikir alışverişleri için sohbet kanalları (Slack veya IRC gibi) kullanılır.
## Katkıda bulunacak bir proje bulma
Açık kaynak projelerin nasıl çalıştığını çözdüğünüze göre, katkıda bulunacak bir proje bulma zamanı!
Daha önce hiç bir açık kaynak projeye katkıda bulunmadıysanız, _"Ülkenizin sizin için neler yapabileceğini değil, ülkeniz için neler yapabileceğinizi sorun"_ diyen ABD Başkanı John F. Kennedy'yi örnek alın.
Açık kaynağa katkıda bulunmak, farklı projelerde her seviyede gerçekleşir. İlk katkınızın tam olarak ne olacağını veya nasıl görüneceğini düşünmeniz gerekmez.
Bunun yerine, zaten kullandığınız veya kullanmak istediğiniz projeleri düşünerek başlayın. Aktif olarak katkıda bulunacağınız projeler, kendinizi devamlı kullanırken bulduğunuz projelerdir.
Bu projeler içinde, bir şeyin daha iyi veya farklı olabileceğini düşündüğünüzü farkettiğinizde, içgüdülerinize göre hareket edin.
Açık kaynak bir seçilmişler kulübü değildir; tıpkı senin gibi insanlar tarafından yapılmıştır. "Açık kaynak", dünyadaki sorunların çözülebilir olarak algılanması için sadece süslü bir terimdir.
Bir README tarayabilir ve bozuk bir link ya da yazım hatası bulabilirsiniz. Ya da yeni bir kullanıcısınız ve bir şeylerin bozuk olduğunu ya da belgelerde gerçekten olması gerektiğini düşündüğünüz bir eksikliğin olduğunu fark ettiniz. Bunu görmezden gelip devam etmek ya da başka birinden düzeltmesini istemek yerine, araya girip düzeltebileceğinizi görün. Bakın açık kaynak budur!
> [Gündelik katkıların %28'i](https://www.igor.pro.br/publica/papers/saner2016.pdf) açık kaynağa yeniden biçimlendirme veya bir çeviri yazarken böyle bir yazım hatası düzeltme gibi belgelerdir.
Düzeltebileceğiniz açık sorunları arıyorsanız, her açık kaynak projenin başlayabileceğiniz acemi dostu sorunları vurgulayan bir `/contribute` sayfası vardır. GitHub'taki deponun ana sayfasına gidin ve URL'nin sonuna `/contrib` ekleyin (Örneğin [`https://github.com/facebook/react/contribute`](https://github.com/facebook/react/contribute)).
Yeni projeleri keşfetmenize ve katkıda bulunmanıza yardımcı olmak için aşağıdaki kaynaklardan birini de kullanabilirsiniz:
* [GitHub Explore](https://github.com/explore/)
* [Open Source Friday](https://opensourcefriday.com)
* [First Timers Only](https://www.firsttimersonly.com/)
* [CodeTriage](https://www.codetriage.com/)
* [24 Pull Requests](https://24pullrequests.com/)
* [Up For Grabs](https://up-for-grabs.net/)
* [First Contributions](https://firstcontributions.github.io)
* [SourceSort](https://web.archive.org/web/20201111233803/https://www.sourcesort.com/)
* [OpenSauced](https://opensauced.pizza/)
### Katkıda bulunmadan önce üzerinden geçilebilecek bir kontrol listesi
Katkıda bulunmak istediğiniz bir proje bulduğunuzda, projenin katkıları kabul etmeye uygun olduğundan emin olmak için hızlı bir tarama yapın. Aksi takdirde, sıkı çalışmanız asla bir yanıt alamayabilirsiniz.
İşte bir projenin yeni katılımcılar için iyi olup olmadığını değerlendirmek için kullanışlı bir kontrol listesi.
**Açık kaynak tanımını karşılar**
**Proje aktif olarak katkı kabul ediyor**
Ana daldaki geliştirici faaliyetine bakın. GitHub'da, bu bilgiyi bir kütüphanenin ana sayfasında görebilirsiniz.
Ardından, projenin sorun listesine bakın.
Şimdi aynısını projenin PR listesi için yapın.
**Proje katkı bekliyor mu?**
Arkadaş canlısı ve misafirperver bir proje, yeni katılımcılara açık olacağını belirtir.
## Nasıl katkı yapılır?
Hoşunuza giden bir proje buldunuz ve katkıda bulunmaya hazırsınız. En sonunda! İşte katkınızı doğru şekilde yapmanın yolu.
### Etkili iletişim kurmak
İster bir kerelik bir katkı yapan, ister bir topluluğa katılmaya çalışan biri olun, başkalarıyla çalışmak açık kaynak dünyasında geliştireceğiniz en önemli becerilerden biridir.
Bir sorunu açmadan veya bir PR oluşturmadan ya da sohbette bir soru sormadan önce, fikirlerinizi etkili bir şekilde ortaya çıkarmak için bu noktaları aklınızda bulundurun.
**Bağlam ver.** Başkalarının sizi anlamada hızlanmalarına yardımcı olun. Bir hatayla karşılaşıyorsanız, ne yapmaya çalıştığınızı ve nasıl tekrarlanabileceğini açıklayın. Yeni bir fikir önerecekseniz, neden projeye faydalı olacağını düşündüğünüzü açıklayın (sadece sizin için değil!).
> 😇 _"Y yaptığımda X olmuyor"_
>
> 😢 _"X çalışmıyor! Lütfen düzeltin."_
**Ödevini önceden yap.** Bir şeyleri bilmemek normaldir, ama denediğini göster. Yardım istemeden önce, bir projenin README'sini, belgelerini, sorun listesini (açık veya kapalı), e-posta listesini kontrol ettiğinizden ve bir cevap için interneti aradığınızdan emin olun. Öğrenmeye çalıştığını gösterdiğin zaman insanlar takdir edeceklerdir.
> 😇 _"X'in nasıl uygulanacağından emin değilim. Yardım belgelerini kontrol ettim ve herhangi bir yerde bulamadım."_
>
> 😢 "X nasıl yapılır?"
**İstekleri kısa ve öz tutun.** Bir e-posta göndermek gibi, ne kadar basit veya yararlı olursa olsun, her katkı başkasının incelemesini gerektirir. Birçok projenin, yardım için uygunların yapabileceklerinden daha fazla gelen talebi olur. Basit olun. Birinin size yardım edebilme şansını artıracaksınız.
> 😇 _"Bir API öğretici belgesi yazmak istiyorum."_
>
> 😢 _"Geçen gün otoyoldan aşağı iniyordum ve benzin için durdum ve sonra aklıma yapmamız gereken bir şey için inanılmaz bir fikir geldi, ama bunu açıklamadan önce sana göstereyim ..."_
**Tüm iletişimi herkese açık tutun.** Her ne kadar cazip olsa da, hassas bilgileri (güvenlik sorunu veya ciddi davranış ihlali gibi) paylaşmanız gerekmedikçe, geliştiricilere özel olarak ulaşmayın. Sohbeti herkese açık tuttuğunuzda, daha fazla kişi alış verişinizden öğrenebilir ve bundan faydalanabilir. Tartışmalar da kendi başlarına katkı sayılabilir.
> 😇 _(yorum olarak) "@-maintainer Merhabalar! Bu PR'a nasıl devam edelim?"_
>
> 😢 _(bir e-posta olarak) "Hey, e-posta yüzünden sizi rahatsız ettiğim için özür dilerim, ancak PR'mi gözden geçirme şansınız olup olmadığını merak ediyordum"_
**Soru sormak sorun değil (ama sabırlı olun!).** Herkes bir zamanlar projede yeniydi ve deneyimli katılımcıların bile yeni bir projeye bakarken hız kazanmaları gerekiyor. Aynı şekilde, uzun süredir devam edenler bile, projenin her bölümüne aşina değildir. Onlara size göstermelerini istediğiniz sabrı gösterin.
> 😇 _"Bu hatayı incelediğiniz için teşekkür ederiz. Önerilerinizi takip ettim. İşte sonuç."_
>
> 😢 _"Neden sorunumu çözemiyorsun? Bu senin projen değil mi?"_
**Topluluk kararlarına saygı gösterin.** Fikirleriniz, toplumun öncelikleri veya vizyonundan farklı olabilir. Geri bildirim sunabilir veya fikrinizi sürdürmemeye karar verebilirler. Tartışmanız ve uzlaşı aramanız gerekirken, geliştiriciler kararınızla sizden daha uzun yaşamak zorundadır. Düşüncelerine katılmıyorsanız, her zaman kendi çatalınızla çalışabilir veya kendi projenizi başlatabilirsiniz.
> 😇 _"Fikrimi destekleyemediğiniz için hayal kırıklığına uğradım, ancak bunun sadece kullanıcıların küçük bir bölümünü etkilediğini açıkladığınızdan, nedenini anlıyorum. Dinlediğiniz için teşekkürler."_
>
> 😢 _"Neden fikrimi desteklemiyorsun? Bu kabul edilemez!"_
**Her şeyden önce, zarif olun.** Açık kaynak dünyanın her yerinden ortak çalışanlardan oluşur. Bağlam diller, kültürler, coğrafyalar ve zaman dilimleri arasında kaybolur. Ek olarak, yazılı iletişim bir ton veya ruh halini iletmeyi zorlaştırır. Bu konuşmaların niyetlerinin iyi olduğunu düşünün. Bir fikre kibarca geri dönmek, daha fazla içerik istemek veya konumunuzu daha da netleştirmek iyi bir şey. İnterneti bulduğunuzdan daha iyi bir yer bırakmaya çalışın.
### Bağlamı toparlama
Herhangi bir şey yapmadan önce, fikrinizin başka bir yerde tartışılmadığından emin olmak için hızlıca kontrol edin. Projenin README"sini, sorun (açık ve kapalı) listesini, e-posta listesini ve StackOverflow"u gözden geçirin. Her şeyi yapmak için zaman harcamak zorunda değilsiniz, ancak birkaç anahtar terim için hızlı arama yapmak çok fayda sağlar.
Fikrinizi başka bir yerde bulamazsanız, harekete geçmeye hazırsınız. Proje GitHub'taysa, muhtemelen bir sorun açarak veya PR oluşturarak iletişim kurarsınız:
* **Sorunlar** bir konuşma veya tartışma başlatmak için iyi yerdir
* **PR** bir çözüm üzerinde çalışmaya başlamak içindir
* **Daha hafif bir iletişim** için açıklayıcı veya nasıl yapılır sorusu gibi, eğer varsa projenin Stack Overflow, IRC, Slack veya diğer sohbet kanallarından sormayı deneyin.
Bir sorun açmadan veya talepte bulunmadan önce, belirli bir şey eklemeniz gerekip gerekmediğini görmek için projenin katkıda bulunma belgelerini (genellikle CONTRIBUTING veya README dosyaları) kontrol edin. Örneğin, bir şablon izlemenizi istenebilir veya test ortamı kullanmanız gerekebilir.
Önemli bir katkı yapmak istiyorsanız, üzerinde çalışmadan önce sormanız gereken bir sorun açın. Projeyi bir süre izlemeniz yararlı olacaktır (GitHub'da, tüm konuşmalar size bildirilmek için ["İzle"yi tıklayabilirsiniz](https://help.github.com/articles/watching-repositories/)) ve kabul edilmeyebilecek bir işe başlamadan önce topluluk üyelerini tanıyın.
### Bir istek/sorun açmak
Genellikle aşağıdaki durumlarda bir sorun açmalısınız:
* Çözemediğiniz bir hatayı bildirmek için
* Üst düzey bir konuyu veya fikri tartışmak için (örneğin, topluluk, vizyon veya politikalar)
* Yeni bir özellik veya başka bir proje fikri önermek için
Sorunlar üzerinde iletişim kurmak için ipuçları:
* **Başa çıkmak istediğiniz açık bir sorun görürseniz**, konuyla ilgili insanlara çalıştığınızı bildirmek için yorum yapın. Bu şekilde, insanların aynı konu üzerinde gereksiz yere çalışması daha az olasıdır.
* **Eğer bir sorun bir süre önce açılmışsa**, başka bir yerde ele alınması ya da zaten çözülmüş olması olasıdır, bu nedenle çalışmaya başlamadan önce durum hakkında onay almak için yorum yapın.
* **Bir sorunu açtıysanız ancak cevabı daha sonra kendi başınıza çözdüyseniz**, durumu bildirmek için soruna yorum yapın, sonra sorunu kapatın. Bu sonucun belgelenmesi bile projeye bir katkıdır.
### PR açma
Genellikle aşağıdaki durumlarda bir PR açmalısınız:
* Önemsiz düzeltmeleri göndermek için (örneğin bir yazım hatası, bozuk bir bağlantı veya açık bir hata)
* Bir konuda önceden sorulmuş veya daha önce konuşmuş olduğunuz bir katkı için çalışmaya başladığınızda
Bir PR, bitmiş işi temsil etmek zorunda değildir. PR'ı erkenden açmak genellikle daha iyidir, bu nedenle diğerleri ilerlemeniz hakkında fikir sahibi olabilir veya geribildirimde bulunabilir. Sadece konu satırında bir "WIP" (Çalışmakta Olan Çalışma) etiketi ile işaretlemeniz yeterlidir. Daha sonra her zaman daha fazla geliştirme ekleyebilirsiniz.
Proje GitHub'taysa, PR nasıl gönderilir:
* **[Depoyu çatallayın](https://guides.github.com/activities/forking/)** ve yerel olarak klonlayın. Kendi yerelinize ana depoyu "upstream" olarak bağlayın. Sık sık "upstream" den yapılan değişiklikleri çekin, böylece güncel kalırsınız ve çekme isteğinizi gönderdiğinizde, birleştirme çakışmalarının olasılığı daha düşük olur. ([Burada](https://help.github.com/articles/syncing-a-fork/) daha ayrıntılı talimatlara bakın.)
* Düzenlemeleriniz için **[bir dal oluşturun](https://guides.github.com/introduction/flow/)** .
* **PR'nızda ilgili sorunlara** veya destekleyici belgelere atıfta bulunun (örneğin, "Closes #37")
* Değişiklikleriniz HTML/CSS"de farklılıklar içeriyorsa **önceki ve sonraki ekran görüntülerini ekleyin**. Görüntüleri PR gövdesine sürükleyip bırakarak yükleyebilirsiniz.
* **Değişikliklerinizi test edin!** Varsa, testleriniz varsa test edin ve gerektiğinde yenilerini oluşturun. Testlerin olup olmadığı, değişikliklerin mevcut projeyi bozmadığından emin olun.
* **Projenin tarzına uygun şekilde** katkıda bulunun. Bu koddaki girintileri, noktalı virgülleri veya yorumları kendi deponuzda olduğundan farklı bir şekilde kullanmak anlamına gelebilir, ancak bakıcının birleştirmesini, başkalarının gelecekte anlamasını ve sürdürmesini kolaylaştırır.
Bu ilk PR ise, @kentcdodds'ın bir örnek video eğitimi olarak oluşturduğu [Bir PR Yap](http://makeapullrequest.com/)'ı izleyin. Ayrıca, @Roshanjossey tarafından oluşturulan [First Contributions](https://github.com/Roshanjossey/first-contributions) deposunda çekme isteği yapmayı da deneyebilirsiniz.
## Yaptığınız katkıyı gönderdikten sonra ne olur?
Başardınız! Açık kaynak dünyasına katkıda bulunduğunuz için tebrikler. Umarız yapacağınız katkıların ilkidir.
Katkınızı gönderdikten sonra, aşağıdakilerden biri olacaktır:
### 😭 Hiç bir cevap almazsınız.
Umarım bir katkı yapmadan önce [projeyi faaliyet belirtileri açısından kontrol](#katk%C4%B1da-bulunmadan-%C3%B6nce-%C3%BCzerinden-ge%C3%A7ilebilecek-bir-kontrol-listesi) ettiniz. Ancak aktif bir projede bile, katkınızın yanıt alamaması olası.
Bir haftadan uzun bir süredir yanıt alamadıysanız, aynı konuya kibarca yorum yazmak, birinden inceleme istemek doğru olur. Katkınızı gözden geçirecek doğru kişinin adını biliyorsanız, bunları o konuya ekleyebilirsiniz (@).
Özel olarak o kişiye ulaşmaya **çalışmayın;** Açık iletişiminin açık kaynaklı projeler için hayati önem taşıdığını unutmayın.
Kibar hatırlatmanıza rağmen hala kimse cevap vermiyorsa, hiç kimsenin cevap vermemesi mümkündür. Harika bir duygu değil, ama bunun sizin cesaretinizi kırmasına izin vermeyin. Herkesin başına gelmiştir! Kontrolünüz dışında olabilecek kişisel durumlar da dahil olmak üzere, yanıt alamamanızın birçok olası nedeni olabilir. Başka bir proje ya da katkıda bulunmanın başka bir yolunu bulmaya çalışın. Eğer bir şey bulamıyorsanız, bu topluluk üyeleri size dönmeden ve cevap vermeden önce katkı yapmak için çok fazla zaman harcamamak için iyi bir nedendir.
### 🚧 Biri katkınızda değişiklik talep eder.
Katkınızda değişiklik yapmanızın istenmesi, fikrinizin kapsamı hakkında geribildirimde bulunulması veya kodunuzda değişiklik yapmanız istenmesi yaygındır.
Birisi değişiklik istediğinde, duyarlı olun. Katkınızı gözden geçirmek için zaman harcadılar. Bir PR açmak ve uzaklaşmak kötü bir durumdur. Nasıl değişiklik yapılacağını bilmiyorsanız, sorunu araştırın, daha sonra ihtiyacınız olursa yardım isteyin.
Artık sorun üzerinde çalışmak için zamanınız yoksa (örneğin, tartışma aylardır devam ediyorsa ve koşullarınız değiştiyse), ilgili kişilere yanıt beklememelerini bildirin. Başkası devralmaktan mutlu olabilir.
### 👎 Katkınız kabul edilmez.
Katkınız sonunda kabul edilebilir veya kabul edilmeyebilir. Umarım zaten çok fazla iş yapmamışsındır. Neden kabul edilmediğinden emin değilseniz, bakıcıdan geri bildirim ve açıklama istemek tamamen mantıklıdır. Ancak, sonuçta, bunun kendi kararları olduğundan saygı duymanız gerekir. Tartışma içine girmeyin ya da düşmanca davranmayın. Anlaşmazsanız her zaman kendi versiyonunuzla çalışmaya hazırsınız!
### 🎉 Katkınız kabul edilir.
Yaşasın! Açık kaynak dünyasına bir katkı yaptınız!
## Başardınız!
İster açık kaynak dünyasına ilk katkıyı yapmış, ister katkıda bulunmak için yeni yollar arıyor olun, harekete geçmek için ilham aldığınızı umarız. Katkınız kabul edilmese bile, bir geliştirici size yardım etmek için çaba gösterdiğinde teşekkür etmeyi unutmayın. Açık kaynak, sizin gibi insanlar tarafından üretilir: bir sorun, bir PR, yorum ya da beşlik.
================================================
FILE: _articles/tr/index.html
================================================
---
layout: index
lang: tr
title: Açık Kaynak Rehberleri
permalink: /tr/
---
================================================
FILE: _articles/tr/leadership-and-governance.md
================================================
---
lang: tr
title: Liderlik ve Yönetim
description: Büyüyen açık kaynak projeleri, karar almak için resmi kurallardan yararlanabilir.
class: leadership
order: 6
image: "/assets/images/cards/leadership.png"
related:
- best-practices
- metrics
---
## Büyüyen projeniz için yönetimi anlama
Projeniz büyüyor, insanlar dahil olmaya başladı ve siz bu şeyi sürdürmeye kararlısınız. Bu aşamada, düzenli proje katılımcılarını iş akışınıza nasıl dahil edeceğinizi, örneğin birine giriş izni verilmesini veya topluluk tartışmalarını nasıl çözüleceğini merak ediyor olabilirsiniz. Sorularınız varsa, cevaplarımız da var.
## Açık kaynak projelerde kullanılan resmi rol türleri nelerdir?
Birçok proje katılımcı rolleri ve tanınması için ortak benzer bir yapı izler.
Bu rollerin aslında ne anlama geldiği tamamen size kalmış bir şey. İşte size de tanıdık gelebilecek rollerin birkaçı:
* **Sorumlu (maintainer)**
* **Katkıda bulunan (contributor)**
* **Ekip üyesi**
**Bazı projeler için, "sorumlular"** projeye giriş hakkı olan projedeki tek kişilerdir. Diğer projelerde, onlar sadece README'de listelenen insanlardır.
Bir sorumlunun projeniz için kod yazan biri olması gerekmez. Projenizi değiştirmek için çok fazla iş yapan veya projeyi başkalarına daha erişilebilir kılan yazılı belgeler olabilir. Günlük olarak ne yaptıklarından bağımsız olarak, bir sorumlu muhtemelen proje yönünden sorumluluk duyan ve geliştirmeye kendini adamış bir kişidir.
**"Katkıda bulunan"**, bir sorun veya PR hakkında yorum yapan, projeye değer katan insanlar (sorunları birleştiren, kod yazan veya etkinlik düzenleyen) veya birleştirilmiş PR'si olan herkes (belki de en dar tanımı katkıda bulunan) olabilir.
**"committer" terimi** , belirli bir sorumluluk türü olan commit erişimini diğer katkı şekillerinden ayırmak için kullanılabilir.
Proje rollerinizi dilediğiniz şekilde tanımlayabilmenize rağmen, daha fazla katkı biçimi geliştirmek için [daha geniş tanımları kullanmayı düşünün](../how-to-contribute/#katkıda-bulunmak-ne-demektir). Teknik becerilerinden bağımsız olarak, projenize olağanüstü katkı sağlayan kişileri resmen tanımak için liderlik rollerini kullanabilirsiniz.
## Bu liderlik rollerini nasıl resmileştiririm?
Liderlik rollerini resmileştirmek, insanların sahipliğini hissetmesine yardımcı olur ve diğer topluluk üyelerine kimden yardım isteyenleri söyler.
Daha küçük bir proje için, lider seçmek isimlerini README veya bir CONTRIBUTORS metin dosyasına eklemek kadar basit olabilir.
Daha büyük bir proje için, bir web siteniz varsa, bir ekip sayfası oluşturun veya proje liderlerinizi burada listeleyin. Örneğin, [Postgres](https://github.com/postgres/postgres/) , her katılımcı için kısa profillerden oluşan [kapsamlı bir ekip sayfasına](https://www.postgresql.org/community/contributors/) sahiptir.
Projeniz çok aktif bir katılımcı topluluğa sahipse, farklı konu alanlarına (örneğin, güvenlik, sorun izleme veya topluluk davranışı) sahip olan kişilerden oluşan bir "çekirdek ekip" veya hatta alt grup komiteleri oluşturabilirsiniz. Rolleri sizin atamanız yerine, insanların en çok heyecanlandıkları roller için kendi kendilerini organize ve gönüllü olmalarına fırsat verin.
Liderlik ekipleri projeyi tartışmak için (Gitter veya Google Hangout'ta olduğu gibi) belirlenmiş bir kanal oluşturmak (IRC'deki gibi) veya düzenli olarak buluşmak isteyebilir. Hatta başkalarının dinleyebilmesi için bu toplantıları halka açabilirsiniz. Örneğin [Cucumber-ruby](https://github.com/cucumber/cucumber-ruby) [her hafta çalışma saatlerinde yayın yapar](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs) .
Liderlik rolleri belirledikten sonra, insanların onlara nasıl ulaşabileceğini belgelemeyi unutmayın! Projenizde birisinin nasıl sorumlu olabileceği ya da bir alt komiteye katılabileceği konusunda net bir süreç belirleyin ve bunu GOVERNANCE.md'inize yazın.
[Vossibility](https://github.com/icecrime/vossibility-stack) gibi araçlar, projeye kimin katkı sağladığını (ya da yapmadığını) izlemenize yardımcı olabilir. Bu bilginin belgelenmesi, topluluk sahiplerinin, kararlarını özel olarak veren bir klik olduğuna inanmalarını engeller.
Son olarak, projeniz GitHub'daysa, projenizi kişisel hesabınızdan bir organizasyon hesabına taşımayı ve en az bir yedek yönetici eklemeyi düşünün. [GitHub Organizasyonları](https://help.github.com/articles/creating-a-new-organization-account/) izinleri ve çoklu depoları yönetmeyi kolaylaştırır ve projenizin mirasını [ortak mülkiyet](../building-community/#projenizi-paylaşın) yoluyla korur.
## Ne zaman birine commit izni vermeliyim?
Bazı insanlar katkıda bulunan herkese commit yetkisi vermeniz gerektiğini düşünür. Bunu yapmak, daha fazla kişiyi projenizin sahipliğini hissetmeye teşvik edebilir.
Öte yandan, özellikle daha büyük, daha karmaşık projeler için, yalnızca kendilerini kanıtlayan kişilere commit hakkı vermek isteyebilirsiniz. Bunu yapmanın doğru bir yolu yok - sizi en rahat ettiren şeyi yapın!
Projeniz GitHub'daysa, belirli bir dala kimin ve hangi şartlar altında kod gönderebileceğini yönetmek için [korumalı dalları](https://help.github.com/articles/about-protected-branches/) kullanabilirsiniz.
## Açık kaynaklı projeler için ortak yönetim yapılarının bazıları nelerdir?
Açık kaynak projeleriyle ilgili üç ortak yönetim yapısı vardır.
* **BDFL:** BDFL (Benevolent Dictator for Life) "Yaşam için Yardımcı Diktatör" anlamına gelir. Bu yapı altında, bir kişinin (genellikle projenin ilk yazarı) tüm büyük proje kararları hakkında kesin sözleri vardır. [Python](https://github.com/python) klasik bir örnektir. Daha küçük projeler muhtemelen varsayılan olarak BDFL'dir, çünkü yalnızca bir veya iki koruyucu vardır. Bir şirketten kaynaklanan bir proje de BDFL kategorisine girebilir.
* **Meritokrasi:** **(Not: "meritokrasi" terimi, bazı topluluklar için olumsuz çağrışımlar taşır ve özellikle [karmaşık bir sosyal ve politik tarihe sahip](http://geekfeminism.wikia.com/wiki/Meritocracy) ülkelerde.)** Bir meritokrasi kapsamında, aktif proje katılımcılarına ("sahiplik" gösterenler) resmi bir karar verme rolü verilir. Kararlar genellikle saf oy birliği ile yapılır. Meritokrasi kavramı [Apache Vakfı](https://www.apache.org/) tarafından öncülük edildi; [tüm Apache projeleri](https://www.apache.org/index.html#projects-list) meritokrasilerdir. Katkılar, bir şirketi değil, yalnızca kendilerini temsil eden kişiler tarafından yapılabilir.
* **Liberal katkı:** Liberal katkı modelinde, en çok işi yapan insanlar en etkili olarak kabul edilir, ancak bu mevcut çalışmalara dayanmaktadır ve tarihi katkılara dayanmamaktadır. Büyük proje kararları, saf oylama yerine oybirliği arayışı sürecine (büyük şikayetleri tartışmak) temel almakta ve mümkün olduğunca çok toplum perspektifini dahil etmeye çalışmaktadır. Liberal bir katkı modeli kullanan popüler proje örnekleri arasında [Node.js](https://foundation.nodejs.org/) ve [Rust](https://www.rust-lang.org/) bulunur.
Hangisini kullanmalısın? Sana kalmış! Her modelin avantajları ve dezavantajları vardır. İlk başta oldukça farklı görünseler de, üç modelin de göründüğünden daha çok ortak noktaları vardır. Bu modellerden birini benimsemekle ilgileniyorsanız, şu şablonları inceleyin:
* [BDFL model şablonu](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [Meritokrasi modeli şablonu](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js'in liberal katkı politikası](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
## Projemi başlattığımda yönetim belgelerine ihtiyacım var mı?
Projenizin yönetimini şekillendirmek için doğru zaman yok, ancak topluluk dinamiklerini belirlendikten sonra tanımlamak çok daha kolay. Açık kaynak yönetimi ile ilgili en iyi (ve en zor) kısım, toplum tarafından şekillendirilmesidir!
Bununla birlikte, bazı erken hazırlanmış belgeler kaçınılmaz olarak projenizin yönetimine katkıda bulunacaktır, bu yüzden ne yapabileceğinizi yazmaya başlayın. Örneğin, projenizin başlangıcında bile davranışa ilişkin net beklentileri veya katkıda bulunan sürecin nasıl çalıştığını tanımlayabilirsiniz.
Açık kaynak kodlu bir projeyi başlatmakta olan bir şirketin bir parçasıysanız, şirketinizin projeyi sürdürmek ve ilerletmek için nasıl bir karar vereceğini önceden içerde tartışmaya açmaya değer. Ayrıca, şirketinizin projeye nasıl dahil olacağına (veya olmayacağına) açık bir şekilde açıklamak isteyebilirsiniz.
## Şirket çalışanları katkı göndermeye başlarsa ne olur?
Başarılı açık kaynak projeler birçok kişi ve şirket tarafından kullanılmakta ve bazı şirketler nihayetinde projeye bağlı olarak gelir akışlarına neden olabilmektedir. Örneğin, bir şirket, bir ticari hizmet teklifinde projenin kodunu bir bileşen olarak kullanabilir.
Proje yaygınlaştıkça, konusunda uzmanlığı olan kişilerden daha fazla rağbet görür - onlardan biri siz de olabilirsiniz! - ve bazen projede yaptıkları iş için para da alıyor olabilirler.
Ticari faaliyeti normal kabul edip ve başka bir gelişim enerjisi kaynağı olarak ele almak önemlidir. Ücretli geliştiriciler elbette ücretsiz olanlardan farklı muamele görmemelidir. Her katkı, teknik esasına göre değerlendirilmelidir. Bununla birlikte, insanlar ticari faaliyetlerde bulunmak için kendilerini rahat hissetmeli ve belirli bir geliştirme veya özellik lehine tartışırken kullanım durumlarını belirtmekte kendilerini rahat hissetmelidirler.
"Ticari", "açık kaynak" ile tamamen uyumludur. "Ticari" sadece bir yerde para olduğu anlamına gelir - yazılımın bir projenin benimsenmesi arttıkça artan bir şekilde ticarette kullanıldığı anlamına gelir. (Açık kaynak yazılım, açık kaynak olmayan bir ürünün parçası olarak kullanıldığında, genel ürün hala "tescilli" bir yazılımdır, ancak açık kaynak gibi ticari veya ticari olmayan amaçlar için de kullanılabilir.)
Diğer herkes gibi, ticari olarak motive edilmiş geliştiriciler, katkılarının niteliği ve niceliği ile projede etki kazanabilirler. Açıkçası, zamanı için ödeme yapan bir geliştirici, ödeme almayan birinden daha fazlasını yapabilir, ancak sorun değil: ödeme, birisinin yapabileceklerini etkileyebilecek olası birçok faktörden yalnızca biridir. Proje tartışmalarınızda, insanların bu katkıları yapmalarını sağlayan dış etkenlere değil, katkılara odaklanmaya devam edin.
## Projemi desteklemek için tüzel kişiliğe ihtiyacım var mı?
Parayla çalışmadığınız sürece açık kaynak projenizi desteklemek için tüzel kişiliğe ihtiyacınız yoktur.
Örneğin, ticari bir işletme oluşturmak istiyorsanız, bir C Corp veya LLC kurmak istersiniz (ABD merkezli iseniz). Açık kaynak projenizle ilgili sadece sözleşmeli iş yapıyorsanız, parayı tek mal sahibi olarak kabul edebilir veya bir LLC (ABD merkezli iseniz) kurabilirsiniz.
Açık kaynak projeniz için bağış kabul etmek istiyorsanız, bağış butonu ayarlayabilirsiniz (örneğin, PayPal veya Stripe kullanarak), ancak uygun olmayan bir kar amacı gütmediğiniz sürece para vergiden düşülmez (eğer bir 501c3, ABD'desiniz).
Birçok proje kar amacı gütmeyen bir kuruluş kurma zorunluluğunu yaşamak istememektedir, bu yüzden kar amacı gütmeyen bir mali sponsor bulmaktadırlar. Mali bir sponsor, genellikle bağışın bir yüzdesi karşılığında, sizin adınıza bağışları kabul eder. [Yazılım Özgürlüğü Koruması](https://sfconservancy.org/), [Apache Vakfı](https://www.apache.org/), [Eclipse Vakfı](https://eclipse.org/org/), [Linux Vakfı](https://www.linuxfoundation.org/projects) ve [Açık Kollektifi](https://opencollective.com/opensource) açık kaynak projeleri için mali sponsor olarak hizmet veren kuruluşlara örnektir.
Projeniz belirli bir dil veya ekosistem ile yakından ilişkiliyse, birlikte çalışabileceğiniz ilgili bir yazılım kuruluşu da olabilir. Örneğin, [Python Software Foundation](https://www.python.org/psf/) [PyPI](https://pypi.org/) Python paket yöneticisini desteği ve [node.js Vakfı](https://foundation.nodejs.org/)'nın [Express.js](https://expressjs.com/) Node tabanlı bir çerçeveye desteği gibi.
================================================
FILE: _articles/tr/legal.md
================================================
---
lang: tr
title: Açık Kaynağın Hukuki Tarafı
description: Açık kaynağın yasal yönü hakkında merak ettiğiniz her şey ve merak etmediğiniz birkaç şey.
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
---
## Açık kaynağın yasal etkilerini anlama
Yaratıcı çalışmalarınızı dünyayla paylaşmak heyecan verici ve faydalı bir deneyim olabilir. Ayrıca endişelenmeniz gereken bilmediğiniz bir sürü yasal şey anlamına da gelebilir. Neyse ki, sıfırdan başlamak zorunda değilsiniz. Yasal ihtiyaçlarınızı karşıladık. (Kazma vurmadan önce, [yasal uyarılarımızı](/notices/) okuduğunuzdan emin olun.)
## İnsanlar neden açık kaynağın yasal tarafını bu kadar önemsiyorlar?
Sormanıza sevindim! Yaratıcı bir çalışma yaptığınızda (yazı, grafik veya kod gibi), bu varsayılan olarak özel telif hakkı altındadır. Diğer bir deyişle, yasa çalışmanızın yazarı olarak başkalarının onunla neler yapabileceği konusunda bir sözünüz olduğunu varsayar.
Genel olarak, bu çalışmalarınızı dava riski altında olmadan hiç kimsenin kullanamayacağı, kopyalayamayacağı, dağıtamayacağı veya değiştiremeyeceği anlamına gelir.
Açık kaynak sıradışı bir durumdur, çünkü yazar diğerlerinin çalışmayı kullanmasını, değiştirmesini ve paylaşmasını bekler. Ancak yasal varsayılan hala özel bir telif hakkı olduğundan, bu izinleri açıkça belirten bir lisansa ihtiyacınız vardır.
Açık kaynak lisansı uygulamazsanız, projenize katkıda bulunan herkes, çalışmalarının münhasır bir telif hakkı sahibi olur. Bu, hiç kimsenin katkılarını kullanamayacağı, kopyalayamayacağı, dağıtamayacağı veya değiştiremeyeceği anlamına gelir - ve bu "hiç kimse" sizi de içerir.
Son olarak, projeniz sizin bilmediğiniz lisans gereksinimlerine bağlı olabilir. Projenizin topluluğu veya işvereninizin politikaları, projenizin özel açık kaynak lisansları kullanmasını da gerektirebilir. Aşağıda bu durumları ele alacağız.
## Açık GitHub projeleri açık kaynak mı?
GitHub'da [yeni bir proje oluşturduğunuzda](https://help.github.com/articles/creating-a-new-repository/), proje kütüphanesini **gizli** veya **açık** hale getirme seçeneğiniz vardır.

**GitHub projenizi herkese açık hale getirmek, projenizi lisanslamakla aynı değildir.** Genel projeler, başkalarının projenizi görüntülemesine ve düzenlemesine izin veren [GitHub'ın Hizmet Koşulları](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants) kapsamındadır, gizli yaparsanız işiniz başkalarına izinsizdir.
Başkalarının projenizi kullanmasını, dağıtmasını, değiştirmesini veya katkıda bulunmasını istiyorsanız, açık kaynaklı bir lisans eklemeniz gerekir. Örneğin, birileri, açıkça yapma hakkını vermediğiniz sürece, kamuya açık olsa bile, GitHub projenizin herhangi bir bölümünü yasalarında kullanamaz.
## Sadece bana projemi korumak için ihtiyacım olan karışık metni verin.
Şanslısınız, çünkü bugün açık kaynaklı lisanslar standartlaştırılmış ve kullanımı kolaydır. Mevcut bir lisansı doğrudan projenize kopyalayıp yapıştırabilirsiniz.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) ve [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) en popüler açık kaynaklı lisanslardır, ancak seçilebilecek başka seçenekler de vardır. [Choosealicense.com](https://choosealicense.com/)'da bu lisansların tam metnini ve nasıl kullanılacağına ilişkin talimatları bulabilirsiniz.
GitHub'da yeni bir proje oluşturduğunuzda sizden [bir lisans eklemeniz istenir](https://help.github.com/articles/open-source-licensing/).
## Projem için hangi açık kaynak lisansı uygundur?
Boş bir sayfadan başlıyorsanız, [MIT Lisansı](https://choosealicense.com/licenses/mit/) ile yanlış yapmak zordur. Kısa, anlaşılması çok kolaydır ve telif hakkı uyarınız da dahil olmak üzere herhangi bir lisansın bir kopyasını sakladığı sürece herhangi bir şey yapmasına izin verir. Gerekirse, projeyi farklı bir lisans altında yayınlayabilirsiniz.
Aksi takdirde, projeniz için doğru açık kaynak lisansını seçmek hedeflerinize bağlıdır.
Projenizin büyük olasılıkla (veya olacak) **bağımlılıkları var**. Örneğin, bir Node.js projesi yapıyorsanız, muhtemelen Node Paket Yöneticisi'nden (npm) kitaplıkları kullanırsınız. Bağlandığınız bu kütüphanelerin her birinin kendi açık kaynaklı lisansı olacaktır. Lisanslarının her biri "izin verilebilir" ise (kamuya, alt lisans lisansı için herhangi bir şart olmaksızın, kullanma, değiştirme ve paylaşma izni verir), istediğiniz herhangi bir lisansı kullanabilirsiniz. Yaygın izin verilen lisanslar MIT, Apache 2.0, ISC ve BSD'dir.
Öte yandan, bağımlılıklarınızın herhangi birindeki lisansları "güçlü copyleft" ise (aynı lisansı aynı lisansı kullanma şartı ile halka açık kullanıma aynı izinler verir), projeniz aynı lisansı kullanmak zorunda kalacaktır. Ortak güçlü copyleft lisanslarına GPLv2, GPLv3 ve AGPLv3 dahildir.
Ayrıca, projenizi kullanacağını ve projenize katkıda bulunacağını umduğunuz **toplulukları** göz önünde bulundurmak isteyebilirsiniz:
* **Projenizin diğer projeler tarafından bir bağımlılık olarak kullanılmasını istiyor musunuz?** İlgili topluluktaki en popüler lisansı kullanmak için muhtemelen en iyisi. Örneğin, [MIT](https://choosealicense.com/licenses/mit/), [npm kütüphaneleri](https://libraries.io/search?platforms=NPM) için en popüler lisanstır.
* **Projenizin büyük işletmelere hitap etmesini ister misiniz?** Büyük bir işletme muhtemelen tüm katılımcılardan açık bir patent lisansı isteyecektir. Bu durumda, [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) size (ve onlara) uygundur.
* **Projenizin, yaptıkları katkıların kapalı kaynak kodlu yazılımlarda kullanılmasını istemeyenlere hitap etmesini ister misiniz?** [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) veya (kapalı kaynak hizmetlerine katkıda bulunmak istemiyorlarsa) [AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) sizin için iyidir.
**Şirketinizin** açık kaynaklı projeleri için özel lisanslama gereksinimleri olabilir. Örneğin, izin verilen bir lisans gerektirebilir, böylece şirket projenizi şirketin kapalı kaynaklı ürününde kullanabilir. Veya şirketiniz güçlü bir copyleft lisansı ve ek bir katkı sözleşmesi (aşağıya bakınız) isteyebilir, böylece yalnızca şirketiniz ve başka hiç kimse projenizi kapalı kaynaklı yazılımında kullanamaz. Yada şirketiniz, herhangi biri belirli bir lisanslama stratejisi gerektirebilecek standartlar, sosyal sorumluluk veya şeffaflıkla ilgili belirli ihtiyaçlara sahip olabilir. [Şirketinizin hukuk departmanıyla](#şirketimin-hukuk-ekibinin-neleri-bilmesi-gerekiyor) konuşun.
GitHub'da yeni bir proje oluşturduğunuzda, size bir lisans seçme seçeneği sunulur. Yukarıda belirtilen lisanslardan birinin dahil edilmesi GitHub projenizi açık kaynak yapacaktır. Başka seçenekler görmek isterseniz, projeniz için doğru lisansı bulmak için [choosealicense.com](https://choosealicense.com) adresini ziyaret edin, proje [yazılım](https://choosealicense.com/non-software/) projesi olmasa bile.
## Projemin lisansını değiştirmek istersem ne olur?
Çoğu projenin lisanslarını değiştirmesi gerekmez. Ancak bazen koşullar değişebilir.
Örneğin, projeniz büyüdükçe bağımlılık veya kullanıcı sayısı artar veya şirketiniz, herhangi biri farklı bir lisans gerektirebilecek veya isteyebilecek strateji değişikliğine gidebilir. Ayrıca, projenizi baştan itibaren lisanslamayı ihmal ettiyseniz, bir lisans eklemek etkili bir şekilde lisans değiştirmekle aynıdır. Projenizin lisansını eklerken veya değiştirirken göz önünde bulundurmanız gereken üç temel husus vardır:
**Bu iş karmaşıktır.** Lisans uygunluğunu ve uyumluluğunu belirlemek ve telif hakkını elinde tutan kişiler çok hızlı bir şekilde karmaşık ve kafaları karışık olabilir. Yeni sürümler ve katkılar için yeni ama uyumlu bir lisansa geçmek, tüm mevcut katkılardan vazgeçmekten farklıdır. Lisans değiştirme isteğinin ilk aşamalarına hukuk ekibinizi dahil edin. Bir lisans değişikliği için projenizin telif hakkı sahiplerinden izin almış olsanız veya izin alsanız bile, değişikliğin projenizin diğer kullanıcıları ve katkıda bulunanları üzerindeki etkisini göz önünde bulundurun. Projeniz için, paydaşlarınızla net iletişim ve istişarelerde daha sorunsuz bir şekilde ilerleyebilecek olan bir lisans değişikliğini projeniz için bir "yönetişim etkinliği" olarak düşünün. Bunların hepsi projeniz için başlangıçtan itibaren uygun bir lisans seçmek ve kullanmak için yeterince sebeplerdir!
**Projenizin mevcut lisansı.** Projenizin mevcut lisansı, değiştirmek istediğiniz lisansla uyumluysa, yeni lisansı kullanmaya başlayabilirsiniz. Bunun nedeni, eğer A lisansı B lisansı ile uyumluysa, B şartlarına uyurken A şartlarına uymanız gerekir (ancak bunun tersi geçerli değildir). Dolayısıyla, şu anda izin verilen bir lisans kullanıyorsanız (örneğin, MIT), MIT lisansının bir kopyasını ve ilgili tüm telif hakkı bildirimlerini sakladığınız sürece, daha fazla koşullu bir lisansa geçebilirsiniz (örneğin, MIT lisansının asgari koşulları). Ancak mevcut lisansınıza izin verilmezse (örneğin, copyleft veya lisansınız yoksa) ve tek telif hakkı sahibi değilseniz, projenizin lisansını MIT olarak değiştiremezsiniz. Esasen, izin verilen bir lisans ile projenin telif hakkı sahiplerinin lisanslarını değiştirmek için önceden izin vermişlerdir.
**Projenizin mevcut telif hakkı sahipleri.** Projenize katkıda bulunan tek kişi iseniz, o zaman siz veya şirketiniz projenin tek telif hakkı sahibisiniz. Sizin veya şirketinizin istediği lisansı ekleyebilir veya değiştirebilirsiniz. Aksi takdirde, lisansları değiştirmek için anlaşma yapmanız gereken başka telif hakkı sahipleri olabilir. Onlar kim? Projenizde katkısı olan kişiler başlamak için iyi bir yerdir. Ancak bazı durumlarda telif hakkı bu kişilerin işverenleri tarafından verilecektir. Bazı durumlarda insanlar sadece asgari katkı sağlayacaklardır, ancak bazı kod satırları altındaki katkıların telif haklarına tabi olmadığına dair kesin ve hızlı bir kural yoktur. Ne yapalım? Duruma göre değişir. Göreceli olarak küçük ve yeni bir proje için, mevcut tüm katılımcılardan bir sorun ya da çekme talebinde lisans değişikliğini kabul etmelerini sağlamak mümkün olabilir. Büyük ve uzun ömürlü projeler için birçok katılımcı ve hatta mirasçıları aramanız gerekebilir. Mozilla'nın Firefox, Thunderbird ve ilgili yazılımları yeniden lisanması yıllarını (2001-2006) aldı.
Alternatif olarak, katkıda bulunanlara, mevcut açık kaynak lisansınız tarafından izin verilenlerin ötesinde, belirli koşullar altında belirli lisans değişikliklerinde önceden (ek bir anlaşma yaparak - aşağıya bakınız) karar vermiş olabilirsiniz. Bu, değişen lisansların karmaşıklığını biraz değiştirir. Önceden avukatlarınızdan daha fazla yardıma ihtiyacınız olacak ve bir lisans değişikliği yaparken projenizin paydaşlarıyla açıkça iletişim kurmak isteyeceksiniz.
## Projemin ek bir katkı sözleşmesine ihtiyacı var mı?
Muhtemelen yoktur. Açık kaynak projelerin büyük çoğunluğu için açık kaynaklı bir lisans, hem gelenler (katkıda bulunanlardan) hem de gidenler (diğer katkıda bulunanlar ve kullanıcılar için) için lisans olarak açık şekilde hizmet vermektedir. Projeniz GitHub'daysa, GitHub Hizmet Şartları "inbound = outbound" ı [açık varsayılan yapar](https://help.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license) .
Ek bir katılımcı sözleşmesi - genellikle Katılımcı Lisans Sözleşmesi (CLA) olarak adlandırılır - proje sahipleri için idari işler yaratabilir. Bir anlaşmanın ne kadar iş gerektirdiği proje ve uygulamaya bağlıdır. Basit bir anlaşma, katkıda bulunanların, bir tıklamayla, proje açık kaynak lisansı kapsamında katkıda bulunmak için gerekli haklara sahip olduklarını onaylamalarını gerektirebilir. Daha karmaşık bir anlaşma, katkıda bulunanların işverenlerinin yasal incelemesini ve imzalarını gerektirebilir.
Ayrıca, bazılarının gereksiz olduğuna, anlaşılmasının zor veya haksız olduğuna inandığı "evraklar" ekleyerek (sözleşme alıcısı katkıda bulunanlardan veya halkın projenin açık kaynak lisansı aracılığıyla yaptığı haklardan daha fazla hak kazandığında), ek bir katılımcı anlaşması projenin topluluğuna dostça görülmeyebilir.
Projeniz için ek bir katılımcı sözleşmesi düşünmek isteyebileceğiniz bazı durumlar şunlardır:
* Avukatlarınız açık kaynak lisanslarını yeterli bulmadıklarından (öyle olsa bile!) tüm katılımcıları katılımcı sözleşmelerimi açıkça kabul etmek (çevrimiçi veya çevrimdışı _işaretlemelerini_) isteyebilir. Bu tek endişe ise, projenin açık kaynaklı lisansını onaylayan bir katılımcı sözleşmesi yeterli olmalıdır. [JQuery Bireysel Katılımcı Lisans Sözleşmesi](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/), hafif bir ek katılımcı sözleşmesi için iyi bir örnektir. Bazı projeler için, [Developer Certificate of Origin](https://github.com/probot/dco) alternatif olabilir.
* Projeniz, açık bir patent hibesi (MIT gibi) içermeyen bir açık kaynak lisansı kullanıyor ve bazıları sizi hedeflemek için kullanılabilecek büyük patent portföyleri olan şirketler için çalışabilecek tüm katılımcılardan bir patent hibesine ihtiyacınız var. [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) Apache License 2.0. lisansında bulunan ve çokça kullanılan bir katılımcı sözleşmesidir.
* Projeniz bir copyleft lisansı altında, ancak aynı zamanda projenin tescilli bir versiyonunu da dağıtmanız gerekiyor. Size telif hakkı veren veya size (ancak halka değil) izin veren bir lisans veren her katılımcıya ihtiyacınız olacaktır. [MongoDB Katılımcı Anlaşması](https://www.mongodb.com/legal/contributor-agreement) bu tür bir anlaşma örneğidir.
* Projenizin ömrü boyunca lisansları değiştirmesi gerekebileceğini ve katkıda bulunanların bu tür değişiklikleri önceden kabul etmesini isteyebileceğinizi düşünüyorsunuz.
* Projenizin kullanım ömrü boyunca lisansları değiştirmesi gerekebileceğini ve katkıda bulunanların bu tür değişiklikleri önceden kabul etmelerini isteyebilirsiniz.
Projeniz için ek bir katılımcı sözleşmesi kullanmanız gerekiyorsa, katılımcıların dikkatini dağıtmayı en aza indirmek için [CLA yardımcısı](https://github.com/cla-assistant/cla-assistant) gibi bir entegrasyon kullanmayı düşünün.
## Şirketimin hukuk ekibinin neleri bilmesi gerekiyor?
Açık kaynaklı bir projeyi bir şirket çalışanı olarak yayınlıyorsanız, önce hukuk ekibiniz bir proje tedarik ettiğinizi bilmelidir.
Daha iyi veya daha kötüsü, kişisel bir proje olsa bile, onlara bildirmeyi düşünün. Büyük olasılıkla, şirketinizle kendilerine projelerinizi kontrol etmelerini sağlayan bir "çalışan IP sözleşmesi" uygulamanız vardır, özellikle de şirketin işi ile ilgili ise veya projeyi geliştirmek için herhangi bir şirket kaynağını kullanıyorsanız. Şirketiniz size kolayca izin _vermeli_ ve belki de zaten çalışan dostu bir IP sözleşmesi veya şirket politikası ile sahip olabilir. Aksi takdirde pazarlık yapabilirsiniz (örneğin, projenizin şirketin sizin için mesleki öğrenme ve gelişim hedeflerine hizmet ettiğini açıklayın) veya daha iyi bir şirket bulana kadar projeniz üzerinde çalışmaktan kaçının.
**Şirketiniz için bir proje açmaya açıksanız**, kesinlikle onları bilgilendirin. Yasal ekibinizde muhtemelen, şirketin iş gereksinimlerine ve projenizin bağımlılıklarının lisanslarına uymasını sağlama konusundaki uzmanlığına dayalı olarak kullanılacak açık kaynaklı lisans (ve belki de ek katkı sözleşmesi) için politikalar zaten vardır. Olmazsa, sen ve onlar şanslısınız demektir! Hukuk ekibiniz bu olayları çözmek için sizinle birlikte çalışmaya istekli olmalıdır. Göz önünde bulundurulması gereken bazı şeyler:
* **Üçüncü taraf materyali:** Projeniz başkaları tarafından yaratılan bağımlılıklara sahip mi, yoksa başkalarının kodunu içeriyor veya kullanıyor mu? Bunlar açık kaynak ise, malzemelerin açık kaynak lisanslarına uymanız gerekir. Bu, üçüncü taraf açık kaynaklı lisanslarla çalışan bir lisans seçmekle başlar (yukarıya bakın). Projeniz üçüncü taraf açık kaynak materyalini değiştirir veya dağıtırsa, yasal ekibiniz ayrıca üçüncü taraf açık kaynak lisanslarının diğer koşullarını yerine getirdiğinizi bilmek isteyecektir. Projeniz açık kaynak lisansı olmayan başkalarının kodunu kullanıyorsa, büyük olasılıkla üçüncü taraf bakımcılardan [açık kaynak lisansı eklemelerini](https://choosealicense.com/no-license/#for-users) istemeniz ve bunlardan birini alamamanız durumunda, kodlarını kullanmaktan vazgeçmeniz gerekir.
* **Ticari sırlar:** Projede, şirketin genel kullanıma açık olmasını istemediği bir şey olup olmadığını dikkate alın. Öyleyse, gizli tutmak istediğiniz malzemeyi çıkardıktan sonra projenizin geri kalan kısmını kaynak olarak açabilirsiniz.
* **Patentler:** Şirketiniz, projenizin açık kaynak kodlu bir şekilde [kamuya açıklanmasını](https://en.wikipedia.org/wiki/Public_disclosure) sağlayacak bir patent başvurusu yapıyor mu? Ne yazık ki beklemeniz istenebilir (veya şirketten, uygulamanın bilgeliğini yeniden gözden geçirir). Projenize büyük patent portföyüne sahip şirketlerin çalışanlarından katkıda bulunmayı bekliyorsanız, yasal ekibiniz katkıda bulunanlardan (Apache 2.0 veya GPLv3 gibi) açık bir patent ödeneği olan bir lisans veya ek bir katılımcı sözleşmesini ( yukarıyı bakın) kullanmanızı isteyebilir.
* **Ticari Markalar:** Projenizin adının [mevcut hiçbir ticari marka ile çakışmadığından](../starting-a-project/#benzersiz-isim-bulmak) emin olun. Projede kendi şirket ticari markalarınızı kullanıyorsanız, herhangi bir anlaşmazlık yaratmadığını kontrol edin. [FOSSmarks](http://fossmarks.org/) , markaları ücretsiz ve açık kaynaklı projeler bağlamında anlamak için pratik bir rehberdir.
* **Gizlilik:** Projeniz kullanıcılar hakkında veri topluyor mu? Şirket sunucularına "bağlanıyor" mu? Hukuk ekibiniz şirket politikalarına ve dış düzenlemelere uymanıza yardımcı olabilir.
Şirketinizin ilk açık kaynaklı projesini yayınlıyorsanız, yukarıdakiler üstesinden gelmek için fazlasıyla yeterlidir (ancak endişelenmeyin, çoğu proje endişelendirecek bir durum oluşturmayacaktır).
Daha uzun vadede hukuk ekibiniz, şirketin açık kaynaklara katılımından daha fazlasını elde etmesi ve güvende kalması için daha fazlasını yapabilir:
* **Çalışanlar için katkı politikaları:** Çalışanlarınızın açık kaynaklı projelere nasıl katkıda bulunduğunu belirten bir kurumsal politika geliştirmeyi düşünün. Açık bir politika, çalışanlarınız arasındaki karmaşayı azaltacaktır ve işlerinin bir parçası olarak veya boş zamanlarında, şirketin çıkarlarına faydalı olacak şekilde açık kaynak projelere katkıda bulunmalarına yardımcı olacaktır. Buna iyi bir örnek Rackspace'in [Model IP'si ve Açık Kaynak Katkı Politikası](https://ospo.co/blog/crafting-your-open-source-contribution-policy/)'dır.
* **Neyi yayınlama:** [(Neredeyse) her şey?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html) Eğer yasal ekibiniz şirketinizin açık kaynaklı stratejisini anlıyor ve yatırım yapıyorsa, çabalarınızı engellemekten ziyade en iyi şekilde yardım edebileceklerdir.
* **Uyumluluk:** Şirketiniz herhangi bir açık kaynaklı proje yayınlamamış olsa bile, başkalarının açık kaynaklı yazılımını kullanır. [Farkındalık ve süreç](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/) baş ağrısını, ürün gecikmelerini ve davaları önleyebilir.
* **Patentler:** Şirketiniz, üyelerin büyük açık kaynaklı projeleri kullanmalarını korumak için ortak bir savunma patenti havuzu olan [Açık Buluşma Ağı](https://www.openinventionnetwork.com/)'na katılmak veya başka bir [alternatif patent lisansını](https://www.eff.org/document/hacking-patent-system-2016) keşfetmek isteyebilir.
* **Yönetişim:** Özellikle bir projeyi [şirket dışındaki](../leadership-and-governance/#projemi-desteklemek-i%C3%A7in-t%C3%BCzel-ki%C5%9Fili%C4%9Fe-ihtiyac%C4%B1m-var-m%C4%B1) bir {a2}tüzel kişiliğe{/a2} taşımanın ne zaman anlamlı olacağı.
================================================
FILE: _articles/tr/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: tr
title: Açık Kaynak Geliştiricileri için Dengeyi Korumak
description: Bir açık kaynak geliştiricisi olarak öz bakım ve tükenmişlikten kaçınmak için ipuçları.
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
Açık kaynaklı bir projenin popülaritesi arttıkça, uzun vadede yenilenmiş ve üretken kalmak için dengeyi korumanıza yardımcı olacak net sınırlar belirlemek önemli hale gelir.
Bakımcıların deneyimleri ve dengeyi bulma stratejileri hakkında bilgi edinmek için Bakımcı Topluluğu'nun 40 üyesiyle bir atölye çalışması gerçekleştirdik ve açık kaynakta tükenmişlikle ilgili ilk elden deneyimlerini ve işlerinde dengeyi korumalarına yardımcı olan uygulamaları öğrenmemizi sağladık. Kişisel ekoloji kavramı burada devreye giriyor.
Kişisel ekoloji nedir? Rockwood Leadership Institute'nin tanımına göre, "enerjinizi uzun bir aktivizm süresince sürdürebilmek için dengeyi, tempoyu ve verimliliği korumak" anlamına gelir. Bu, bakımcıların katkılarını daha geniş bir ekosistemin parçası olarak görmelerine yardımcı oldu. Dünya Sağlık Örgütü'nün (WHO) tanımına göre kronik iş stresi sonucu ortaya çıkan tükenmişlik, bakımcılar arasında yaygındır. Bu durum motivasyon kaybı, odaklanamama ve katkıda bulunduğunuz topluluğa empati gösterememe ile sonuçlanabilir.
Kişisel ekoloji kavramını benimseyerek, bakımcılar tükenmişliği önleyebilir, öz bakım önceliklerini koruyabilir ve dengeli bir şekilde en iyi işleri yapabilir.
## Bakımcılar için Öz Bakım ve Tükenmişlikten Kaçınma İpuçları
### Açık kaynakta çalışmaktaki motivasyonlarınızı belirleyin
Açık kaynak bakımında sizi hangi noktaların enerjilendirdiğini düşünün. Motivasyonlarınızı anlamak, işlerinizi ilgi ve motivasyonunuzu koruyacak şekilde önceliklendirmeye yardımcı olur. Kullanıcı geri bildirimlerinden, toplulukla işbirliği ve sosyalleşme keyfinden veya koda dalmanın tatmininden ilham alabilirsiniz.
### Dengenizi bozup stres yaratan etmenleri gözden geçirin
Tükenmişliğe neyin sebep olduğunu anlamak önemlidir. Açık kaynak bakımcıları arasında sıkça rastlanan bazı durumlar:
* **Olumlu geri bildirim eksikliği:** Kullanıcılar yalnızca şikayetleri olduğunda iletişime geçer. Her şey iyi çalışıyorsa sessiz kalırlar. Giderek artan bir sorun listesi görmek, katkılarınızın fark yaratıp yaratmadığını gösteren geri bildirimlerin eksikliği moral bozabilir.
* **'Hayır' diyememek:** Açık kaynak projesinde gereğinden fazla sorumluluk almak kolaydır. Kullanıcılardan, katkıda bulunanlardan veya diğer bakımcılardan gelen beklentilerle başa çıkmak zor olabilir.
* **Yalnız çalışmak:** Bakımcı olmak son derece yalnız bir süreç olabilir. Bir grup bakımcı ile çalışsanız bile, son birkaç yılda dağıtık ekipleri yüz yüze toplamak zor olmuştur.
* **Yetersiz zaman veya kaynak:** Gönüllü bakımcılar için, projeye çalışmak için kendi boş zamanlarını feda etmek zorunda kalmak yaygındır.
* **Çelişen talepler:** Açık kaynak farklı motivasyonlara sahip gruplardan oluşur ve bu durum bazen zorlayıcı olabilir. Ücretli olarak açık kaynak çalışıyorsanız, işverenin çıkarları topluluğun çıkarlarıyla çatışabilir.
### Tükenmişlik belirtilerine dikkat edin
Kendi temponuzu 10 hafta, 10 ay veya 10 yıl sürdürebiliyor musunuz?
[@shaunagm](https://github.com/shaunagm) tarafından hazırlanan [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) gibi araçlar, mevcut temponuzu gözden geçirip ayarlama yapmanıza yardımcı olabilir. Bazı bakımcılar uyku kalitesi ve kalp atış hızı değişkenliği gibi ölçümleri takip etmek için giyilebilir teknoloji kullanır.
### Kendinizi ve topluluğunuzu sürdürebilmek için neye ihtiyacınız var?
Her bakımcı için farklıdır ve yaşam evresi ve diğer faktörlere bağlı olarak değişir. Duyduğumuz bazı temalar:
* **Topluluğa güvenin:** İş yükünü azaltmak için delegasyon yapın ve katkıda bulunanlar bulun. Bir projede birden fazla temas noktası, mola verirken rahat etmenizi sağlar.
* **Fon kaynaklarını araştırın:** Açık kaynak çalışmalarınız için maddi destek arayın. [GitHub Sponsors](https://github.com/sponsors) veya [GitHub Accelerator](http://accelerator.github.com/) gibi programlar başlangıç için uygundur.
* **Araçları kullanın:** Günlük işleri otomatikleştirmek için [GitHub Copilot](https://github.com/features/copilot/) ve [GitHub Actions](https://github.com/features/actions) gibi araçları keşfedin.
* **Dinlenin ve yenilenin:** Hobilerinize zaman ayırın, hafta sonlarını dinlenmeye ayırın ve GitHub durumunuzu güncelleyin.
* **Sınırlar koyun:** Her isteğe evet demeyin. Yapmak istediklerinizi ve yapmayacaklarınızı belirtin.
Unutmayın, kişisel ekoloji sürekli gelişen bir uygulamadır ve açık kaynak yolculuğunuzda ilerledikçe evrilecektir. Öz bakım öncelikli olmak ve dengeyi korumak, açık kaynak topluluğuna etkili ve sürdürülebilir katkı sağlamanızı garanti eder.
## Ek Kaynaklar
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](https://governingopen.com/)
* Workshop gündemi [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) serisinden uyarlanmıştır
## Katkıda Bulunanlar
Bu rehberi hazırlarken deneyimlerini ve ipuçlarını paylaşan tüm bakımcılara teşekkür ederiz!
Bu rehber [@abbycabs](https://github.com/abbycabs) tarafından yazılmıştır, katkılarından dolayı:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + diğerleri
================================================
FILE: _articles/tr/metrics.md
================================================
---
lang: tr
title: Açık Kaynak Ölçümleri
description: Açık kaynaklı projenizin başarısını ölçüp izleyerek gelişmesine yardımcı olmak için bilinçli kararlar alın.
class: metrics
order: 9
image: "/assets/images/cards/metrics.png"
related:
- finding
- best-practices
---
## Neden her şeyi ölçmeli?
Veriler akıllıca kullanıldığında, açık kaynaklı bir geliştirici olarak daha iyi kararlar almanıza yardımcı olabilir.
Daha fazla bilgi ile şunları yapabilirsiniz:
* Kullanıcıların yeni bir özelliğe verdiği tepkiyi anlama
* Yeni kullanıcıların nereden geldiğini bulma
* Bir aykırı kullanım senaryosunu veya işlevselliğini belirleme ve destekleyip desteklememeye karar verme
* Projenizin popülaritesini ölçme
* Projenizin nasıl kullanıldığını anlama
* Sponsorluklar ve bağışlar yoluyla para toplama
Örneğin, [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) ekibi Google Analytics"in çalışmalarına öncelik vermelerine yardımcı olduğunu keşfediyor:
> Homebrew ücretsiz olarak verilmektedir ve tamamen boş zamanlarında gönüllüler tarafından geliştirilmektedir. Sonuç olarak, gelecekteki özellikleri en iyi nasıl tasarlayacağınıza ve mevcut çalışmaya öncelik vereceğimize karar vermek için Homebrew kullanıcılarının detaylı kullanıcı çalışmalarını yapacak kaynaklara sahip değiliz. Anonim toplam kullanıcı analitiği, insanların Homebrew'i nasıl, nerede ve ne zaman kullandıklarına dayanarak düzeltmeleri ve özellikleri öncelik sırasına koymamızı sağlar.
Popülerlik her şey değildir. Herkes farklı nedenlerden dolayı açık kaynağa dahil oluyor. Açık kaynak kod geliştiricisi olarak hedefiniz çalışmanızı göstermekse, kodunuz konusunda şeffaf olmaksa veya sadece eğlenmek ise, metrikler sizin için önemli olmayabilir.
Eğer daha derin bir seviyede projenizi anlamak isteğiniz _varsa_, projenizin etkinliğini analiz etmek için yolunu bulmak için okumaya devam edin.
## Keşif
Herhangi biriniz projenizi kullanmadan veya katkıda bulunmadan önce, onun var olduğunu bilmeleri gerekir. Kendinize sorun: _insanlar bu projeden haberdarlar mı?_

Projeniz GitHub'da barındırıyorsanız, projenizi kaç kişinin gördüğünü ve nereden geldikleri [görüntüleyebilirsiniz](https://help.github.com/articles/about-repository-graphs/#traffic). Projenizin sayfasından "Insights" menüsünü, ardından "Traffic" alt menüsünü tıklayın. Bu sayfada şunları görebilirsiniz:
* **Toplam sayfa görüntüleme:** Projenizin kaç kez görüntülendiğini gösterir
* **Toplam tekil ziyaretçi:** Projenizi kaç kişinin görüntülediğini gösterir
* **Yönlendiren siteler:** Ziyaretçilerin nereden geldiğini gösterir. Bu ölçüm, hedef kitlenize nerede ulaşacağınızı ve tanıtım çalışmalarınızın işe yarayıp yaramadığını çözmenize yardımcı olabilir.
* **Popüler içerik:** Ziyaretçilerin projenizde nereye gittiğini, sayfa görünümlerine ve benzersiz ziyaretçilere göre ayrıldığını gösterir.
[GitHub yıldızları](https://help.github.com/articles/about-stars/) ayrıca temel bir popülarite ölçüsü sağlamaya yardımcı olabilir. GitHub yıldızları, indirmeler ve kullanımla mutlaka ilişkilendirilmezken, size kaç kişinin çalışmanızdan haberdar olduğunu söyleyebilirler.
[Belirli yerlerdeki keşfedilebilirliği izlemek](https://opensource.com/business/16/6/pirate-metrics) isteyebilirsiniz: örneğin, Google PageRank, projenizin web sitesinden yönlendirilen trafik veya diğer açık kaynaklı projelerden veya web sitelerinden gelen yönlendirmeler.
## Kullanım
İnsanlar projenizi internet dediğimiz bu vahşi ve çılgın şey üzerinde buluyorlar. İdeal olarak, projenizi gördüklerinde, bir şeyler yapmaya zorlanırlar. Sormak isteyeceğiniz ikinci soru şudur: _insanlar bu projeyi kullanıyorlar mı?_
Projenizi dağıtmak için npm veya RubyGems.org gibi bir paket yöneticisi kullanıyorsanız, projenizin indirmelerini takip edebilirsiniz.
Her paket yöneticisi "indirme" nin biraz farklı bir tanımını olabilir ve indirme işlemleri kurulum veya kullanım ile mutlaka ilişkili değildir, ancak karşılaştırma için bazı temel bilgiler sağlar. Birçok popüler paket yöneticisinde kullanım istatistiklerini izlemek için [Libraries.io](https://libraries.io/) servisini kullanmayı deneyin.
Projeniz GitHub'daysa, tekrar "Trafik" sayfasına gidin. [Klon grafiğini](https://github.com/blog/1873-clone-graphs), projenizin belirli bir günde kaç kez klonlandığını, toplam klonların ve benzersiz klonların karşılaştırmlı hallerini görmek için kullanabilirsiniz.

Kullanım, projenizi keşfeden kişi sayısına kıyasla düşükse, göz önünde bulundurulması gereken iki husus vardır. Ya:
* Projeniz kitlenizi başarıyla dönüştüremiyor ya
* Yanlış kitleyi çekiyorsun
Örneğin, projeniz Hacker News'in ön sayfasına girerse, muhtemelen keşifte (trafik) bir artış göreceksiniz, ancak Hacker News'deki herkese ulaştığınız için daha düşük bir dönüşüm oranı göreceksiniz. Ancak, Ruby projeniz bir Ruby konferansında tanıtılıyorsa, hedef kitleden yüksek bir dönüşüm oranı görmeniz daha olasıdır.
Kitlenizin nereden geldiğini anlamaya çalışın ve bu iki sorunun hangisiyle karşılaştığınızı anlamak için proje sayfanızdan geri bildirim isteyin.
İnsanların projenizi kullandığını öğrendikten sonra, onunla ne yaptığını anlamaya çalışmak isteyebilirsiniz. Kodunuzu yazıp özellikleri ekleyerek üzerine mi inşa ediyorlar? Akademik çalışma ya da iş için mi kullanıyorlar?
## Akılda Tutma
İnsanlar projenizi buluyor ve kullanıyorlar. Kendinize sormak isteyeceğiniz bir sonraki soru şudur: _insanlar bu projeye geri dönüş ve katkıda bulunuyor mu?_
Katkıda bulunanlar hakkında düşünmeye başlamak için asla erken değildir. Diğer insanlar girmeden, kendinizi projenizin _popüler olduğu_ (birçok kişi kullanır) ancak _desteklenmez_ sağlıksız bir duruma sokma riskini alırsınız (talebi karşılamak için yeterli zaman bekletici değil).
Akılda tutulma, daha önce aktif olan katılımcılar eninde sonunda başka şeylere geçeceğinden, [yeni katılımcıların girişini](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2) gerektirir.
Düzenli olarak izlemek isteyebileceğiniz topluluk ölçümleri örnekleri şunlardır:
* **Katkıda bulunan toplam katılımcı sayısı ve komisyon sayısı:** Ne kadar katılımcının bulunduğunu ve kimin ya da daha az aktif olduğunu gösterir. GitHub'da bunu "Insights" -> "Katkıda Bulunanlar" altında görebilirsiniz. Şu anda, bu grafik yalnızca deponun varsayılan koluna bağlı olan katılımcıları sayar.

* **İlk kez, geçici ve tekrar eden katılımcılar:** Yeni katılımcılar alıp almadığınızı ve geri gelip gelmeyeceklerini izlemenize yardımcı olur. (Sıradan katkıda bulunanlar, az sayıda katkı veren katılımcılardır. Bu, bir katkı, beş katkıdan az veya size kalmış başka bir sayı.) Yeni katılımcılar olmadan, projenizin topluluğu durgun hale gelebilir.
* **Açık işlerin ve PR'lerin sayısı:** Bu sayılar çok yükselirse, sorun giderme ve kod incelemeleri konusunda yardıma ihtiyacınız olabilir.
* **Açılan işlerin ve açılan PR'lerin sayısı:** Açılan sorunlar, birinin projenizi açması için yeterince önemsediği anlamına gelir. Bu sayı zaman içinde artarsa, insanların projenize ilgi duyduğunu gösterir.
* **Katkı türleri:** Örneğin, yazım hatalarını veya hataları düzeltme veya bir konuda yorum yapma.
## Geliştirici etkinliği
Son olarak, projenizin sahiplerinin alınan katkıların hacmini karşılayabildiğinden emin olarak döngüyü kapatmak isteyeceksiniz. Kendinize sormak isteyeceğiniz son soru şudur: _Topluluğumuza cevap veriyor muyum (muyuz)?_
Tepki vermeyen geliştiriciler açık kaynaklı projeler için bir el freni haline gelir. Birisi bir katkı gönderirse, ancak bir geliştiriciden bir geri bildirim gelmezse, cesareti kırılır ve projeden ayrılabilir.
[Mozilla'da yapılan bir araştırma](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177), geliştiricilerin sürdürülebilirlik konusundaki duyarlılığının, tekrar eden katkıları teşvik etmede kritik bir faktör olduğunu öne sürüyor.
Bir sorunun ya da PR talebinin katkısına yanıt vermenizin (veya başka bir geliştiricinin) ne kadar sürdüğünü takip edin. Yanıt vermek, harekete geçmek gerektirmez. Şunu söylemek kadar basit olabilir: _"Gönderiminiz için teşekkürler! Bunu önümüzdeki hafta içinde gözden geçireceğim."_
Ayrıca, katkı sürecindeki aşamalar arasında geçiş için geçen süreyi ölçebilirsiniz, örneğin:
* Bir sorunun açık kaldığı ortalama süre
* Sorunların PR'ler ile kapatılıp kapatılmadığı
* Eski sorunların kapatılıp kapatılmadığı
* Bir PR isteğini birleştirmek için ortalama süre
## İnsanlar hakkında bilgi edinmek için 📊 kullanın.
Ölçümleri anlamak, aktif ve büyüyen bir açık kaynak proje oluşturmanıza yardımcı olacaktır. Bir gösterge panosundaki her bir ölçümü izlemeseniz bile, dikkatinizi projenizin gelişmesine yardımcı olacak davranış türüne odaklamak için yukarıdaki çerçeveyi kullanın.
================================================
FILE: _articles/tr/security-best-practices-for-your-project.md
================================================
---
lang: tr
title: Projeniz İçin Güvenlik En İyi Uygulamaları
description: MFA ve kod taramasından güvenli bağımlılık yönetimine ve özel güvenlik açığı raporlamasına kadar temel güvenlik uygulamalarıyla güven inşa ederek projenizin geleceğini güçlendirin.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Hatalar ve yeni özellikler bir yana, bir projenin uzun ömürlü olmasını belirleyen şey yalnızca faydalı olması değil, aynı zamanda kullanıcılarının güvenini kazanmasıdır. Güçlü güvenlik önlemleri, bu güveni sürdürmek için önemlidir. İşte projenizin güvenliğini önemli ölçüde artırmak için atabileceğiniz bazı önemli adımlar.
## Ayrıcalıklı tüm katılımcıların Çok Faktörlü Kimlik Doğrulama (MFA) etkinleştirdiğinden emin olun
### Projenizde ayrıcalıklı bir katkıcıyı taklit etmeyi başaran kötü niyetli bir aktör, felakete yol açabilir.
Ayrıcalıklı erişim elde ettikten sonra, bu aktör kodunuzu değiştirebilir ve kodunuzun istenmeyen işlemler yapmasını (ör. kripto para madenciliği vb.) sağlayabilir, kötü amaçlı yazılım dağıtabilir veya özel kod depolarınıza erişerek fikri mülkiyet ve hassas verileri, diğer hizmetlerin kimlik bilgileri dâhil olmak üzere, sızdırabilir.
MFA, hesap ele geçirmelere karşı ek bir güvenlik katmanı sağlar. Etkinleştirildiğinde, giriş yapmak için kullanıcı adı ve şifreye ek olarak yalnızca sizin bildiğiniz veya erişebildiğiniz başka bir doğrulama yöntemi gerekir.
## Kodunuzu geliştirme sürecinizin bir parçası olarak güvene alın
### Kodunuzdaki güvenlik açıkları, dağıtımda fark edilmesine kıyasla, erken aşamalarda tespit edildiğinde çok daha ucuza çözülebilir.
Kodunuzdaki güvenlik açıklarını tespit etmek için Statik Uygulama Güvenliği Testi (SAST) aracı kullanın. Bu araçlar kod seviyesinde çalışır, yürütme ortamına ihtiyaç duymaz ve bu nedenle sürecin erken aşamalarında çalıştırılabilir; ayrıca build veya kod inceleme aşamalarına sorunsuzca entegre edilebilir.
Bu, adeta kod deponuzu gözden geçiren, gizlenmiş güvenlik açıklarını sizin için bulan yetenekli bir uzmana sahip olmak gibidir.
SAST aracınızı nasıl seçersiniz?
* Lisansı kontrol edin: Bazı araçlar açık kaynak projeleri için ücretsizdir (ör. GitHub CodeQL veya SemGrep).
* Kullandığınız dili/dilleri destekleyip desteklemediğini kontrol edin.
* Halihazırda kullandığınız araç ve süreçlere kolayca entegre olabilen birini seçin. Örneğin, uyarılar kod inceleme aracınızda görünsün, başka bir platforma gitmeniz gerekmesin.
* Yanlış pozitiflere dikkat edin! Araç sizi boş yere yavaşlatmamalı.
* Özelliklerini inceleyin: Bazıları çok güçlüdür ve veri akışı takibi yapabilir (ör. GitHub CodeQL), bazıları yapay zekâ ile çözüm önerileri sunar, bazıları özel sorgular yazmayı kolaylaştırır (ör. SemGrep).
## Sırlarınızı paylaşmayın
### API anahtarları, tokenlar ve parolalar gibi hassas veriler bazen yanlışlıkla repoya yüklenebilir.
Şöyle bir senaryo hayal edin: Dünyanın dört bir yanından katkıcıların bulunduğu popüler bir açık kaynak projesinin sahibisiniz. Bir gün, bir katkıcı farkında olmadan üçüncü taraf bir servise ait API anahtarlarını repoya yükler. Günler sonra birileri bu anahtarları bulur ve izinsiz şekilde servise erişir. Servis tehlikeye girer, kullanıcılar kesinti yaşar ve projenizin itibarı zedelenir.
Bunu önlemek için "gizli tarama" (secret scanning) çözümleri vardır. GitHub Secret Scanning veya Truffle Security'nin Trufflehog aracı, bu tür bilgileri repoya göndermenizi engelleyebilir. Bazı araçlar, belirli sırları otomatik olarak iptal de edebilir.
## Bağımlılıkları kontrol edin ve güncelleyin
### Projenizdeki bağımlılıklar, projenizin güvenliğini tehlikeye atan açıklar içerebilir. Bunları manuel olarak güncel tutmak zaman alıcı olabilir.
Şöyle düşünün: Sık kullanılan bir kütüphane üzerine inşa edilen bir proje var. Daha sonra bu kütüphanede ciddi bir güvenlik açığı bulundu, fakat uygulamayı geliştirenler bundan haberdar değil. Hassas veriler saldırganların eline geçer. Bu yalnızca teorik bir senaryo değil. 2017'de Equifax, Apache Struts bağımlılığını güncellemedi ve 144 milyon kullanıcının verilerini etkileyen meşhur ihlal yaşandı.
Bunu önlemek için Dependabot ve Renovate gibi Yazılım Bileşen Analizi (SCA) araçları, bağımlılıklarınızı NVD veya GitHub Advisory Database gibi açık veritabanlarıyla karşılaştırarak bilinen güvenlik açıklarını bulur ve güvenli sürümlere güncellemek için otomatik PR oluşturur.
## Korunan dallarla istenmeyen değişiklikleri engelleyin
### Ana dallara sınırsız erişim, yanlışlıkla veya kötü niyetli yapılan değişikliklerin güvenlik açıklarına veya projenizin kararlılığını bozmasına yol açabilir.
Yeni bir katkıcı ana dala yazma izni alır ve test edilmemiş değişiklikleri doğrudan gönderir. Ardından ciddi bir güvenlik açığı ortaya çıkar. Bunu önlemek için dal koruma kuralları kullanın. Bu kurallar sayesinde önemli dallara gözden geçirilmeden veya belirli kontrolleri geçmeden hiçbir değişiklik birleştirilemez.
## Güvenlik açığı raporları için bir bildirim mekanizması oluşturun
### Kullanıcıların hata raporlamasını kolaylaştırmak iyi bir uygulamadır, ancak bu hatanın güvenlik riski etkisi olduğunda bunu size nasıl güvenle iletebilirler?
Şöyle bir durum düşünün: Bir güvenlik araştırmacısı projenizde açık buldu ama bunu bildirecek güvenli bir yol yok. Belki GitHub'da herkese açık bir issue açar ya da sosyal medyada paylaşır. Hatta iyi niyetle bir PR bile gönderebilir ama bu açık, herkes tarafından görülmeden birleşmez. Bu da kötü niyetli kişilerin açığı istismar etmesine yol açabilir.
### Güvenlik Politikası
Bunu önlemek için bir güvenlik politikası yayınlayın. `SECURITY.md` dosyasında belirtilen bu politika, güvenlik sorunlarının nasıl raporlanacağını, kimlerin sorumlu olduğunu ve sürecin nasıl işleyeceğini netleştirir. Basitçe "Lütfen herkese açık issue veya PR açmayın, security@example.com adresine mail gönderin" bile yazabilirsiniz. Daha fazla detay da ekleyebilirsiniz (ör. size ne kadar sürede dönüş yapılacağını).
### Özel Güvenlik Açığı Raporlama
Bazı platformlar süreci daha güvenli hale getirmek için özel raporlama sağlar. GitLab'da "private issues", GitHub'da ise "private vulnerability reporting (PVR)" vardır. PVR ile bakımcılar güvenlik açıklarını özel şekilde alıp çözebilir. GitHub otomatik olarak özel bir fork açar, güvenlik tavsiyesi taslağı oluşturur. Tüm süreç siz açıklayana kadar gizli kalır. Sonrasında güvenlik danışmanlığı yayınlanır ve kullanıcılarınız SCA araçları sayesinde korunur.
## Sonuç: Küçük adımlar, büyük güvenlik
Bu birkaç adım size basit veya sıradan görünebilir, ancak kullanıcılarınız için projenizi çok daha güvenli hale getirir. Çünkü en yaygın sorunlara karşı koruma sağlar.
## Katkıcılar
### Bu kılavuzu hazırlarken deneyim ve ipuçlarını paylaşan tüm bakımcılara teşekkürler!
Bu kılavuz [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) tarafından yazıldı, katkıda bulunanlar:
[@JLLeitschuh](https://github.com/JLLeitschuh)
[@intrigus-lgtm](https://github.com/intrigus-lgtm) + daha birçok kişi!
================================================
FILE: _articles/tr/starting-a-project.md
================================================
---
lang: tr
title: Açık Kaynaklı bir Projeye Başlamak
description: Açık kaynak dünyası hakkında daha fazla bilgi edinin ve kendinizi proje başlatmaya hazırlayın.
class: beginners
order: 2
image: "/assets/images/cards/beginner.png"
related:
- finding
- building
---
## Açık kaynağın "nedir"i ve "neden"i
Yani açık kaynak kodlu bir projeye başlamayı mı düşünüyorsun? Tebrikler! Dünya katkınızı takdir ediyor. Açık kaynağın ne olduğu ve insanların neden yaptıkları hakkında konuşalım.
### "Açık kaynak" ne demek?
Bir proje açık kaynak olduğunda, **herhangi biri herhangi bir amaç için projenizi görüntüleyebilir, kullanabilir, değiştirebilir ve dağıtabilir.** Bu izinler [açık kaynaklı bir lisans](https://opensource.org/licenses) aracılığıyla uygulanmaktadır.
Açık kaynak güçlüdür çünkü fikirlerin hızla yayılmasına izin vererek, benimseme engellerini azaltır. Ayrıca, kullanıcılara kapalı kaynağa göre kendi bilgisayarlarını ve bilgisayarlarında çalışan işlemleri kontrol etme imkanı da verir. Örneğin, açık kaynak yazılım kullanan bir işletme, yalnızca kapalı kaynak satıcısının ürün kararlarına güvenmek yerine, bir kişiyi yazılımda özel iyileştirmeler yapması için işe alma seçeneğine sahiptir.
_Özgür yazılım_ , _açık kaynak ile_ aynı proje grubunu ifade eder. Bazen [bu terimleri](https://en.wikipedia.org/wiki/Free_and_open-source_software) "ücretsiz ve açık kaynak yazılım" (FOSS) veya "ücretsiz, özgür ve açık kaynak yazılım" (FLOSS) olarak birleştirilir. _Free_ ve _Libre_ özgürlüğe atıfta bulunur [fiyata değil](#a%C3%A7%C4%B1k-kaynak-%C3%BCcretsiz-anlam%C4%B1na-m%C4%B1-geliyor).
### İnsanlar neden işlerini açık kaynak olarak sunarlar?
Bir kişinin veya örgütün bir projeyi açmak istemesinin [birçok nedeni](https://ben.balter.com/2015/11/23/why-open-source/) vardır . Bazı örnekler:
* **İşbirliği:** Açık kaynak projeler, dünyadaki herhangi birinden değişiklikleri kabul edebilir. Örneğin, [Exercism](https://github.com/exercism/) 350'den fazla katkıda bulunana sahip bir programlama egzersiz platformudur.
* **Adapte etme ve yeniden tanımlama:** Açık kaynaklı projeler herkes tarafından herhangi bir amaç için kullanılabilir. İnsanlar başka şeyler yapmak için bile kullanabilirler. Örneğin [WordPress](https://github.com/WordPress), [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md) adı verilen mevcut bir projenin alt dalı olarak başladı.
* **Şeffaflık:** Açık kaynaklı bir projeyi herkes hata veya tutarsızlık açısından inceleyebilir. Şeffaflık, [Bulgaristan](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) veya [ABD](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/) gibi develetler, bankacılık veya sağlık gibi sıkı kurallara bağlı endüstriler ve [Let's Encrypt](https://github.com/letsencrypt) gibi güvenlik yazılımları için önemlidir.
Açık kaynak sadece yazılım için değil. Veri kümelerinden kitaplara kadar her şeyi açık kaynak koduyla açabilirsiniz. Açık kaynak başka neler yapabileceğiniz hakkında fikir edinmek için [GitHub Explore](https://github.com/explore)'a göz atın.
### Açık kaynak "ücretsiz" anlamına mı geliyor?
Açık kaynağın en büyük çekimlerinden biri paraya mal olmamasıdır. Bununla birlikte, "ücretsiz" olması, açık kaynağın toplam değerinin bir yan ürünüdür.
[Açık kaynaklı bir lisans](https://opensource.org/osd-annotated), herkesin projenizi neredeyse her amaç için kullanmasını, değiştirmesini ve paylaşmasını gerektirdiğinden, projelerin kendileri ücretsiz olma eğilimindedir. Projenin kullanımı ücretli olursa, herkes yasal olarak bir kopya çıkarabilir ve bunun yerine ücretsiz sürümü kullanabilir.
Sonuç olarak, çoğu açık kaynak projesi ücretsizdir, ancak "ücretsiz olmak" açık kaynak tanımının bir parçası değildir. Açık kaynak resmi tanımına uymaya devam ederken, açık kaynak projeler için dolaylı olarak çift lisanslama veya sınırlı özelliklerle ücretlendirme yöntemleri vardır.
## Kendi açık kaynak projemi başlatmalı mıyım?
Kısa cevap evet, çünkü sonuç ne olursa olsun, kendi projenizi başlatmak açık kaynakların nasıl çalıştığını öğrenmek için harika bir yoldur.
Daha önce hiç bir projeyi açmadıysanız, insanların ne söyleyeceği veya herhangi birinin fark edip etmeyeceği konusunda gergin olabilirsiniz. Bu senin gibi geliyorsa, yalnız değilsin!
Açık kaynak çalışması, ister yazıyor ister resim yapıyor olsun, diğer tüm yaratıcı etkinliklere benzer. Çalışmanızı dünyayla paylaşmak korkutucu gelebilir, ancak daha iyi olmanın tek yolu, izleyiciniz olmasa bile pratik yapmaktır.
Henüz ikna olmadıysanız, hedeflerinizin ne olabileceğini düşünmek için bir dakikanızı ayırın.
### Hedeflerinizi belirlemek
Hedefler, neyin üzerinde çalışacağınızı, neye hayır diyeceğinizi ve başkalarından nereden yardıma ihtiyacınız olduğunu anlamanıza yardımcı olabilir. Kendinize şunu sorarak başlayın, _neden bu projeye kaynak açıyorum?_
Bu sorunun tek bir doğru cevabı yok. Tek bir proje veya farklı hedeflere sahip farklı projeler için birden fazla hedefiniz olabilir.
Tek amacınız işinizi göstermekse, katkı bile istemeyebilir ve hatta bunu README'nizde bile söyleyebilirsiniz. Öte yandan, katkıda bulunanlar istiyorsanız, açık belgelere ve yeni gelenlerin hoş karşılanmasına zaman ayıracaksınız.
Projeniz büyüdükçe, topluluğunuzun sizden sadece kod yazmaktan daha fazlasına ihtiyacı olabilir. Sorunlara cevap vermek, kodu gözden geçirmek ve projenizi geliştirmek, açık kaynaklı bir projedeki önemli görevlerdir.
Kodlama yapmayan görevler için harcadığınız zaman, projenizin boyutuna ve kapsamına bağlı olsa da, bunları kendiniz ele almak veya size yardımcı olacak birini bulmak için bir koruyucu olarak hazırlanmalısınız.
**Bir projeye açık kaynak sağlayan bir şirketin parçasıysanız,** projenizi geliştirmek için ihtiyaç duyduğu dahili kaynaklara sahip olduğundan emin olun. Lansmandan sonra projeyi korumaktan kimin sorumlu olduğunu ve bu görevleri topluluğunuzla nasıl paylaşacağınızı belirlemek istersiniz.
Tanıtım, operasyonlar ve projenin bakımı için özel bir bütçeye veya personele ihtiyacınız varsa, bu görüşmeleri erkenden başlatın.
### Diğer projelere katkıda bulunmak
Amacınız başkalarıyla nasıl işbirliği yapabileceğinizi veya açık kaynağın nasıl çalıştığını anlamaksa, mevcut bir projeye katkıda bulunmayı düşünün. Zaten kullandığınız ve sevdiğiniz bir projeyle başlayın. Bir projeye katkıda bulunmak, yazım hatalarını düzeltmek veya belgeleri güncellemek kadar kolay olabilir.
Katkıda bulunmaya nasıl başlayacağınızdan emin değilseniz, [Açık Kaynaklara Nasıl Katkıda Bulunur](../how-to-contribute/) kılavuzumuza göz atın
## Kendi açık kaynak projenizi başlatmak
İşinizi açık kaynak yapmak için mükemmel bir zaman yok. Açık kaynak bir fikir, devam eden bir çalışma veya yıllarca kapalı kaynak olduktan sonra.
Genel olarak konuşursak, başkalarının işinizi görmesini ve işiniz hakkında görüş bildirmesini istediğinizde projenizi açık kaynak yapmalısınız.
Projenizi hangi aşamada açmaya karar verirseniz verin, her proje aşağıdaki belgeleri içermelidir:
* [Açık kaynak lisansı](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Katkıda bulunma kuralları](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Davranış kuralları](../code-of-conduct/)
Bir geliştirici olarak, bu bileşenler beklentileri iletmenize, katkıları yönetmenize ve herkesin yasal haklarını (kendi haklarınız dahil) korumanıza yardımcı olur. Olumlu bir deneyim yaşama şansınızı önemli ölçüde artırırlar.
Projeniz GitHub'daysa, bu dosyaları önerilen dosya adlarıyla kök dizininize koymak, GitHub'ın bunları tanımasına ve okuyucularınız için otomatik olarak ortaya çıkarmasına yardımcı olur.
### Bir lisans seçimi
Projeniz GitHub'taysa, bu dosyaları önerilen dosya adlarıyla kök dizininize koymak GitHub'ın onları okuyucularınıza tanıtmasına ve otomatik olarak göstermesine yardımcı olacaktır.
Açık kaynaklı lisans, başkalarının projenize yanıt vermeden kullanabileceğini, kopyalayabileceğini, değiştirebileceğini ve katkıda bulunabileceğini garanti eder. Aynı zamanda sizi kötü yasal durumlardan korur. **Açık kaynak kodlu bir proje başlatırken projenize bir lisans eklemelisiniz.**
[MIT](https://choosealicense.com/licenses/mit/) , [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) ve [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) en popüler açık kaynak lisanslarıdır, ancak [aralarından seçim yapabileceğiniz başka seçenekler](https://choosealicense.com) de vardır.
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) ve [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) en popüler açık kaynaklı lisanslardır, ancak seçilebilecek [başka seçenekler](https://choosealicense.com) de vardır.

Açık kaynak kodlu bir projeyi yönetmenin yasal yönleri hakkında başka sorularınız veya endişeleriniz varsa, size yardımcı olacak bir [bölümüz](../legal/) var.
### README Yazma
README'ler, projenizi nasıl kullanılacağını açıklamadan fazlasını yapar. Ayrıca projenizin neden önemli olduğunu ve kullanıcılarınızın bununla neler yapabileceğini açıklarlar.
README'ler projenizi nasıl kullanacağınızı açıklamaktan daha fazlasını yapar. Ayrıca, projenizin neden önemli olduğunu ve kullanıcılarınızın bununla neler yapabileceğini de açıklar.
* Bu proje ne yapıyor?
* Bu proje neden faydalıdır?
* Kullanmaya nasıl başlarım?
* İhtiyacım olursa nereden daha fazla yardım alabilirim?
README'nizi, katkıları nasıl ele aldığınız, projenin hedeflerinin ne olduğu ve lisanslar ve atıfla ilgili bilgiler gibi diğer soruları yanıtlamak için kullanabilirsiniz. Katkıları kabul etmek istemiyorsanız veya projeniz henüz üretime hazır değilse, bu bilgileri not edin.
README'nizi, katkıları nasıl ele aldığınız, projenin amaçlarının ne olduğu ve lisanslar ve atıflar hakkında bilgiler gibi diğer soruları yanıtlamak için kullanabilirsiniz. Katkı kabul etmek istemiyorsanız veya projeniz henüz olgun değilse, bunu mutlaka belirtin.
Bazen, insanlar bir README yazmaktan kaçınırlar çünkü proje bitmemiş gibi hissederler veya katkı kabul etmek istemezler. Bunların hepsi yazmak için çok iyi nedenler.
Daha fazla ilham almak için, eksiksiz bir README yazmak için @dguo'nun ["Make a README" kılavuzunu](https://www.makeareadme.com/) veya @PurpleBooth'ın [README şablonunu](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) kullanmayı deneyin.
### Katkıda bulunma rehberinizi yazmak
Kök dizinine bir README dosyası eklediğinizde, GitHub otomatik olarak depo ana sayfasında görüntüler.
* Hata raporu nasıl gönderilir ([sorun ve istek şablonlarını](https://github.com/blog/2111-issue-and-pull-request-templates) kullanmayı deneyin)
* Yeni bir özellik nasıl önerilir
* Proje ortamı nasıl kurulur ve testler nasıl yapılır
Teknik ayrıntılara ek olarak, bir CONTRIBUTING dosyası, aşağıdakiler gibi katkılar için beklentilerinizi iletme fırsatıdır:
* Aradığınız katkı türleri
* Proje için yol haritanız veya vizyonunuz
* Katkıda bulunanlar sizinle nasıl temasa geçmeli (veya geçmemeli)
Teknik ayrıntılara ek olarak, bir CONTRIBUTING dosyası, aşağıdakiler gibi katkılar için beklentilerinizi iletme fırsatıdır:
Sıcak, arkadaşça bir ton kullanmak ve katkılar için özel önerilerde bulunmak (örneğin, dokümantasyon yazmak veya bir web sitesi yapmak gibi) yeni gelenlerin kendilerini memnun ve istekli hissetmelerini sağlama konusunda yardımcı olabilir.
> Öncelikle, Active Admin’e katkıda bulunduğunuz için teşekkür ederiz. Active Admin'i harika bir araç yapan sizin gibi insanlar.
Projenizin ilk aşamalarında, CONTRIBUTING dosyanız basit olabilir. Hataların veya dosya sorunlarının nasıl bildirileceğini ve katkı sağlamak için teknik gereksinimleri (testler gibi) her zaman açıklamalısınız.
Projenizin ilk aşamalarında, CONTRIBUTING dosyanız basit olabilir. Hataların veya dosya sorunlarının nasıl bildirileceğini ve katkı sağlamak için teknik gereksinimleri (testler gibi) her zaman açıklamalısınız.
Zamanla, CONTRIBUTING dosyanıza sıkça sorulan diğer soruları ekleyebilirsiniz. Bu bilgileri yazmak, daha az kişinin size aynı soruları tekrar soracağı anlamına gelir.
CONTRIBUTING dosyanızı yazarken daha fazla yardım için @nayafia'nın [katkıda bulunma rehber şablonuna](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) veya @mozilla'nın ["Bir CONTRIBUTING.md Nasıl Oluşturulur"](https://mozillascience.github.io/working-open-workshop/contributing/) makalesine bakabilirsiniz.
README'nizden CONTRIBUTING dosyanıza bağlantı verin, böylece daha çok insan görsün. [CONTRIBUTING dosyasını projenizin deposuna yerleştirirseniz](https://help.github.com/articles/setting-guidelines-for-repository-contributors/), bir katılımcı bir sorun oluşturduğunda veya bir PR açtığında GitHub otomatik olarak dosyanıza bağlanır.
### Davranış kural listesi oluşturmak
Son olarak, bir davranış kural listesi projenizin katılımcı davranışları için temel kurallar koymanıza yardımcı olur. Bir topluluk veya şirket için açık kaynak kodlu bir proje başlatıyorsanız, bu özellikle değerlidir. Davranış kuralları, sağlıklı ve yapıcı topluluk davranışını kolaylaştırmanıza yardımcı olur ve bu da geliştirici olarak stresinizi azaltacaktır.
Daha fazla bilgi için [Davranış Kuralları kılavuzumuza](../code-of-conduct/) göz atın.
Katılımcıların _nasıl_ davranmasını beklediğinizi iletmenin yanı sıra, bir davranış kural listesi de bu beklentilerin kimlere, ne zaman başvuruda bulunduklarına ve bir ihlal meydana geldiğinde ne yapılması gerektiğini açıklamaya meyillidir.
Açık kaynaklı lisanslara benzer şekilde, davranış kuralları için de yeni ortaya çıkan standartlar vardır, bu yüzden kendiniz yazmak zorunda değilsiniz. [Contributor Covenant](https://contributor-covenant.org/), Kubernet, Rails ve Swift dahil olmak üzere [40.000'den fazla açık kaynaklı proje](https://www.contributor-covenant.org/adopters) tarafından kullanılan bir davranış kural listesi şablonudur. Hangi metni kullanırsanız kullanın, gerektiğinde davranış kurallarınızı uygulamak için hazırlıklı olmalısınız.
Açık kaynaklı lisanslara benzer şekilde, davranış kuralları için de yeni ortaya çıkan standartlar vardır, bu yüzden kendiniz yazmak zorunda değilsiniz. [Contributor Covenant](https://contributor-covenant.org/), Kubernet, Rails ve Swift dahil olmak üzere [40.000'den fazla açık kaynaklı proje](https://www.contributor-covenant.org/adopters) tarafından kullanılan bir davranış kural listesi şablonudur. Hangi metni kullanırsanız kullanın, gerektiğinde davranış kurallarınızı uygulamak için hazırlıklı olmalısınız.
## Projenizi isimlendirme ve markalama
Metni doğrudan projenizdeki bir CODE_OF_CONDUCT dosyasına yapıştırın. Dosyayı projenizin kök dizininde tutun, böylece README'nizden kolayca bulabilir ve linkleyebilirsiniz.
### Doğru ismi seçmek
Marka, gösterişli bir logo veya çekici bir proje adından daha fazlasıdır. Projeniz hakkında nasıl konuştuğunuzla ve mesajınızla kime ulaştığınızla ilgilidir.
* [Sentry](https://github.com/getsentry/sentry) çöküş raporlaması için uygulamaları izler
* [Thin](https://github.com/macournoyer/thin) hızlı ve basit bir Ruby web sunucusudur
Mevcut bir projenin üzerine inşa ediyorsanız, adlarını ön ek olarak kullanmak projenizin ne yaptığını netleştirmeye yardımcı olabilir (örneğin, [node-fetch](https://github.com/bitinn/node-fetch) `window.fetch` komutunu getirir).
Mevcut bir projenin üzerine inşa ediyorsanız, adlarını ön ek olarak kullanmak projenizin ne yaptığını netleştirmeye yardımcı olabilir (örneğin, [node-fetch](https://github.com/bitinn/node-fetch) `window.fetch` komutunu getirir).
### Benzersiz isim bulmak
Her şeyden önce netlik düşünün. Püf noktaları eğlencelidir, ancak bazı şakaların diğer kültürlere veya sizden farklı deneyimlere sahip insanlara tercüme edilemeyebileceğini unutmayın. Potansiyel kullanıcılarınızdan bazıları şirket çalışanları olabilir: projenizi işte açıklamak zorunda kaldıklarında onları rahatsız etmek istemezsiniz!
Özellikle aynı dili veya ekosistemi paylaşıyorsanız, [benzer bir adla açık kaynaklı projeleri kontrol edin](http://ivantomic.com/projects/ospnc/). İsminiz popüler bir projeyle örtüşüyorsa, takipçilerinizin kafaları karışabilir.
Bir web sitesi, Twitter hesabı veya projenizi temsil eden diğer özellikleri istiyorsanız, istediğiniz adları aldığınızdan emin olun. İdeal olarak, [bu isimleri](https://instantdomainsearch.com/) henüz kullanmak istemediğiniz zamanlarda bile, rahat etmek için şimdiden alın.
Projenizin adının herhangi bir ticari markayı ihlal etmediğinden emin olun. Bir şirket sizden projenizi kapatmanızı isteyebilir veya hatta aleyhinize yasal işlem başlatabilir. Bu riske değmez.
[WIPO Global Marka Veritabanını](http://www.wipo.int/branddb/en/) ticari marka çakışmaları için kontrol edebilirsiniz. Eğer bir şirketteyseniz, bu [hukuk ekibinizin size yardımcı olabileceği](../legal/) şeylerden biridir.
### Nasıl yazdığın (ve kodladığın) markanı da etkiler!
Projenizin ömrü boyunca birçok yazı yazacaksınız; README'ler, öğretici belgeler, topluluk belgeleri, sorulara cevaplar, belki de haber bültenleri ve posta listeleri.
Projenizin ömrü boyunca birçok yazı yazacaksınız: README'ler, öğretici belgeler, topluluk belgeleri, sorulara cevaplar, belki de haber bültenleri ve posta listeleri.
Resmi bir belge veya geçici bir e-posta olsun, yazma stiliniz projenizin markasının bir parçasıdır. Hedef kitlenize nasıl sesleneceğinizi ve bunun iletmek istediğiniz ton olup olmadığını düşünün.
Kelimeleri nasıl yazdığınızın ötesinde, kodlama stiliniz de projenizin markasının bir parçası olabilir. [Angular](https://angular.io/guide/styleguide) ve [jQuery](https://contribute.jquery.org/style-guide/js/) titiz kodlama stilleri ve yönergeleri olan projelere iki örnektir.
Kelimeleri nasıl yazdığınızın ötesinde, kodlama stiliniz de projenizin markasının bir parçası olabilir. [Angular](https://angular.io/guide/styleguide) ve [jQuery](https://contribute.jquery.org/style-guide/js/) titiz kodlama stilleri ve yönergeleri olan projelere iki örnektir.
## Lansman öncesi kontrol listeniz
Projenizi açmaya hazır mısınız? İşte size yardımcı olacak bir kontrol listesi. Tüm kutuları işaretleyin? Projeye açmaya hazırsın! ["publish"](https://help.github.com/articles/making-a-private-repository-public/) düğmesine basın ve arkanıza yaslanın.
**Belgeler**
**專案是否積極地接受各方的貢獻**
在 main branch 上看看提交的活躍度。在 GitHub 上託管的開源專案,你可以在專案主頁上看到這些訊息。
接下來,就是看專案 issue 的數量。
同樣再來看看 PR 的情形。
**專案是友善的**
一個專案的友好程度意味着更能接納新的貢獻者。
## **如何提交成果**
你已經找到了你喜愛的專案,也已準備好貢獻了,接下來就剩思考如何以一個適當的方式去貢獻。
### **有效溝通**
無論你只是一次性的貢獻,或是決定長期參與社群,在開源的世界裡,學會如何與他人共事是很重要的技能之一。
在你提出一個 issue 或 PR 之前,或者是在聊天室提問之前,請謹記下面所列出的幾點建議,會讓你的工作更有效率。
**交代來龍去脈。** 以便於讓其他人能夠快速的理解。比方說執行程式時遇到一個錯誤,你要解釋你當時是想做甚麼,並描述如何做才能重現錯誤。又比方說你是提交一個新的想法,你要解釋爲什麼這麼想,為什麼你認為這點子對專案會有幫助(而不是只對你有幫助!)
> 😇 _"當我做 Y 的時候 X 功能沒有正常運作"_
>
> 😢 _"X 出問題! 請修好它。"_
**在進一步行動前,做好準備工作。** 不知道沒關係,但至少你要先嘗試過、努力過。在尋求幫助之前,請確認閱讀了專案的 README、文件、issue(open 的和 closed 的)、郵件列表,並在網絡上查查看。當你表現出很強烈的求知慾時,人們會很樂意的幫助你的。
> 😇 _"我不確定 X 是如何做到的,我查閱了說明文件,但沒有找到相關的介紹。"_
>
> 😢 _"我該怎麼做 X 這件事?"_
**溝通時力求精簡明瞭。** 就像發送一份郵件、每一次的貢獻,無論是多麼的簡單,都是需要他人去檢閱的。很多專案都是請求的人多,提供幫助的人少。保持簡潔,能讓你得到他人幫助的機會大大增加。
> 😇 _"我很樂意寫 API 的教學。"_
>
> 😢 _" 有一天開車在高速公路上,停在某個加油站加油的時候,我突發奇想,覺得我們應該這麼做,在進一步解釋之前,我先和大家展示一下… "_
**盡量讓溝通都是在公開場合下進行。** 盡量不要發私訊給維護者,雖然很多人會想這樣做,除非是你要分享一些機敏資訊(諸如安全問題或有人嚴重的違反行為準則)。你若能夠保持談話是公開的,很多人可以從彼此交換的意見中學習和受益。
> 😇 _(評論) "@維護者 你好!我們該如何處理這個 PR ?"_
>
> 😢 _(郵件) "你好,非常抱歉發信給你,但是我實在很希望你能看一下我提交的 PR 。"_
**大膽的提問(但是要有耐心!)。** 每個人參與社群,開始的時候都是新手,哪怕是經驗老到的貢獻者也一樣,在剛進入一個新專案的時候,也是新手。出於同樣的原因,長期維護的人也並不一定都熟悉專案的每一個部分。協作時表現出你的耐心,你也會得到同樣的回報。
> 😇 _"感謝你檢查了這個錯誤,我按照您的建議做了,這是輸出結果。"_
>
> 😢 _"你爲什麼不處理我的問題?這不是你的專案嗎?"_
**尊重社群的決定。** 你的想法可能會和社群的優先順序、願景有所差異,他們可能回覆了你的想法或最後決定不採納你的建言,這時你應該去積極討論並尋求折衷的辦法,維護者必須慎重的考慮你的想法。但是如果你實在是不能同意社群的做法,你還是可以堅持己見將專案分支(fork)出去另起爐灶。
> 😇 _"雖然我很遺憾你不能支援我的需求,但是你解釋這只是對一小部分使用者起作用,我理解你的理由。感謝你的耐心傾聽。"_
>
> 😢 _"你爲什麼不支援我的需求?這真是難以接受!"_
**以上幾點,要銘記在心。** 開源是由來自世界各地的人們共同協作實現的。需要面對跨語言、跨文化、不同的地理位置、不同的時區的問題,另外,單純文字上的溝通無法傳達語氣和情緒。就先假設這些對話都充滿善意吧。不用害怕拒絕人家,詢問事情的狀況,進一步澄清你的立場。試著讓網路世界成為一個更好的地方。
### **多了解來龍去脈**
在正式開始之前,做一些快速檢查,也許有人已經討論過你的疑惑了。瀏覽專案的 README、issue( open 和 closed 都算)、郵件列表、Stack Overflow。毋需去花好幾個小時去全部折騰一遍,但是用幾個關鍵字搜尋一下是必要的。
如果你沒有找到和你想法一樣的內容,你就可以開工了。如果專案是在 GitHub 上的話,你可以開啓一個 issue 或 PR:
* **Issues** 開啓一次對話或討論
* **Pull requests** 請求接受自己的解決方法
* **簡單的溝通** ,例如澄清或 how-to 的問題,嘗試到 Stack Overflow 、IRC、Slack 或其它聊天頻道問問看。
在你創建 issue 和 PR 之前,請檢查專案的貢獻者文件(文件名通常叫做 CONTRIBUTING,或者就直接寫在 README 中),找到你需要、較具體的東西,例如他們會要求你遵循某個樣板,或者是要求你使用某個測試。
如果你想做一個重大的貢獻,在正式開始之前先創建一個 issue。監控專案是很有幫助的(在GitHub,[點擊 "Watch"](https://help.github.com/articles/watching-repositories/) ,所有當中的對話都會通知你),通知社群的成員們,讓大家知道你要做的工作,免得你做了之後,他們事後才知道。
### 提出問題
你應該在遇到下列情況時,去創建一個 issue:
* 報告一個你自己無法解決的錯誤
* 討論一個重要的主題或想法(例如:社群、遠景、政策等)
* 提議做一個新的功能,或者其它專案的想法
在 issue 的溝通中幾點實用的技巧:
* **假如你看到一個 open 的 issue,也是你打算解決的**,寫下留言,告訴其他人你要開工了。這樣的話,可以避免與其他人做了重複的事情。
* **假如某個 issue 已經處於 open 的狀態很久了**,可能是有人正在處理中,又或者是已經解決了,也請你留言確認一下事情的狀態再決定下一步。
* **假如你創建了 issue ,但是沒多久自己解決了**,也要留言,讓其他人知道,然後結束該 issue 。記錄本身就是爲社群的貢獻。
### **創建 pull request**
在下面的情形時,請你務必使用 PR:
* 提交簡易的補丁 (例如拼寫錯誤、失效的超連結、或者是其它較明顯的錯誤)
* 開始一項別人請求的任務,或者是過去在 issue 中早就討論過的事情
一個 PR 並不代表工作已經完成了。它通常是儘早開啓一個 PR ,這樣其他人可以了解或者給你一些回饋。只需要標記爲 "WIP"(Working in Progress)。你可以隨時添加任何留言。
如果說專案是託管在 GitHub 上,以下是我們對於提交 PR 的建議:
* **[Fork 程式碼](https://guides.github.com/activities/forking/)** 並下載到自己的電腦,在本地端設定「上游」爲遠端倉庫。這樣你可以在提交你的 PR 時保持和「上游」同步,合併時會減少解決衝突的時間。(更多關於同步的說明,請參考[這裡](https://help.github.com/articles/syncing-a-fork/)。)
* **[創建一個分支](https://guides.github.com/introduction/flow/)** 方便自己編輯。
* **參考任何相關的 issue**或在你的 PR 中註記相關的文件(例如:"Closes #37.")
* **留下更動前後的螢幕截圖**,如果你修改了 HTML/CSS。在你的 PR 中放上截圖。
* **測試你的工作!**用原本寫好的測試來跑你寫好的新功能,若沒有的話,則需要寫一個測試。無論是否有測試,一定要確保你的改動不會弄壞現有的專案的功能。
* **和專案現有的風格保持一致**,盡你最大的努力,在使用縮排、分號或註釋很可能和你自己的風格大相徑庭,但這是為了節省維護者的精力,為了以後要了解、維護時的方便。
如果這是你第一次提交 PR。可以瀏覽[提交 PR](http://makeapullrequest.com/)的文件,這是 @kentcdodds 專門爲初次創建 PR 的人寫的手把手教學。
## **提交後需要善後的事宜**
你做到了!恭賀你成爲貢獻開源的一員。希望這是一個好的開始。
在你提交了貢獻之後,下面幾種情形中的某種是可能發生的:
### 😭 **沒有人理你。**
希望你在工作開始之前[檢查過了專案的活躍度](./#提出問題),不過有時即使檢查過了,在一個活躍的專案中沒有人理會你的貢獻也是很正常的。
如果過了一週,依舊沒有人回應,請心平氣和的在同個條目下留言,請人幫你審核。如果你知道可以找誰審核,你可以使用 @名字,提醒他一下。
**千萬不要**私下去聯絡他人;要記住開源專案裡,所有的溝通都應該是公開的。
如果還是沒有人回覆,那就是真的沒有人對你的貢獻做出回應。這可能感覺很差,但千萬不要灰心。每個人都會遇到這樣的情況。有很多原因會導致沒人回應你,這些原因通常也不是你能控制的。再接再厲,換一種方法去提交,或者換一個專案。這也是一個好時機讓你決定不要投資太多時間在成員活動不活躍的專案。
### 🚧 **有人希望你修改你的貢獻。**
被人要求修改你的貢獻是很常見的事情,可能是改變你的提議,或是修改程式碼。
當有人提出變更時,請及時回覆。畢竟他們花時間看了你的工作。開了一則 PR ,然後一走了之是一個壞習慣。如果你不知道如何改,花點時間研究,如果還是沒有想到好辦法,那麼是該向他人求助的時候了。
如果你沒時間處裡一則 issue (舉例來說,如果對話已經持續了一個月了,而你還有其他的事情要處裡),那麼請通知維護的人,你無法及時的回覆了,肯定有人非常樂意接替你的工作的。
### 👎 **你的貢獻沒有被採納。**
你的工作最後可能沒有被接受。希望你沒有為此花太多力氣。如果你不確定爲什麼沒有被接收,這正是一個很好的機會,去詢問維護者的看法、給他們一個澄清的機會。無論如何,你都要對他們的決定表示尊重。別花時間在爭論或樹立敵人上。如果你堅持自己,你還是可以隨意 fork 專案,按照自己的思路發展出分支來。
### 🎉 **你的貢獻被接受。**
太棒了!你完成了一次開源貢獻!
## 你辦到了!
不論你是第一次貢獻,還是正在嘗試其他的貢獻方式, 希望本文有提供你一些靈感去實踐。即便你的貢獻沒有被採納,別忘了對幫助過你的維護者表示感謝。開源就是由你這樣的人所打造:一則 issue、一則 PR或透過留言討論。
================================================
FILE: _articles/zh-hant/index.html
================================================
---
layout: index
title: 開源軟體指南
lang: zh-hant
permalink: /zh-hant/
redirect_from: /zh-tw/
---
================================================
FILE: _articles/zh-hant/leadership-and-governance.md
================================================
---
lang: zh-hant
title: 領導與治理
description: 有了正式規則的決策,可讓開源專案順利的成長。
class: leadership
order: 6
image: /assets/images/cards/leadership.png
related:
- best-practices
- metrics
redirect_from: /zh-tw/leadership-and-governance/
---
## 針對增長的專案來理解治理
當專案開始有條不紊的進行,人員也開始穩定,那麼你就應該開始社群的治理了。對於社群的治理,你或許有一些疑問,諸如如何將常規專案的貢獻者納入你的工作流?如何才能判斷應該賦予誰提交的權限?又或者是如何解決社群的債務?如果你對這些有疑問的話,我們這裏會盡力幫你解決。
## 開源專案中通常都有那些角色
很多專案針對貢獻者角色和身份均遵循相似的結構。
這些角色實際上意味着什麼完全取決於你。我們這裏所列舉的,相信你是非常熟悉的了:
* **維護者**
* **貢獻者**
* **修訂者**
**對於某些專案來說, "維護者"** 就是唯一擁有提交權限的人。然而在其它的一些專案中,維護者會列在README上
作爲一名維護者,不一定非得一定要爲專案撰寫程式。有可能是專案的佈道師,爲專案的宣傳做了很多的工作,又或者是撰寫文件讓更多的人參與進來。不管他們每天做什麼,維護者就是那些對專案方向負責的人,並致力於專案的改進。
**作爲 "貢獻者" 可以是任何人** ,只要提出issue或PR 就叫做貢獻者,那些爲專案作出有價值的都算(無論是分類問題,編寫程式還是組織會議),又或者是將他們的PR合並進主乾的(或許這個定義是最接近所謂的貢獻者的)。
**術語 "修訂者"** 可能用於區分其他形式的貢獻的提交訪問,這是一種特定類型的責任。
其實你可以根據自己喜歡的方式來定義專案的角色,[考慮使用更廣泛的定義](../how-to-contribute/#具體而言什麼是貢獻) 來鼓勵更多的形式的貢獻。無論技術技能如何,您都可以使用領導角色來正式識別爲您的專案做出突出貢獻的人員。
## 該如何將這些領導力角色正規化
將領導力角色正規化,可以幫助人們找到歸屬感,且可以讓其它社群成員明白應該找誰能夠獲得幫助。
對於一個較小的專案來講,指定領導者,只需要在 README 或 CONTRIBUTORS 文本文件中寫上他們的名字即可。
對於稍大型點的專案,如果你已經擁有了網頁的話,那麼請創建一個團隊的頁面,或者創建一個團隊領導的頁面。舉例來說, [PostgreSQL](https://github.com/postgres/postgres/) 就擁有一個[很全面地團隊頁面](https://www.postgresql.org/community/contributors/) ,而且每位貢獻者都擁有簡短的介紹。
如果你的專案擁有非常活躍的貢獻者社群,你或許會專門建立一個維護者的"核心團隊",甚至是根據不同的話題所有者成立子的委員會(例如,安全,問題篩選,或者是社群準則)。讓人們自行組織、且能夠讓志願者自行找到自己喜歡的角色,而不是去分配他們。
領導者團隊或許要創建一個指定的頻道(如IRC),又或者是參與專案的日常討論(如Gitter或Google Hangout)。你需要將這些會議可以公開訪問,以便讓人們方便傾聽。舉例來說,
[Cucumber-ruby](https://github.com/cucumber/cucumber-ruby)就會[每週開一次會議,每次持續幾小時](https://github.com/cucumber/cucumber-ruby/blob/HEAD/CONTRIBUTING.md#talking-with-other-devs).
一旦你建立了領導力角色,一定不要忘記撰寫文件,告訴人們如何成爲領導者!要爲如何成爲一名維護者或加入到專案的子委員會創建一個清晰的流程,並將之寫入 GOVERNANCE.md 文件。
諸如[Vossibility](https://github.com/icecrime/vossibility-stack) 這樣的工具,可以幫助你追蹤誰是(或不是)專案的貢獻者。爲這些資訊作說明,以避免社群出現維護者作出私自的決定。
另外,如果你的專案在託管在GitHub上,考慮將你的專案從個人賬戶遷移到某個組織,而且要爲組織增加額外的一個備份的管理員。
[GitHub 上的組織](https://help.github.com/articles/creating-a-new-organization-account/) 能夠讓權限管理和多倉庫管理更加的輕鬆,而且可通過 [共享所有權](../building-community/#分享專案的所有權)來保護你的專案。
## 何時該賦予提交者權限
有的人認爲專案應該對所有人都開放提交訪問,從而讓任何人都可以做出貢獻。理由是這樣做的話,會讓人們感到擁有這個專案,進而達到鼓勵的目的。
換句話說,尤其是針對那些大型的、更加複雜的專案,你或許只是會給那些證明自己有能力提交程式碼的人賦予權限。這個沒有一個確切的衡量標準,做你認爲正確的就好了,或者是最讓專案成員感到舒服的方式。
假如專案是託管在GitHub上,可以使用[受保護的分支](https://help.github.com/articles/about-protected-branches/)來管理那些可以提交特定的分支情況。
## 對於開源專案來說有那些常見的治理結構
關於開源專案有三類通用的相關治理結構。
* **BDFL:** BDFL 是 "仁慈的獨裁者生活" 的縮寫. 在此結構下,有一個人(通常是專案的最初的作者)擁有專案中所有的最後決定權。[Python](https://github.com/python) 就是一個非常經典的例子。較小的專案可能默認就是 BDFL 結構,因爲他一般就是一到兩位維護者。若是公司組織的專案也極有可能會採用BDFL結構。
* **精英制:** **(注: 術語 "精英制" 對於一些社群可能具有消極的含義,其擁有較[複雜的社會和政治的歷史](http://geekfeminism.wikia.com/wiki/Meritocracy).)** 在精英制下,活躍的專案貢獻者(他們用行動證明自己是"精英")給一個正式的決策作用,決定通常會基於純粹的投票一致性。精英制的概念首次由[Apache Foundation](http://www.apache.org/)提出;[所有的Apache 專案](http://www.apache.org/index.html#projects-list) 都是基於精英制的。貢獻者只能代表自己是獨立的個體,不可以是公司。
* **自由貢獻:** 在自由貢獻的模式下,做最多工作的人通常被認爲是最具影響力的,但是是基於當前的工作,而不是歷史的共享。專案的重大決策是基於尋求共識的過程(對不同的聲音要討論)而不是純粹的投票,儘可能的努力的去囊括多的社群觀點。較流行的使用自由貢獻模式的專案有[Node.js](https://nodejs.org/en/foundation/) 和 [Rust](https://rust-lang.org/)。
應該選擇哪一種模式了呢?由你自己來做決定!每個模式都有優點,也有缺點。雖然上面的描述乍一看,這三種模式有着很大的不同,其實不然,它們還是有着共同點的。如果你對上述三種模式有興趣,可以採用下面的模版:
* [BDFL 模式模版](http://oss-watch.ac.uk/resources/benevolentdictatorgovernancemodel)
* [精英模式模版](http://oss-watch.ac.uk/resources/meritocraticgovernancemodel)
* [Node.js 的自由貢獻規則](https://medium.com/the-javascript-collection/healthy-open-source-967fa8be7951#.m9ht26e79)
## 當我創建開源專案時,需要專門撰寫一份治理文件嗎
其實沒有什麼合適的時間來撰寫專案的治理,但是可以根據社群的動態來進行恰當的定義。開源治理最好的也是最難的部分是有社群本身來塑造!
在專案的治理中,一些早期的文件將會不可避免的,然而也不必太強求,寫下你所能夠想到的。舉例來說,你可以將某些預期的行爲定義清楚,貢獻的流程是如何的,或者專案是如何啓動的,等等。
如果你自己是公司所啓動開源的一部分,在啓動之前,應該做一些討論,如公司將會如何維護專案,隨着專案的發展,決策該如何定奪。你可以會公開的解釋一下,貴公司將如何參與(或不參與)該專案。
## 公司員工該如何開啓提交貢獻之旅?
成功的開源專案,會有很多的用戶和公司使用,而且有一些公司的主要收入和專案是綁在一起的。舉例來說,某公司在其商業產品或服務中使用了開源專案的程式碼作爲其一個組件。
一個專案越是被廣泛的使用,有相關背景的專業人士的需求就會上升,**你或許就是其中之一**,那麼就順勢成爲繼續爲開源專案做事,還有一定的報酬。
將商業的活動視爲正常不過的事情很重要,它也只是程式碼的開發方法之一。爲開發者付費不應該被特殊的對待,好像程式碼必須是無償開發的才行;每個貢獻都必須有技術的衡量標準來進行評估。人們應該在這些商業的活動中感到非常的自在,而且針對特定的增強或功能項討論時也應是坦蕩的、自然的。
"商業" 是完全和"開源"相容的。"商業"僅僅是意味着某些地方有錢的參與 —— 就是說軟體被用於了商業行爲,也就是說專案被採用獲得了認可。(當開源軟體被用於非開源產品的一個部分時,這個整體的產品仍然是"專有的"軟體,因爲開源,它可以用於商業或非商業的目的。)
和這個世界上很多的其它商業產品一樣,商業能夠激勵開發者去積極的貢獻於專案,通過他們靠譜的提交貢獻。顯而易見的是,一位因花了自己的時間和精力的開發者獲得報酬,理應比沒有獲得報酬的更具持久性,當然,這對於某些聖徒是不成立的,或者這麼說吧,報酬是能體現一個貢獻度的衆多衡量因素的其中之一。所以將你的專案討論聚焦於貢獻上,不要讓人們分散精力去思考或做其它的事情。
## 我是否需要一個法律實體來支持我的專案
除非你特別的有錢,其實你根本沒有必要爲開源專案而專門搞一個法律實體來支持。
舉例來說,假如你打算創辦自己的商業公司,(假如是在美國的話)你需要成立一家集團公司或有限責任公司。如果你只是爲你的開源專案做一些合約的工作,你可以以投資人的身份接受錢財,或者成立一家有限責任公司(如果是在美國的話)。
如果你打算讓自己的開源專案接受捐贈的話,你可以創建一個捐贈按鈕(使用PayPal或Stripe,舉例來說),但是你要知道,這些錢並非是免稅的,除非你是認證過的非盈利性組織(在美國的話,諸如501c3)。
很多專案都不願意成立非盈利組織那麼麻煩,所以他們會以贊助商的身份尋找一個非營利性組織。財政資助代表你接受捐款,通常以換取一定比例的捐贈。針對開源專案接受財政資助的非營利性組織有很多,如[Software Freedom Conservancy](https://sfconservancy.org/), [Apache 基金會](http://www.apache.org/), [Eclipse 基金會](https://eclipse.org/org/), [Linux 基金會](https://www.linuxfoundation.org/projects) and [Open Collective](https://opencollective.com/opensource) 等等。
如果你的專案是和某特定的語言或生態系統緊密相連的,那麼你可以直接在相關的軟體基金會下工作。例如,[Python 軟體基金會](https://www.python.org/psf/) 就幫襯著專案 [PyPI](https://pypi.python.org/pypi),這是一塊優秀的Python包管理器,又比如[Node.js 基金會](https://nodejs.org/en/foundation/) 支撐着 [Express.js](http://expressjs.com/),一款基於Node的框架。
================================================
FILE: _articles/zh-hant/legal.md
================================================
---
lang: zh-hant
title: 開源的法律保障
description: 對於開源你應該瞭解的法律知識。
class: legal
order: 10
image: /assets/images/cards/legal.png
related:
- contribute
- leadership
redirect_from: /zh-tw/legal/
---
## 瞭解開源的法律含義
向世界分享你們具有創造性的工作,這是一個多麼令人激動和有價值的經歷。這也意味著你們必須擔心一堆你們不清楚的法律問題。幸運的是,你們不必從頭開始。我們已經涵蓋了你們的法律需求。(在你們行動前,請確定閱讀了我們的[免責聲明](https://github.com/cnbo/open-source-guide/blob/gh-pages/notices.md)。)
## 爲什麼大家非常擔心有關開源的法律問題
很高興你們提問!當你們行創造性工作(例如寫作,圖形或程式碼)時,默認情況下該作品屬於專有版權(copyright)。也就是說,法律承認你們是你們作品的作者,他人在沒有經得你們同意的情況下不能使用你們的工作。
一般來說,這意味著沒有人可以在沒有你們授權的情況下使用,複製,分發或者修改你們的工作。
然而,開源有著不一樣的情況。因爲作者希望他人使用,修改以及分享他們的工作。但因爲法律默認依然是專有版權(copyright),所以你們需要一個明確說明這些權限的協議。
如果你們不應用開源許可協議,那麼對你們專案做出貢獻的人也都將成爲其工作的專屬版權(copyright)所有者。這意味著沒有人(也包括你們)可以使用,複製,分發後者修改他們的貢獻,
最後,你們的專案可能具有你們不知道的許可證要求的依賴關係。你們的專案社群,或者你們的僱主政策也可能要求你們使用特定的開源許可協議。
## 公開的GitHub專案是開源的嗎
當你們在GitHub上[創建一個新專案](https://help.github.com/articles/creating-a-new-repository/) 時,你們可以選擇將倉庫設置成**private**或者**public**。

**讓你們的GitHub專案公開與許可你們的專案是不同的。**公開專案是由[GitHub的服務條款](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#3-ownership-of-content-right-to-post-and-license-grants)保護,它允許他人瀏覽以及fork你們的專案,但是沒有權限參與你們的工作。
如果你們想讓他人使用,複製,修改你們的專案,或者參與貢獻你們的專案,那麼你們的專案就需要包含一個開源許可協議。例如,即使你們的專案是公開的,但沒有你們的授權,一些人是不能合法在他們的程式碼中使用你們GitHub專案中的任何部分。
## 請告訴我該如何保護專案
你們很幸運,開源許可協議已經標準化了同時使用簡單。你們可以直接複製粘貼一個已經存在的許可協議到你們的專案裏。
[MIT](https://choosealicense.com/licenses/mit/),[Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)和[GPLv3](https://choosealicense.com/licenses/gpl-3.0/)都是非常流行的開源許可協議,但是也有其它選擇。你們可以在[choosealicense.com](https://choosealicense.com/)上找到這些許可協議的全部文本,同時說明了如何使用他們。
當你們在GitHub上創建了一個新專案,你們會被[要求添加一個許可協議](https://help.github.com/articles/open-source-licensing/)。
## 哪個開源許可協議適合我的專案
如果你們是小白,那麼使用[MIT License](https://choosealicense.com/licenses/mit/),不容易出錯。它很短,很容易理解,並允許任何人做任何事情,只要他們保留許可證的副本,包括你們的版權聲明。如果你們需要,您們能夠根據不同的許可協議發佈專案。
然而,爲專案選擇合適的開源許可協議這取決於你們。
你們的專案非常可能有(或將有)**依賴**。例如,如果你們開源了一個Node.js的專案,你們將可能使用來自npm(Node Package Manager)的庫。你們依賴的這些庫都有它們自己的開源許可協議。如果他們的許可協議"允許"(對使用,修改和分享給予公共權限,而對有關專案的許可協議沒有要求),這樣你們就可以使用任何你們想要的許可協議。共同允許許可協議包括MIT,Apache 2.0,ISC和BSD。
另一方面,如果你們的依賴中有一個的許可協議是"強硬的copyleft"(他們也給同樣的允許,但條件是有關專案得使用同樣的許可協議),那麼你們的專案將使用與之相同的許可協議。copyleft許可協議包括GPLv2,GPLv3和AGPLv3。
你們也會想到考慮希望你們的社群使用以及貢獻你們的專案:
* **你們是否想讓你們的專案成爲其它專案的依賴?**在你們的相關社群最好儘可能使用最流行的許可協議。例如,[MIT](https://choosealicense.com/licenses/mit/)是[npm libraries](https://libraries.io/npm)使用的最流行的許可協議。
* **你們的專案是否想吸引大企業?**大型企業可能需要所有貢獻者的明確專利許可。在這種情況下,[Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)適合你們。
* **你們的專案是否想吸引不願自己的貢獻用於其它同類型軟件的貢獻者?**[GPLv3](https://choosealicense.com/licenses/gpl-3.0/)和[AGPLv3](https://choosealicense.com/licenses/agpl-3.0/)適合你們。
你們的公司可能爲自己的專案準備了特定的許可協議。例如,它可能需要許可許可證,以便公司可以在公司的閉源產品中使用你們的專案。或者你們的公司要求強大的copyleft許可協議同時要求貢獻者贊成,這樣專案只屬於你們公司,沒有人能在有關的軟件中使用你們的專案。或者你們的公司可能有與標準,社會責任或透明度相關的某些需求,其中任何一個都可能需要特定的許可策略。與你們[公司的法律部門](#公司的法律團隊需要知道什麼)談談。
當你們在GitHub上創建了一個新專案,它給你們提供了選擇許可協議的機會。包括上面提到的可以使你們的GitHub專案開源的許可協議。如果你們想要瞭解其他選擇,可以通過查閱[choosealicense.com](https://choosealicense.com)找到適合你們專案(即使它[不是軟體](https://choosealicense.com/non-software/))的許可協議。
## 如果我想更換專案的許可協議,該怎麼辦
大多數專案絕不需要更換許可協議。但是情況偶爾有變。
例如,隨著你們專案的壯大,它添加了新的依賴或用戶,或者你們的公司改變了策略,或者其他的要求要更換不同的許可協議。如果你們在開始專案的時候沒有添加許可協議,那麼再添加一個許可協議和更換許可協議是一樣的效果。當你們要添加或者更換專案的許可協議時,需要考慮以下三件事:
**這件事很複雜。**確定許可協議的兼容性和合規行,以及誰擁有版權,這會非常快速地變得複雜和混亂。爲新的發佈和貢獻選擇一個新的且合適的許可協議與重新許可已存在的貢獻是不同的。一旦你們有任何想改變許可協議的想法,請首先讓法律團隊知道。即使你們已經或者能獲得可以更換許可協議的權限,請考慮者會給專案的其他用戶和貢獻者帶來怎樣的影響。將更換許可協議視爲"管理事件",只有通過與專案的利益相關者進行明確的溝通和諮詢,才更有可能順利進行。請謹記,從一開始就爲你們的選擇和使用合適的許可協議。
**你們的專案已經有了許可協議。**如果專案的現有許可證與您要更改的許可證兼容,則可以開始使用新許可證。這是因爲如果A許可協議與B許可協議兼容,你們將遵守A的條款,同時遵守B的條款(但不一定反之亦然)。因此,如果你們目前正在使用許可型的許可協議(例如MIT),則可以更改爲具有更多條件的許可協議,只要你們保留MIT許可協議的副本和任何相關的版權聲明(即繼續遵守MIT許可協議的最低條件)。如果你們現在的許可協議不是許可型的(例如,copyleft或者你們還沒有許可協議)以及你們不是版權的唯一所有者,那麼你們不能將許可協議改爲MIT。基本上,只要是使用的許可型的許可協議,版權所有者能事先更換許可協議。
**你們的專案已經有版權所有者。**如果你們是你們專案的唯一貢獻者,然後你們或者你們的公司是專案版權的唯一所有者。你們可以添加或更換任何你們或者你們公司心儀的許可協議。不然你們需要取得其他版權所有者的同意。他們是誰?他們是已經參與你們專案提交的人。但有些情況是專案版權掌握在這些人的僱主手中。在某些情況下,人們只是做了_微小的_貢獻,但沒有硬性規定,在一些行程式碼下的貢獻不受版權保護。對與這樣的情況該怎麼辦?對於一個相對較小以及年輕的專案來說,取得所有貢獻者對更換許可協議的同意是可行的。。但對於大專案和老專案來說,你們必須尋求很多貢獻者以及他們繼承者的共識。Mozilla花費了多年重新授權Firefox,Thunderbird和相關軟件。
或者,你們可以讓貢獻者事先同意(通過額外的貢獻者協議 - 見下文)在某些條件下更改某些許可協議,這些更改將超過現有的開源許可協議。這會改變許可協議改的複雜性。如果在執行許可協議更改時,你們仍然想要和專案利益相關者進行溝通,你們需要從你們律師那得到更多幫助。
## 我的專案需要額外的貢獻者協議嗎
可能不要。對於大多數的開源專案,一個開源許可協議可作用與所有貢獻者和用戶。
貢獻者協議會給維護者帶來額外的管理工作。這些協議增加了多少工作得取決去專案和實施。簡單的協議可能要求貢獻者確認和點擊,在專案的開源許可協議下他們有權利貢獻。更複雜的協議可能需要法律的審查和貢獻者的僱主的簽字。
此外,貢獻者協議有時被認爲對專案社群不友好。他們也增加了人們參與社群的障礙。
一些情況下你們可能想要爲你們的專案考慮一個額外的貢獻協議:
* 你們的律師想要所有的貢獻者明確接受貢獻者條款,或者因爲他們覺得只有開源許可協議還遠遠不夠。如果這是唯一的問題,那麼有肯定專案開源許可協議的貢獻者協議就足夠了。[jQuery個人貢獻者許可協議](https://web.archive.org/web/20161013062112/http://contribute.jquery.org/CLA/)就是一個很好的輕量級的個人貢獻者協議。對於一些專案來說,[Developer Certificate of Origin](https://github.com/probot/dco)是一個很好的先例。
* 你們的專案使用的開放源許可協議不包括明確的專利授權(如MIT),你們需要所有貢獻者的專利授權,這些可能適合用於你們公司的專利組合或者專案的其他貢獻者和用戶。[Apache 個人貢獻者許可協議](https://www.apache.org/licenses/icla.txt)是一種常用的附加貢獻者協議,其具有與Apache許可2.0中的專利許可相同的專利許可。
* 如果你們的專案使用的是copyleft許可協議,但你們也需要分發專案的專有版本。那你們需要每個貢獻者分配版權給你們或者授予你們許可權。[MongoDB貢獻者協議](https://www.mongodb.com/legal/contributor-agreement)就是這中類型的。
* 你們認爲你們的專案在其有效期內需要更換許可協議,以及事先得到貢獻者的同意。
如果您們實需要在您的專案中使用額外的貢獻者協議,請考慮使用諸如CLA助手之類的集成,以最大限度地減少貢獻者的分心。
## 公司的法律團隊需要知道什麼
作爲一名公司的僱員,如果你們在發佈一個開源專案,你們首先需要讓法律團隊知道。
即使只是一個個人專案,請考慮讓他們知道。你們可能和公司有一個"員工知識產權協議",這給了公司一些對你們專案的控制權,特別是當專案和公司的業務有著很多的聯繫或者你們使用公司的資源發展專案。你們的公司_應該_很容易給們許可,也許已經通過一個員工友好的知識產權協議或公司政策。如果不是這樣,你麼可以談判(例如,解釋你們的專案爲公司的專業學習和發展目標服務),或者你們在找到一個更好的公司前停止你們專案的工作。
**如果你們的開源專案是爲了你們的公司,**絕對需要讓他們知道。根據公司的業務需求和專業知識,你們的法律團隊可能已經制定了有關開放源程式碼許可協議(以及可能還有其他貢獻者協議)的政策,以確保您的專案符合其依賴關係的許可協議。如果不是這樣,你們和他們很幸運!你們的法律團隊應該渴望與你們合作,把這個東西搞清楚。你們需要思考這些事:
* **第三方資源:**你們的專案有其他人創建的依賴或者使用他人的程式碼?如果這些是開源專案,你們需要遵守第三方資源的開源許可協議。首先,選擇與第三方資源的開放源許可協議一起使用的許可協議(見上文)。如果你們的專案修改或者發佈第三方開源資源,那麼你們法律團隊還想知道你們符合第三方開源許可協議的其他條件,例如保留版權聲明。如果你們使用了其他沒有開源許可協議的程式碼,那麼你們可能會要求第三方資源的維護者[添加一個開源許可協議](https://choosealicense.com/no-license/#for-users),要是你們得不到許可,你們只能停止使用他們的程式碼。
* **商業機密:**請考慮專案中是否有公司不想對外公開的東西。如果是這樣的話,你們只能開源專案的一部分,得保護好公司的商業機密。
* **專利:**你們公司是否申請了與你們專案有關的專利?如果開源源程式碼,這會對公司的專利進行[公開披露](https://en.wikipedia.org/wiki/Public_disclosure)。可悲的是,你們可能被要求等待(或者公司會重新思考應用程序)。如果你們期望從擁有大量專利組合的公司的員工那裏得到貢獻,們的法律團隊可能希望你們使用來自貢獻者的明確專利授權的許可協議(例如Apache 2.0或GPLv3)或其他貢獻者協議(見上文)。
* **商標:**認真檢查你們的專案名[沒有與已經存在的商標衝突](https://github.com/liadbiz/opensource-contribute-guide-chinise/blob/HEAD/github-open-source-guide-02.md#避免命名衝突)。如果你們將自己公司的商標用於專案,請檢查它有沒有造成衝突。[FOSSmarks](http://fossmarks.org/)是在自由和開源專案的背景下理解商標的實用指南。
* **隱私:**你們的專案是否收集了用戶數據並存儲到公司的服務器?你們的法律團隊可以幫助你們遵守公司政策和外部法規。
如果你們發佈了公司的第一開源專案,爲了能通過,以上這些綽綽有餘(不要擔心,大多數專案不會引起重大關注)。
長期來說,們的法律團隊可以做更多的事情,以幫助公司從開源中獲得更多,並保持安全:
* **員工貢獻策略:**考慮制定一個公司策略,指明你們的員工如何爲開源專案貢獻。明確的政策將減少你們員工的迷惑,並幫助他們爲公司的最佳利益向開源專案做貢獻,無論是作爲他們工作的一部分還是在自由時間。Rackspace的[Model IP和開源貢獻策略](https://ospo.co/blog/crafting-your-open-source-contribution-policy/)就是很好的示例。
* **發佈什麼:**[(幾乎) 所有?](http://tom.preston-werner.com/2011/11/22/open-source-everything.html)如果你們的法律團隊瞭解並投資於你們公司的開源策略,他們將是你們最好的幫助,而不是阻礙你們的努力。
* **合規性:**即使你們公司沒有發佈任何開源專案,他們也會使用別人的開源軟件。[意識和過程](https://www.linuxfoundation.org/blog/blog/why-companies-that-use-open-source-need-a-compliance-program/)可以避免麻煩,產品延遲發佈和訴訟。
* **專利:**你們的公司可能希望加入[開放發明網絡](http://www.openinventionnetwork.com/),一個共享的專利防禦池,以保護成員使用主要開源專案,或探索其他替代專利許可。
* **管理:**特別是當如果將專案轉移到公司以外的法律實體是有意義的。
================================================
FILE: _articles/zh-hant/maintaining-balance-for-open-source-maintainers.md
================================================
---
lang: zh-hant
untranslated: false
title: 保持平衡——開源專案維護者的指南
description: 作為一名維護者,照顧自己並避免疲憊的小建議。
class: balance
order: 0
image: /assets/images/cards/maintaining-balance-for-open-source-maintainers.png
---
隨著一個開源專案的受歡迎程度不斷增長,設定清晰的界限變得至關重要,以幫助您保持平衡,確保長期保持清新和高效。
為了深入了解維護者的經驗以及他們尋找平衡的策略,我們與Maintainer Community的40名成員一起進行了一個工作坊,讓我們能夠從他們在開源領域遭受疲憊的第一手經驗中學習,以及幫助他們在工作中保持平衡的實踐。這就是個人生態學的概念派上用場的地方。
那麼,什麼是個人生態學?正如Rockwood Leadership Institute所描述的,它涉及"保持平衡、節奏和效率,以維持我們在長期活動中的能量。" 這個概念幫助維護者認識到他們的行為和貢獻是一個隨時間演變的更大生態系統的一部分。在維護者中,經常出現由於長期的工作壓力而導致的疲憊,這通常會導致動機的喪失,無法集中注意力,以及對您一起工作的貢獻者和社區缺乏同理心。根據世界衛生組織的定義,疲憊是一種由於長期的工作場所壓力而引起的綜合症狀,這種情況在維護者中並不少見。
透過擁抱個人生態學的概念,維護者可以主動避免疲憊,優先考慮自我照顧,並保持平衡感,以便做出最佳的工作表現。
## 作為維護者的自我照顧和避免疲憊的建議:
### 辨識您參與開源工作的動機
花些時間反思開源維護中哪些部分能夠為您注入活力。了解您的動機可以幫助您以一種讓自己保持參與和迎接新挑戰的方式來優先考慮工作。無論是來自使用者的積極反饋、與社區合作和社交的樂趣,還是深入研究程式碼所帶來的滿足感,認識自己的動機可以幫助引導您的關注點。
### 反思是什麼使您失去平衡並感到壓力重重
了解導致我們感到疲憊的原因至關重要。以下是一些我們在開源維護者中常見的主題:
* **缺乏積極的回饋:** 使用者更有可能在他們有投訴時聯絡您。如果一切都運作良好,他們通常會保持沉默。看到問題清單不斷增長,卻沒有積極的回饋顯示您的貢獻正在產生影響,可能會讓人感到沮喪。
* **不說"不":** 在開源專案中,很容易承擔比您應該負責的更多責任。無論是來自使用者、貢獻者還是其他維護者,我們不能總是滿足他們的期望。
* **單獨工作:** 做一名維護者可能會讓人感到極度孤獨。即使您與一組維護者一起工作,過去幾年來,因分散的團隊難以親自聚會而變得困難。
* **時間和資源不足:** 對於那些必須犧牲自己的空閒時間來參與項目的志願維護者來說,這一點尤其真實。
* **需求衝突:** 開源充滿了擁有不同動機的群體,這可能很難應對。如果您受薪工作於開源項目,您的雇主的利益有時可能與社區的利益相衝突。
### 注意疲憊的跡象
您能夠保持這種節奏達10週嗎?10個月?10年?
有一些工具,例如來自 [@shaunagm](https://github.com/shaunagm) 的 [Burnout Checklist](https://governingopen.com/resources/signs-of-burnout-checklist.html) 和 可以幫助您反思您目前的節奏,並查看是否有任何調整的空間。一些維護者還使用可穿戴技術來追蹤睡眠質量和心率變異性等指標(這些都與壓力有關)。
### 您需要什麼來持續支持自己和您的社群?
對每位維護者來說,這可能因年齡階段和其他外部因素而有所不同。但以下是一些我們聽到的主題:
* **依賴社群:** 委託和找到貢獻者可以減輕工作負荷。項目有多個聯絡點可以幫助您在休息時不必擔心。與其他維護者和更廣泛的社群建立聯繫,例如 [Maintainer Community](http://maintainers.github.com/)。這可以是同儕支持和學習的重要資源。
您還可以尋找與使用者社群互動的方式,以便定期聽取反饋並了解您的開源工作的影響。
* **探索資金支持:** 無論您是尋找一些額外的財政支持,還是嘗試全職投入開源,都有許多資源可以幫助您!作為第一步,考慮啟用 [GitHub Sponsors](https://github.com/sponsors),以允許其他人贊助您的開源工作。如果您考慮轉向全職,請申請下一輪的 [GitHub Accelerator](http://accelerator.github.com/)。
* **使用工具:** 探索工具,如 [GitHub Copilot](https://github.com/features/copilot/) 和 [GitHub Actions](https://github.com/features/actions),以自動化乏味的任務,釋放更多時間進行有意義的貢獻。
* **休息和恢復:** 為自己的興趣和愛好留出時間,遠離開源項目的工作。週末休息一下,放鬆身心,並設定您的 [GitHub status](https://docs.github.com/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status) 以反映您的可用性!一晚好的睡眠對於您長期維護努力的能力可能會產生重大影響。
如果您發現項目的某些方面特別令人愉快,請嘗試結構化您的工作,以便您可以在一天中體驗到這些樂趣。
* **設定界限:** 您無法對每個請求都答應。這可以是簡單地說,"我現在無法處理這個,並且將來也沒有計劃",或在 README 中列出您有興趣和不願意做的事情。例如,您可以說:"我只會合併明確列出為什麼要這樣做的 PR",或者,"我只會在每兩週的週四晚上 6 點到 7 點之間審查問題。" 這會讓其他人對您的期望有所了解,並且在其他時候有助於緩解貢獻者或使用者對您的時間的需求。
學會堅定地制止有毒行為和負面互動。不對您不關心的事情付出精力是可以接受的。
請記住,個人生態學是一個不斷演變的實踐,隨著您在開源之旅中的進展而變化。通過優先考慮自我照顧和保持平衡感,您可以有效且持久地貢獻於開源社群,確保自己的幸福以及項目的長期成功。
## 額外資源
* [Maintainer Community](http://maintainers.github.com/)
* [The social contract of open source](https://snarky.ca/the-social-contract-of-open-source/), Brett Cannon
* [Uncurled](https://daniel.haxx.se/uncurled/), Daniel Stenberg
* [How to deal with toxic people](https://www.youtube.com/watch?v=7lIpP3GEyXs), Gina Häußge
* [SustainOSS](https://sustainoss.org/)
* [Rockwood Art of Leadership](https://rockwoodleadership.org/art-of-leadership/)
* [Saying No](https://mikemcquaid.com/saying-no/), Mike McQuaid
* [Governing Open](https://governingopen.com/)
* Workshop agenda was remixed from [Mozilla's Movement Building from Home](https://foundation.mozilla.org/en/blog/its-a-wrap-movement-building-from-home/) series
## 貢獻者
非常感謝所有與我們分享他們經驗和建議的維護者!
本指南由[@abbycabs](https://github.com/abbycabs)撰寫,[@jianan1104](https://github.com/jianan1104)翻譯,並得到以下貢獻者的貢獻:
[@agnostic-apollo](https://github.com/agnostic-apollo)
[@AndreaGriffiths11](https://github.com/AndreaGriffiths11)
[@antfu](https://github.com/antfu)
[@anthonyronda](https://github.com/anthonyronda)
[@CBID2](https://github.com/CBID2)
[@Cli4d](https://github.com/Cli4d)
[@confused-Techie](https://github.com/confused-Techie)
[@danielroe](https://github.com/danielroe)
[@Dexters-Hub](https://github.com/Dexters-Hub)
[@eddiejaoude](https://github.com/eddiejaoude)
[@Eugeny](https://github.com/Eugeny)
[@ferki](https://github.com/ferki)
[@gabek](https://github.com/gabek)
[@geromegrignon](https://github.com/geromegrignon)
[@hynek](https://github.com/hynek)
[@IvanSanchez](https://github.com/IvanSanchez)
[@karasowles](https://github.com/karasowles)
[@KoolTheba](https://github.com/KoolTheba)
[@leereilly](https://github.com/leereilly)
[@ljharb](https://github.com/ljharb)
[@nightlark](https://github.com/nightlark)
[@plarson3427](https://github.com/plarson3427)
[@Pradumnasaraf](https://github.com/Pradumnasaraf)
[@RichardLitt](https://github.com/RichardLitt)
[@rrousselGit](https://github.com/rrousselGit)
[@sansyrox](https://github.com/sansyrox)
[@schlessera](https://github.com/schlessera)
[@shyim](https://github.com/shyim)
[@smashah](https://github.com/smashah)
[@ssalbdivad](https://github.com/ssalbdivad)
[@The-Compiler](https://github.com/The-Compiler)
[@thehale](https://github.com/thehale)
[@thisisnic](https://github.com/thisisnic)
[@tudoramariei](https://github.com/tudoramariei)
[@UlisesGascon](https://github.com/UlisesGascon)
[@waldyrious](https://github.com/waldyrious) + 很多人!
================================================
FILE: _articles/zh-hant/metrics.md
================================================
---
lang: zh-hant
title: 開源衡量準則
description: 透過持續的追蹤專案,幫助你做出最佳決策,讓開源專案更成功。
class: metrics
order: 9
image: /assets/images/cards/metrics.png
related:
- finding
- best-practices
redirect_from: /zh-tw/metrics/
---
## 爲何要度量所有
數據,只有在充滿智慧的運用它,才能發揮出其應有的功效。作爲一名開源專案的維護者,可以利用數據來助自己一臂之力。
當獲取到很多的資訊之後,就可以做很多事,比如:
* 理解用戶對一個新功能是怎麼反應的
* 搞清楚新用戶是從哪裏來的
* 鑑別,並且決定是否支持一個跑偏的使用場景或者功能
* 量化你專案的流行程度
* 知道你的專案是怎樣被別人使用的
* 通過贊助商或者讚賞掙點小錢
舉個例子,[Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Analytics.md) 就利用Google數據分析,來幫助他們對工作進行了優先級的區分:
> Homebrew 是免費的,完全由志願者在業餘時間維護。所以,我們沒有資源去做詳細的Hemobrew用戶調查從而決定如何更好的設計未來的新功能以及對當前的工作分出優先級。匿名的聚合用戶數據分析讓我們基於用戶如何,何地,何時使用Homebrew來優先考慮某些補丁和功能。
流行程度並不能代表一切。每個人都是因爲不同的原因參與到開源專案中來,如果你做專案維護者的原因是展示你的工作成果,公開你的代碼,或者只是爲了好玩,那麼度量標準可能對你來說就不是那麼的重要。
如果你想對自己的專案有一個深層次的瞭解,那麼請繼續閱讀下文介紹的分析專案活躍度的方法。
## 發現專案
在有人能夠使用或者回饋你的專案之前,他們得知道是否有這樣的專案存在,問問你自己:_人們都在尋找這樣專案嗎?_

如果你的專案是託管在GitHub, 你可以[訪問](https://help.github.com/articles/about-repository-graphs/#traffic) 獲取諸如多少人訪問過你的專案,他們從哪裏得知的之類的資訊。在你的專案主頁,點擊"Graphs", 然後"Traffic"。在這個頁面,你可以看到:
* **總瀏覽量:** 專案被查看了多少次
* **總獨立訪問者:** 多少人查看了你專案
* **關聯網站:** 訪問者從哪裏來的。這個數據能幫助你搞清楚哪裏可以接觸到你的受衆和你爲推廣做出的努力是不是有效的。
* **受歡迎的內容:** 訪問者都查看了你專案的那些內容,按照頁面訪問量和獨立訪客數。
[GitHub stars](https://help.github.com/articles/about-stars/) 可以提供一個基本的衡量流行度的標準。然而GitHub 點贊數並不和下載量、使用量直接掛鉤,但是他可以告訴你有多少人在關注你的專案。
你也許想要[在特定的地方跟蹤可發現的內容](https://opensource.com/business/16/6/pirate-metrics): 舉個例子,Google PageRank,會跟蹤來自你專案網站的流量,或者跟蹤來自其他開源專案或者網站的流量。
## 使用專案
人們在這個廣袤而且瘋狂的我們稱之爲互聯網的地方,竟然找你了你的專案。理想情況下,當他們看到你的專案的時候,他們會情不自禁的做點什麼。第二個問題你要問自己的是:_人們在使用你的專案嗎?_
如果你使用一個包管理器,比如說npm或者RubyGems.org,來發佈你的專案,你就可以跟蹤到下載量。
每個包管理工具可能會對下載量有着大同小異的定義,而且下載量並不直接和安裝、使用有關,但是它提供了一個基本的比較標準。嘗試使用[Libraries.io](https://libraries.io/) 來跟蹤很多流行包管理工具的使用數據。
如果你的專案是託管在GitHub上,再一次切換到"Traffic" 頁面,你可以用[clone graph](https://github.com/blog/1873-clone-graphs)看看你的專案在一個給定的日期被克隆了多少次,按照獨立克隆者的總克隆數排序。

如果使用專案的數量低於發現專案的數量的話,那麼就有兩個問題值得考慮。他們是:
* 你的專案沒有成功的轉化你的受衆,或者
* 你吸引了錯誤的受衆
舉個例子,如果你的專案佔據了Hacker News的頭版頭條,你可能會看到一個流量的高峰,但是與此同時,轉化率會比較低,因爲Hacker News上所有人都看見了你的專案。如果你的Ruby專案是在Ruby研討會上宣傳的,那麼,更有可能從目標受衆羣體中獲得較高的轉化率。
努力找出你的受衆是從哪裏來的,然後在你的專案主頁尋求他們的反饋,看看是上述兩種情況的哪一種。
一旦知道了都是有那些人在使用你的專案的話,接下來就是看看他們會做些什麼,他們是否基於源程式碼開始構建?爲專案增加新的特性?他們將專案用於科研?還是業務?
## 留下來
人們找到了你的專案,而且已經在使用了。那麼接下來你要問自己的問題就是:_人們有對這個專案做貢獻嗎?_
不管什麼時候考慮貢獻者這個問題都不能算早。沒有大眾的參與,你就可能會把自己置於一個尷尬的境地,那就是你的專案雖然很 _流行_(很多人用)但是並不被 _支持_(維護者沒有足夠的時間來滿足用戶的需求)。
保持專案的進展需要[貢獻者的流動](http://blog.abigailcabunoc.com/increasing-developer-engagement-at-mozilla-science-learning-advocacy#contributor-pathways_2)(意思是有進有出)因爲之前很活躍的貢獻者也可能會去幹別的事情。
可能會經常用的衡量社群的指標包括:
* **貢獻者的總數和每個貢獻者的提交次數:** 有多少貢獻者,哪些是活躍的,哪些是不活躍。github上,你可以在"Graphs" -> "Contributors"面板查看這些資訊。目前,這個圖標只計算了那些往倉庫默認分支推送的貢獻者。

* **第一次,偶爾爲之的,和持續的貢獻者:** 幫助檢測是否有新的貢獻者,以及他們是不是會再來。(偶爾的貢獻者是那些提交的次數很少的人,當然啦,這個數目是多少取決於你,比如說五次。)如果沒有新的貢獻者,你的專案就會停滯不前。
* **打開的issue的數目和PR的數目:** 如果這些數目太高,就意味着你可能需要有人幫你給issue分類以及做代碼審查。
* **所有的打開過的issue和PR:** 一個issue被人提出說明你的專案對他來說比較重要。如果這個數目隨着時間在增長,這就意味着人們對你的專案感興趣。
* **不同種類的貢獻者:** 比如說,提交代碼,修復筆誤或者bug,或者在issue下面評論。
## 維護者活躍度
最後,你還需要確定一件事,那就是維護者有足夠的能力和時間處理社群的貢獻。最後一個問題你要問自己的是:_我是不是有足夠的時間和精力來回應社群?_
沒有責任心的維護者絕對是開源專案的災難。想象一下就知道,假如一位貢獻者提交了代碼或其他貢獻,但從來沒有得到過維護者的回覆,他 100% 會感到灰心,並最終選擇離開。
[來自Mozilla的研究](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) 說: **維護者的回應是鼓勵更多貢獻者中非常重要的一環**。
考慮記錄一下你或者其他的專案維護者對一次貢獻(issue或者PR)回應的時間,回應並不需要花多少精力。哪怕只是說一句:"謝謝你的貢獻,我下週會查看的。"
你也可以測量一在一個貢獻被處理的過程中狀態變化的時間。比如:
* 一個issue保持打開狀態的時間(也就代表一個問題保持沒有被解決狀態的時間)。
* 一個issue是否因爲一個PR得到解決。
* 陳舊的iuuse是否被關閉了(被解決的問題應該關閉)。
* 合併一個PR的時間。
## 使用 📊 學習關於人本身
理解一些細節能夠幫助你建設活躍的、成長的開源專案。哪怕是你無法追蹤每一個細節,通過使用上述的框架,將能夠讓你集中精力到該用力的地方,進而助專案成功!
================================================
FILE: _articles/zh-hant/security-best-practices-for-your-project.md
================================================
---
lang: zh-hant
untranslated: true
title: Security Best Practices for your Project
description: Strengthen your project's future by building trust through essential security practices — from MFA and code scanning to safe dependency management and private vulnerability reporting.
class: security-best-practices
order: -1
image: /assets/images/cards/security-best-practices.png
---
Bugs and new features aside, a project's longevity hinges not only on its usefulness but also on the trust it earns from its users. Strong security measures are important to keep this trust alive. Here are some important actions you can take to significantly improve your project's security.
## Ensure all privileged contributors have enabled Multi-Factor Authentication (MFA)
### A malicious actor who manages to impersonate a privileged contributor to your project, will cause catastrophic damages.
Once they obtain the privileged access, this actor can modify your code to make it perform unwanted actions (e.g. mine cryptocurrency), or can distribute malware to your users' infrastructure, or can access private code repositories to exfiltrate intellectual property and sensitive data, including credentials to other services.
MFA provides an additional layer of security against account takeover. Once enabled, you have to log in with your username and password and provide another form of authentication that only you know or have access to.
## Secure your code as part of your development workflow
### Security vulnerabilities in your code are cheaper to fix when detected early in the process than later, when they are used in production.
Use a Static Application Security Testing (SAST) tool to detect security vulnerabilities in your code. These tools are operating at code level and don't need an executing environment, and therefore can be executed early in the process, and can be seamlessly integrated in your usual development workflow, during the build or during the code review phases.
It's like having a skilled expert look over your code repository, helping you find common security vulnerabilities that could be hiding in plain sight as you code.
How to choose your SAST tool?
Check the license: Some tools are free for open source projects. For example GitHub CodeQL or SemGrep.
Check the coverage for your language(s)
* Select one that easily integrates with the tools you already use, with your existing process. For example, it's better if the alerts are available as part of your existing code review process and tool, rather than going to another tool to see them.
* Beware of False Positives! You don't want the tool to slow you down for no reason!
* Check the features: some tools are very powerful and can do taint tracking (example: GitHub CodeQL), some propose AI-generated fix suggestions, some make it easier to write custom queries (example: SemGrep).
## Don't share your secrets
### Sensitive data, such as API keys, tokens, and passwords, can sometimes accidentally get committed to your repository.
Imagine this scenario: You are the maintainer of a popular open-source project with contributions from developers worldwide. One day, a contributor unknowingly commits to the repository some API keys of a third-party service. Days later, someone finds these keys and uses them to get into the service without permission. The service is compromised, users of your project experience downtime, and your project's reputation takes a hit. As the maintainer, you're now faced with the daunting tasks of revoking compromised secrets, investigating what malicious actions the attacker could have performed with this secret, notifying affected users, and implementing fixes.
To prevent such incidents, "secret scanning" solutions exist to help you detect those secrets in your code. Some tools like GitHub Secret Scanning, and Trufflehog by Truffle Security can prevent you from pushing them to remote branches in the first place, and some tools will automatically revoke some secrets for you.
## Check and update your dependencies
### Dependencies in your project can have vulnerabilities that compromise the security of your project. Manually keeping dependencies up to date can be a time-consuming task.
Picture this: a project built on the sturdy foundation of a widely-used library. The library later finds a big security problem, but the people who built the application using it don't know about it. Sensitive user data is left exposed when an attacker takes advantage of this weakness, swooping in to grab it. This is not a theoretical case. This is exactly what happened to Equifax in 2017: They failed to update their Apache Struts dependency after the notification that a severe vulnerability was detected. It was exploited, and the infamous Equifax breach affected 144 million users' data.
To prevent such scenarios, Software Composition Analysis (SCA) tools such as Dependabot and Renovate automatically check your dependencies for known vulnerabilities published in public databases such as the NVD or the GitHub Advisory Database, and then creates pull requests to update them to safe versions. Staying up-to-date with the latest safe dependency versions safeguards your project from potential risks.
## Understand and manage open source license risks
### Open source licenses come with terms and ignoring them can lead to legal and reputational risks.
Using open source dependencies can speed up development, but each package includes a license that defines how it can be used, modified, or distributed. [Some licenses are permissive](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project), while others (like AGPL or SSPL) impose restrictions that may not be compatible with your project's goals or your users' needs.
Imagine this: You add a powerful library to your project, unaware that it uses a restrictive license. Later, a company wants to adopt your project but raises concerns about license compliance. The result? You lose adoption, need to refactor code, and your project's reputation takes a hit.
To avoid these pitfalls, consider including automated license checks as part of your development workflow. These checks can help identify incompatible licenses early in the process, preventing problematic dependencies from being introduced into your project.
Another powerful approach is generating a Software Bill of Materials (SBOM). An SBOM lists all components and their metadata (including licenses) in a standardized format. It offers clear visibility into your software supply chain and helps surface licensing risks proactively.
Just like security vulnerabilities, license issues are easier to fix when discovered early. Automating this process keeps your project healthy and safe.
## Avoid unwanted changes with protected branches
### Unrestricted access to your main branches can lead to accidental or malicious changes that may introduce vulnerabilities or disrupt the stability of your project.
A new contributor gets write access to the main branch and accidentally pushes changes that have not been tested. A dire security flaw is then uncovered, courtesy of the latest changes. To prevent such issues, branch protection rules ensure that changes cannot be pushed or merged into important branches without first undergoing reviews and passing specified status checks. You're safer and better off with this extra measure in place, guaranteeing top-notch quality every time.
## Make it easy (and safe) to report security issues
### It's a good practice to make it easy for your users to report bugs, but the big question is: when this bug has a security impact, how can they safely report them to you without putting a target on you for malicious hackers?
Picture this: A security researcher discovers a vulnerability in your project but finds no clear or secure way to report it. Without a designated process, they might create a public issue or discuss it openly on social media. Even if they are well-intentioned and offer a fix, if they do it with a public pull request, others will see it before it's merged! This public disclosure will expose the vulnerability to malicious actors before you have a chance to address it, potentially leading to a zero-day exploit, attacking your project and its users.
### Security Policy
To avoid this, publish a security policy. A security policy, defined in a `SECURITY.md` file, details the steps for reporting security concerns, creating a transparent process for coordinated disclosure, and establishing the project team's responsibilities for addressing reported issues. This security policy can be as simple as "Please don't publish details in a public issue or PR, send us a private email at security@example.com", but can also contain other details such as when they should expect to receive an answer from you. Anything that can help the effectiveness and the efficiency of the disclosure process.
### Private Vulnerability Reporting
On some platforms, you can streamline and strengthen your vulnerability management process, from intake to broadcast, with private issues. On GitLab, this can be done with private issues. On GitHub, this is called private vulnerability reporting (PVR). PVR enables maintainers to receive and address vulnerability reports, all within the GitHub platform. GitHub will automatically create a private fork to write the fixes, and a draft security advisory. All of this remains confidential until you decide to disclose the issues and release the fixes. To close the loop, security advisories will be published, and will inform and protect all your users through their SCA tool.
### Define your threat model to help users and researchers understand scope
Before security researchers can report issues effectively, they need to understand what risks are in scope. A lightweight threat model can help define your project's boundaries, expected behavior, and assumptions.
A threat model doesn't need to be complex. Even a simple document outlining what your project does, what it trusts, and how it could be misused goes a long way. It also helps you, as a maintainer, think through potential pitfalls and inherited risks from upstream dependencies.
A great example is the [Node.js threat model](https://github.com/nodejs/node/security/policy#the-nodejs-threat-model), which clearly defines what is and isn't considered a vulnerability in the project's context.
If you're new to this, the [OWASP Threat Modeling Process](https://owasp.org/www-community/Threat_Modeling_Process) offers a helpful introduction to build your own.
Publishing a basic threat model alongside your security policy improves clarity for everyone.
## Prepare a lightweight incident response process
### Having a basic incident response plan helps you stay calm and act efficiently, ensuring the safety of your users and consumers.
Most vulnerabilities are discovered by researchers and reported privately. But sometimes, an issue is already being exploited in the wild before it reaches you. When this happens, your downstream consumers are the ones at risk, and having a lightweight, well-defined incident response plan can make a critical difference.
Even when a vulnerability is reported privately, the next steps matter. Once you receive a vulnerability report or detect suspicious activity, what happens next?
Having a basic incident response plan, even a simple checklist, helps you stay calm and act efficiently when time matters. It also shows users and researchers that you take incidents and reports seriously.
Your process doesn't have to be complex. At minimum, define:
* Who reviews and triages security reports or alerts
* How severity is evaluated and how mitigation decisions are made
* What steps you take to prepare a fix and coordinate disclosure
* How you notify affected users, contributors, or downstream consumers
An active incident, if not well managed, can erode trust in your project from your users. Publishing this (or linking to it) in your `SECURITY.md` file can help set expectations and build trust.
For inspiration, the [Express.js Security WG](https://github.com/expressjs/security-wg/blob/main/docs/incident_response_plan.md) provides a simple but effective example of an open source incident response plan.
This plan can evolve as your project grows, but having a basic framework in place now can save time and reduce mistakes during a real incident.
## Treat security as a team effort
### Security isn't a solo responsibility. It works best when shared across your project's community.
While tools and policies are essential, a strong security posture comes from how your team and contributors work together. Building a culture of shared responsibility helps your project identify, triage, and respond to vulnerabilities faster and more effectively.
Here are a few ways to make security a team sport:
* **Assign clear roles**: Know who handles vulnerability reports, who reviews dependency updates, and who approves security patches.
* **Limit access using the principle of least privilege**: Only give write or admin access to those who truly need it and review permissions regularly.
* **Invest in education**: Encourage contributors to learn about secure coding practices, common vulnerability types, and how to use your tools (like SAST or secret scanning).
* **Foster diversity and collaboration**: A heterogeneous team brings a wider set of experiences, threat awareness, and creative problem-solving skills. It also helps uncover risks others might overlook.
* **Engage upstream and downstream**: Your dependencies can affect your security and your project affects others. Participate in coordinated disclosure with upstream maintainers, and keep downstream users informed when vulnerabilities are fixed.
Security is an ongoing process, not a one-time setup. By involving your community, encouraging secure practices, and supporting each other, you build a stronger, more resilient project and a safer ecosystem for everyone.
## Conclusion: A few steps for you, a huge improvement for your users
These few steps might seem easy or basic to you, but they go a long way to make your project more secure for its users, because they will provide protection against the most common issues.
Security isn't static. Revisit your processes from time to time as your project grows, so do your responsibilities and your attack surface.
## Contributors
### Many thanks to all the maintainers who shared their experiences and tips with us for this guide!
This guide was written by [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) with contributions from:
[@JLLeitschuh](https://github.com/JLLeitschuh), [@intrigus-lgtm](https://github.com/intrigus-lgtm), [@UlisesGascon](https://github.com/ulisesgascon) + many others!
================================================
FILE: _articles/zh-hant/starting-a-project.md
================================================
---
lang: zh-hant
title: 發起一個開源專案
description: 從開源的世界汲取智慧,著手發起開源專案。
class: beginners
order: 2
image: /assets/images/cards/beginner.png
related:
- finding
- building
redirect_from: /zh-tw/starting-a-project/
---
## 什麼是開源,爲什麼要開源
所以你在考慮開始參與開源?恭喜!世界讚賞你的貢獻。讓我們來談談開源是什麼,以及人們這樣做。
### "開源"是什麼意思
當一個專案被開源,這意味着**任何人都可以出於任何目的查看,使用,修改和分發你的專案**。 這些權限通過[開源許可](https://opensource.org/licenses)強制實施。
開源是強大的,因爲它降低了事物被採納的障礙,允許想法迅速傳播。
要瞭解它的工作原理,想象你的朋友組織了一場聚餐,而你帶去了一個櫻桃派。
* 每個人都嚐了那個派(_使用_)
* 派的味道棒極了!大家請你分享它的配方(_view_)
* 一個叫 Alex 的朋友是個糕點師,他建議少放點糖(_modify_)
* 一個叫 Lisa 的朋友想要用它作爲下週的晚餐(_distribute_)
相比之下,一個閉源過程就像去一家餐廳訂購一個櫻桃派。你必須爲了吃餅支付費用,餐廳恐怕不會給你他們的食譜。如果你準確地複製了他們的餡餅,並以你自己的名義出售,餐廳可以對你採取措施。
### 人們爲什麼把他們的作品開源?
個人或組織爲何想要開源一個專案,[有各種各樣的的原因](http://ben.balter.com/2015/11/23/why-open-source/),例如:
* **協作:** 開源專案可以接受世界各地人們的修改。 例如 [Exercism](https://github.com/exercism/) 就是一個擁有350多個貢獻者的練習平臺。
* **採用和重組:** 任何人幾乎可以出於任何目的使用開源專案。人們甚至可以使用它來構建其他東西。例如,[WordPress](https://github.com/WordPress) 就是派生自一個名爲 [b2](https://github.com/WordPress/book/blob/HEAD/Content/Part%201/2-b2-cafelog.md) 的現有專案。
* **透明度:** 任何人都可以檢查開源專案是否有錯誤或不一致。 透明度對[保加利亞](https://medium.com/@bozhobg/bulgaria-got-a-law-requiring-open-source-98bf626cf70a) 或[美國](https://digital.gov/resources/requirements-for-achieving-efficiency-transparency-and-innovation-through-reusable-and-open-source-software/)等政府,銀行或醫療保健等受監管行業以及 [Let's Encrypt](https://github.com/letsencrypt) 等安全軟件都很重要。
開源並不僅僅限於軟件。您可以開源任何事物,從數據集到書本。查看 [GitHub Explore](https://github.com/explore) 開找找有什麼是你可以開源的。
### 開源是指"免費"嗎
開源最大的吸引之一是它不花錢。 但是,"免費"只是開源的總體價值的一個副產品。
因爲[開源許可證要求](https://opensource.org/osd-annotated)任何人可以幾乎出於任何目使用,修改和共享您的專案,專案本身往往是免費的。 如果該專案花錢使用,任何人也都可以合法地複製和使用免費版本。
因此,大多數開源專案是免費的,但"免費"不是開源定義的一部分。 有些方法可以通過雙重許可或有限功能間接地爲開源專案收費,同時仍然遵守開源的官方定義。
## 我是否應該發起我自己的開源專案
簡單來說,答案是肯定的,因爲無論結果如何,啓動您自己的專案來瞭解開源的工作原理是一個好方法。
如果你從來沒有創建過一個專案,你可能會擔心人們會說什麼,或者是否有人會注意到。 如果這聽起來像你現在的狀態,別擔心,你並不孤獨!
開源工作就像任何其他充滿創意的活動,無論是寫作還是繪畫。 向世界分享你的作品會讓你提心吊膽,但唯有練習能夠讓你的感覺變好的方法 - 即使你沒有觀衆。
如果你還不確信,請花一點時間思考你的目標可能是什麼。
### 設置你的目標
目標可以幫助你弄清該做什麼,不應該說什麼,以及你在哪方面需要其他人的幫助。 首先問自己,_我是爲什麼開源這個專案?_
這個問題沒有標準答案。 對於一個專案你可以有多個目標,或者具有不同目標的不同專案。
如果你唯一的目標是炫耀你的工作,你甚至可能不需要他人的貢獻,甚至在你的 README 中說明這點。但另一方面,如果你需要貢獻者,你會投入時間來使文檔清晰,好讓新的參與者感到歡迎。
隨着你的專案增長,你的社群可能不僅需要你的代碼。迴應問題,審查代碼和傳播你的專案都會成爲開源專案中的重要任務。
而你在非編碼的任務上花費的時間將取決於專案的大小和範圍,你應該準備好作爲維護者來自己解決或找人幫助你。
**如果你是公司開源專案的一部分,** 確保你的專案有它需要茁壯成長的內部資源。 你需要確定誰在啓動後負責維護專案,以及如何與你的社群共享這些任務。
如果你需要專門的預算或人員來促進,操作和維護專案,請儘早提出。
### 加入其他專案
如果你的目標是學習如何與他人合作或瞭解開源的工作方式,請考慮爲現有專案做出貢獻。從你已經使用並喜歡的專案開始。像修復拼寫錯誤或更新文檔簡單的事也能爲專案做出貢獻。
如果你不知道如何開始作爲貢獻者,請查看我們的[如何貢獻開源指南](../how-to-contribute/)。
## 發起自己的開源專案
即使你沒有很好的時間來開源你的工作。你也可以開源一個想法,正在進行中的工作,或是關閉了多年的源碼。
一般來說,如果你樂意於他人對你工作的查看和反饋,你就應該開源你的專案。
無論您決定開展專案的哪個階段,每個專案都應包括以下文檔:
* [Open source license](https://help.github.com/articles/open-source-licensing/#where-does-the-license-live-on-my-repository)
* [README](https://help.github.com/articles/create-a-repo/#commit-your-first-change)
* [Contributing guidelines](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
* [Code of conduct](../code-of-conduct/)
作爲維護者,這些組件將幫助你交流你的期望,管理貢獻並保護每個人的合法權益(也包括您自己的)。他們能夠大大增加你積極體驗的機會。
如果您的專案在 GitHub 上,則將這些文件放在您的根目錄中,並使用推薦的文件名將有助於 GitHub 識別並自動將其顯示給讀者。
### 選擇一個許可證 (license)
開源許可證保證其他人可以使用,複製,修改和貢獻給您的專案,而不會產生不良後果。 它也可以保護您免受繁瑣的法律影響。**啓動開源專案時,請務必包含許可證。**
法律工作是非常無趣的。但好消息是,您可以將現有許可證複製並粘貼到存儲庫中。只需要花這麼一點時間,就能保護你的辛苦工作。
[MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), 和 [GPLv3](https://choosealicense.com/licenses/gpl-3.0/) 都是非常流行的開源許可證, 但你可以選擇[其他選項](https://choosealicense.com).
當你在GitHub上創建新專案時,你可以選擇許可證。包括開源許可證將使你的GitHub專案成爲開源。

如果您在管理開放源碼專案的法律方面有其他問題或疑慮,我們已經[在這裏](../legal/)介紹了。
### 編寫自述文件
自述文件不僅僅是用於說明如何使用你的專案。他們還可以解釋你的專案爲什麼重要,以及它可以爲你的用戶做什麼。
在您的自述文件中,嘗試回答以下問題:
* 這個專案做什麼?
* 爲什麼這個專案有用?
* 如何開始?
* 如果需要,我可以在哪裏獲得更多的幫助?
您可以使用自己的README回答其他問題,例如處理貢獻,專案的目標以及許可證和歸屬資訊。 如果您不想接受他人的貢獻,或者您的專案尚未準備好作爲產品提供使用,請將這些資訊寫下來。
有時,人們會因爲覺得專案未完成而不願意撰寫 README,或者他們不希望做出貢獻。這些都是寫一個 README 的很好的理由。
想要獲得更多靈感,請嘗試使用 @18F 的 ["讓 README 可讀"](https://pages.18f.gov/open-source-guide/making-readmes-readable/) 或者 @PurpleBooth 的 [README 模板](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) 來撰寫一個完整的 README。
當你在根目錄中包含一個 README 文件時,GitHub 會自動將其顯示在存儲庫的主頁上。
### 編寫你的貢獻指南
貢獻文件 (CONTRIBUTING file) 告訴你的受衆如何參與你的專案. 例如,你可以包括一下資訊:
* 如何提交錯誤報告(嘗試使用[issue 和 pull request 模板](https://github.com/blog/2111-issue-and-pull-request-templates))
* 如何建議一個新功能
* 如何配置你的環境和運行測試
除了技術細節, 貢獻文件也是一個供你傳達對貢獻期待的機會, 例如:
* 你在尋求的貢獻類型
* 你專案的路線圖或者版本
* 貢獻者應該(或者不應該)如何與你取得聯繫
溫柔友好的逾期和向貢獻者們提供具體的建議(例如寫文檔或者搭建一個網頁)能夠有效地使新人感到受歡迎並樂於參與其中。
例如,[Active Admin](https://github.com/activeadmin/activeadmin/) 以這樣的方式開始[它的貢獻指南](https://github.com/activeadmin/activeadmin/blob/HEAD/CONTRIBUTING.md):
> 首先, 非常感謝你考慮爲 Active Admin 貢獻幫助。正式你這樣的人們使得 Active Admin 成爲瞭如此優秀的工具。
在你專案開始的初期,你的貢獻文件可以很簡單。你應該經常解釋如何提交錯誤和文件問題,以及關於如何作出貢獻的技術問題(例如測試)。
隨着時間的推移,你硬弓增加其他常見問題到你的貢獻文件中去。寫下這些資訊意味着問你相同問題的人會越來越少。
想要獲得更多有關編寫貢獻文件的方式,請查閱 @nayafia 的 [貢獻指南模板](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md) 或者 @mozilla 的 ["如何構建 CONTRIBUTION.md"](http://mozillascience.github.io/working-open-workshop/contributing/)。
來你的 README 中鏈接你的 CONTRIBUTING,這樣更多人就能看到他。如果你[在你的專案中放入了 CONTRIBUTING 文件](https://help.github.com/articles/setting-guidelines-for-repository-contributors/),當一個貢獻者創建 issue 或者開啓一個 pull request 時,GitHub 會自動鏈接你的文件。

### 建立行爲規範
最後,行爲規範有助於爲你專案的參與者車裏行爲規則。這在你爲社群或者專案推出一個開源專案的時候尤爲有價值。一份行爲幫助你促進健康,有建設性的社群行爲,這也會減輕你作爲維護者的壓力。
更多資訊,請參見 [行爲規範指導](../code-of-conduct/)。
除了傳達你期待參與者**如何**行動,行爲規範也傾向於描述這些期待針對誰,適用於何時,以及對於違規行爲的處理方法。
就像開源許可證一樣,有現成的行爲規範,所以你不必自己編寫。[貢獻者公約](http://contributor-covenant.org/)是一個行之有效的行爲規範,已經被用在[超過4000個開源專案](http://contributor-covenant.org/adopters/),包括 Kubernetes,Rails,以及 Swift。無論你使用哪一種,你都應該準備好在必要時執行行爲規範。
將文本直接粘貼到專案存儲庫中的 CODE_OF_CONDUCT 文件中。將文件保存在專案的根目錄中,以便輕鬆找到,並從 README 中鏈接到它。
## 爲專案命名及設立品牌
品牌不僅是一個華麗的logo或者易記的專案名。它還關於你如何談論你的專案,以及你想把資訊傳遞給誰。
### 選擇正確的名字
選擇一個容易記住,有創意,能表達專案用意的名字。例如:
* [Sentry](https://github.com/getsentry/sentry) 監控應用程序的崩潰報告
* [Thin](https://github.com/macournoyer/thin) 是一個簡單快速的Ruby web服務器。
如果你的專案是基於一個已存在的專案創建,那麼使用他們的名字作爲你專案名的前綴會幫助你闡述你專案的用途。 (例如 [node-fetch](https://github.com/bitinn/node-fetch)將`window.fetch` 添加到了 Node.js)。
考慮闡明所有。押韻雖然有趣,但是記住玩笑不可能轉變成其它的文化,或者他人與你有不同的經歷。你的一些潛在用戶可能是公司員工,你不能讓他們在工作中很難解釋你的專案!
### 避免命名衝突
[查看是否有同名的開源專案](http://ivantomic.com/projects/ospnc/),尤其是你分享的是同樣的語言或者生態系統。如果你的名字與一個已存在的知名的專案有衝突,你會讓你的粉絲感到困惑。
如果你想要一個網站,Twitter賬號或者其他特性來展示你的專案,先確保你能得到你想要的名字。理想情況下,爲了美好的未來[現在保留這些名字](https://instantdomainsearch.com/),即使你現在不想用他們。
確保你的專案名沒有侵權。如果有侵權,可能會有公司要求你的專案下架,或者對你採取法律措施。這樣得不償失。
你可以查閱[WIPO全球品牌數據庫](http://www.wipo.int/branddb/en/)避免商標衝突。如果你是在公司工作,[法律團隊會幫你做這件事](../legal/)。
最後,去谷歌搜索你的專案名。大家會很容易地找到你的專案嗎?在搜索結果禮是否有你不想讓大家看到的東西?
### 你的寫作(和代碼)如何影響你的品牌
在專案的整個生命週期中,你需要做很多文字工作:READMEs,教程,社群文檔,回覆issues,甚至可能要處理很多來信和郵件。
是否是官方文檔或者一封普通的郵件,你的書寫風格都是你專案品牌的一部分。考慮你可能會擁有粉絲,以及這是你想傳達的聲音。
使用熱情,通俗易懂的語言(如"他們",即使是指一個人)能夠讓新來的貢獻者感覺專案非常歡迎他們。使用簡單的語言,因爲你的讀者可能英語不是很好。
除了書寫風格外,你的編碼風格也是你專案品牌的一部分。 [Angular](https://github.com/johnpapa/angular-styleguide) 和 [jQuery](http://contribute.jquery.org/style-guide/js/)是兩個專案代碼風格嚴謹的示例和指南。
當你的專案纔開始時,沒有必要爲專案編寫一份風格指南。你可能會發現你喜歡將不同的編碼風格融入到專案。但是你應該想到你的書寫和編碼風格會吸引或者拒絕不同類型的人。專案的早期是你建立你希望看見的先例的機會。
## 發起專案之前的檢查項
準備好開源你的專案了嗎?有一份幫助檢查清單。檢查所有內容?你準備開始吧! [點擊 "publish"](https://help.github.com/articles/making-a-private-repository-public/) 以及拍下自己的後背。
**文檔**
**代碼**
**人**
如果你是代表個人:
如果你有一家公司或者組織:
## 你做到了
恭喜你開源了你的首個專案。不論結果如何,對開源社群都是一份禮物。隨着每次commit,comment和pull request,你正在爲自己或者他人創造學習和成長的機會。
================================================
FILE: _config.yml
================================================
title: Open Source Guides
description: Learn how to launch and grow your project.
exclude:
- bin
- CNAME
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- docs
- Gemfile*
- node_modules
- package.json
- package-lock.json
- Rakefile
- README.md
- script
- test
- vendor
permalink: "/:path/"
collections:
articles:
output: true
permalink: "/:path/"
defaults:
- scope:
path: ""
values:
image: /assets/images/cards/default.png
- scope:
path: ""
type: articles
values:
layout: article
plugins:
- jekyll-redirect-from
- jekyll-seo-tag
- jekyll-sitemap
sass:
sass_dir: assets/css/
style: compressed
load_paths:
- node_modules
logo: /assets/images/cards/default.png
github:
repository_nwo: github/opensource.guide
twitter:
username: github
facebook:
publisher: https://www.facebook.com/GitHub/
================================================
FILE: _data/fields.yml
================================================
# Each piece of content has YAML front matter with these properties:
lang:
type: String
layout:
type: String
title:
type: String
required: true
contents:
type: Array
description:
type: String
class:
type: String
order:
type: Integer
image: {}
related:
type: Array
untranslated:
type: TrueClass
redirect_from:
type: String
================================================
FILE: _data/locales/ar.yml
================================================
ar:
locale_name: العربية
nav:
about: عن المشروع
contribute: ساهِم
index:
lead: البرمجيات مفتوحة المصدر يطورها أشخاص مثلك تمامًا، تعلّم كيف تطلِق مشروعَك وتُنمّيه
opensourcefriday: إنه يوم الجمعة، خصّص بضع ساعات للمساهمة في البرمجيات التي تستخدمها وتحبها
article:
table_of_contents: قائمة المحتويات
back_to_all_guides: رجوع للأدلة
related_guides: أدلة ذات صلة
footer:
contribute:
heading: ساهِم
description: هل تريد تقديم اقتراح؟ هذا المحتوى مفتوح المصدر. ساعدنا على تحسينه
button: ساهِم
subscribe:
heading: ابقَ على تواصل
description: "GitHubكُن أول من يطّلِع على أحدث نصائح وموارد"
label: البريد الإلكتروني
button: اشترِك
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] with [love] by [github] and [friends]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: love
# Label for the contributors link
friends_label: friends
================================================
FILE: _data/locales/bg.yml
================================================
bg:
locale_name: Български
nav:
about: Относно нас
contribute: Допринеси
index:
lead: Софтуерът с отворен код е създаден от хора точно като теб. Научи как да стартираш и развиеш своя проект.
opensourcefriday: Петък е! Инвестирай няколко часа, като допринесеш за софтуера, който използвате и обичате
article:
table_of_contents: Съдържание
back_to_all_guides: Назад към всички ръководства
related_guides: Свързани ръководства
footer:
contribute:
heading: Допринеси
description: Искате ли да направите предложение? Това съдържание е с отворен код. Помогнете ни да го подобрим.
button: Допринеси
subscribe:
heading: Поддържай връзка
description: Бъди първите, който ще научи за най-новите съвети и ресурси с отворен код на GitHub.
label: Имейл адрес
button: Абонирай се
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] с [love] от [github] и [приятели]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: love
# Label for the contributors link
friends_label: friends
================================================
FILE: _data/locales/bn.yml
================================================
bn:
locale_name: Bangla
nav:
about: বিস্তারিত
contribute: অবদান রাখুন
index:
lead: ওপেন সোর্স সফটওয়্যার আপনাদের মতো মানুষের দ্বারাই তৈরি। শিখুন কিভাবে আপনার প্রকল্প শুরু এবং বড় করবেন।
opensourcefriday: আজকে শুক্রবার! আপনি যে সফটওয়্যার ব্যবহার করেন ও ভালোবাসেন সেটায় অবদান রাখার জন্য কয়েক ঘন্টা সময় বিনিয়োগ করুন
article:
table_of_contents: সূচিপত্র
back_to_all_guides: সকল নির্দেশিকায় ফেরত যান
related_guides: একই সম্পর্কিত নির্দেশিকা
footer:
contribute:
heading: অবদান রাখুন
description: আপনি কি পরামর্শ দিতে চান? এই বিষয়বস্তু ওপেন সোর্স। এটা উন্নত করতে আমাদের সাহায্য করুন।
button: অবদান রাখুন
subscribe:
heading: সংযুক্ত থাকুন
description: গিটহাব এর সর্বশেষ সংবাদ এবং সম্পদের খবর সবার আগে শুনুন।
label: ইমেইল এর ঠিকানা
button: সাবস্ক্রাইব করুন
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] এর সাথে [love] সঙ্গে [github] এবং [friends]"
# Label for code octicon
code_label: কোড
# Label for love octicon
love_label: ভালোবাসা
# Label for the contributors link
friends_label: বন্ধুরা
================================================
FILE: _data/locales/de.yml
================================================
de:
locale_name: Deutsch
nav:
about: Über
contribute: Mitarbeiten
index:
lead: Open-Source-Software wird von Menschen wie Ihnen gemacht. Lernen Sie, wie Sie Ihr Projekt anfangen und ausbauen können.
opensourcefriday: Es ist Freitag! Investieren Sie ein paar Stunden in die Software, die Sie verwenden und lieben
article:
table_of_contents: Inhaltsverzeichnis
back_to_all_guides: Zurück zur Übersicht
related_guides: Verwandte Anleitungen
footer:
contribute:
heading: Mitmachen
description: Möchten Sie etwas vorschlagen? Unsere Anleitungen sind quelloffen. Helfen Sie uns, sie zu verbessern.
button: Mitmachen
subscribe:
heading: Bleiben Sie in Kontakt
description: Erfahren Sie als Erste*r von GitHubs neuesten Open-Source-Tipps und -Ressourcen.
label: E-Mail-Adresse
button: Abonnieren
byline:
# [code], [love], und [github] werden mit Octicons ersetzt.
format: "[code] mit [love] von [github] und [friends]"
# Label für das Code-Octicon
code_label: code
# Label für das Herz-Octicon
love_label: love
# Label für das Octicon der Mitwirkenden
friends_label: Freunden
================================================
FILE: _data/locales/el.yml
================================================
el:
locale_name: Ελληνικά
nav:
about: Σχετικά με
contribute: Συνεισφορά
index:
lead: Το λογισμικό ανοιχτού κώδικα υλοποιείται από ανθρώπους σαν εσάς. Μάθετε πώς να ξεκινήσετε και να αναπτύξετε το δικό σας πρότζεκτ.
opensourcefriday: Είναι Παρασκευή! Επενδύστε μερικές ώρες συνεισφέροντας στο λογισμικό που χρησιμοποιείτε και αγαπάτε
article:
table_of_contents: Πίνακας Περιεχομένων
back_to_all_guides: Επιστροφή σε όλους τους οδηγούς
related_guides: Σχετικοί Οδηγοί
footer:
contribute:
heading: Συνεισφορά
description: Θέλετε να κάνετε μια πρόταση; Αυτό το περιεχόμενο είναι ανοιχτού κώδικα. Βοηθήστε μας να το βελτιώσουμε.
button: Συνεισφορά
subscribe:
heading: Μείνετε σε επαφή
description: Ενημερωθείτε πρώτοι για τις πιο πρόσφατες συμβουλές ανοιχτού κώδικα του GitHub.
label: Ηλεκτρονική διεύθυνση
button: Εγγραφή
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] με [love] από το [github] και [friends]"
# Label for code octicon
code_label: κώδικας
# Label for love octicon
love_label: αγάπη
# Label for the contributors link
friends_label: φίλους
================================================
FILE: _data/locales/en.yml
================================================
en:
locale_name: English
nav:
about: About
contribute: Contribute
index:
lead: Open source software is made by people just like you. Learn how to launch and grow your project.
opensourcefriday: It's Friday! Invest a few hours contributing to the software you use and love
article:
table_of_contents: Table of Contents
back_to_all_guides: Back to all guides
related_guides: Related Guides
footer:
contribute:
heading: Contribute
description: Want to make a suggestion? This content is open source. Help us improve it.
button: Contribute
subscribe:
heading: Stay in touch
description: Be the first to hear about GitHub's latest open source tips and resources.
label: Email Address
button: Subscribe
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] with [love] by [github] and [friends]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: love
# Label for the contributors link
friends_label: friends
================================================
FILE: _data/locales/es.yml
================================================
es:
locale_name: Español
nav:
about: Acerca de
contribute: Contribuir
index:
lead: El software de código abierto es desarrollado por personas como tú, aprende cómo crear y hacer que tu proyecto crezca.
opensourcefriday: ¡Es viernes! Invierte unas cuántas horas para contribuir al software que usas y amas
article:
table_of_contents: Tabla de contenidos
back_to_all_guides: Volver a todas las guías
related_guides: Guías relacionadas
footer:
contribute:
heading: Contribuir
description: ¿Tienes alguna sugerencia? Este contenido es de código abierto. Ayúdanos a mejorarlo.
button: Contribuir
subscribe:
heading: Suscribirse para novedades
description: Sea el primero en enterarse de los últimos consejos y recursos de código abierto.
label: Dirección de correo
button: Suscribirse
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] con [love] hecho por [github] y [friends]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: love
# Label for the contributors link
friends_label: amigos
================================================
FILE: _data/locales/fa.yml
================================================
fa:
locale_name: Farsi
nav:
about: درباره پروژه
contribute: مشارکت
index:
lead: نرم افزار های متن باز توسط افرادی نظیر شما ساخته شده است. یاد بگیرید چطور پروژه خود را رشد و راه اندازی کنید.
opensourcefriday: امروز جمعه است! چند ساعت به پروژه ای که دوست دارید و استفاده می کنید، مشارکت کنید.
article:
table_of_contents: فهرست مطالب
back_to_all_guides: بازگشت به راهنمای اصلی
related_guides: راهنما های مشابه
footer:
contribute:
heading: مشارکت کنید
description: آیا پیشنهاد یا نظری دارید؟ این مطلب متن باز است. به ما کمک کنید تا بهبودش دهیم.
button: مشارکت
subscribe:
heading: درارتباط باشید
description: اولین نفری باشید که در خصوص آخرین نکات و ترفندهای متن باز در گیتهاب باخبر می شود.
label: آدرس ایمیل
button: مشترک شوید
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] با [love] توسط [github] و [friends]"
# Label for code octicon
code_label: کد
# Label for love octicon
love_label: عشق
# Label for the contributors link
friends_label: دوستان
================================================
FILE: _data/locales/fr.yml
================================================
fr:
locale_name: Français
nav:
about: A propos
contribute: Contribuer
index:
lead: Les logiciels libres sont faits par des gens exactement comme vous. Apprennez comment lancer et développer votre projet.
opensourcefriday: C'est vendredi ! Investissez quelques heures en contribuant aux logiciels que vous utilisez et aimez
article:
table_of_contents: Table des matières
back_to_all_guides: Retour à tous les guides
related_guides: Guides liés
footer:
contribute:
heading: Contribuer
description: Vous souhaitez faire une suggestion ? Ce contenu est libre. Aidez-nous à l'améliorer.
button: Contribuer
subscribe:
heading: Restons en contact
description: Soyez le premier à découvrir les dernières astuces et ressources concernant les logiciels libres avec GitHub.
label: Adresse email
button: S'abonner
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] avec [love] par [github] et [friends]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: amour
# Label for the contributors link
friends_label: amis
================================================
FILE: _data/locales/hi.yml
================================================
hi:
locale_name: Hindi
nav:
about: बारे में
contribute: योगदान करें
index:
lead: ओपन सोर्स सॉफ़्टवेयर उन लोगों द्वारा बनाया जाता है जैसे कि आप। जानें कि आप कैसे अपने प्रोजेक्ट को शुरू कर सकते हैं और उसे बढ़ा सकते हैं।
opensourcefriday: यह शुक्रवार है! कुछ घंटे निवेश करके उन सॉफ़्टवेयर में योगदान करें जिन्हें आप उपयोग करते हैं और पसंद करते हैं
article:
table_of_contents: सामग्री की सूची
back_to_all_guides: सभी मार्गदर्शिकाओं पर वापस जाएं
related_guides: संबंधित मार्गदर्शिकाएं
footer:
contribute:
heading: योगदान करें
description: क्या आपका कोई सुझाव है? यह सामग्री ओपन सोर्स है। हमें इसे सुधारने में मदद करें।
button: योगदान करें
subscribe:
heading: संपर्क में रहें
description: गिटहब की नवीनतम ओपन सोर्स युक्तियों और संसाधनों की पहली जानकारी पाने के लिए पहले ही सुनें।
label: ईमेल पता
button: सदस्यता लें
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] के साथ [love] द्वारा [github] और [friends]"
# Label for code octicon
code_label: कोड
# Label for love octicon
love_label: प्रेम
# Label for the contributors link
friends_label: मित्र
================================================
FILE: _data/locales/hu.yml
================================================
hu:
locale_name: Magyar
nav:
about: Rólunk
contribute: Közreműködés
index:
lead: A nyílt forráskódú szoftvereket ugyanolyan emberek készítik mint te. Tanuld meg, hogy hogyan indíthatod el és hogyan növekedhet a projekted!
opensourcefriday: Péntek van! Szánj pár órát a kedvenc szoftveredre amit használsz!
article:
table_of_contents: Tartalomjegyzék
back_to_all_guides: Vissza az Útmutatókra
related_guides: Kapcsolódó Útmutató
footer:
contribute:
heading: Közreműködés
description: Van javaslatod? Ez a tartalom is nyílt forráskód, segíts benne!
button: Közreműködés
subscribe:
heading: Maradjunk kapcsolatban
description: Legyél Te az első, aki hall a GitHub's legfissebb nyílt forráskódú híreiről és anyagairól
label: Email cím
button: Feliratkozás
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] amely [love] készült a [github] és [friends] által"
# Label for code octicon
code_label: kód
# Label for love octicon
love_label: szeretettel
# Label for the contributors link
friends_label: barátai
================================================
FILE: _data/locales/id.yml
================================================
id:
locale_name: Indonesia
nav:
about: Tentang
contribute: Kontribusi
index:
lead: Perangkat lunak open source dihasilkan oleh orang-orang seperti Anda. Pelajari bagaimana merilis dan mengembangkan proyek Anda.
opensourcefriday: Hari Jumat! Investasikan beberapa jam untuk berkontribusi pada perangkat lunak yang Anda gunakan dan cintai
article:
table_of_contents: Daftar Isi
back_to_all_guides: Kembali ke semua panduan
related_guides: Panduan yang relevan
footer:
contribute:
heading: Kontribusi
description: Ingin memberikan masukan? Konten halaman ini bersifat terbuka. Bantu kami untuk melakukan penyempurnaan.
button: Kontribusi
subscribe:
heading: Terus berhubungan
description: Jadilah yang pertama untuk mendengar tentang tips dan sumber daya open source terbaru GitHub.
label: Alamat Email
button: Berlangganan
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] dengan [love] oleh [github] dan [friends]"
# Label for code octicon
code_label: dikodekan
# Label for love octicon
love_label: cinta
# Label for the contributors link
friends_label: teman-teman
================================================
FILE: _data/locales/it.yml
================================================
it:
locale_name: Italiano
nav:
about: Chi siamo
contribute: Contribuire
index:
lead: Il software open source è creato da persone come te. Scopri come avviare e sviluppare il tuo progetto.
opensourcefriday: È venerdì! Investi qualche ora contribuendo al software che usi e ami
article:
table_of_contents: Contenuto
back_to_all_guides: Torna a tutte le guide
related_guides: Guide correlate
footer:
contribute:
heading: Contribuire
description: Vuoi dare un suggerimento? Questo contenuto è open source. Aiutaci a migliorarlo.
button: Contribuire
subscribe:
heading: Rimani in contatto
description: Sii il primo a conoscere gli ultimi suggerimenti e risorse open source su GitHub.
label: Email
button: Sottoscrivi
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] con [love] da [github] e [amici]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: love
# Label for the contributors link
friends_label: friends
================================================
FILE: _data/locales/ja.yml
================================================
ja:
locale_name: 日本語
nav:
about: このサイトについて
contribute: 貢献する
index:
lead: オープンソースソフトウェアはちょうどあなたのような人々によって作られています。プロジェクトを立ち上げて成長させていく方法を学んでいきましょう。
opensourcefriday: 今日は金曜日です!あなたが使用し愛着を持っているソフトウェアへの貢献に数時間を投資しましょう。
article:
table_of_contents: 目次
back_to_all_guides: すべてのガイドに戻る
related_guides: 関連するガイド
footer:
contribute:
heading: 貢献する
description: 提案したいことがありますか?このコンテンツはオープンソースです。改善にご協力ください。
button: 貢献する
subscribe:
heading: 情報を受け取る
description: GitHub の最新のオープンソースに関するヒントや情報をすぐに受け取りましょう。
label: メールアドレス
button: 購読する
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[github] と [friends] による [love] のこもった [code]"
# Label for code octicon
code_label: コード
# Label for love octicon
love_label: 愛
# Label for the contributors link
friends_label: 友達
================================================
FILE: _data/locales/ko.yml
================================================
ko:
locale_name: 한국어
nav:
about: 소개
contribute: 기여
index:
lead: 오픈소스 소프트웨어는 여러분 같은 사람들이 모여 만듭니다. 프로젝트를 시작하고 성장시키는 방법에 대해 배워보세요.
opensourcefriday: 금요일입니다! 애용하는 소프트웨어에 기여하는 데 몇 시간 투자해 보는 건 어떨까요?
article:
table_of_contents: 목차
back_to_all_guides: 모든 가이드로 돌아가기
related_guides: 관련 가이드
footer:
contribute:
heading: 기여
description: 제안을 하고 싶으신가요? 이 사이트는 오픈소스입니다. 개선할 수 있도록 도와주세요.
button: 기여하기
subscribe:
heading: 구독
description: GitHub의 최신 오픈소스 팁과 리소스 관련 소식을 누구보다 먼저 들어보세요.
label: 이메일 주소
button: 구독하기
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[github]와 [friends]의 [love]을 담은 [code]"
# Label for code octicon
code_label: 코드
# Label for love octicon
love_label: 사랑
# Label for the contributors link
friends_label: 친구
================================================
FILE: _data/locales/ms.yml
================================================
ms:
locale_name: Malay
nav:
about: Mengenai
contribute: Menyumbang
index:
lead: Perisian sumber terbuka dibuat oleh orang seperti anda. Ketahui cara melancarkan dan mengembangkan projek anda.
opensourcefriday: Hari Jumaat! Melabur beberapa jam dengan menyumbang kepada perisian yang anda gunakan dan sukai
article:
table_of_contents: Isi kandungan
back_to_all_guides: Kembali ke semua panduan
related_guides: Panduan Berkaitan
footer:
contribute:
heading: Menyumbang
description: Ingin membuat cadangan? Kandungan ini adalah sumber terbuka. Bantu kami memperbaikinya.
button: Menyumbang
subscribe:
heading: Terus berhubung
description: Jadilah orang pertama yang mendengar mengenai petua dan sumber sumber terbuka terkini GitHub.
label: Alamat emel
button: Langgan
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] dengan [love] oleh [github] dan [friends]"
# Label for code octicon
code_label: kod
# Label for love octicon
love_label: cinta
# Label for the contributors link
friends_label: rakan
================================================
FILE: _data/locales/nl.yml
================================================
nl:
locale_name: Nederlands
nav:
about: Over
contribute: Bijdragen
index:
lead: Open source software wordt gemaakt door mensen zoals jij. Leer hoe u uw project start en laat groeien.
opensourcefriday: Het is vrijdag! Investeer een paar uur om bij te dragen aan de software die u gebruikt en waar u van houdt
article:
table_of_contents: Inhoudsopgave
back_to_all_guides: Terug naar het overzicht
related_guides: Gerelateerde gidsen
footer:
contribute:
heading: Bijdragen
description: Wilt u een suggestie doen? Deze inhoud is open source. Help ons het te verbeteren.
button: Bijdragen
subscribe:
heading: Blijf op de hoogte
description: Wees de eerste die hoort over de nieuwste open source-tips en middellen van GitHub.
label: Email adres
button: Abonneren
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] met [love] van [github] en [friends]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: liefde
# Label for the contributors link
friends_label: vrienden
================================================
FILE: _data/locales/pcm.yml
================================================
pcm:
locale_name: Pidgin
nav:
about: About
contribute: Put hand
index:
lead: Open source software na people wey dey like you epp build am. Learn how to start and make your project big.
opensourcefriday: Na Friday! Spend few hours to contribute to the software wey you dey use and love.
article:
table_of_contents: Table of Contents
back_to_all_guides: Abeg, make I run go back to all those guides
related_guides: Related Guides
footer:
contribute:
heading: Put hand
description: You wan yan something? This mata wey dey here, e fit be your own. Abeg, helep us make e better.
button: Put hand
subscribe:
heading: Make we dey in contact
description: Make you be the first wey go hear about GitHub's latest open source tips and resources..
label: Email adiress
button: Folow
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] with [love] by [github] and [friends]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: love
# Label for the contributors link
friends_label: padi
================================================
FILE: _data/locales/pl.yml
================================================
pl:
locale_name: Polski
nav:
about: O projekcie
contribute: Współpracuj
index:
lead: Oprogramowanie typu open source jest tworzone przez ludzi takich jak Ty. Dowiedz się, jak uruchomić i rozwijać swój projekt.
opensourcefriday: Jest piątek! Zainwestuj kilka godzin, przyczyniając się do oprogramowania, którego używasz i które kochasz
article:
table_of_contents: Spis treści
back_to_all_guides: Powrót do wszystkich przewodników
related_guides: Powiązane przewodniki
footer:
contribute:
heading: Współpracuj
description: Chcesz coś zasugerować? Ta zawartość jest open source. Pomóż nam to poprawić.
button: Współpracuj
subscribe:
heading: Pozostańmy w kontakcie
description: Bądź pierwszym, który usłyszy o najnowszych wskazówkach i zasobach GitHub.
label: Adres e-mail
button: Subskrybuj
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] z [love] od [github] i [friends]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: love
# Label for the contributors link
friends_label: przyjaciele
================================================
FILE: _data/locales/pt.yml
================================================
pt:
locale_name: "Português"
nav:
about: Sobre
contribute: Contribua
index:
lead: "Software open source é feito por pessoas assim como você. Aprenda como iniciar e expandir o seu projeto."
opensourcefriday: "É Sexta-feira! Invista algumas horas contribuindo para o software que você usa e ama"
article:
table_of_contents: "Índice"
back_to_all_guides: Voltar para todos os guias
related_guides: Guias relacionados
footer:
contribute:
heading: Contribua
description: "Quer fazer um sugestão? Este conteúdo é open source. Ajude-nos a melhorá-lo."
button: Contribua
subscribe:
heading: Fique ligado(a)
description: "Seja o(a) primeiro(a) a saber as últimas dicas e recursos open source do GitHub."
label: Endereço de E-mail
button: Inscrever-se
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] com [love] pelo [github] e seus [friends]"
# Label for code octicon
code_label: codificado
# Label for love octicon
love_label: amor
# Label for the contributors link
friends_label: amigos
================================================
FILE: _data/locales/ro.yml
================================================
ro:
locale_name: Romanian
nav:
about: Despre
contribute: Contribuie
index:
lead: Software-ul cu sursă deschisă este făcut de oameni exact ca tine. Învață cum să îți lansezi și să îți crești proiectul.
opensourcefriday: Este vineri! Investește câteva ore contribuind la software-ul pe care îl folosești și îl iubești
article:
table_of_contents: Cuprins
back_to_all_guides: Înapoi la toate ghidurile
related_guides: Ghiduri relevante
footer:
contribute:
heading: Contribuie
description: Dorești să sugerezi ceva? Acest conținut este cu sursă deschisă. Ajută-ne să-l îmbunătățim.
button: Contribuie
subscribe:
heading: Păstrează legătura
description: Fii primul care să audă despe ultimele sfaturi și resurse despre open source ale GitHub.
label: Adresă de email
button: Abonează-te
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] cu [love] de [github] și [friends]"
# Label for code octicon
code_label: cod
# Label for love octicon
love_label: iubire
# Label for the contributors link
friends_label: prieteni
================================================
FILE: _data/locales/ru.yml
================================================
ru:
locale_name: Русский
nav:
about: О проекте
contribute: Содействие
index:
lead: Программы с отрытым кодом создают такие же люди как вы. Узнайте, как запустить и развить свой проект.
opensourcefriday: Сегодня пятница! Посвятите несколько часов программе, которую вы любите и используете
article:
table_of_contents: Содержание
back_to_all_guides: На главную
related_guides: Связанные темы
footer:
contribute:
heading: Содействие
description: Есть что предложить? Эти материалы открыты для редактирования. Помогите улучшить их.
button: Содействовать
subscribe:
heading: Оставайтесь на связи
description: Будьте первым, кто узнает новости из мира открытого кода.
label: Электронная почта
button: Подписаться
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] с [love] вместе с [github] и [друзьями]"
# Label for code octicon
code_label: программируйте
# Label for love octicon
love_label: любовью
# Label for the contributors link
friends_label: друзьями
================================================
FILE: _data/locales/sa.yml
================================================
# Sanskrit locale file — values copied from `en.yml` as placeholders.
# Please replace English strings with Sanskrit translations where appropriate.
sa:
locale_name: "संस्कृतम्"
nav:
about: "परिचयः"
contribute: "योगदानम्"
index:
lead: "मुक्त-स्रोत् सॉफ्टवेअर् तव इव व्यक्तिभिः निर्मितम् अस्ति। परियोजनम् आरम्भयितुं तथा विकासयितुं शिक्षस्व।"
opensourcefriday: "शुक्रवासरः अस्ति! कतिपयः घण्टाः दत्वा त्वम् प्रयोगेषु योगदानं कुरु।"
article:
table_of_contents: "अनुक्रमणिका"
back_to_all_guides: "सर्व मार्गदर्शिकानाम् प्रति"
related_guides: "सम्बद्ध मार्गदर्शिकाः"
footer:
contribute:
heading: "योगदानम्"
description: "किं तव सुझावः अस्ति? एषा सामग्री मुक्त-स्रोत् अस्ति। अस्मान् सुधारयितुं साहाय्यं कुर्व।"
button: "योगदानम्"
subscribe:
heading: "संपर्के भव"
description: "GitHub इत्यस्य नवीनतम् मुक्तस्रोत्-संदेशानाम् विषये प्रथमज्ञः भव।"
label: "ईमेल्"
button: "सदस्यत्वं"
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] सह [love] द्वारा [github] तथा [friends]"
# Label for code octicon
code_label: "कोड्"
# Label for love octicon
love_label: "स्नेह"
# Label for the contributors link
friends_label: "मित्राणि"
================================================
FILE: _data/locales/sw.yml
================================================
sw:
locale_name: Swahili
nav:
about: Kuhusu
contribute: Changia
index:
lead: Programu huria ya software hutengenezwa na watu kama wewe. Jifunze jinsi ya kuzindua na kukuza mradi wako.
opensourcefriday: Ni Ijumaa! Wekeza saa chache kuchangia programu unayotumia na kupenda
article:
table_of_contents: Jedwali la Yaliyomo
back_to_all_guides: Rudi kwa miongozo yote
related_guides: Miongozo inayohusiana
footer:
contribute:
heading: Changia
description: Je, ungependa kutoa pendekezo? Maudhui haya ni open source. Tusaidie kuiboresha.
button: Changia
subscribe:
heading: Endeleza kuwasiliana
description: Kuwa wa kwanza kusikia kuhusu vidokezo na nyenzo huria za software za hivi punde zaidi za GitHub
label: Barua Pepe
button: Jiandikishe
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] kwa [love] na [github] na [friends]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: upendo
# Label for the contributors link
friends_label: marafiki
================================================
FILE: _data/locales/ta.yml
================================================
ta:
locale_name: தமிழ்
nav:
about: பற்றி
contribute: பங்களிப்பு
index:
lead: திறந்த மூல மென்பொருள் உங்களைப் போன்ற நபர்களால் உருவாக்கப்படுகிறது. உங்கள் திட்டத்தை எவ்வாறு தொடங்குவது மற்றும் வளர்ப்பது என்பதை அறிக.
opensourcefriday: இது வெள்ளிக்கிழமை! நீங்கள் பயன்படுத்தி விரும்பும் மென்பொருளுக்கு பங்களிக்க சில மணிநேரங்களை முதலீடு செய்யுங்கள்
article:
table_of_contents: பொருளடக்கம்
back_to_all_guides: அனைத்து வழிகாட்டிகளுக்கும் திரும்பு
related_guides: தொடர்புடைய வழிகாட்டிகள்
footer:
contribute:
heading: பங்களிப்பு
description: ஏதாவது யோசனை சொல்ல விரும்புகிறீர்களா? இந்த உள்ளடக்கம் திறந்த மூலமாகும். இதை மேம்படுத்த எங்களுக்கு உதவவும்.
button: பங்களிப்பு
subscribe:
heading: தொடர்பில் இருங்கள்
description: GitHub இன் சமீபத்திய திறந்த மூல குறிப்புகள் மற்றும் வளங்களைப் பற்றி முதலில் அறிந்து கொள்ளுங்கள்.
label: மின்னஞ்சல் முகவரி
button: பதிவுசெய்க
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[github] மற்றும் [friends] எழுதிய [love] உடன் கூடிய [code]"
# Label for code octicon
code_label: குறியீடு
# Label for love octicon
love_label: அன்பு
# Label for the contributors link
friends_label: நண்பர்கள்
================================================
FILE: _data/locales/tr.yml
================================================
tr:
locale_name: Türkçe
nav:
about: Hakkında
contribute: Katkıda Bulun
index:
lead: Açık kaynak yazılımlar, tıpkı sizin gibi insanlar tarafından geliştiriliyor. Nasıl proje başlatıp büyüteceğinizi öğrenin.
opensourcefriday: Bugün cuma! Kullandığınız ve sevdiğiniz yazılıma katkıda bulunmak için birkaç saat ayırın
article:
table_of_contents: İçindekiler
back_to_all_guides: Anasayfaya Geri Dön
related_guides: İlgili Kılavuzlar
footer:
contribute:
heading: Katkıda Bulun
description: Bir öneride bulunmak ister misiniz? Bu içerik de açık kaynak. Geliştirmemize yardımcı olun.
button: Katkıda Bulun
subscribe:
heading: İletişimde kalın
description: GitHub'ın açık kaynak ipuçlarını ve güncel kaynaklarını ilk duyan siz olun.
label: Email Adresiniz
button: Abone Olun
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[github] ve [friends] tarafından [love] ile [code]"
# Label for code octicon
code_label: code
# Label for love octicon
love_label: love
# Label for the contributors link
friends_label: gönüllüler
================================================
FILE: _data/locales/zh-hans.yml
================================================
zh-hans:
locale_name: 简体中文
nav:
about: 关于
contribute: 贡献
index:
lead: 开源软件是由像你这样的人开发的。了解一下如何启动和发展您的项目。
opensourcefriday: 又是星期五!投入几个小时为您使用和喜爱的软件做出贡献
article:
table_of_contents: 目录
back_to_all_guides: 返回所有指南
related_guides: 相关指南
footer:
contribute:
heading: 贡献
description: 想提个建议吗?此内容是开源的。帮助我们改进它吧!
button: 贡献
subscribe:
heading: 订阅更新
description: 第一时间了解 GitHub 最新的开源技巧和资源!
label: 电子邮箱地址
button: 提交
byline:
# [code], [love], and [github] will be replaced by octicons
format: "由 [github] 和它的 [friends] 带着 [love] [code] 而成"
# Label for code octicon
code_label: 编码
# Label for love octicon
love_label: 爱心
# Label for the contributors link
friends_label: 朋友们
================================================
FILE: _data/locales/zh-hant.yml
================================================
zh-hant:
locale_name: 繁體中文
nav:
about: 關於
contribute: 貢獻
index:
lead: 開放原始碼就是由你這樣的人所打造,學習如何發起、經營你的開源專案!
opensourcefriday: 今天是星期五! 花一些時間去貢獻你使用過、喜愛的軟體吧!
article:
table_of_contents: 目錄
back_to_all_guides: 回到所有指南
related_guides: 相關指南
footer:
contribute:
heading: 貢獻
description: 想提出建議嗎?本站是開放原始碼,協助我們更加完善。
button: 貢獻
subscribe:
heading: 訂閱最新消息
description: 即時了解GitHub最新的開源技巧和資源!
label: 電子信箱地址
button: 訂閱
byline:
# [code], [love], and [github] will be replaced by octicons
format: "[code] with [love] by [github]"
# Label for code octicon
code_label: 程式
# Label for love octicon
love_label: 愛心
# Label for the contributors link
friends_label: 協作朋友
================================================
FILE: _includes/footer.html
================================================
{% assign t = site.data.locales[page.lang][page.lang] %}
================================================
FILE: _includes/head.html
================================================
{% seo %}
{% if page.lang and page.untranslated != true and site.data.locales.size > 1 %}
{% assign locales = site.data.locales | sort %}
{% for locale in locales %}
{% assign lang = locale[0] %}
{% assign page_lang_slash = page.lang | append: '/' | prepend: '/' %}
{% assign default_url = page.url | replace: page_lang_slash, '/' %}
{% if lang == "en" %}
{% else %}
{% endif %}
{% endfor %}
{% endif %}
================================================
FILE: _includes/jekyll-toc.html
================================================
{% capture tocWorkspace %}
{% comment %}
Copyright (c) 2017 Vladimir "allejo" Jimenez
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
{% endcomment %}
{% comment %}
Version 1.2.0
https://github.com/allejo/jekyll-toc
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
Usage:
{% include jekyll-toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
Parameters:
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
Optional Parameters:
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
* class (string) : '' - a CSS class assigned to the TOC
* id (string) : '' - an ID to assigned to the TOC
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
* item_class (string) : '' - add custom class(es) for each list item; has support for '%level%' placeholder, which is
the current heading level
* submenu_class (string) : '' - add custom class(es) for each child group of headings; has support for '%level%'
placeholder which is the current "submenu" heading level
* base_url (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
* anchor_class (string) : '' - add custom class(es) for each anchor element
* skip_no_ids (bool) : false - skip headers that do not have an `id` attribute
Output:
An ordered or unordered list representing the table of contents of a markdown block. This snippet will only
generate the table of contents and will NOT output the markdown given to it
{% endcomment %}
{% capture newline %}
{% endcapture %}
{% assign newline = newline | rstrip %}
{% capture deprecation_warnings %}{% endcapture %}
{% if include.baseurl %}
{% capture deprecation_warnings %}{{ deprecation_warnings }}
{{ newline }}{% endcapture %}
{% endif %}
{% if include.skipNoIDs %}
{% capture deprecation_warnings %}{{ deprecation_warnings }}
{{ newline }}{% endcapture %}
{% endif %}
{% capture jekyll_toc %}{% endcapture %}
{% assign orderedList = include.ordered | default: false %}
{% assign baseURL = include.base_url | default: include.baseurl | default: '' %}
{% assign skipNoIDs = include.skip_no_ids | default: include.skipNoIDs | default: false %}
{% assign minHeader = include.h_min | default: 1 %}
{% assign maxHeader = include.h_max | default: 6 %}
{% assign nodes = include.html | strip | split: '
maxHeader %}
{% continue %}
{% endif %}
{% assign _workspace = node | split: ''
| first }}>{% endcapture %}
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
{% if include.item_class and include.item_class != blank %}
{% capture listItemClass %} class="{{ include.item_class | replace: '%level%', currLevel | split: '.' | join: ' ' }}"{%
endcapture %}
{% endif %}
{% if include.submenu_class and include.submenu_class != blank %}
{% assign subMenuLevel = currLevel | minus: 1 %}
{% capture subMenuClass %} class="{{ include.submenu_class | replace: '%level%', subMenuLevel | split: '.' | join: ' '
}}"{% endcapture %}
{% endif %}
{% capture anchorBody %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture
%}
{% if htmlID %}
{% capture anchorAttributes %} href="{% if baseURL %}{{ baseURL }}{% endif %}#{{ htmlID }}"{% endcapture %}
{% if include.anchor_class %}
{% capture anchorAttributes %}{{ anchorAttributes }} class="{{ include.anchor_class | split: '.' | join: ' ' }}"{%
endcapture %}
{% endif %}
{% capture listItem %}{{ anchorBody }}{% endcapture %}
{% elsif skipNoIDs == true %}
{% continue %}
{% else %}
{% capture listItem %}{{ anchorBody }}{% endcapture %}
{% endif %}
{% if currLevel > lastLevel %}
{% capture jekyll_toc %}{{ jekyll_toc }}<{{ listModifier }}{{ subMenuClass }}>{% endcapture %}
{% elsif currLevel < lastLevel %} {% assign repeatCount=lastLevel | minus: currLevel %} {% for i in
(1..repeatCount) %} {% capture jekyll_toc %}{{ jekyll_toc }}
{{ listModifier }}>{% endcapture %}
{% endfor %}
{% capture jekyll_toc %}{{ jekyll_toc }}{% endcapture %}
{% else %}
{% capture jekyll_toc %}{{ jekyll_toc }}{% endcapture %}
{% endif %}
{% capture jekyll_toc %}{{ jekyll_toc }}