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.
EmoticonEmoticon