manu AT gcc DOT gnu DOT org
5 things that GCC could do better as a community
Attract more developers.
Problems: GCC could benefit a lot by attracting more contributors in general and specifically more part-time volunteer contributors.
Goals: GCC should have at least 2 active maintainers per module, this is not the case right now for critical parts like the C/C++ FEs, libcpp, diagnostics, most optimization passes, graphite, etc. GCC should maintain and expand the number of paid-contributors from organizations and corporations. GCC should attract contributors from the research community.2
Upgrade all infrastructure around GCC.
- Outdated, unmaintained, understaffed infrastructure: wiki, bugzilla, SVN repository, HTML pages (+CVS repository), mailing lists software/archives. (Actually, this has improved a lot recently, but there are still some issues).
Missing infrastructure: project-wide build-bot/regression-tester/speed-memory-tester, patch tracker, ???.
Example of successful infrastructure: CompileFarm (but needs better marketing/exposure).
Goals: At least 2 maintainers of each infrastructure component. Get rid of outdated/obsolete infrastructure (e.g., get rid of CVS). Better marketing/exposure of existing infrastructure. Share infrastructure with other GNU projects (GDB, binutils, libc).
Make GCC more useful and interesting to users
GCC capabilities are difficult to reuse for other purposes.4
GCC is not as user-friendly as it could be.
However, GCC is way better than its public image. GCC has a marketing problem!.
Development of GCC seems to be slowing down according to ohloh. Last 12 months: 6672 Commits Down -1467 (18%) from previous 12 months.
By comparison, LLVM development is speeding up. Last 12 months: 11196 Commits Up +647 (6%). (Not including Clang or libc++).
Does this mean a transfer of resources (in the case of Apple, for sure) at Google and IBM?
Some developers are already giving up on improving the FEs in the hope that something better will replace them http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00316.html
Some development has already moved to LLVM, like the polyhedral optimizations http://gcc.gnu.org/ml/gcc/2012-02/msg00186.html
- The sanitizer infrastructure is being driven from LLVM, however, Google devs are contributing parts of it (only ASAN and TSAN so far) to GCC.
The whole thread Why not contribute? shows that this is a major problem. See also my reasons, Ian Lance Taylor agrees that the process is complex and confusing and also believes a web form would help. (1)