diff --git a/src/docs/book/user.book b/src/docs/book/user.book index 464ec994a0..2312bf65cd 100644 --- a/src/docs/book/user.book +++ b/src/docs/book/user.book @@ -1,36 +1,39 @@ { "name": "phabricator", "title": "Phabricator User Documentation", "short": "Phabricator User Docs", "preface": "Instructions for installing, configuring, and using Phabricator.", "root": "../../../", "uri.source": "https://secure.phabricator.com/diffusion/P/browse/master/%f$%l", "rules": { "(\\.diviner$)": "DivinerArticleAtomizer" }, "exclude": [ "(^externals/)", "(^resources/)", "(^scripts/)", "(^src/docs/contributor/)", "(^src/docs/flavor/)", "(^src/docs/tech/)", "(^support/)", "(^webroot/rsrc/externals/)" ], "groups": { "intro": { "name": "Introduction" }, "config": { "name": "Configuration" }, "userguide": { "name": "Application User Guides" }, "fieldmanual": { "name": "Field Manuals" + }, + "cellar": { + "name": "Musty Cellar" } } } diff --git a/src/docs/contributor/bug_reports.diviner b/src/docs/contributor/bug_reports.diviner index 74bf0a2fcb..0ad3635d87 100644 --- a/src/docs/contributor/bug_reports.diviner +++ b/src/docs/contributor/bug_reports.diviner @@ -1,200 +1,212 @@ @title Contributing Bug Reports @group detail Describes how to file an effective Phabricator bug report. +Include Reproduction Steps! +=========================== + +IMPORTANT: When filing a bug report, you **MUST** include reproduction +instructions. We can not help fix bugs we can not reproduce, and will not +accept reports which omit reproduction instructions. See below for details. + + Overview ======== Found a bug with Phabricator? Let us know! This article describes how to file an effective bug report so we can get your issue fixed or help you work around it. The most important things to do are: - check the list of common fixes below; - make sure Phabricator is up to date; - make sure we support your setup; - gather debugging information; - explain how to reproduce the issue; and - create a task in [[ http://secure.phabricator.com/maniphest/task/create/ | Maniphest ]]. The rest of this article walks through these points in detail. If you have a feature request (not a bug report), see @{article:Contributing Feature Requests} for a more tailored guide. For general information on contributing to Phabricator, see @{article:Contributor Introduction}. + Common Fixes ============ Before you file a report, here are some common solutions to problems: - **Update Phabricator**: We receive a lot of bug reports about issues we have already fixed in HEAD. Updating often resolves issues. It is common for issues to be fixed in less than 24 hours, so even if you've updated recently you should update again. If you aren't sure how to update, see the next section. - **Update Libraries**: Make sure `libphutil/`, `arcanist/` and `phabricator/` are all up to date. Users often update `phabricator/` but forget to update `arcanist/` or `libphutil/`. When you update, make sure you update all three libraries. - **Restart Apache or PHP-FPM**: Phabricator uses caches which don't get reset until you restart Apache or PHP-FPM. After updating, make sure you restart. Update Phabricator ================== Before filing a bug, make sure you are up to date. We receive many bug reports for issues we have already fixed, and even if we haven't fixed an issue we'll be able to resolve it more easily if you file a report based on HEAD. (For example, an old stack trace may not have the right line numbers, which will make it more difficult for us to figure out what's going wrong.) To update Phabricator, use a script like the one described in @{article:Upgrading Phabricator}. **If you can not update** for some reason, please include the version of Phabricator you are running in your report. The version is just the Git hash of your local HEAD. You can find the version by running `git show` in `phabricator/` and copy/pasting the first line of output, or by browsing to {nav Config > All Settings} in the web UI and copy/pasting the information at the top. Supported Issues ================ Before filing a bug, make sure you're filing an issue against something we support. +**We can NOT help you with issues we can not reproduce.** It is critical that +you explain how to reproduce the issue when filing a report. + **We do NOT support prototype applications.** If you're running into an issue with a prototype application, you're on your own. For more information about prototype applications, see @{article:User Guide: Prototype Applications}. **We do NOT support third-party packages or instructions.** If you installed Phabricator (or configured some aspect of it) using a third-party package or by following a third-party guide (like a blog post), we can not help you. Phabricator changes quickly and third-party information is unreliable and often falls out of date. Contact the maintainer of the package or guide you used, or reinstall following the upstream instructions. **We do NOT support custom code development or third-party libraries.** If you're writing an extension, you're on your own. We provide some documentation, but can not help you with extension or library development. If you downloaded a library from somewhere, contact the library maintainer. **We do NOT support bizarre environments.** If your issue is specific to an unusual installation environment, we generally will not help you find a workaround. Install Phabricator in a normal environment instead. Examples of unusual environments are shared hosts, nontraditional hosts (gaming consoles, storage appliances), and hosts with unusually tight resource constraints. The vast majority of users run Phabricator in normal environments (modern computers with root access) and these are the only environments we support. Otherwise, if you're having an issue with a supported first-party application and followed the upstream install instructions on a normal computer, we're happy to try to help. + Getting More Information ======================== For some issues, there are places you can check for more information. This may help you resolve the issue yourself. Even if it doesn't, this information can help us figure out and resolve an issue. - For issues with `arc` or any other command-line script, you can get more details about what the script is doing by adding the `--trace` flag. - For issues with Phabricator, check your webserver error logs. - For Apache, this is often `/var/log/httpd/error.log`, or `/var/log/apache2/error.log` or similar. - For nginx, check both the nginx and php-fpm logs. - For issues with the UI, check the Javascript error console in your web browser. - Some other things, like daemons, have their own debug flags or troubleshooting steps. Check the documentation for information on troubleshooting. Adjusting settings or enabling debugging modes may give you more information about the issue. + Reproducibility =============== The most important part of your report content is instructions on how to reproduce the issue. What did you do? If you do it again, does it still break? Does it depend on a specific browser? Can you reproduce the issue on `secure.phabricator.com`? Feel free to try to reproduce issues on the upstream install (which is kept near HEAD), within reason -- it's okay to make a few test objects if you're having trouble narrowing something down or want to check if updating might fix an issue. It is nearly impossible for us to resolve many issues if we can not reproduce -them. +them. We will not accept reports which do not contain the information required +to reproduce problems. + Unreproducible Problems ======================= Before we can fix a bug, we need to reproduce it. If we can't reproduce a problem, we can't tell if we've fixed it and often won't be able to figure out why it is occurring. Most problems reproduce easily, but some are more difficult to reproduce. We will generally make a reasonable effort to reproduce problems, but sometimes we will be unable to reproduce an issue. Many of these unreproducible issues turn out to be bizarre environmental problems that are unique to one user's install, and figuring out what is wrong takes a very long time with a lot of back and forth as we ask questions to narrow down the cause of the problem. When we eventually figure it out and fix it, few others benefit (in some cases, no one else). This sort of fishing expedition is not a good use of anyone's time, and it's very hard for us to prioritize solving these problems because they represent a huge effort for very little benefit. We will make a reasonable effort to reproduce problems, but can not help with issues which we can't reproduce. You can make sure we're able to help resolve your issue by generating clear reproduction steps. + Create a Task in Maniphest ========================== If you're up to date, supported, have collected information about the problem, and have the best reproduction instructions you can come up with, you're ready to file an issue. -We'll look at any issue report we can find (we monitor IRC, email, -StackOverflow, Quora, Facebook and Twitter), but the upstream Maniphest is the -authoritative bug tracker and the best place to file: +It is **particularly critical** that you include reproduction steps. We will +not accept reports which describe issues we can not reproduce. -https://secure.phabricator.com/maniphest/task/create/ +(NOTE) https://secure.phabricator.com/maniphest/task/create/ If you don't want to file there (or, for example, your bug relates to being unable to log in or unable to file an issue in Maniphest) you can file on any other channel, but we can address reports much more effectively if they're filed against the upstream than if they're filed somewhere else. | Effectiveness | Filing Method | |---|---| | Best | Upstream Maniphest | -| Ehhh | Quora, StackOverflow, Facebook, email, etc. | +| Ehhh | Quora, StackOverflow, Facebook, Jelly, email, etc. | | What | Passive-aggressive tweet | -If you have a quick question or want to discuss something before filing an -issue, IRC is a great way to get a sanity check first. You can find information -about IRC in @{article: Give Feedback! Get Support!}. Next Steps ========== Continue by: - learning about @{article: Contributing Feature Requests}; or - - reading general support information in - @{article: Give Feedback! Get Support!}; or + - reading general support information in @{article:Support Resources}; or - returning to the @{article:Contributor Introduction}. diff --git a/src/docs/contributor/contrib_intro.diviner b/src/docs/contributor/contrib_intro.diviner index d9b1f42ed4..a93c8530dd 100644 --- a/src/docs/contributor/contrib_intro.diviner +++ b/src/docs/contributor/contrib_intro.diviner @@ -1,70 +1,63 @@ @title Contributor Introduction @group contrib Introduction to contributing to Phabricator, Arcanist and libphutil. Overview ======== If you'd like to contribute to Phabricator, this document can guide you though ways you can help improve the project. Writing code is valuable, but often isn't the best or easiest way to contribute. In most cases we are pretty good at fixing easy stuff quickly, so we don't have a big pile of easy stuff sitting around waiting for new contributors. This can make it difficult to contribute code if you only have a little bit of time to spend since most of the work that needs to be done usually requires some heavy lifting. Without writing any code, learning the whole codebase, making a big time commitment, or having to touch PHP, here are some ways you can materially contribute to Phabricator: - Send us an email or drop by IRC just to say "thanks". A big part of the reason we build this software is to help people solve problems, and knowing - that our efforts are appreciated is really rewarding. You can find ways to - get in touch in @{article:Give Feedback! Get Support!} + that our efforts are appreciated is really rewarding. - Recommend Phabricator to people who you think might find it useful. Our most powerful growth channel is word of mouth, and mentioning or tweeting about Phabricator helps the project grow. If writing a tweet sounds like too much work, you can use one of these form tweets written by our PR department to quickly and easily shill on our behalf. Hail corporate! > Phabricator seems like it's pretty okay > I am not being paid to mention Phabricator in this extemporaneous, completely organic tweet > Phabricator is objectively the best thing. Source: I am a certified, internationally recognized expert. - Report bugs and request features. We may not always be able to fix or build things right away, but knowing about issues users are encountering or features they'd like to see improves our ability to plan and prioritize. - For ways to do this, see @{article:Give Feedback! Get Support!} - For details on reporting bugs, see @{article:Contributing Bug Reports}. - For details on requesting features, see @{article:Contributing Feature Requests}. - Give us feedback on planned features. Most of what we'll build in the next 6-12 months currently exists on the [[ Roadmap ]] or in Maniphest. Telling us about use cases you have can help us build better products when the time comes to write the code. - - Hang out in IRC, and maybe answer a question or two. IRC is a completely - legit place for serious hackers to hang out anyway, but while you're there - you might see someone ask a question that you know the answer to. Helping - them out (or pointing them to the right documentation) is a big help to us. - You can find details about the IRC channel in - @{article:Give Feedback! Get Support!} -If all of this sounds nice but you really just want to write some code, that's -awesome too. To get started with contributing code, see -@{article:Contributing Code}. +If all of this sounds nice but you really just want to write some code, be +aware that this project often presents a high barrier to entry for new +contributors. To continue, see @{article:Contributing Code}. + Next Steps ========== Continue by: - learning about bug reports in @{article:Contributing Bug Reports}; - - learning about feature requests in @{article:Contributing Feature Requests}; - - learning about code contributions in @{article:Contributing Code}; or - - getting in touch with @{article:Give Feedback! Get Support!} + - learning about feature requests in + @{article:Contributing Feature Requests}; or + - learning about code contributions in @{article:Contributing Code}. diff --git a/src/docs/contributor/feature_requests.diviner b/src/docs/contributor/feature_requests.diviner index 9a1fd40c45..a5f8b610c0 100644 --- a/src/docs/contributor/feature_requests.diviner +++ b/src/docs/contributor/feature_requests.diviner @@ -1,226 +1,237 @@ @title Contributing Feature Requests @group detail Describes how to file an effective Phabricator feature request. +Describe Your Problem! +====================== + +IMPORTANT: When filing a feature request, you **MUST** describe the root +problem you are facing. We will not accept feature requests which do not +include a problem description. See below for details. + Overview ======== Have a feature you'd like to see in Phabricator? This article describes how to file an effective feature request. The most important things to do are: - understand the upstream; - make sure your feature makes sense in the project; - align your expectations around timelines and priorities; - describe your problem, not your solution; and - file a task in [[ http://secure.phabricator.com/maniphest/task/create/ | Maniphest ]]. The rest of this article walks through these points in detail. If you have a bug report (not a feature request), see @{article:Contributing Bug Reports} for a more tailored guide. For general information on contributing to Phabricator, see @{article:Contributor Introduction}. Understanding the Upstream ========================== Before filing a feature request, it may be useful to understand how the upstream operates. The Phabricator upstream is [[ https://www.phacility.com | Phacility, Inc ]]. We maintain total control over the project and roadmap. There is no democratic process, voting, or community-driven decision making. This model is better at some things and worse at others than a more community-focused model would be, but it is the model we operate under. We have a cohesive vision for the project in the long term, and a general roadmap that extends for years into the future. While the specifics of how we get there are flexible, many major milestones are well-established. Although we set project direction, the community is also a critical part of Phabricator. We aren't all-knowing, and we rely on feedback to help us identify issues, guide product direction, prioritize changes, and suggest features. Feature requests are an important part of this, but we ultimately build only features which make sense as part of the long term plan. Since it's hard to absorb a detailed understanding of that vision, //describing a problem// is often more effective than //requesting a feature//. We have the context to develop solutions which fit into our plans, address similar use cases, make sense with the available infrastructure, and work within the boundaries of our product vision. For more details on this, see below. Target Audiences ================ Some feature requests support very unusual use cases. Although we are broadly inclusive of many different kinds of users and use cases, we are not trying to make the software all things to all users. Use cases which are far afield from the things the majority of users do with Phabricator often face substantial barriers. Phabricator is primarily targeted at software projects and organizations with a heavy software focus. We are most likely to design, build, and prioritize features which serve these organizations and projects. Phabricator is primarily targeted at software professionals and other professionals with adjacent responsibilities (like project management and operations). Particularly, we assume users are proficient computer users and familiar with software development concepts. We are most likely to design, build and prioritize features which serve these users. Phabricator is primarily targeted at professionals working in teams on full-time projects. Particularly, we assume most users will use the software regularly and are often willing to spend a little more time up front to get a more efficient workflow in the long run. We are most likely to design, build and prioritize features which serve these use cases. Phabricator is not limited to these kinds of organizations, users and use cases, but features which are aimed at a different group of users (like students, casual projects, or inexperienced computer users) may be harder to get upstreamed. Features aimed at very different groups of users (like wedding planners, book clubs, or dogs) will be much harder to get upstreamed. In many cases, a feature makes something better for all users. For example, suppose we fixed an issue where colorblind users had difficulty doing something. Dogs would benefit the most, but colorblind human users would also benefit, and no one would be worse off. If the benefit for core users is very small these kinds of features may be hard to prioritize, but there is no exceptional barrier to getting them upstreamed. In other cases, a feature makes something better for some users and worse for other users. These kinds of features face a high barrier if they make the software better at planning weddings and worse at reviewing code. Setting Expectations ==================== We have a lot of users and a small team. Even if your feature is something we're interested in and a good fit for where we want the product to go, it may take us a long time to get around to building it. We work full time on Phabricator, and our long-term roadmap has many years worth of work. Your feature request is competing against thousands of other requests for priority. In general, we try to prioritize work that will have the greatest impact on the most users. Many feature requests are perfectly reasonable requests, but have very little impact, impact only a few users, and/or are complex to develop and support relative to their impact. It can take us a long time to get to these. Even if your feature request is simple and has substantial impact for a large number of users, the size of the request queue means that it is mathematically unlikely to be near the top. You can find some information about how we prioritize in T4778. In particular, we reprioritize frequently and can not accurately predict when we'll build a feature which isn't very near to top of the queue. As a whole, this means that the overwhelming majority of feature requests will sit in queue for a long time without any updates, and that we won't be able to give you any updates or predictions about timelines. One day, out of nowhere, your feature will materialize. That day may be a decade from now. You should have realistic expectations about this when filing a feature request. If you want a concrete timeline, you can build the feature yourself. See @{article:Contributing Code} for details and alternatives to working with the upstream. Describe Problems ================= -When you file a feature request, it is really helpful to describe the problem -you're facing first, not just your desired solution. +When you file a feature request, we need you to describe the problem you're +facing first, not just your desired solution. Describing the problem you are +facing is the **most important part** of a feature request. Often, your problem may have a lot in common with other similar problems. If we understand your use case we can compare it to other use cases and sometimes find a more powerful or more general solution which solves several problems at once. At other times, we'll have a planned solution to the problem that might be different from your desired solution but accomplish the same goal. Understanding the root issue can let us merge and contextualize things. Sometimes there's already a way to solve your problem that might just not be obvious. Finally, your proposed solution may not be compatible with the direction we want to take the product, but we may be able to come up with another solution which has approximately the same effect and does fit into the product direction. If you only describe the solution and not the problem, we can't generalize, contextualize, merge, reframe, or offer alternative solutions or workarounds. +You must describe the problem you are facing when filing a feature request. We +will not accept feature requests which do not contextualize the request by +describing the root problem. + Hypotheticals ============= We sometimes receive hypothetical feature requests about anticipated problems or concerns which haven't actually occurred yet. We usually can't do much about these until the problems actually occur, since the context required to understand and properly fix the root issue won't exist. One situation where this happens is when installs are thinking about adopting Phabricator and trying to guess what problems users might encounter during the transition. More generally, this includes any request like "if users do **X**, they might find **Y** confusing", where no actual users have encountered confusion yet. These requests are necessarily missing important context, maybe including the answers to questions like these: - Why did users do **X**? - What were they trying to do? - What did they expect to happen? - How often do users do this? The answers to these questions are important in establishing that the issue is really a problem, figuring out the best solution for it, and prioritizing the issue relative to other issues. Without knowing this information, we can't be confident that we've found a good solution to the problem, can't know if we've actually fixed the problem, and can't even know if the issue was really a problem in the first place (some hypothetical requests describe problems which no users ever encounter). We usually can't move forward without this information. In particular, we don't want to spend time solving hypothetical problems which no real users will ever encounter: the value of those changes is zero (or negative, by making the product more complex without providing a benefit), but they consume development time which could be better spent building much more valuable features. Generally, you should wait until a problem actually occurs before filing a request about it. Create a Task in Maniphest ========================== If you think your feature might be a good fit for the upstream, have reasonable expectations about it, and have a good description of the problem you're trying -to solve, you're ready to file a feature request: +to solve, you're ready to file a feature request. -https://secure.phabricator.com/maniphest/task/create/ +It is **particularly critical** that you describe the problem you are facing, +not just the feature you want. We will not accept feature requests which do +not describe the root problem the feature is intended to resolve. -If you have a quick question or want to discuss something before filing a -request, IRC is the best way to get a quick answer. You can find information -about IRC and other support channels in @{article: Give Feedback! Get Support!}. +(NOTE) https://secure.phabricator.com/maniphest/task/create/ Next Steps ========== Continue by: - learning about @{article: Contributing Bug Reports}; or - - reading general support information in - @{article: Give Feedback! Get Support!}; or + - reading general support information in @{article:Support Resources}; or - returning to the @{article:Contributor Introduction}. diff --git a/src/docs/user/feedback.diviner b/src/docs/user/feedback.diviner index 6fc4ca1fcb..0998002b10 100644 --- a/src/docs/user/feedback.diviner +++ b/src/docs/user/feedback.diviner @@ -1,44 +1,7 @@ @title Give Feedback! Get Support! @short Feedback/Support -@group intro +@group cellar -How to give us feedback, report bugs, and request features, and get support for -problems with Phabricator. +Deprecated. -Overview -======== - -We'd love to hear your feedback about Phabricator, whether it's good or bad. The -best ways to provide feedback and get support are: - - - For bug reports and feature requests, file a task in our task tracker, - Maniphest. - - For questions and real-time chat, join the IRC channel. - - If you just want to provide some quick feedback, you can tweet at - us ([[ http://twitter.com/phabricator | @phabricator ]]). - -Bugs and Requests -===================== - -The best way to report bugs and request features is through -[[http://secure.phabricator.com/maniphest/task/create/ | Maniphest]]. For -information on filing good bug reports and feature requests, see: - - - @{article:Contributing Bug Reports} - - @{article:Contributing Feature Requests} - -IRC -========== - -We're active in `#phabricator` on FreeNode, and it's the best place to ask -questions and get support. - -Next Steps -========== - -Continue by: - - - learning more about bug reports with @{article:Contributing Bug Reports}; or - - learning more about feature requests with - @{article:Contributing Feature Requests}; or - - contributing to Phabricator with @{article:Contributor Introduction}. +This article has moved to @{article:Support Resources}. diff --git a/src/docs/user/reporting_security.diviner b/src/docs/user/reporting_security.diviner index 445313c970..c74fc40e1a 100644 --- a/src/docs/user/reporting_security.diviner +++ b/src/docs/user/reporting_security.diviner @@ -1,41 +1,36 @@ @title Reporting Security Vulnerabilities @group intro Describes how to report security vulnerabilities in Phabricator. -= Overview = +Overview +======== Phabricator runs a disclosure and award program through [[ https://www.hackerone.com/ | HackerOne ]]. This program is the best way to submit security issues to us, and awards responsible disclosure of vulnerabilities with cash bounties. You can find our project page here: (NOTE) https://hackerone.com/phabricator The project page has detailed information about the scope of the program and how to participate. We have a 24 hour response timeline, and are usually able to respond to (and, very often, fix) issues more quickly than that. -= Other Channels = -You can also contact us on another channel if you prefer. See -@{article:Give Feedback! Get Support!} for a list of ways to get in touch -with us. +Other Channels +============== -= Getting Notified = +If you aren't sure if something qualifies or don't want to report via +HackerOne, you can submit the issue as a normal bug report. For instructions, +see @{article:Contributing Bug Reports}. -When we fix significant security vulnerabilities, we currently publish -information: - - on our [[ https://www.facebook.com/phabricator | Facebook Page ]]; - - on our [[ https://twitter.com/phabricator | Twitter Feed ]]; - - and on IRC (`#phabricator` on FreeNode). +Get Updated +=========== -If you'd prefer to receive information on other channels, let us know. - -General information about security is reported monthly in the -[[ http://phabricator.org/changelog/ | Changelog ]]. This includes low impact -issues, reports we did not act on, and other details. +General information about security changes is reported weekly in the +[[ https://secure.phabricator.com/w/changelog/ | Changelog ]]. diff --git a/src/docs/user/support.diviner b/src/docs/user/support.diviner new file mode 100644 index 0000000000..3402c099e7 --- /dev/null +++ b/src/docs/user/support.diviner @@ -0,0 +1,125 @@ +@title Support Resources +@short Support +@group intro + +Resources for reporting bugs, requesting features, and getting support. + +Overview +======== + +This document describes available support resources. + +The upstream provides active, free support for a narrow range of problems +(primarily, security issues and reproducible bugs). + +The upstream does not provide free support for general problems with installing +or configuring Phabricator. You may be able to get some help with these +kinds of issues from the community. + + +Reporting Security Vulnerabilities +================================== + +The upstream accepts, fixes, and awards bounties for reports of material +security issues with the software. + +To report security issues, see @{article:Reporting Security Vulnerabilities}. + + +Reporting Bugs +============== + +The upstream will accept **reproducible** bug reports in modern, first-party +production code running in reasonable environments. + +To report bugs, see @{article:Contributing Bug Reports}. + + +Requesting Features +=================== + +The upstream accepts feature requests which **describe problems** you would +like Phabricator to be able to solve. + +To request features, see @{article:Contributing Feature Requests}. + + +Contributing +============ + +Phabricator is a very difficult project to contribute to. New contributors +will face a high barrier to entry. + +If you'd like to contribute to Phabricator, start with +@{article:Contributor Introduction}. + + + +Installation and Setup Help +=========================== + +Installation and setup help is available from the upstream at consulting rates. +See [[ https://secure.phabricator.com/w/consulting/ | Consulting ]] for details. + +Helping individual installs navigate unique setup problems takes our time +away from developing Phabricator, so we can not offer this service for free. + +You may be able to get free help with these issues from the community. See +below for details. + + +Hosting +========= + +The upstream offers Phabricator as a hosted service at +[[ https://phacility.com | Phacility ]]. This simplifies setting up and +operating a Phabricator instance, and gives you access to a broader range +of upstream support services. + +Running this service gives us a strong financial incentive to make installing +and operating Phabricator as difficult as possible. Blinded by greed, we toil +endlessly to make installation a perplexing nightmare that none other than +ourselves can hope to navigate. + + +Prioritization +============== + +The upstream offers prioritization, a service which allows you to control +our roadmap and get features you're interested in built sooner at reasonable +rates. See +[[ https://secure.phabricator.com/w/prioritization/ | Prioritization ]] for +details. + + +Consulting +========== + +The upstream offers general-purpose consulting services. See +[[ https://secure.phabricator.com/w/consulting/ | Consulting ]] for details. + + +Community +========= + +These resources are not provided by the upstream. They are not official support +channels and you may not receive support here, or you may receive help which is +misleading or wrong. + +You may be able to get answers to questions on sites like +[[ http://stackoverflow.com | Stack Overflow ]], +[[ https://www.quora.com | Quora ]], +[[ https://jelly.co | Jelly ]], or +[[ https://twitter.com | Twitter ]]. The upstream occasionally participates on +these sites but these are not official support channels and you should not +expect to receive a response. + +There is a +[[ https://secure.phabricator.com/conpherence/1336/ | General Chat ]] +Conpherence room on this install, and you can ask questions in +[[ https://secure.phabricator.com/ponder/ | Ponder ]]. These +are not upstream support channels and you may not receive a response to +questions, but someone in the community may be able to point you in the right +direction. + +There is also a community IRC channel in `#phabricator` on FreeNode.