D : Not for me anymore

Sean Kelly sean at f4.ca
Mon Oct 16 14:13:26 PDT 2006


Lionello Lunesu wrote:
> "Walter Bright" <newshound at digitalmars.com> wrote in message 
> news:eh0hgs$q8h$1 at digitaldaemon.com...
> 
>> I'm happy to merge things in, but am reluctant to do so without reviewing 
>> the diffs line by line.
> 
> That's what we have now. I think it's time for you to let go of Phobos. 

It's a bit more complicated than that, since Phobos includes a bunch of 
compiler runtime code used by DMD.  This is also why GDC has a separate 
GPhobos where the only substantive difference is this runtime code.

> There can't be a community lead standard library from which you take patches 
> to include into DMD's distribution.

Sure there can.

 > We'd end up with another Ares.

I think Ares isn't used widely for two (or perhaps three) reasons:

* Visibility
* Features
* Endorsement (maybe)

When people hear about Ares, their first question is typically about 
Feature X or in some cases about Phobos compatibility.  And in general 
my response is that Ares is really mostly useful for people who don't 
want much in the way of standard library code (it's been used for some 
kernel development projects, for example) or for those who want a 
minimal framework to build on.  Mango integrates with Ares and fills 
essentially all the feature gaps between Ares and Phobos, but doing so 
requires downloading, installing, and updating a number of different 
libraries just to match what comes packaged with DMD--it's a large 
hurdle to overcome.

Another related reason may be community support--Ares has pretty much 
always been a one-man project, I haven't had the time to maintain it 
recently, and the project doesn't get many contributors.  It's extremely 
difficult to maintain interest and participation in community projects 
over time.  Typically, once the initial "gee whiz" factor wears off, 
most people go back to their lives and development stagnates.

However, I do think a project, if organized properly, might be able to 
overcome the problems that previous efforts have had--it's largely a 
matter of momentum.  Some sort of "official" stamp may ultimately be 
necessary to allay the fears of general users (who are more concerned 
with whether a library will be supported and maintained two years from 
now that with its feature set) and gain broad acceptance, but I don't 
think this would be necessary at the outset.  Community projects live 
and die based on community involvement, not endorsements.  Just look at 
DWT :-P

> Honestly, I don't think this Phobos review process can go on for much 
> longer. Phobos should be hosted on dsource/sourceforge and its latest 
> release should be included with each DMD/GDC release. You'll be one of the 
> few with write rights, of course ;)

Frankly, I'm not certain of the best way to handle Walter's involvement 
in such a project--I think it would really depend on what appealed to 
him.  One option would be for him to maintain only the compiler runtime 
code (and perhaps GC code) separately and coordinate with the community 
how these interact with the standard library.  Another would be for him 
to accept patches from the community when necessary.  And yet another 
would be direct manipulation of the public source tree.  A lot really 
depends on how the project is structured, how the code is structured, 
and how Walter likes to work.  Were it me however, I'd probably prefer 
something more along the lines of my first two suggestions than the last 
one.  Unless I were just committing bulk updates to the public tree on 
each compiler release and otherwise maintaining those portions internally.


Sean



More information about the Digitalmars-d mailing list