Batteries Included Policy

Jordan K. Hubbard jkh at apple.com
Sat Jun 21 21:03:05 PDT 2008


On Jun 21, 2008, at 6:41 PM, Landon Fuller wrote:

> I would like to propose a policy for general consideration. I  
> believe it could save everyone energy and brain-cycles; let's call  
> it "batteries included":
> 	As a general rule, ports should enable all standard features/ 
> functionality that may be useful to an end-user.

I think you're on the right track, and may even be unconditionally  
right for a certain number of cases where a larger functional default  
seems "sensible."

There are, however, a non-trivial number of ports which will pull in  
the most expensive or weirdest crap (sometimes both) if given half a  
chance, and in those cases the user is going to end up paying a much  
higher price than would meet the "sensible test" for all but a small  
segment of the population.  We need to figure out how to deal with  
those cases too.

One solution would be to borrow a page from FreeBSD and use a  
consistent, front-loaded configuration interface that pops up when the  
port is being built interactively, asking which optional features to  
enable.  An advantage of this is one of "discovery" - the user does  
not have to read and understand an often cryptic and strange Portfile  
in order to know what optional wonderfulness the port if prepared to  
offer.

The "cons" of this solution are also obvious:  If you're building  
packages or even just batchmode port builds, you're no longer  
interactive and this stops being a solution of any sort - you're no  
further ahead in your quest to determine "sensible defaults" if the  
user cannot help.   If the user is also one of our hypothetical future  
users who always install packages, we're also back to square one with  
the build-time options.

My intuition tells me we still need some sort of configuration  
mechanism to augment a pragmatic "batteries included" strategy, but I  
don't know what it is yet.   In short, I'm not really arguing with  
you, I just think we need your plan + some extra secret sauce to  
really achieve nirvana.  Anyone have any suggestions?

- Jordan



More information about the macports-dev mailing list