[gold-devel] New ideas for Gold

ADAM David Alan Martin adamlsd at gmail.com
Wed Apr 1 23:13:20 EDT 2009


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.

> 	- 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.

> 	- 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?

> 	- 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.

> 	- Use the right tool for the job.  I like Objective-C, but it's  
> not the
> 	perfect solution to everything.  Python makes sense a lot of the  
> time, even
> 	C++ is necessary sometimes.  I've gotten so caught up with the  
> Objective-C
> 	bandwagon, that I've been blind to the features of C++ that are  
> quite nice.

	Yeah.  It's easy to get caught up in a pet tool of  
$MY_FAVORITE_LANGUAGE.  Look at how I abused Cpreproc, to make OOPC.   
C++ gives you a lot of these things at a good enough point.  You and  
I like to reinvent wheels.  Our Gold project has become a big  
collection of half-completed, reinvented wheels.

> Questions, comments, snide remarks?

	Always.  How do you feel about eventually replacing X11 with another  
gui layer?  And replacing other stuff too?  Let's not close the door  
on the projects to reinvent wheels.  Reinventing wheels is fun.  But  
I suggest that we focus on the goals we want, and rip-and-replace,  
when reinventing wheels.  Our Gold idea has grown in scope creep from  
write a better Linux and a replacement compiler to reinvent OSX from  
the ground up right.  We've learned a lot, and shouldn't abandon  
these plans, just accept that we did bite off too much.  We also have  
had trouble getting traction in the department of new developers.  We  
had a few people working on HUGE swaths of systems in spare time.  We  
can't get critical mass that way.  Also the current state of the open- 
source movement is "not-windows" and not "do it right", so we have  
trouble there too.  The "excitement" is in doing what M$ hasn't yet  
done, or just did, for free.

Now rip my remarks apart.
--
ADAM David Alan Martin


More information about the gold-devel mailing list