scope of the port re-engineering project
stephen at math.missouri.edu
Wed Dec 12 12:27:38 PST 2007
On Wed, 12 Dec 2007, Aryeh M. Friedman wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> Stephen Montgomery-Smith wrote:
>> Aryeh M. Friedman wrote:
>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>> I'm not sure what the words "refactor" and "recode" mean here.
> Refacoring is to use the existing framework and make tweaks to it.
> Recoding is to start with a fresh piece of paper and see what emerges.
>> If you really do all the heavy lifting, it is something I will
>> admire. Not least because you might do all this work and find
>> people are too conservative to use it.
> I have my own personal reasons for wanting to do most of the work my
> self (prototype for a commerical package I am looking at developing...
> note there will be no functional diff between the two systems just the
> addition of some smoothing of rough UI edges in the commerical one)
If I were going to do this (and I most certainly am not!) I would opt for
the recoding from scratch, but doing so in a very backwards compatible
fashion. I would create a framework in which ports could be created with
configuration files similar to, but more straightforward, to the current
Then I would work hard on creating a script that automatically converts
the existing ports into the new ports system.
This means that people should be free to switch to your system whenever
they like. Most people will keep using the existing system because of
fear (and reasonable fear) that your new system will have a lot of bugs
(that any new project will have) and that it might even ultimately fail.
Then if your system really is noticeably superior, people will begin
switching to yours and eventually the existing structure will fall to the
One more thing. I personally am very impressed with the existing
structure of "var/db/pkg." If you can preserve that as well, then people
will be able to switch back and forth willy nilly, and they will be even
more willing to try out your system.
Finally, don't get depressed when (or if) you roll out your new system,
that it has a lot of problems and/or detractors. Remember, for example,
those early ugly days when Netscape had just been made open-source, and it
looked likely to bite the dust. And now it is threatening IE! And even
if your new system doesn't get adopted, when FreeBSD does eventually get
a complete rehaul of the ports, many of your ideas will be there.
But I am getting ahead of myself. I'll wait until you have the product
before doing more cheerleading.
More information about the freebsd-ports