Fit Unification Two Thousand Five

Fit Unification Summit - Draft Minutes 7-29-05

Attendees: David Chelimsky, Randy Coulman, Bob Cotton, Ward Cunningham, Michael Feathers, Brian Marick, Bob Martin, Micah Martin, Erik Meade, Grigori Melnik, Steven Newton, Jeff Nielsen, John Roth, Jim Shore, Bill Wake (secretary). (Not all were present all day.)

A Warmup Question What existing implementations are there?

Language Batch Fitnesse
Java Jim Shore Micah Martin
C# Jim Shore David Chelimsky
Python John Roth John Roth
Objective C Steven Newton (nobody)
Ruby Giulio Piancastelli (nobody)
PerlTony Byrne(nobody)
C++ David WoldrichMichael Feathers / James Grenning
Smalltalk Randy Coulman Randy Coulman
Fitster/Java Ward Cunningham (nobody)
Fitster/Eclipse Hugo Garcia (nobody)

(There are other implementations as well, e.g., Lisp.) FitLibrary is supported by batch Java, Fitnesse Java, Python (both), and Smalltalk batch.

Passions and Concerns

We went around the table to capture key passions and concerns (in no particular order):

  • Making DoFixture part of the core Fit
  • User-centricity
  • Making sure Fit matches the book
  • The importance of Fit as a collaborative tool
  • Fit tests should outlive the implementation of the application they test
  • Complete Fit specification
  • Proposals for Fit come with tests
  • Making sure Fit remains free (holds still “enough”, and there are implementations for all major languages)
  • Licensing
  • Status of ScientificDouble
  • Keeping major implementations at most one release behind
  • Language differences – how should they be accommodated?
  • Examples and support
  • Finding ways to make Fit more pluggable
  • Relationship to the Agile Alliance (try to become a supported program?)

Overall Agenda
  • Core Fit – Change Process – Fit specification (11 votes)
  • Unification (9 votes)
  • Organization (6 votes)
  • User Involvement (3 votes)
  • Foundation (1 vote)
  • Charter (0 votes)
  • Licensing (0 votes)

Brief Licensing Discussion

Fit is under GPL. Someone asked, “Is the intent to control Fit?” Ward answered, “No, but I don’t want to be nosed out.”

Core Fit – Issues and guidelines

  • Fit development needs a decision process
  • Business-facing definition
  • Fit is specification-driven
  • Implementations can change freely
  • Encourage third-party experiments
  • Be cautious about introducing new things into the Fit core
  • Use trial evidence
  • Separate core and standard distribution
  • Version process
  • Minimize geek factor
  • Is HTML fundamental?

DECISION: Core Fit Decision Process [Unanimous] 1. Implementation is used and reported 2. Specification driven 3. Trial implementation 4. Email vote somehow (establish who and how)

ACTION ITEM: Jim Shore will expand this into a fuller statement.

The group decided to set up a small group making decisions about “core Fit.” That group is to be open about what’s going on, and solicit feedback from the whole community of Fit developers and users.

DECISION: A board of five will manage “Core Fit.” The group will consist of Ward Cunningham (chair), Jim Shore, Micah Martin, John Roth, and one other. This will be Brian Marick (if he’s willing), or Rick Mugridge otherwise. The group is chartered for one year. [A couple abstentions but no “nays.”]

DECISION: This board can decide on its own voting process. [Unanimous]

ACTION ITEM: Jim Shore will invite Brian Marick.

ACTION ITEM: Jim Shore will draft a charter.

Areas Needing Unification

ACTION ITEM: For each area, the designated person(s) will explore the issue and propose a resolution to the board.

Who Area
Jim Shore, David Chelimsky Conditional Matching - Symbols - Cell handlers – Booleans – Blank/Null/Error (Issue: Fit has extended these areas; is there a general solution? General agreement that comparators are wanted in core, but not clear what mechanism should be.)
David Chelimsky CSS – issues of transportability and accessibility/customizability (Issue: ability to mail a single document with test results)
Rick Mugridge DoFixture (Issue: include in core?)
Micah Martin Standard convention for runner interface (for IDEs) – Standard API for running (Issue: command line runner may not be enough)
John Roth Graceful names, mapping (Issue: converting name in test to name in fixture)
John Roth Floating Point (Issue: Status of ScientificDouble)
Randy Coulman Column Fixture (?!) (Issue: allow ? and ! rather than just () for column headers)
Steven Newton Character set (Issue: not all tests are UTF-8)
Steven Newton Deprecating ActionFixture (Issue: want to encourage a more declarative style)
(nobody) Suite-level table issues and specification (Issue: setup and suite-setup pages interact with DoFixture, which has to be the first fixture on a page)

DECISION: There will be one (official) version of Fit per language.

We discussed whether to require that the official version must be either at the current or previous release of the Fit specification. [I don’t believe we decided whether to require this.]

DECISION: Extensions must be explicitly enabled (e.g., as a command line parameter).

CLARIFICATION (previously decided): Table arguments are (already) in core Fit.

DECISION: Everything is free to change – we won’t be constrained by existing implementations.

DECISION: Bob Martin will explore a longer-term form of organization with Ward Cunningham and Brian Marick.

DECISION: We’ll post the minutes on the Wiki and on key groups: agile testing, agile testing tools, fitnesse, TDD, XP, agile modeling, fit-users, fit-devl, fit library. Bill Wake will post.

DECISION: We’ll track action items, checking up on them in early October. Bill Wake will post the action item list on the fit Wiki.


Last edited August 2, 2005
Return to WelcomeVisitors