= Developers' Corner = '' A blackboard for ideas related to future directions'' (or, ''How do we bribe the aliens so that we can reach milestone:2.0?'') More seriously, this is more for drafting long term ideas; for the actual coordination of on-going tasks, see TracDev/ToDo. == Development Process Issues == Regarding [../#HighLevelObservations]: 1. '''Core development has stagnated''' [[br]] Probably true, we need more people to actively care about the project. How? 1. lowering the barrier to entry [[br]] We could achieve this by providing better docs, API docs, cleaner and simpler code 2. motivating people to jump over the barrier [[br]] - the great new feature! - nice stuff that really makes Trac stand out of the competition 3. Some ideas which may be completely off the mark... - ?? Use more standard libraries. Templating has moved to Genshi, but maybe SQLAlchemy for DB backend? - ?? Highlight issues that should be easy for new people to fix - ?? Google summer of code mentoring (requires time though) 2. '''Core developers do not or cannot commit a lot of time to the project''' [[br]] Whip them? Otherwise, see 1. 3. '''Frequently requested features do not get implemented''' [[br]] Big features (e.g. MultiProjectSupport) first need to have a developer really needing the feature, as it can't be done without some kind of deep involvement. See 1.2. 4. '''Release cycle is way too slow''' [[br]] (need a picture showing Release History) [[br]] I proposed something with intermediate point releases, see googlegroups:trac-dev:7f875005134cd355. We should actually do it. 5. '''Zero chance of a plugin getting into the core''' [[br]] Well, WebAdmin was integrated. There was some attempt to do the same for [TH:AccountManagerPlugin] (see also [../WhatUsersWant]), but see 3. Note that some plugins will never be integrated or even bundled, due to licensing issues (TracMercurial and [TH:GitPlugin]). 6. '''Features that users think should be "core" are not''' [[br]] Since 0.12, there's a new [source:trunk/tracopt tracopt.] package hierarchy, for bundling components that are not enabled by default. This makes it possible to have some room between ''strictly necessary for almost anyone using Trac (`trac.`)'' and ''optional, must be 3^rd^ party.''