Forum OpenACS Q&A: Bitkeeper experiences?

Collapse
Posted by Talli Somekh on
With the knowledge that I may be starting a religious war, does
anyone have experience with Bitkeeper? Does anyone have a feeling
about it vs. CVS? Advantages and disadvantages vis a vis CVS, perhaps?

talli

Collapse
Posted by Ben Adida on
I asked around at the open-source conference last week, and people had
the following things to say: 1) bitkeeper has this weird license 2)
it's unstable and buggy. They recommend Perforce if you want better
features than CVS. Also, this new project is in the works called
Subversion. It will be fully open-source (unlike Perforce and
Bitkeeper), and SourceForge will be providing it as an alternative to
CVS as soon as it's stable enough. Initial thoughts on Subversion are
that it will be truly awesome, both in terms of features and
architecture. But I don't have any direct experience with it myself, I
just heard good things from people who are qualified to make that call.
Collapse
Posted by Talli Somekh on
Good point, Ben. I should have asked about Bitkeeper vs. CVS vs. Subversion.

Subversion does look really cool. It's also tightly intgrated with Apache. It's seems very modern and also works with the popular CVS browsers (CVSview and viewCVS).

However, Subversion isn't even in Alpha yet and seems heavily reliant on Apache 2.0. Is that an issue if I only want to use AOLserver?

talli

Collapse
Posted by Jonathan Ellis on
re apache the FAQ says

Does this mean I have to set up Apache to use Subversion?

If you want to host a networked repository: yes.

If you just want to access a networked (or local) repository with your client: no

Collapse
Posted by Ben Adida on
"tightly integrated" isn't what I would call it. Subversion uses
WebDAV. Thus, I suspect that if we get WebDAV support for AOLserver,
we could write an AOLserver module to make Subversion work fairly quickly.

However, I don't think that should be a priority. This sounds a lot
like the Apache guys trying to write mod_aolserver because they really
absolutely cannot bear to run AOLserver. We shouldn't behave the same
way towards Apache: if it's there and is useful as is, why not use it?

If you're running a CVS server, you have to worry about CVS specific
issues anyways. If you have to run Apache to run Subversion, that
doesn't seem like that big a deal... thoughts? The most important
thing here is that we all know that CVS has serious
issues. Subversion is the first truly open-source alternative. If I
have to use Apache on the server end, that doesn't worry me.

Collapse
Posted by Talli Somekh on
I just posted something on the OpenNSD bboards about WebDAV, but Ben quickly answered me. Within the context of OpenACS I agree the use of Apache is totally acceptable. Whether or not WebDAV is worthwhile to have for OpenNSD/AOLserver is something else.

Ben, BK has a weird licensing policy, but it is GPL. What they say is that if you use it for free, then you must allow for OpenLogging, meaning all your change logs are submitted to a central repository at openlogging.org. I don't object to this because I think it's kind of cool. However, if the app is buggy and unstable it's not worth it.

talli

Collapse
Posted by Don Baccus on
Yeah, I agree with the above.

To compare with your earlier questions about bugzilla and the like, my  objection to our using another bug tracking system was based on the fact that the project management realm is something we're interested in, and as Ben puts it, we should either "eat our own dogfood" or quit pretending we're going to play in this application space.

However, in this case you're talking about a space we're *not* playing  in, i.e. the nitty-gritty details of source management.  CVS or Apache+subversion, it's all the same to me as long as we choose the best alternative.  We're not canning source management dogfood so there's no reason for us to not pick the best one.

Unless the best solution requires us to buy a Win2K license, of course :)

Collapse
Posted by Ben Adida on
An important note about BitKeeper: it is not real open-source, and
certainly not GPL compliant. It conflicts with two clauses of the OSI.
1) the license cannot discriminate among various uses of the software,
and 2) the license must respect the users' privacy. The BK license
forces a release of private information with the BK logging servers
that collect source control history logs. As a result of this, the BK
license indirectly discriminates against commercial use.

Now, if you want to use BK, go for it. I use plenty of non open-source
software, sadly, being a Mac user and all. Just don't go using BK
thinking it is open-source or free software.

Collapse
Posted by Roberto Mello on
Talli,

BitKeeper is NOT GPL'd. If it was, then you wouldn't be forced to do open logging. You'd be able to use the software as you please and change it. The "Open License" version of BitKeeper trades privacy for money: get the software free (as in free beer), but you have to log openly. If you get the paid version, you don't have to do open logging.

I had not heard about subversion before. It looks like WebDAV is only necessary if you're doing a network of repositories tied together, which would be good for scalability and for very lare projects. For our use, I doubt we'd need such features.

Collapse
Posted by Petru Paler on

From now on I will point people to this thread when they ask what FUD means :)

Seriously though, BitKeeper is a very well engineered and implemented piece of software. It is neither stable or buggy. It's being built by a team of very experienced engineers. About half of the code base is consisting of regression tests and they have a big lab with machines and a bunch of different operating systems so they can run the regression suite before shipping. They know that SCM is a delicate thing -- it can decide the life or death of a software company -- so they got it right.

Please people, please do not spread false things about things you didn't had direct experiences with. Especially when those things put the said product into a bad light.

Collapse
Posted by Don Baccus on
Ben made it clear he was simply passing on comments he'd heard about its stability and bugginess.  Perhaps you have differing information.

Since folks at the open source conference recommended Perforce - which carries a license fee of hundreds of dollars per user - I think it's safe to say they weren't making negative comments about BK simply because they don't like its license.

Collapse
Posted by Dennis Gregorovic on
I do not have experience with BitKeeper, but at ArsDigita we have used CVS and Perforce.  While CVS is good, we have been extremely happy with Perforce.  It is much faster and easier to maintain. The permissioning works well and atomic checkins are very useful.  Also, branching is more user-friendly in Perforce than in CVS.

Switching from CVS to Perforce was a bit challenging with the new terminology, commands, and infrastructure, but it wasn't too bad.  In fact, one of the developers wrote a CVS to Perforce transistion guide - http://developer.arsdigita.com/acs-java/resources/perforce/cvs-perforce-transition.html.

For those of you worried about the license cost, note that Perforce licenses are free if the server is used for development of open source software.  See http://perforce.com/perforce/price.html for more info.

Collapse
Posted by Marc Spitzer on
from the perforcelicence page:
Free Licensing for Open Source Development
Organizations developing software that is licensed or otherwise distributed exclusively under an Open Source license may be eligible to obtain Perforce licenses gratis. This includes upgrades but not support. Perforce Software reserves the right to approve the Open Source license; those fitting The Open Source Definition, including the GNU and FreeBSD licenses, are good candidates. Execution of a End User License Agreement for Open Source Software Development* is required. Contact us for more information.

for open acs it looks free

Collapse
Posted by Don Baccus on
Cool, didn't realize they did that.  We'll be sticking with CVS for now, just ... because we're so busy with other stuff.  The SDM's already somewhat integrated with it, we all know how to use it, and two weeks before an attempt at an alpha release for parts of OpenACS 4.x is probably just a bit too late to switch.

But ... in the future, who knows?  An interesting little subproject for someone down the line would be to look at abstracting out the SDM's interaction with SCM software so it could be used with "any of the above".

Collapse
Posted by David Eison on
Just wanted to 'ditto' Dennis about Perforce - I can't believe how useful having atomic checkins is.  Changelist #s and ability to sync the entire system or a subset of it to a particular change # at any point rules.  No idea how I lived without it.  I wish perforce was a superset of CVS functionality (e.g. we need a Perl script to tell what files aren't presently checked in), but making up for a few perforce shortcomings with a script or two (emacs script is presently needed to view file annotated w/ changelist #s) is far better than sticking w/ CVS.

I know bitkeeper was considered when the Perforce choice was made, I have no idea what the reasoning of the decision was, though.

Has anyone spent any more time looking into either building a
WebDAV module for AOLServer, creating a WebDAV interface for
the content repository, or both? I'm curious to know how much
work would be involved.
Collapse
Posted by Talli Somekh on
Michael, this is my personal quest right now. I am working hard to try and figure out how to get webDAV into the OACS, or at least into AOLserver.

One way to do it is simply to have Apache and AOLserver sit next to one another. This might not be the best way to have content be sucked into the CR, but it would allow for file uploading at the very least.

As far as getting webDAV built into AOLserver, a top AOLserver hacker estimated it would take 3-4 weeks to simply get the functionality into it, perhaps 6-8 weeks to build a more sophisticated interface with an API and so on.

I've got some things brewing if you want to contact me.

talli

Collapse
18: WebDAV (response to 1)
Posted by David Walker on
I've messed around a bit with a tcl based method of supporting WebDAV
from OpenACS but I got to the hard part and I have to put it off until I have
more time.
Collapse
Posted by Michael Feldstein on
Requiring Apache just to use WebDAV doesn't sound like the
right solution, and I'm not sure that investing 6 or 8 weeks to
write a module from scratch is ultimately the best approach
either.

I noticed that Jigsaw, the W3C's Java-based web server, has a
WebDAV module (http://www.w3.org/Jigsaw/). I wonder how hard
it would be to adapt it to work with nsjava.

Collapse
Posted by Michel Henry de Generet on
I did test gatekeeper package from ACS4 to connect to apache. But that didn't work, I suppose it would be easier to modify AOLserver to let it proxy every HTTP messages defined in webDAV.
Collapse
Posted by Michael Feldstein on
Here's another possibility, albeit a less-than-perfect one. There's
a guy in Germany who is developing a set of WebDAV libraries in
python: http://comlounge.net/webdav/

The code isn't finished, and yeah, it's in python. However, as an
interim measure, it might be possible to use the python libraries
and slowly replace them later.

Any thoughts?

Collapse
Posted by Michael Feldstein on
It turns out that Tomcat has built-in support for WebDAV, which
I'm hoping will circumvent the need to have an AOLServer hacker
invest two months of time to write a good interface:

http://jakarta.apache.org/tomcat-4.0/jakarta-tomcat-4.0/webapps/
webdav/index.html

Collapse
Posted by Talli Somekh on
Michael, i'm not really clear on what you're trying to get at. To try and get Tomcat, which I've never really heard that it works, to work wtih nsjava, which I've never heard anyone use, would probably take a couple-three weeks to get up and running and then probably wouldn't be very reliable. It would probably end up being a big hack.

A much more effective way of doing which wouldn't require some wacky hacks is to have apache and aolserver running alongside of one another. (Apache 2.0 has webdav built in to the base system.) I spoke with Rob Mayoff about this stuff who said he personally runs such a system for a personal site. He was also the one that also suggested the time frame for building webDAV support into AOLserver.

talli

Collapse
24: WebDAV (response to 1)
Posted by David Walker on
Personally I'm less interested in using WebDAV as an interface to the
filesystem and site source code than I am in using it as an interface to
content repository, content management, etc.

I think, in order to accomplish that, that it will need to be OpenACS
integrated.  Any thoughts?

Collapse
Posted by Talli Somekh on
David, that's pretty much the idea.

It would be amazingly awesome if webDAV could be used to post content directly into the DB, via MS Word, Dreamweaver, GoLive or Emacs. In order to do that, either an OACS module or an AOLserver module would probably have to be built. At least that's what I've found in my general research.

Everyone in the OACS IRC channel is pretty much sick of me asking uneducated webDAV questions, so at least that's what they've told me to shut up.

talli

Collapse
26: nsjava (response to 1)
Posted by Michael Feldstein on
I was under the impression that nsjava was getting a fair amount
of developer attention. Is that not the case? Has it been
abandoned?