contributing.md 5.74 KB
Newer Older
Houtan Bastani's avatar
Houtan Bastani committed
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
---
title: Contributing
---
<br />

# How can you contribute to the Dynare Project ?

As a free, open-source software project, we think of Dynare as a
community. Though primary development is undertaken to varying degrees by a
[core team](/about#team), we encourage others to be involved in any way that
interests them. That could be anything from attending the [Dynare
Conference](#come-to-the-conference), to participating actively in the [Dynare
Forum](#participate-actively-in-the-forum), to spotting and [reporting
bugs](#reporting-bugs), to directly making [changes to the
codebase](#code-development). [Financial
contributions](#financial-contributions) also help ensure the continued
stability of the Dynare project.

## Project Contributions

### Come to the Conference

Every year we organize the Dynare Conference, usually in the
summer. Participation is encouraged even if your paper does not use Dynare. The
application period opens in May and will be announced on this website.

### Participate actively in the forum

The [Dynare Forum](https://forum.dynare.org/) is a great resource to turn to
when you're stuck. Along with the manual, it should be a point of reference
when working with Dynare.

As an advanced user, your contribution will be useful in several ways. First
and foremost, you'll be helping others out who are just beginning on the same
path that you're on. Second, you may be able to bring a perspective to the
table that's different than that of a beginner and that of someone on the [core
team](/about#team). Finally, your participation will help foster a larger sense
of community and will hopefully allow you gain a deeper understanding of
something you already understand well.


### Reporting Bugs

If you find a bug in Dynare, please report it on our [Gitlab Issue
page](https://git.dynare.org/Dynare/dynare/issues). But! Before you do, please ensure you are working with the latest version of Dynare.

 - If reporting a bug in the ***stable*** version of Dynare:
Houtan Bastani's avatar
Houtan Bastani committed
48
Ensure the bug exists in the [latest stable version of Dynare](/download#stable) telling us exactly how to reproduce the problem.
Houtan Bastani's avatar
Houtan Bastani committed
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
 - If reporting a bug in the ***unstable*** version of Dynare:
   - Ensure the bug exists in the most recent version of the Dynare source code. You can either test it by installing the latest [Dynare snapshot](/download#snapshot) or by installing the source code from the [Git repository](https://git.dynare.org/Dynare/dynare)

If you have encountered a bug in the stable version of Dynare, there's a chance
we have alreday fixed it. You can see alist of bugs fixed on the [fixed bugs
Wiki page](https://git.dynare.org/Dynare/dynare/wikis/FixedBugs). There's also
a chance the bug has already been reported. You can see a list of reported bugs
by checking both the [known bugs Wiki
page](https://git.dynare.org/Dynare/dynare/wikis/KnownBugs) and the [Gitlab Issue
page](https://git.dynare.org/Dynare/dynare/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=bug).

Once you have ensured you're working with the correct version of Dynare and
that this bug has not yet been reported, report the bug on our [Gitlab Issue
page](https://git.dynare.org/Dynare/dynare/issues), providing all the code
necessary (`.mod` files, `.m` files, data) to reproduce the bug. If working
with a larger `.mod` file, please pare it down as much as possible. This will
help us find the bug more quickly.


### Fixing Bugs

Even more helpful than finding a bug is to take a crack at fixing it
yourself. First things first though, please [report the bug](#reporting-bugs)!
In your report, if you'd like to fix it as well, please indicate as much. We'll
take a look at the bug and tell you if it's ok to proceed or if we prefer to
fix it ourselves.

### Code development

We track the issues we're working on our [Gitlab Issue
page](https://git.dynare.org/Dynare/dynare/issues). You can organize those
issues by the tags associated with them
(e.g. [bug](https://git.dynare.org/Dynare/dynare/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=bug),
[enhancement](https://git.dynare.org/Dynare/dynare/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=enhancement),
[documentation](https://git.dynare.org/Dynare/dynare/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=documentation),
etc.). Further each issue has an assignee associated with it. If you find an
issue you'd like to work on that doesn't have an assignee, feel free to
manifest your interest in working on it. Further, if it does have an assignee
but the issue itself is very old, let us know you're interested in working on
it too.

To get started, assuming you have Git installed on your machine you can obtain
the latest development version of the Dynare source code with the following
command:

{% highlight text %}git clone https://git.dynare.org/Dynare/dynare.git{% endhighlight %}

As Dynare is free software licensed under the [GNU General Public License
(GPL)](https://www.gnu.org/licenses/gpl-3.0.en.html), any enhancements you make
to the Dynare codebase would need to be under GPLv3+ or some other compatible
license (e.g. public domain) so that it could be merged back into Dynare.

## Financial Contributions

Contrary to proprietary software, as a free and open-source software platform,
we do not recieve funding by licensing the use of Dynare. That means that
Dynare will remain a public good that will always be free to download and
free to modify.

As we don't receive revenue from licensing the use of Dynare, and as our other
potential sources of revenue (summer school) is provided at cost to not set up
barriers to participation, we depend on financing from various
institutions. That financing is often linked to improvements in the Dynare
source code itself. If you or your institution would like finance an
enhancement to Dynare, please get in touch.