On 09/02/2015 5:21 AM, Jacques Le Roux wrote:

Le 06/02/2015 17:27, Ron Wheeler a écrit :
On 06/02/2015 10:02 AM, Jacques Le Roux wrote:

Le 05/02/2015 15:41, Ron Wheeler a écrit :
Releases are stable.
Things that are not  released are mutable.

The use of unconventional conventions should be stopped as soon as possible.

+1! Thanks Ron, I'd hope that people express more their opinions before events happen than ranting after it's done, too late! I' also like to see us (committers) more as community servants than code owners. I must say, sometimes I also tend to believe it's my property, but it's not!
The community gives us the power, not the code...


If a branch has reached a state where no more changes except bug fixes are expected then prioritize and clean up the JIRA issues that are sufficiently important and likely to get fixed in the short term and release it and start the development branch or trunk on the way to the next minor release.

I still prefer to give some time to time (It's said to be an Haitian proverb). It's not because we use to do that but because it's safer, and to be frank, also less work... In other words, I think our "one year before releasing" strategy is OK. Of course security issues are priority and accelerate the pace.

I would like to see more releases with smaller deltas so that the trunk can be a bit more open to work where mistakes are not so critical and cause so much grief since SI's will not feel that they have to fork the trunk to get their customers a working product.

I believe people should rather user the last release branch than forking trunk or such

Security bugs need to be fixed, backported to all supported versions and released before the exploit becomes public knowledge.

This means that there must be an agile release process if you want end-users to feel comfortable that their core data can be secure while using OFBiz.

What does mean "agile" here for you?
I do not have specific criteria in mind.
If the integrity of OFBiz data or business processes is at risk from a security problem that has been raised in a JIRA, diagnosed, fixed and advertised to the hacker community through the forum and JIRA, it would be a good idea to issue a release and suggest that people upgrade or issue an upgrade that can safely be applied by end-users to their system ASAP. Waiting for a year to issue a new release is not sufficiently agile and I would expect a gradual improvement in the responsiveness over time. I am not sure how many security patches get issued each year and how they are currently identified and tracked by the PMC.



This does not mean releasing things before they are ready.
However once the team decides that a "release" is immutable, it is time to start the release process.

As soon as we freeze a release branch it's normally immutable. It's though not yet ready to be released

What does immutable mean in this context? What is the process to go from "immutable" to released?
This is perhaps the time for the community to get involved and more committers allowed to help prepare the release.

For now Jacopo prefer to do it himself. I'm not sure why. This should be rather documented...


This may be a bit paradoxical - the closer to production - the less knowledgeable the talent required.

I don't get it
End-user's (system admins, business consultants) can create test scripts, document them, run them, create JIRA issues, try the installation of several operating systems, tweak the installation documentation, create test data.

None of these activities require the skills needed to write new features, patch bugs.



It does reflect that facts that no architectural decisions are being made, few of the steps actually involve code modification and this can be done by the core committers.

Still not


What is the problem with this statement?
Is there some particular concern that I am not addressing?


A lot of the work is preparing release notes,

We decided to let Jira does it, based on committers actions in Jira

Still needs to be edited for clarity , inconsistencies and missing items need to be detected and fixed.
fixing documentation,

Are we doing that rightly? I doubt

The community can help if the PMC make the decision to work in a way that allows this to happen.


testing installation processes,

Buildbot takes care of that

I am not sure that this is true.
You and I found errors in the Wiki the first time I tried to install and run OFBiz.

How many operating systems and database combinations are tested?
 What is the range of functionality tested?
 How are the tests maintained.
Is this something that the community could do?


updating seed data to demonstrate new features and testing under various scenarios.

It's normally done correctly


I hope so but I notice that the Party demo data is pretty minimal and does not include basic elements such as Classifications or Postal Addresses. It has no customers or suppliers which would seem to be pretty important for testing an ERP.


These are time-consuming and require different skills than adding features and fixing JIRA issues.

Yes, but since it's done on a continuous-flow basis in Jira issues, we are better with that now

I am not sure that it is done.
We are spending a lot of time cleaning up bugs in the Wiki that date back several releases.
The installation procedure documentation was not correct.
I am not sure that data is added to the demo data to test/demonstrate each new function.

It also takes too long since it is being done by people who are busy elsewhere.
The current process also does not encourage the community to get involved.






If there are a lot of required issues, then make it a community project to release it and get it done.

If it is not clear about the state of a release branch, then have a meeting and make a decision.
Either it is
a) still under development and unstable or
b) it is a release candidate and only a defined and agreed upon set of bugs will be fixed before it is released and other low priority bugs and backports will get done in the next minor release. If a new critical bug is found after it is declared a RC, then the team gets to decide if it is included and adds it to the priority list or defers it. If it is deferred, add a note in the release notes that an important bug is not fixed in the release but is or will be available as a patch to the version in the trunk or development branch.

This is not rocket science and if it done properly, in an organized way, it will be clear to Adrian and everyone how any backporting or bug fixing should be done.

Wait, we have already a rule about that. Yours are maybe not rocket science but are too complicated IMO.


Do you have a link to the desription of the rule?

No but you can create it in the wiki using what I wrote below

I thought that you said that you had a rule?
I am not sure that my release strategy would be described as a consensus view yet.;-) I am certainly willing to help document this but I am certainly going push for something close to what I described above.

What is the list of tasks that have to be done between a "freeze" and a "release".

Who manages this? How is the list developed? Who determines when enough testing has been done?

How is progress tracked? How is help from the community solicited during this phase.




How does Adrian's offer fit?

I want to write more about that. Hopefully soon...


There are 3 main types of changes:
1) New features
2) Improvements
3) Bug fixes

3 should normally go in the release branches, as much as they can. Security fixes should trigger a new released packages. 1 and 2 should never get into a release. Exceptions may occur, but they need a consensus, and as ever can be vetoed (only by committers, though this rule can be adapted by the community: http://www.apache.org/foundation/voting.html#binding-votes)


"Sort of" stable branches is not really acceptable as a management policy for a production quality software product.

I totally agree. I personally consider the trunk *bleeding edge*, a new "just frozen but not yet released branch" *edge* (it's still stabilising, like R14.12 is today) and a "released branch" (like R13.07) *stable*.


Agreed.

What is the current procedure for Adrian's offer to backport to 14.12. Does he have to start a 14.12.01 branch or can it be applied to 14.02?

A 14.12.01 branch would be confusing (with the to come R14.12.01 Release which is unrelated). Another name could be used, we have never done that and I'm against this idea

Agreed but without a policy that is agreed and followed, it makes these discussions difficult and sometime more heated than is good for the project. If 14.12.01 is coming out sometime in 2015 (no date) and he can't backport to the 4.12.01RC, he should start a 14.12.02 (sorry for my typo above which made things confusing). However this now means that new patches need to be applied to the trunk, 14.12.01 (if they meet the unwritten criteria for inclusion in an immutable release) and 14.02.02 plus backported to earlier supported that need it.

Who makes that decision? Is there already a policy that applies and does not need further discussion.

No, we need to discuss about that


+1.
I hope that this is helping a bit.
I have changed the subject line since we have hijacked Adrian's topic.


Ron

Jacques



Ron
Jacques


Ron

On 05/02/2015 3:26 AM, Jacques Le Roux wrote:
I would though wait that all the possibly related opened Jiras will be fixed. Some projects are based on the R14.12 branch and people expect this branch to be stable even if not yet released.

Jacques

Le 04/02/2015 06:34, Jacopo Cappellato a écrit :
On Jan 17, 2015, at 11:16 PM, Adrian Crum <[email protected]> wrote:

After all of this work is completed, I would like to backport it to the R14 branch.
Hi Adrian,

I just wanted to mention that I agree that we should backport all this work to the 14.12 branch, which is pretty new and still needs to undergo to the stabilization process: in this way it will be easier to maintain it (by backporting the fixes) in the future years.

Jacopo











--
Ron Wheeler
President
Artifact Software Inc
email: [email protected]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102

Reply via email to