Phabricator - Powered by Open Source


Introduction

These days, many startups and mid-scale software companies go the enterprise way and opt for paid solutions to manage their project management. Although there are benefits of using established and widely popular tools, many companies are unaware of great open source tools that not only get the work done, but also provide the necessary cost savings that really benefit fledgling startups and small organizations.
Phabricator is one such amazing open source collaboration tool for development. Released by Facebook, it is already in use by more than 500 engineers at Facebook for normal review, development and code sharing. The chief architect of the Phabricator project is Facebook’s own Evan Priestley. Development progress and beta builds hosted the Phabricator.org website. Later, Evan Priestley left Facebook and co-founded a company called Phacility.
Phabricator applications are serious, heavy-duty tools that scale to organizations with tens of thousands of employees. While there are many other open source tools in the market, today we will learn why choosing Phabricator would reap immense benefits to any organization that adopts this exciting tool.

Phabricator Vs GitHub Vs GitLab

In terms of competition within the currently available Project Management tools, the ones that stand out GitHub and GitLab. Although these are the first preference for many organizations across the spectrum, Phabricator offers a wide variety of tools for any project stage, right from code review to visual graphic critique and revision. GitHub does provide useful tools but isn’t a concise or effective as a Project Management tool. Phabricator does full task management, and integrates well into Mingle or Trello-like boards. It also provides Agile-based features such as Points Estimation.
While in the case of GitLab, comments are published immediately which in the author's view is extremely counter-productive. With Phabricator, the user reviews the code, writes comments, can review and publish when ready. In GitLab there is no way to edit the Changelist once it is pushed. It creates situations where users have to a create new change list to address code review comments, instead of being able to edit the existing change list. That's where Phabricator triumphs, allowing users to view the most lucid and accurate flow of commits. Not to mention, it saves users from rework as well as making them appear unorganized to their peers and higher-ups.
Other fantastic features of Phabricator are listed below:
1. Is FOSS and PHP-based.
2. Has an active developer community: ~1200 commits/year from over 40 authors.
3. Has an official API.
4. Has Good command line support through Arcanist
5. Includes project activity feeds that everyone can use.
6. Integrates a robust Search function.
7. Supports open registration with a variety of methods.
8. Displays pre-commit and post-commit review workflows.

Phabricator applications

Some cutting-edge Phabricator applications are listed below:

Almanac

Almanac is a device and service inventory application. It allows users to create lists of devices and services that humans and applications alike can use to keep track of what is running where.

Arcanist

Arcanists provides command-line access to many Phabricator tools such as Differential, Files, and Paste. It integrates with static analysis ("lint") and unit tests, and manages common workflows like getting changes into Differential for review.

Audit

The Audit feature (discussed in detail in the Phabricator Vs GitHub Vs GitLab section above) helps review changes after they have been published. It provides ways to track, discuss, and resolve issues with commits that are discovered after they go through whatever review process you have in place.

Calendar

Calendar allows you to schedule parties and invite other users. While it’s a great social tool, it can also be used for more serious stuff such as project timeline discussions and important release milestone discussions.

Differential

Differential is pre-push code review tool.

Diffusion

Diffusion allows users to create repositories so that one can browse them from the web and interact with them from other applications.

Diviner

Diviner is a documentation generator tool.

Harbormaster

Harbormaster is a build and continuous integration application.

Herald

Herald allows users to write rules which run automatically when objects (like tasks or commits) are created or updated.

Legalpad

Legalpad is used to track agreements and signatures on legal documents.

Phame

Phame is a simple platform for writing blogs and blog posts.

Phriction

Phriction is a simple wiki. You can edit pages, and the text you write will stay there. Other people can see it later.

Slowvote

Slowvote is a simple polling application for asking questions like "Where should we order pizza from?" for example.

Backup and Restore

Phabricator uses mysql as a backend database for normal data. It stores all the different types of files under one directory. This directory contains all data of Phabricator-hosted repositories. Backup can be done thrice a day using cron job and shell script and AWS CLI with a time interval of 8 hours. Users can keep a backup of Mysqldump and repository directory under AWS S3 bucket. These backups and dumps can easily be tested and validated.

License, Distribution and Pricing

The following USPs make Phabricator the first choice for all organizations, large and small:
  • Phabricator is currently used by Dropbox, Pinterest, Khan Academy, Quora, Bloomberg and many other companies.
  • Phabricator contains no special editions or user limitations. It's completely free, and always will be.
  • Phacility also provides a hosting facility for Phabricator. The first month is completely free, followed by a nominal subscription cost of $5 user/month.

Conclusion

Phabricator is completely open-source, Startup tested, and Enterprise scalable with advanced cluster configuration support. It’s wide range of features can be customized as per your organization’s needs. By eliminating the need to rely on third-party applications and tools, it solves compatibility and downtime issues, while providing a simple, intuitive and user-friendly user interface.

About the author

The author has over 3 years of IT experience in the areas of design, development, analysis and implementation of ETL, Big Data and DevOps tools and technologies. He thrives on innovation, and loves the process of building on ideas. When he is not coding, he dabbles in photography, travels the world and enjoys adventure sports.
I look forward to receiving your thoughts on today’s blog. Write in to me at swapnil.patil1682@gmail.com.

Previous
Next Post »

Popular Posts