[gold-devel] New ideas for Gold

Justin Hibbits jrh29 at alumni.cwru.edu
Thu Apr 2 12:02:24 EDT 2009


On Thu, Apr 02, 2009 at 09:09:31AM -0400, Justin Hibbits wrote:
> On Wed, Apr 01, 2009 at 11:13:20PM -0400, ADAM David Alan Martin wrote:
> > 
> > On 2009.04.01, at 15:45, Justin Hibbits wrote:
> > 
> > > It's that time again, folks -- time to redesign Gold yet again.   
> > > This time, I'm
> > > trying to solidify goals for it, and let the design fit the goals,  
> > > instead of
> > > the goals fitting the design.  First, my ideas for the new design --
> > >
> > > 	- Take FreeBSD -CURRENT, and make it the base for Gold.  This  
> > > would give us
> > > 	a platform to work with that's both high performant and  
> > > standardized, so
> > > 	stable.
> > 
> > 	No disagreement here.  LSD is relegated to my fun project.  Maybe  
> > it's v2, maybe it drops in for v1, maybe nothing at all.  FreeBSD- 
> > Current lets us make it use *NIX tools too.
> > 
> 
> Precisely.  I'm not giving up on the ideals of LSD, or the intents of Gold as
> they've matured these last several years.  I'm only giving up on it being the
> up-front solution to world hunger, AIDS, and communism.
> 
> > > 	- Move libSystem to be a library on top of FreeBSD's system core  
> > > (libc,
> > > 	  		libthr, libm, etc).
> > 
> > 	Agreed.  We have focused so much on reinventing the wheel, instead  
> > of building the rocket that the truck will take to the launching pad.
> > 
> 
> It's time to build that rocket.  First we need to build the flatbed trailer for
> the truck, but that's a lot easier than trying to build a diesel engine from
> scrap metal shavings.
> 
> > > 	- Include Apple's AutoZone, the automatic garbage collector  
> > > library, Apache
> > > 	licensed, which makes it awesomely usable.
> > > 	- Basically, make Gold a "better Darwin" -- a complete system from  
> > > the core
> > > 	all the way up, focusing on high performance, usability, and  
> > > flexibility.
> > 
> > 	These are good ideas.
> > 
> > > Now, the goals:
> > >
> > > 	- High performance -- Saying it's a "better Darwin" means I want  
> > > it to not
> > > 	hit the same pitfalls -- fork() cannot take half a lifetime.
> > 
> > 	We get this for free with FreeBSD, I think, right?
> 
> Yes we do.  I was taking a cheap shot at Darwin/OS X.  FreeBSD gives us a solid
> foundation from which to work, and is relatively easy to extend as well.
> 
> > 
> > > 	- Usability -- OS X made a lot of really good changes for  
> > > usability, that I
> > > 	think should be incorporated, but those should be guidelines, not  
> > > hard
> > > 	rules.
> > > 	- Saying that, Flexibility is final -- OS X is usable, but it's  
> > > not at all
> > > 	flexible.  KDE is flexible and usable, GNOME is usable and  
> > > inflexible,
> > > 	Windowmaker is flexible but not too usable for the populus.
> > 
> > 	These are good.  Starting on UNIX with X11, and building what we  
> > want over this, then filling in holes underneath, will be good.   
> > Build the visible parts first.  Then fill in the guts.
> 
> That's exactly what I want to achieve now.  I've spent the better part of 5
> years working on libSystem, and have only a Cocoa wannabe to show for it.  It's
> time I redo the necessary parts, and make it more flexible on FreeBSD.
> 

I must amend this statement:  I don't intend for us to just sit on top of
FreeBSD, like PC-BSD or DesktopBSD.  By using FreeBSD as a base, I mean that we
build from FreeBSD, not on it.  For example, I fully intend to replace the likes
of init and perhaps many utilities.  Also, the 'ports' that we need for Gold
would be part of the base, rather than part of local.  Example, ICU, Cairo,
Freetype, all would be installed as native to FreeBSD in /usr, rather than
/usr/local.  This will let us merge the code as we need, while still allowing
ports to use what they need.

- Justin


More information about the gold-devel mailing list