Quo vadis, D2? Thoughts on the D library ecosystem.

Jonathan M Davis jmdavisProg at gmx.com
Sun Mar 20 02:44:57 PDT 2011


> On Sun, Mar 20, 2011 at 2:41 AM, Jonathan M Davis 
<jmdavisProg at gmx.com>wrote:
> > It's both. Without any developers, there obviously won't be any code.
> > However,
> > until someone takes the initiative and sets up a proper place and
> > framework for projects to be posted to with the idea that it's an
> > incubator for possible
> > additions to Phobos or for major 3rd party D projects, then there's no
> > place
> > for those developers to post their stuff. Right now, such stuff would
> > either
> > be posted on dsource and be lost in all of the cruft sitting there, or it
> > would be posted on someplace like github where there's no real connection
> > between any of the projects. A proper incubator site/project would be
> > _the_ place to go looking for D projects, and it would be properly
> > managed so that
> > the state of each project was clear and dead/inactive projects weren't in
> > the
> > way (be it because they're removed or put in an area where such projects
> > go and don't get in the way).
> > 
> > So, we need someone to take the initiative to set up a proper incubator
> > site/project for D projects, and then we need developers to actually
> > write projects/libraries and post them there.
> > 
> > - Jonathan M Davis
> 
> I'm still not sure what people mean by "incubator".  If you are talking
> about dsource2, then no, it's a bad idea.  People should be able to use
> whatever site, whatever project management software, and whatever tool they
> want for their code.  Besides, a lot of momentum is needed to get something
> like RubyForge to work, and D doesn't have that momentum, yet.

In a way, it _would_ be dsource2. In a way it would be for Phobos what Boost 
is for the STL. What exactly it is would depend on how it was set up. But the 
idea is to have a place to post libraries or modules which the community at 
large might find useful and which might be desirable in the standard library. 
It would be a place where such stuff could be posted and potentially worked on 
by the community at large. Such libaries/modules would therefore have the 
opportunity to used by the community at large and evolve according to that 
use. Once a library/module within in the incubator project reached the point 
where it was relatively solid and mature, it might try and get into Phobos. If 
it didn't make sense to put it in Phobos (for whatever reason), then it could 
stay in the incubator as a useful 3rd party library.

It's not necessarily the case that the source would be hosted on whatever site 
was for the incubator project. The main thing is to have a place for such D 
projects to be posted, publicly visible, and make it easy to search through. 
Projects which were unmaintained would be removed/archived, and the state of 
the current projects would be clear. So, you'd have a group of 3rd party 
libraries which were reasonably-well maintained and which could develop into 
something which would go into Phobos or which would just be a solid 3rd party 
library (there's plenty which would be generally useful but too narrow in 
scope to belong in Phobos).

How that compares to RubyForge, I don't know, since I know nothing about 
RubyForge. It wouldn't be quite like dsource either, since dsource is just a 
bunch of poorly grouped projects whose state is totally unclear and often 
unmaintained. It would be something similar to what Boost is to C++'s STL, but 
I'm not sure that we want something _that_ strict, since stuff has to be 
thoroughly reviewed before it gets into Boost, and part of the point of the 
incubator project is to get stuff in there which could be developed prior to 
reaching the point that it would need to be thoroughly reviewed (such as when 
it would try and get into Phobos).

Regardless, no one has taken the time to put together such an incubator 
project, and exactly what it would be and how it would work would be highly 
dependent on whoever put it together. It's been proposed before and generally 
found to be a good idea, but until someone actually does it, it won't exist.

> As for D and Phobos, I think what you are trying to describe is a place
> where interested developers could quickly find out _what_ needs to be done
> and _how_ to get involved.  That place should be www.digitalmars.com/d but
> it's not; everything from its 80s design style to lack of important
> information.  Just compare http://docs.python.org/devguide/ to it.  First
> impressions count, and I'm not just talking about looks here.

That would be a separate - albeit related - issue. But it _is_ something that 
could definitely be improved.

- Jonathan M Davis


More information about the Digitalmars-d mailing list