[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