mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 22:10:55 +01:00
Add a roadmap document and update the README.
This commit is contained in:
parent
dafbef9025
commit
c37d90e086
2 changed files with 112 additions and 16 deletions
22
README
22
README
|
@ -1,21 +1,11 @@
|
|||
PROJECT STATUS: CAVEAT EMPTOR
|
||||
Phabricator is a open source collection of web applications which make it easier
|
||||
to write, review, and share source code. Phabricator was developed at Facebook.
|
||||
|
||||
This is an unstable preview release. You can learn more at http://phabricator.org/
|
||||
as well as click around our development install. Developer mailing list at
|
||||
https://groups.google.com/group/phabricator-dev and please report issues using
|
||||
GitHub.
|
||||
This is an early release. It's pretty high-quality and usable, but under
|
||||
active development so things may change quickly.
|
||||
|
||||
WHAT IS PHABRICATOR?
|
||||
|
||||
Phabricator is a suite of web applications that facilitate software development
|
||||
tasks, particularly code review. The primary application in the suite is
|
||||
Differential, a code review tool.
|
||||
|
||||
Phabricator is highly unstable and has many missing features! These applications
|
||||
are being brought over from Facebook's internal toolset, but there's a lot of
|
||||
stuff that hasn't made it over yet. Feel free to follow the project but you
|
||||
probably shouldn't try to install this yet unless you're extremely ambitious
|
||||
or just want to take a look at it.
|
||||
You can learn more about the project and find links to documentation and
|
||||
resources at: http://phabricator.org/
|
||||
|
||||
LICENSE
|
||||
|
||||
|
|
106
src/docs/roadmap.diviner
Normal file
106
src/docs/roadmap.diviner
Normal file
|
@ -0,0 +1,106 @@
|
|||
@title Roadmap and Status
|
||||
@group intro
|
||||
|
||||
Insight into the direction and progress of Phabricator. This document was last
|
||||
updated **June 29, 2011**.
|
||||
|
||||
= Status =
|
||||
|
||||
Phabricator is in an early release stage, but quite usable. The project is under
|
||||
active development, with around 200 commits from a dozen contributors in the
|
||||
last 30 days. Morale is high. A few people are tweeting about it. Someone wrote
|
||||
a Wikipedia page. There are a handful of questions on Quora. As far as we know,
|
||||
the product has a perfect safety record and has not caused anyone violent
|
||||
physical harm.
|
||||
|
||||
= Current Development =
|
||||
|
||||
Phabricator was released about two months ago. Since then, the focus has been
|
||||
on two major areas:
|
||||
|
||||
- **Setup/Install Process**: There was barely any install/setup documentation
|
||||
when we released.
|
||||
- **Pilot Installs**: Facebook was the only install when we released. We
|
||||
wanted to get some early adopters to do installs and give us feedback.
|
||||
|
||||
The setup/install process is much better now (there's still room for work, of
|
||||
course) and we've gotten a bunch of great feedback from pilot installs (and
|
||||
implemented a lot of it).
|
||||
|
||||
We've also been focusing a lot on things that are mostly feature buildout:
|
||||
|
||||
- **Maniphest**: I wrote Maniphest in about 20 hours in January to track bugs
|
||||
in Phabricator itself, but it seems to be getting a lot of traction. We're
|
||||
doing a lot of feature buildout for it to make it more full-fledged, more
|
||||
scalable, better integrated, and more useful.
|
||||
- **Maturing New Applications**: Generally, there are a lot of apps
|
||||
which landed recently in Phabricator's history (Maniphest, Projects, Search,
|
||||
and Paste are all less than 6 months old; Herald and Diffusion are about
|
||||
a year old; Differential is about 4 years old) which are missing obvious
|
||||
features. We're fixing this stuff.
|
||||
- **Roles and Permissions**: At Facebook, everyone basically had access to
|
||||
everything but this doesn't work everywhere, especially for open source
|
||||
projects. We're working on making this more granular and auditable.
|
||||
- **Version 1.0**: At some point we probably need to bite the bullet, figure
|
||||
out release management, and cut a release. We should probably build some
|
||||
kind of update notifier before we do this. We can probably put this off for
|
||||
a while longer by just declaring trunk a "kind of okay now release" since
|
||||
the balance of feedback for this model has been positive (we've been able to
|
||||
respond quick to a lot of bug reports and get fixes out in a few hours),
|
||||
it's just off-putting to have the documentation caveating the project's
|
||||
readiness so heavily.
|
||||
- **Performance and Quality**: These are permanent priorities for the project,
|
||||
and we're doing a lot of work to continue improving both.
|
||||
|
||||
= Future Development =
|
||||
|
||||
Most of the future work involves feature buildout. These are projects we're
|
||||
thinking about in a very early stage, and may not happen or may look completely
|
||||
different when we implement them:
|
||||
|
||||
- **Activity Streams / News Feed**: It can be difficult to get a sense of
|
||||
project activity right now. Some sort of news feed is the obvious approach,
|
||||
but a lot of the models for this aren't great (Google Code, GitHub,
|
||||
Facebook's internal news feed) and we can probably build a more useful
|
||||
product if we spend some time on it. This dataset has a pretty good mapping
|
||||
to "importance" (a review is more important than a comment) which isn't as
|
||||
strong in social data. Stressing that might get us somewhere useful.
|
||||
- **Projects**: This is a feature which existed with a very basic
|
||||
implementation at Facebook, called "tags". It had a lot of product problems
|
||||
that we're experimenting with addressing by making projects more heavyweight
|
||||
and structured. This feature is really bare-bones right now but seems to
|
||||
be getting some traction in pilot installs and there are a lot of obvious
|
||||
ways to build it out, integrate it, and make it more useful.
|
||||
- **Wiki**: We're probably going to build something like a Wiki since it's
|
||||
the biggest hole in the "complete package" that Phabricator presents. We
|
||||
have a lot of the infrastructure we need to do this quickly and some product
|
||||
ideas which could fix a lot of the problems we had with Facebook's wiki.
|
||||
Biggest blocker here is coming up with a totally awesome name for it.
|
||||
- **Drydock**: Build infrastructure to let Phabricator manage working copies
|
||||
in a scalable way. This is a general piece of infrastructure which enables
|
||||
us to build a lot of features, like: sandcastle (your changes are
|
||||
automatically pushed to a machine and reviewers can access that machine to
|
||||
see them), asynchronous unit testing, watir/selenium testing,
|
||||
Differential-managed merging, and web bisect. This is difficult because
|
||||
"scalable" is very big and it needs to shard easily across a pool of
|
||||
machines. Facebook has a less general version of this which took a long time
|
||||
to get working, but it solved a lot of the hard problems so it may be less
|
||||
daunting for us.
|
||||
- **Testing**: Phabricator has very little test coverage right now and we'd
|
||||
like to improve it. But we also want to make sure we're designing the right
|
||||
test environment and solving problems like database stubbing in a robust
|
||||
way. Facebook ended up with some solutions in this space which had tradeoffs
|
||||
and downsides we'd like to avoid.
|
||||
- **Importers**: Unclear how much time we want to spend here, but providing
|
||||
ways to import from other bug tracking and code review systems could lower
|
||||
the barrier to adoption. But this could also be a massive timesuck.
|
||||
- **Evangelism**: Phabricator had an intentionally quiet launch because the
|
||||
install process wasn't any good and we wanted to get feedback (there were
|
||||
other reasons, as well). It's starting to get some traction and feedback
|
||||
from people have used it seems to be pretty positive. At some point it may
|
||||
be appropriate to spend more time evangelizing it.
|
||||
- **Mission**: Phabricator doesn't have a clear mission statement. Do we want
|
||||
to develop a revenue model around it? Do we want to actively compete with
|
||||
the many other products in this space? For now, improving the software is
|
||||
probably the most important thing we can do to achieve any of these goals,
|
||||
but we don't currently have a clear long-term vision.
|
Loading…
Reference in a new issue