At the last developer's meeting in London, Joseph and I agreed to work on an architectural definition for GCC. We now have something that, while incomplete, should be enough to discuss.
Our main intent is to define new conventions and guidelines that will simplify GCC development. The document is organized in three distinct areas: 1- A high-level overview of the problem, as we see it. This describes the different problematic aspects of GCC development and how we think they should change. We would like the discussion to start here. Without consensus on the overall issues, much of the rest becomes moot. We think that these issues are very important for the long term viability of GCC. 2- A set of proposed development conventions. These are to become part of the coding guidelines so that new patches are measured against them. 3- Improvement projects. These are largely existing projects that we have organized under a new wiki page. Most of these projects need resources to finalize their design, schedule estimates and implementation. You will notice that taken together, these projects represent a massive amount of work. We will need to prioritize projects and we are hoping for major institutional contributors to provide resources to help finish them. Naturally, the relative importance of these projects will vary greatly across institutions, so we should find owners for the more popular ones. Parts #1 and #2 are to become fixed pages in GCC's home page (perhaps http://gcc.gnu.org/gccmission.html). Part #3 is intended to be more dynamic, so we are hosting it on GCC's wiki. For the time being, however, it is easier for me to edit the document online. The document is at https://docs.google.com/document/pub?id=1ZfyfkB62EFaR4_g4JKm4--guz3vxm9pciOBziMHTnK4 The improvement projects are at http://gcc.gnu.org/wiki/ImprovementProjects. I will link it from the main wiki index soon. Please, start reviewing the main document first. We would like to reach consensus on the high-level aspects before discussing the specific projects. Thanks. Joseph and Diego.