Changes between Version 4 and Version 5 of SeaChange/DevelopmentProcess
- Timestamp:
- May 2, 2015, 11:54:49 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SeaChange/DevelopmentProcess
v4 v5 1 1 = The Trac development process 2 2 3 == High Level Observations ==3 == High Level Observations 4 4 5 These are observations only , no judgement is implied. We're just trying to collect data.5 These are observations only on the current development process on Trac. No judgement is implied. 6 6 7 1. Trac core development has stagnated to a certain degree. 8 2. A lot of the current core developers do not or cannot commit a lot of time to the project. 9 3. Frequently requested features do not get implemented. eg. multi-project support. 10 4. Release cycle is ''way'' too slow. 11 5. Historically, there's effectively zero chance of a plugin getting into the core. 12 6. Features that users think should be "core" are not (''this is '''very''' subjective''). 13 7. Many Trac tickets age in a limbo of sorts when they could probably be closed. 7 1. A lot of the current core developers do not or cannot commit a lot of time to the project. 8 1. Frequently requested features do not get implemented. eg. multi-project support. 9 1. Release cycle is ''way'' too slow. 10 1. Historically, there's effectively zero chance of a plugin getting into the core. 11 1. Features that users think should be "core" are not. 12 1. Many Trac tickets have gone stale and they could probably be closed. 14 13 14 === 1. Core developers do not or cannot commit a lot of time to the project 15 15 16 We'll develop each of these questions, which are or were all valid at some point. 16 {{{#!div style="background:#efe" 17 Comment: In theory they don't need to, if the community can write patches and test them, then all the core developers need to do is commit to svn. 18 }}} 17 19 18 === 1. Core development has stagnated 20 We need more people to actively care about the project. 19 21 20 Probably true, we need more people to actively care about the project.21 How?22 22 {{{#!div style="background:#efe" 23 Comment: Just look at the history of #2456. People cared, wrote patches, discussed the issue. But in the end nothing changed despite the fact that trac doesnt adhere to its design principles in that area (Users not managed via pluggable !Components/Relations) The ticket is ''' 4years old'''. There are few comments from team members and virtually no information what problems prevent this to move forward. People got frustrated, wrote competing implementations/plugins or gave up and moved on. I think it's worth analyzing what went wrong here.23 Comment: Just look at the history of #2456. People cared, wrote patches, discussed the issue. But in the end nothing changed despite the fact that trac doesnt adhere to its design principles in that area (Users not managed via pluggable !Components/Relations) The ticket is '''9 years old'''. There are few comments from team members and virtually no information what problems prevent this to move forward. People got frustrated, wrote competing implementations/plugins or gave up and moved on. I think it's worth analyzing what went wrong here. 24 24 }}} 25 25 a. lowering the barrier to entry [[br]] … … 42 42 - Google summer of code mentoring (requires time though) 43 43 44 === 2. Core developers do not or cannot commit a lot of time to the project 45 46 See also the points made under point 1: Core development has stagnated. 47 {{{#!div style="background:#efe" 48 Comment: In theory they don't need to, if the community can write patches and test them, then all the core developers need to do is commit to svn. 49 }}} 50 Aggregating random changes is not going to work. We need a plan, a global vision. 51 52 === 3. Frequently requested features do not get implemented 44 === 2. Frequently requested features do not get implemented 53 45 54 46 Big features (e.g. MultipleProjectSupport) first need to have a developer really 55 47 needing the feature, as it can't be done without some kind of deep involvement. 56 48 57 === 4. Release cycle is waytoo slow49 === 3. Release cycle is too slow 58 50 59 51 [[Image(wiki:SeaChange/WhatDevelopersWant:trac_release_statistics.jpg)]] [[br]] … … 63 55 We're actually going to do it, right after 1.0, see [gdiscussion:trac-dev:17DO_N1MM-A the whole discussion] and the [gmessage:trac-dev:17DO_N1MM-A/nbhupXw0NAIJ decision to go with 1.0] directly and from that point, have regular 1.0.x stable releases and 1.1.x development releases, until the cycle repeats. 64 56 65 === 5. Zero chance of a plugin getting into the core57 === 4. Zero chance of a plugin getting into the core 66 58 67 59 WebAdmin was integrated. There was some attempt to do the same for … … 80 72 Another option to make git and mercurial stand on a more equal footing than svn would be to //extract// the svn support in a plugin, or at the very least move it to `tracopt.versioncontrol.svn_fs.*` (`svn_fs` because having one day a `.svn.*` backend based on the command line would be an option) //-- cboos// 81 73 82 === 6. Features that users think should be "core" are not 83 Since 0.12, there's a new [source:trunk/tracopt tracopt.] package hierarchy, 84 for bundling components that are not enabled by default. 85 This makes it possible to have some room between 86 ''strictly necessary for almost anyone using Trac (`trac.`)'' and 87 ''optional, must be 3rd party.'' 74 === 5. Features that users think should be "core" are not 88 75 89 === 7. Many Trac tickets have gone stale and they could probably be closed. 90 The 1000+ active tickets, often old and with inflated severity, give a false impression of the state of the project. See for instance the history of scary #11174 'blocker', an InstallationIssue that should probably be closed as invalid. Some very old tickets relevant to points 3. and 6. above could be closed as 'wontfix', perhaps with a note suggesting interested parties could write a patch and reopen the ticket if it is still relevant. Many others could be set to low priority and moved to the 'unscheduled' milestone to help reduce the clutter. 76 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 3rd party.'' 77 78 === 6. Many Trac tickets have gone stale and they could probably be closed 79 80 The 1000+ active tickets, often old and with inflated severity, give a false impression of the state of the project. See for instance the history of scary #11174 'blocker', an InstallationIssue that should probably be closed as invalid. Some very old tickets relevant to points 3. and 6. above could be closed as 'wontfix', perhaps with a note suggesting interested parties could write a patch and reopen the ticket if it is still relevant. Many others could be set to low priority and moved to the 'unscheduled' milestone to help reduce the clutter.