summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
blob: 7ac48ee4ce676513f208e75c9effe7765b8588c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Contributing to VyOS

You wan't to help us improve VyOS? This is awesome!

We accept any kind of Pull Requests on GitHub. In order to get your changes into
the main repository as smooth as possible please take yourself some time and
review this contribution guideline.

The following paragraphs are an excerpt from our Documentation.

## Bug Report/Issue
Issues or bugs are found in any software project. VyOS is not an exception.

All issues should be reported to the developers. This lets the developers know
what is not working properly. Without this sort of feedback every developer
will believe that everything is working correctly.

### I have found a bug, what should I do?

When you believe you have found a bug, it is always a good idea to verify the
issue prior to opening a bug request.

* Consult our [Documentation](https://docs.vyos.io) to ensure that you have
  configured your system correctly
* Get community support via [Slack](https://slack.vyos.io) or our online
  [Forum](https://forum.vyos.io)

#### Ensure the problem is reproducible

When you are able to verify that it is actually a bug, spend some time to
document how to reproduce the issue. This documentation can be invaluable.

When you wish to have a developer fix a bug that you found, helping them
reproduce the issue is beneficial to everyone. Be sure to include information
about the hardware you are using, commands that you were running, any other
activities that you may have been doing at the time. This additional
information can be very useful.

* What were you attempting to achieve?
* What was the configuration prior to the change?
* What commands did you use? Use e.g. ``show configuration commands``

#### Include output

The output you get when you find a bug can provide lots of information. If you
get an error message on the screen, copy it exactly. Having the exact message
can provide detail that the developers can use. Like wise if you have any log
messages that also are from the time of the issue, include those. They may
also contain information that is helpful for the development team.

### Reporting

In order to open up a bug-report/feature request you need to create yourself
an account on [Phabricator](https://phabricator.vyos.net). On the left
side of the specific project (VyOS 1.2 or VyOS 1.3) you will find quick-links
for opening a bug-report/feature request.

* Provide as much information as you can
* Which version of VyOS are you using? Use operational level command:
  ``show version``
* How can we reproduce this Bug? Please include a CLI configuration, you can
  use ``show configuration command | strip-private`` to remove sensitive
  information before publishing.

## Feature Request

You have an idea of how to make VyOS better or you are in need of a specific
feature which all users of VyOS would benefit from? To send a feature request
please search [Phabricator](https://phabricator.vyos.net) if there is already a
request pending. You can enhance it or if you don't find one, create a new one
by use the quick link in the left side under the specific project.

## Code Contribution

For contributing code to VyOS please take a short moment and review the guideline
outlined in our Documentation at
https://docs.vyos.io/en/latest/contributing/development.html#submit-a-patch

### Coding Guidelines

We have some small coding guidelines which are defined in a separate section of
at https://docs.vyos.io/en/latest/contributing/development.html#coding-guidelines.
The guidelines cover how to create the necessary XML structure for new features
and also how to read in the code from the CLI into the Python based scripting
backend.

Thank you for taking the time reading this guide.

It might also worth browsing our [Blog](https://blog.vyos.io) for additional
info and updates.