I occasionally get questions about the finstall project - more or less to the not of "what happened to it?". It's not very hard to conclude that its development has been stalled. I'm personally sorry about that and would very much like to continue working on it, but as always, real life got in the way. I still don't consider the project abandoned, and occasionally when I have the time add something to it. I still have plans for it and plan to present a small segment of it at the next BSDCan.
See the rest of the post for details.
The project was originally a Google Summer of Code project for the year 2007. The project was completed enough to pass as completed but it wasn't widely used because I think it needs more work. Since that time I've taken on what amounts to two jobs and am working on completing my PhD, so the time available for finstall has shrinked significantly. In the time between I have also failed to arrange any funding for its development, which has also influenced the time allocation.
But all is not lost! The current status of the project is that the following things work:
- The basic "liveCD" image of 7-STABLE
- Installation of 7-STABLE on a blank disk drive, which includes the base system and a predetermined set of ports (X.Org, Xfce desktop, etc.), on a predetermined partition scheme
- Installation is available on UFS2, ZFS or ext2 file systems
- Configuration of network interfaces, ssh, ntp, and similar small services
- Remote installation
To make it truly usable, it requires at least the following components:
- A partition editor (currently, the partitions are automatically calculated from the target drive size)
- Package selection utility (currently, all packages from the live CD image are copied en-masse and literarly to the target system)
Most of the new development concerns the GUI side of it. The backend requires relatively little new development.
From what I've learned during the development, I think that it was a mistake to write the installer GUI in Python+GTK. My current plans are (of course, given infinite time to develop) to rewrite it with Java. It was a choice even at the start, but Sun's Java was (and still is) encumbered by legal obstructions of redistribution for the FreeBSD packages (basically, only the Foundation can distribute them, ever, except if a special contract is made between a third party and Sun). Today, OpenJDK looks like it might "soon" be ported to FreeBSD (though judging by the progress it looks like the official FreeBSD Java crowd is working on OpenJDK 1.7 which has not been released yet, instead of OpenJDK 1.6, which is).
The back-end will probably be left as it is, in Python, since I don't think I'll ever have the energy to rewrite its many string-parsing and XML-generating lines of code in C.
Currently, finstall is hosted on SourceForge. This was done to attract developers outside the FreeBSD official developer circle (e.g. those not having access to FreeBSD's SVN and CVS) to work on it. This was also not very successful, as only one persone enlisted, to disappear after a month or so.
As I've said, I'd still like to finish this. Any persons wanting to help are welcome to join. If there are enough people enthusiastic about continuing to work on the Python GUI, (the best side of which is that it currently works) the Java rewrite might happen later, or never.
As for the short-term planning, I can say for sure that for the next two weeks I'll be incredibly burried in current work, but after that I might find the time to contribute to the project again.