Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Better project organization

Posted: 11/03/10 15:13:31

I'd like to discuss about the problem of project organization, not only Tango, but D projects in general, because I noticed that some of Tango developers work on GDC and LDC, too. I'm an open-source developer, too, and for those years I learned that for the end users, project management is almost as important as the project itself. In other words - no matter how good the project is, without a reliable organization and organizational activity it will usually fail. As I observe D scene for a while, I realized this is one of the biggest problems of this language, not the fact that the programming tools haven't reached the required quality yet.

Let's take a look at Tango, where the recommended way to obtain it is to download it from trunk repository. How seriously can be it treated by serious software development groups, when everywhere in the world trunk repositories contain the least stable, the most experimental code? How seriously the project can be treated, if the last release is clearly mentioned as "it will not work, use trunk instead"? We talk about the standard library, one of the critical language components, which has to be reliable.

The same argument concerns compilers LDC and GDC. Since their development has been moved to bitbucket, their development looks as amateurish, as possible. No documentation, issue tracker not maintained, project website not updated, lack of official releases, development schedule etc. No matter the projects are in the beta stage. Ordinary people want to see that their projects live and their authors treat them seriously and won't disappear in a year, leaving an unfinished project. People want to download the project relatively easy and test it - the requirement to compile everything, because nobody pays attention on release process, rather discourages many people, and among them, there might be potential new developers.

To conclude, being in the beta stage is not bad. The bad thing is that some developers seem to think that because this is a beta stage, they are free from everything other than programming. I know that these project are made in the free time, I do my projects in my free time, too. But in my opinion, sometimes it is better for the project to give up programming for one day, and make a release instead. Without that, we cannot think about treating D language seriously by developers and it will simply die.

Author Message

Posted: 11/03/10 20:50:47

The last Tango release has always been the recommended version to install - not trunk. Presumably you got a recommendation to use trunk for GDC support, which has just been added and thus is considered experimental in itself?

0.99.9 is a very stable and useful release, although trunk in many ways probably are better (it is on its way to the next release, and a 1.0 at that). I am working on other projects using Tango, and there I stick to 0.99.9 until the next release, since by definition trunk isn't stable.

Tango has since the beginning been very much about project administration, and certainly best in class at that in the D world. However, it is a very big project, and administration alone became a major task taking very much of my time, so Tango has probably become less organized (in a certain sense) over the last 18 months.