In a nutshell: the conditions to declare a release final are:
* the code builds on the major supported platforms (Ubuntu, Fedora, OSX,
Windows)
* there is no (known) regression, unless intentional. This means: what
worked with the previous release should work with the current one.
The goal of the new release process is to decouple the development
process from the other processes, avoiding artificial slow downs (trunk
freezes).
The processes (development, translation, distribution, support) in detail:
DEVELOPMENT:
* if you have a development branch, nothing changes. you can keep
working on it
* if you are working on trunk there is an *improvement*: no trunk freeze
* you're encouraged to continue with your usual pace of bug fixing and
development.
* to do things perfectly: commit all your changes to trunk; and those
that are bugfixes also to the release codeline.
* if you forget about it and commit only to one codeline, do not worry.
I take responsibility for the 2009.2 codeline and will port fixes from
trunk to 2009.2 or the other way around as the need arises.
* try not to add new features to the release codeline
TRANSLATION:
* same as development
* please do not run extract-messages.sh until after release
DISTRIBUTION:
* *unchanged*: the Hugin project releases source code that is tested to
build on the main supported platforms: Fedora, Ubuntu, Windows, OSX. It
works on the developers machines. YMMV.
* Building and distributing binaries is left to the users communities.
Once there are binaries of appropriate quality level for platforms that
do not have a package manager (Windows and OSX) we add them as a
courtesy to the SF archive - as usual "WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE." See the GNU General Public License for more details.
more details on <http://wiki.panotools.org/Development_of_Open_Source_tools>
Yuv
Tduell wrote:
> Stitching with the gpu is without error, using an Nvidia 9600GT and
> the proprietary Nvidia driver.
lucky you!
> Hope this helps.
a lot! these are *excellent* news.
Yuv
Tduell wrote:
> gpu on, crop as default in prefs, no crop selected in fast preview:
> works OK, output image 4928x4437
> gpu on, crop as default in prefs, crop selected in fast preview: works
> OK, output image 3970x2964
> gpu on, no crop set in defaults, no crop selected in fast preview:
> works OK, output image 4928x4437
> gpu off, no crop selected in fast preview, (this is the basic
> operation as per 0.8), works OK, output image 4928x4437
>
> Does that info help?
partially. 4928 is a multiple of 8 (and if I am not mistaken, the
padding is to lines of 8 pixels, to improve the speed of transfer
between system memory and GPU memory).
I wish I could try, but my weak chipset embedded nVidia GPU is stuck
with the Framebuffer error (incomplete attachment), into which I try to
research, to no avail so far.
Yuv
T. Modes wrote:
> I would wait a couple of day. Maybe someone could fix some of the big
> problems in nona-gpu (e. g. your incomplete framebuffer problem, or my
> padding problem).
I am not sure if the incomplete framebuffer is really a bug in the
nona-gpu code; or if it is the result of some combination of hardware,
driver, and software. The only way to find out is to release and get a
wider set of reports.
> I think we should not release a version, where the
> first point of the change list has an comment of "reported not to work
> in most cases" (see your release notes for beta). IMHO it should work
> in some more cases before we release.
I disagree with you. I have stated at the beginning of the release cycle
what the conditions are for release:
- the package builds on the major supported platforms (Ubuntu, Fedora,
OSX, Windows)
- there is no (unintentional) regression / breakage of functionality.
2009.2.0 ships with GPU-stitching disabled by default. The functionality
of nona when GPU-stitching is disable is exactly equal to 0.8.0. No
regression, no show stopper.
> Also the translation for the release of 2009.2 are behind the stand of
> 0.8
How can the translations be behind? all strings that were translated in
0.8 are still translated in 2009.2.0, so there can only be improvements?
again: no regression, no show stopper.
> We should give the translators some more time, to get a similar
> coverage of translation as 0.8 (Currently there are some untranslated
> strings in the main interface, which looks not so professional for an
> release.)
translators can work any time. If the translations are so important,
they will come, and we have an option of issuing a patch release (e.g.
2009.2.1).
the whole point of this new process is *not* to wait, nor to put
pressure on volunteers to deliver. What comes comes, what does not come
will come for the next release.
waiting is the problem, not "looking unprofessional".
nona-gpu has been waiting for too long before trunk was ready for a merge.
now lens calibration has just been merged into trunk and is also waiting
for a release.
after lens calibration there are other major changes that need to be
merged and released - one by one: deghosting; new layout; vigra1.6.
I don't want get stuck with the problem that we had for 0.8.0: too much
stuff was added to trunk before releasing and it has taken so long to
fix it for release.
trunk is always open for small incremental changes, and if we release
frequently, those small incremental changes, including the fixes for 8
pixel padding; framebuffer; translations, etc.) will just be released as
they go.
Yuv
Yuv
Some of the very prominent strings in the GUI have changed so it
would be good to get some more translations updated before this next
release.
We need to make translators aware that there will be a release
*soon*, I'm not sure we have done this.
Translators start here, I think there are only 25 or so new
strings, so it isn't a big job this time:
http://wiki.panotools.org/Hugin_translation_guide
--
Bruno
yes, so far I did not announce beta1 and only announced beta2 here and
not on the SourceForge system - I wanted to be sure of my tarballs.
I'll issue beta3 (and not RC1) next. and I'll issue the call for
translations in the release notes. Then I'll issue RC1 one week later.
Then we can wait. Even indefinitely if that's the collective decision.
The new development model is about branching. Like in nature, a branch
does not always florish - whether it is a development or a release
branch. It is possible to abandon a release branch at beta or RC stage.
People vote with their feets, with their actions, with their wallets. In
this case: if there is enough interest in a release volunteers will work
on bringing the branch to the next level. If not the branch will linger
and volunteers will continue to work on other branches (e.g. trunk).
We are in a transition and it is the first time we use this new model.
We need to observe and learn from our own collective behavior. In the
past we were way to slow releasing.
I have no control on volunteer resources. The only thing I can define is
the level of quality at which I am ready to call it a release:
1. the code builds on the main supported platforms (Ubuntu, Fedora, OSX,
Windows)
2. there is no functional regression unless intended
Other may prefer higher (or lower) quality standards, including
translations and testing. Everybody has their personal quality
standards, and they are all right. I respect them. We have to compromize
on and agree on the terms for Hugin release, not on the personal quality
standards.
There is a trade off between the level of quality and the cost and time
associated with achieving it. Perfection can't be achieved, not even
with money (although if translations are important, a bounty should not
be that expensive. Depending on the language, commercial translation is
less than 1$/word on the commercial market).
I know of much less complex software packages than Hugin where testing
before a *patch* release (e.g. security fix) is a six digits US$ figure
(and still has very embarassing glitches). We can't afford this -
neither in money nor in equivalent human time.
To me volunteer contributors are like a fluid: they decide what they
want to work on and when. I have very little leverage on them. The fluid
flows magnetically attracted to where there is interest. If there is
interest in a more polished release, the fluids will be attracted toward
that branch. I am happy to observe that the fluids are attracted by
2009.2. In the meantime trunk has evolved and I start to be more
attracted by it. I want to push lens calibration out to the general
public. Not before bringing 2009.2 to a release. And after lens
calibration there are other cool functionalities in line for integration
and release.
My vision is that by early 2010 we have absorbed all queued development
branches / features and we can make a plan where we go from there, based
on a robust, tried and tested parallel development process, with
specified conditions for release.
Maybe
1. the code builds on the main supported platforms (Ubuntu, Fedora, OSX,
Windows)
2. there is no functional regression unless intended
is too low a standard.
It has been discussed on the GSoC 2009 mentors list as how to integrate
the GSoC 2009 projects into trunk without running into the slow down of
GSoC 2008 / 0.8.0 (where we took too big a bite at once and were delayed
for months of fixing).
We can re-open the discussion about the conditions for release here if
there is enough interest. I would prefer this to happen after we
released the GSoC 2009 code (three releases are planned) and learn from
the experience.
Yuv
Yuv