I thought I might share my experience of the last week, spent looking for a
good, flexible, easy to use, simple to
learn, and *cheap* (read: 'free or less'!;) project management/source control
package. In the years I've been around
software, there have been 3 fairly high rated and widely used free, open source,
source control packages: RCS, CVS,
and SVN. All three quite good 'low level', command line based applications.
Unfortunately, with the possible exception
of CVS and Tortoise, easy to use GUI front ends are few and far between. I hit
about a half dozen 'wrappers' for SVN,
and in my most humble opinion (and it's very true!;), not a one is worth too
much. TortoiseSVN is the most likely
front runner, but even it is not as good as it's predecessor, TortoiseCVS.
Additionally, it suffers from the same
drawback of TortoiseCVS: no true GUI interface, simply a set of system context
menus. A couple of others showed some
promise, but they haven't been actively worked on of late and sadly lack a good
deal of basic functionality.
Speaking of which, that seems to be the biggest 'lack' of all front ends for
SVN, basic functionality for administering
the database (repository, depot, stream, what-have-you). I would think this
would have been one of the first things
out of the chute, but apparently my thinking is wrong!;) For some unknown
reason, none of the front end applications
want to tackle management, just day to day checkin/checkout. But here's hoping
all of that will change in the near
future with CollabNet coming out with a true front end application, at least for
Windows, CollabNet Desktop (and, no,
I'm not talking about the product that previously held that name. That is/was
more or less a plugin for Visual Studio).
I tried using CollabNet Desktop (a.k.a., 'Microsoft Windows Edition'), but it's
only a beta, and still quite in its
infancy.
Biting the bullet, I decided to look at the possibility of shareware/commercial
project management/source control
resources. Here I was a little more successful, although not to a great degree
(say, maybe 4-15% greater success?).
I have been a long time user of Araxis Merge, to my thinking, one of the better
'diff' programs around today. It is
commercial, but not bankrupting. In delving a bit deeper into Merge, I
discovered a fact I was hitherto unaware of;
it's designed to seamlessly work with other 3rd party source control packages,
notably SVN and Perforce. I took a
look at the SVN portions of Merge, but for whatever reason I couldn't easily get
them to work. So, I started looking
at Perforce. In that same time frame, I found both Perforce and PureCM in
wikipedia and thought it might be a good
idea to look at PureCM while I was at it.
Both Perforce and PureCM are UK based companies. I believe Perforce has been
around the longest (not sure though).
Perforce has both 32 and 64 bit versions, PureCM only 32 bit. Perforce's UI has
more functionality, and of all the
GUI's I looked at, it was the only one that actually had clear, concise
documentation on administration of your
database (which they call a 'depot'), and the functionality was actually in the
GUI itself!8-o It wasn't a set of
(usually erratic and not always correct) instructions on how to access the p4
(counterpart of svn/svnadmin)
administration commands from the command line!8-O [I often wonder about it when
people take the time to check out and
document what commands to give at the commandline. Wouldn't it take only
marginally longer to forego that and just
write the UI for same?!%=o] Both Perforce and PureCM have a non-terminating
(i.e., free forever) evaluation which
allows a maximum of 2 users, one for admin and one for user. Perforce puts it
right up front in many places whilst
PureCM keeps it tucked away in little corners. If you're not looking for it (and
I was since the wikipedia article
stated it was a free two-seater!;), you're very likely to miss it. I suppose
there are pros and cons to both
strategies, and most likely based on their price per seat. One needs to have you
know it's there so you'll take a look
at their product and not be scared off by the $$$'s, the other's price per seat
is lower and they probably depend more
on cash flow, so they chance your not being put off by their pricing.
Perforce Licensing
The Perforce End User License Agreement (PDF) is our standard commercial
licensing agreement. All Perforce software
you download is fully functional for two users and five client workspaces when
used without a license. A Perforce
license enables the Perforce Server to support more users and an unlimited
number of workspaces and also entitles you
to Perforce Technical Support.
up to 20 users, $14,800
PureCM
Also free for 2 users.
minimum paid commercial license, $1500 for 5 users
There is a 'starter pack' for $1000, but from what I read in the FAQ, it's
really not as good a deal as it sounds,
especially if you may/will expand.
Perforce seems to be the more robust of the 2 (and the pricier if 2 seats won't
do for you!;) Both claim defect
tracking capability ('bugs'), but it seems peripheral at best.
They are both proprietary, but also 'one stop shop', you won't have to chase
about the network getting support
software (as is the case with almost all free open source products).
Additionally, being commercial, they have a
certain vested interest in stability, customer satisfaction, and performance. As
such, their support is more
responsive, their documentation is far and away of higher caliber than open
source docs tend to be. All the bases are
covered, and without having to wade through web links to get there from here.
Everything that is there is pretty much
on the money and accurate, no guess work. Also, the UI for both is much more
professional, a bit more intuitive
(although they, too, suffer from the same lack of GUI design finesse as open
source products, just not to such a
high degree!;)
This is my first venture into the world of source control in many years (aside
from some casual cvs brushes in the
recent past for obtaining online source). In the 80's and 90's I was quite
fluent in RCS/SCCS, my occupation demanded
it (aerospace and telecommunication GUI development, mostly on Sun Microsystems
boxes). The state of the art has made
some strides, inner workings wise. It's just a shame that no one (especially in
the open source community) seems to
want the 'thankless' jobs of testing, integration, and documentation. For the
most part, I was seriously disappointed
in most all offerings, free and commercial. But no one knows what tomorrow may
bring!;)
For right now, I'm leaning toward free Perforce, coupled into the Araxis Merge I
already own, and possibly using
Araxis' Ketura as the tracking portion. They all seem to fit together nicely and
the total cost is nominal. Araxis has
a package deal for Merge and Ketura, and since it is a fairly tight couple with
Perforce, I think it might just fill
the bill for me. If you are a single developer, like myself, with only a handful
of projects going at a time, you may
find Perforce or PureCM a viable alternative to SVN. Especially since all 3 are
free under these circumstances!;)
fyi & jmtcw:
thx,
Dave S.
Development with wxWidgets on MSWindows
http://tech.groups.yahoo.com/group/wxMS_developers/
wxWidgets Code Exchange
http://wxcodex.net/