I've noticed that a lot of people in the open source world have a
negative opinion of Perforce,
whether they've used it or not. Here is one
recent
example:
There's also Perforce, which I don't know much about, but I gather it's
a crappy proprietary centralised VCS which is worse than Subversion in
pretty much every way.
This kind of offhand dismissal by people who are not familiar with
Perforce is very common. When we were switching from Perforce to git
for the Perl 5 source code, a lot of people assumed we wanted to do it
because Perforce wasn't good enough (but it was really because the open
source licensing procedure was non-trivial, and the lack of anonymous
repository access was seen as inhibiting contributors; there were also
objections to depending on a free-but-not-Free program).
There are other people who have used Perforce and not liked something
about it. Their opinions range from reasoned critiques to
poisonous
rants:
[Dear Perforce… ] Fuck you, you miserable, untrustworthy, misleading,
overpriced bastard. I hope your office goes up in flames along with all
your off-site backups. I pray that some open source product that
actually works is embraced by all the major companies and drives you out
of business. I hope that no other company is duped by your salespeople
into thinking you have something even remotely close in quality to the
ancient and craptastic product known as CVS. Never before have I
experienced so much pain in the most simplistic of version control tasks
as I have since starting to work at a company that made the mistake of
considering you.
I used Perforce exclusively for many years, both for large projects with
many other users and small personal projects, and my experience with it
was very different. I loved Perforce. I found it refreshingly simple to
learn, it worked fast and unsurprisingly and well, and it had excellent
support and documentation (of the kind that few open source programs of
any kind have, even now). I encountered only two or three minor bugs in
it after several years of use, and I never once had to fix the
repository (a welcome change from CVS).
There are, of course, many valid criticisms of Perforce, and my
intention is not to defend it against those. I've suffered from some of
its problems myself: its (mostly justifiable) dependence on the network
was at odds with my very slow dialup link, p4p (the proxy) didn't work
very well for me, some administrators I know had problems configuring
their server the way they wanted, and so on. I switched to git myself a
few years ago, and later helped other projects
(Perl,
Archiveopteryx)
I cared about to move away from Perforce too. I haven't regretted the
change.
But Perforce certainly did not suck, and there are some things I still
miss about it. As non-distributed VCSes go, I think Perforce is vastly
better than the (many) other programs I've used.