Hi. It's back. During the downtime I converted my repository from Berkeley DB format to the newer 'fsfs' format, something I've wanted to do for quite some time as dealing with the Berkeley DB libraries has produced occasional hiccups. Those problems should now be gone, and as I've heard nothing but good reports of 'fsfs' based Subversion repositories I'm hopeful that things are smooth sailing from here through the foreseeable future.
While on the subject of the public repository, I'm becoming interested in replacing Subversion with 'git', the new source code tracker developed by Linus to replace BitKeeper. I liked BitKeeper, and the decentralized development model is also a model that appeals more and more to me. BitKeeper, however, was proprietary and my fear was that the company would be bought and then BK would no longer be available, trapping projects in the BK format. When the BK/Linux divorce happened I was surprised about why it happened, but I believed that the kernel data stored in BK would be extracted because some people or company would put up the money to buy the needed BK license. Aside from the proprietary nature of BK, the program was taxing to run on older machines, especially as the ChangeSet file grew larger. Now that BK is only available with a license I would not consider it at all. Git, on the other hand, is free, runs fantastically well on older hardware, and as it is being used to maintain the kernel source code I know that git itself will have some of the sharpest developers around keeping it running in top fashion. Git code will almost certainly run on any Linux variant, as well as the different BSD flavors, and probably OS X, so I don't suspect any developer on these platforms would have a problem getting, building, and installing the various 'git' programs. So, why replace Subversion with a brand new source code management system? Subversion has worked fine for PythonCAD, and there is no reason to believe that it would not work for future development. However, I think the development model that I'd set up for PythonCAD needs reassessment. When I started PythonCAD three years ago I'd hoped that, by this time, there would be an active community of developers contributing to the project. That has not been the case. Part of the problem I believe is that the master repository was not publicly accessible, like it is for GNOME, KDE, Apache, BSD, etc., and that people wanting to contribute would have to send the patches to me. Also, a CAD package is a specialized software program that many developers would not use in their daily lives, so drawing these people in to work on a program that they would rarely use requires a bit of luck in finding the people willing to do this. There are certainly other reasons that can explain why a regular development team has not appeared, and I want that to change. A distributed development system like that BK, and now git, made possible offers a possible route to making more people interested in contributing to PythonCAD. Subversion itself does not support this type of development model, but the 'svk' package extends Subversion in this direction. I've never used 'svk', so I cannot comment on its strengths and weaknesses. I've not made up my mind yet when, or if, the switch to 'git' will happen. I'd want to convert the repository to 'git', but at present there is not a svn2git converter. I am very serious about trying to draw more developers in to work on PythonCAD, and want to make some changes to see that happen. Maybe moving the master repository on the the publicly accessible machine and offering write-privledges could be a better short-term or long-term plan. Still, a single master repository has the drawbacks that if that machine is offline it hinders people from committing changes, where the 'git' based model you have the repository on your machine, commit locally, and then send your changes out to others. Comments welcomed with regards to switching to git and for drawing more developers into PythonCAD. Art -- Man once surrendering his reason, has no remaining guard against absurdities the most monstrous, and like a ship without rudder, is the sport of every wind. -Thomas Jefferson to James Smith, 1822 _______________________________________________ PythonCAD mailing list [email protected] http://mail.python.org/mailman/listinfo/pythoncad
