[This should have been posted to sbml-announce sooner.
Very sorry. It went to sbml-discuss but announcements of
votes are also supposed to go to sbml-announce. -- MH]
Dear SBML Community,
The discussion topic that produced the most significant
debate at the SBML Forum last October concerned the
inadequacy of the current L2V2 spec's use of the sboTerm
attribute. Specifically, the realization was that it needs
to be placed on several SBML elements where it is not
currently available. This can be done in one of two ways:
either the definitions of the individual objects where
sboTerm is missing can be redefined on a case-by-case basis,
or sboTerm can be moved to the SBase abstract class as an
optional attribute. In either case, the changes are
backward compatible in the sense that XML files containing
sboTerm attributes as currently defined in L2V2 would still
be exactly valid under either version of the fix. However,
and more seriously, either approach undeniably changes the
SBML object model.
This has put the SBML Editors in a bit of a quandary. The
guidelines under which we have been *trying* to work is that
changes to the syntax of SBML would only occur between
Versions within Levels (or else changing whole Levels). The
changes that are needed now come at the request of SBML
users, and are necessary to actually use SBO properly.
Further, some groups have begun using SBO, which is making a
fix an urgent matter. The changes *could* be done by making
them in a revision of L2V2 (i.e., in Level 2 Version 2
Revision 2), but that would violate (so soon!) the
guidelines we were trying to establish for good SBML
development. Under those guidelines, these kinds of syntax
changes *should* be done as a new Version (so, Level 2
Version 3). But if we create a Level 2 Version 3 so soon
after Level 2 Version 2 was released, will that leave a bad
impression and result in people losing confidence?
In defense of producing Level 2 Version 3, we note that (1)
it appears few people have worked on L2V2 support anyway,
apparently because most developers are waiting for a final
libSBML release with L2V2 support; (2) the SBML issue
tracker on http://sbml.org/issue-tracker now has numerous
small (albeit simple) changes on the table, including a
significant number of additional validation rules, which
suggests that producing a Level 2 Version 3 wouldn't be a
bad idea; (3) a Level 2 Version 3 specification could be
produced very quickly given the relatively simple changes on
the table; and (4) if it were done immediately, the
difference between L2V2 and a new L2V3 would be small enough
that even if someone was in the middle of implementing L2V2
support, they would probably not feel it is a difficult set
of changes to make to move to L2V3.
Either way, we believe we can produce a new document in
February, because of point #3 above.
So, here is our question for you. Assuming that either
alternative results in a release of an SBML specification
quickly, which of the following would you prefer is done?
1) Bend the guidelines and issue the changes as Revision 2
of Level 2 Version 2, or
2) Issue the changes as SBML Level 2 Version 3.
Please cast your votes by Feb. 8 using the following page:
The SBML Level 2 Version 2 specification is at:
The SBML Editors
(Mike Hucka, Nicolas Le Novere, Sarah Keating,
Stefan Hoops, Andrew Finney)