41
41
things right away, but knowing about issues users are encountering or
42
42
features they'd like to see improves our ability to plan and prioritize.
43
43
For ways to do this, see @{article:Give Feedback! Get Support!}
44
- For details on reporting bugs, see @{article:Contributing Bug Reports}.
45
- For details on requesting features, see @{article:Contributing Feature
44
47
- Give us feedback on planned features. Most of what we'll build in the next
45
48
6-12 months currently exists on the [[ Roadmap ]] or in Maniphest. Telling
46
49
us about use cases you have can help us build better products when the time
53
56
@{article:Give Feedback! Get Support!}
55
58
If all of this sounds nice but you really just want to write some code, that's
56
awesome too. The rest of this document (and the other articles in this section
57
of the documentation) can help you get started.
61
Before we can accept source code contributions, you need to submit a
62
[[ https://secure.phabricator.com/L28 | Contributor License Agreement ]]. Your
63
changes can not be accepted until you sign the agreement.
65
If you haven't signed it by the time you send changes for review, you'll be
66
reminded to sign it at that time.
68
If you're submitting work on behalf of a company (like your employer), the
69
company can sign the [[ https://secure.phabricator.com/L30 | Corporate
70
Contributor License Agreement ]] instead.
72
Both agreements are substantially similar to the Apache Foundation's CLAs. They
73
protect Phacility and users of Phabricator by making sure we have permission to
74
distribute your changes under an open source license.
76
= Not Sure Where To Get Started? =
78
Because we're usually quick to fix easy bugs and issues, we often don't have a
79
very good backlog of starter tasks.
81
You can try searching in Maniphest for tasks tagged with "Easy", which might
82
have something, but a lot of time this list is small and the tasks on it aren't
83
very fun or interesting even if they aren't technically too difficult.
85
In general, the best way to contribute is to come to us with a problem you
86
encountered or something you're interested in building, and then work with us
87
to find a solution to it or a plan to build it. We can help turn a hacky patch
88
into something that's upstreamable, and you'll get a fix or feature you want.
90
You can also look though the rest of the open tasks for something more
91
substantive that you're interested in. This will give you a better chance of
92
finding something that's relevant to you, but many tasks are large or blocked
95
If you do find something, feel free to leave a comment like "I'm interested in
96
working on this, is this something I could reasonably help with?". We're happy
97
to walk through things, break larger tasks down into more detail, provide
98
pointers to similar changes and the right places in the codebase to get started,
99
and generally figure out how to attack a problem.
101
You can also just come find us in IRC and ask how to get started.
103
= Submitting Patches =
105
To submit patches against libphutil, Arcanist or Phabricator, create a commit
106
and use `arc` to send it for review (probably with `epriestley` as a reviewer):
110
You can also submit a pull request on GitHub, but Differential is strongly
113
= Suggested Reading =
115
You should read the relevant coding convention documents before you submit a
116
change. If you're a new contributor, you don't need to worry about this too
117
much. Just try to make your code look similar to the code around it, and we
118
can help you through the details during review.
120
- @{article:General Coding Standards} (for all languages)
121
- @{article:PHP Coding Standards} (for PHP)
122
- @{article:Javascript Coding Standards} (for Javascript)
59
awesome too. To get started with contributing code, see
60
@{article:Contributing Code}.
67
- learning about bug reports in @{article:Contributing Bug Reports};
68
- learning about feature requests in @{article:Contributing Feature Requests};
69
- learning about code contributions in @{article:Contributing Code}; or
70
- getting in touch with @{article:Give Feedback! Get Support!}