[Kst] Kst going forward
George Staikos
staikos at kde.org
Sat Jul 9 02:02:55 CEST 2005
Last week Barth, Andrew, Rick and myself had a meeting to discuss the
future of Kst, in particular with respect to collaboration and procedures.
Kst has been Barth's project for many years now, but he has a very busy
schedule and doesn't have the time to oversee development anymore. This
leaves a big void in Kst development. Barth traditionally made the final
call for technical decisions, development policy, and anything else regarding
Kst development and direction. In other words, he was the maintainer.
In his absence, Barth has asked me to take over this role, and has asked
that we continue to work together in an open manner on Kst. That is to say,
design and decisions about Kst should be discussed on the Kst mailing list
(and bug tracking system) and design documents should be developed and
followed. However, when faced with disagreement that cannot be resolved, I
will be responsible for making the final (and correct) decision. Hopefully
it will rarely come to this.
As far as how we collaborate, we need to be more communicative and we need
to follow the guidelines that have existed since Kst was imported into the
KDE CVS repository. In the meeting, it was agreed upon to try interacting on
major feature designs via the bug tracking system and keeping copies of the
information in the devel-docs directory in SVN. This is important because
bugzilla is an on-line tool, while development does not always happen
on-line. If a new feature is requested, it cannot be hacked into the
repository simply because a developer has access. It needs to be discussed
and not only the feature design, but also the implementation approach need to
be approved. Kst development is not an ad-hoc procedure.
I am the release coordinator, and I will continue to maintain the release
plan, ideally with bug numbers on each line item as well as names of
developers working on the items. The 1.2 release features have been
documented and the release date is now scheduled for October 2005, with 1.3
following in the late winter/early spring 2006. Intermediate releases
(1.1.1, etc) will be made and bug fixes should be committed atomically and
without unnecessary changes so that they can be backported. Just send me the
bug number and patch, CCMAIL me on the commit, or find some other way to
communicate to me that a patch applies to the branch and I will merge it.
I will also aim to do a development release of Kst 1.2 in August if the code
is stable and the new features are complete enough for users to demonstrate
and test.
If any developer wishes to do work that does not align with the current
focus of the Kst release or the Kst development procedures, that developer is
welcome to create a branch in SVN for it, but must not interfere with trunk.
It is important to keep in mind that Kst is much more than just a tool for
Planck. It started out as software for other research projects, it is
scheduled for use in future research projects, and is now in use by many
other individual users, companies, and institutions. Kst has to be designed
with the future in mind, including maintenance, potential new use cases and
requirements, and portability - including to KDE 4.
In order to keep the code clean, when I first started on Kst, Barth and I
agreed to a certain formatting scheme in order to keep the code uniform and
easy to work with. This was basically me agreeing to Barth's favorites and
documenting them. We need to preserve this in order to preserve SVN
annotations and make patches easy to read. The documentation may not be
complete, and it is certainly open for debate if someone doesn't agree with
something in there. However, please do not use different formatting in
protest. If you feel so strongly about something that you insist on doing
it, please start a thread on the mailing list. Furthermore, I am willing to
write modelines for vim, emacs, and kate if anyone needs these made in order
to keep proper formatting.
(Don't forget, in .ui.h files, we use Designer style indenting!)
Code review is also a major part of the open source development model, the
KDE development model, and our ongoing Kst development model. Do not be
offended if your commits are read and commented on. Simply address the
comments as appropriate and move on. Also, join the process and review the
commits by others. It's a proven means of ensuring quality control in a
process that has no formal quality control procedures.
There is a testcase directory in SVN which really needs to be further
developed. If anyone is looking for something to do, please consider writing
unit tests for critical Kst components. Those testcases are great for
catching regressions and really help keep Kst stable. I even have them
automated and can re-enable the script when the test coverage improves.
Also, if you change any components that have testcases, the testcases need to
be updated to reflect the new behaviour. If anyone has questions about how
the test system works, please send a note to the list and I'll help you out.
The major new focal points for Kst at this time are matrix/image reworking,
scripting, new label code, and graphics objects (including associated view
object changes). Design documents, bugs, and feature documents are generally
available for all of these items, and we need to work together to make sure
they're done effectively and efficiently.
If we can move forward and work together under the same procedures and
guidelines, we can really turn Kst into a killer science app. Let's make
this work!
--
George Staikos
KDE Developer http://www.kde.org/
Staikos Computing Services Inc. http://www.staikos.net/
More information about the Kst
mailing list