Re: [DISCUSS] Migration to SCR

2014-02-04 Thread Achim Nierbeck
Hi,

I really liked the idea to have a smaller core, though I still think it's
major change even if it is internal,
so this should go to a 4.0.
I hope we don't take another 3 years for the next major version, and I
don't plan on supporting this.
Still right now I don't see any value of opening another playground where
we have still plenty to do
with releasing a 2.3.x and 2.4.0 (where 2.3.x will hopefully be the last of
that branch) and of course
we need to harden the 3.0 branch first.
From what I can tell right now, regarding the 3.0 hardening it is mostly a
one-man show of JB.

So please be patient to get this thing rolling. Everything to make this
transition easier like decoupling
the features, be my guest to add those :D

regards, Achim




2014-02-03 Ioannis Canellos ioca...@gmail.com:

 As I mentioned earlier, I am not really interested in the release
 version per se, but primary in the time to market and secondarily on
 what it means in terms of maintenance.

 As in all things, the key is balance.

 Release often is guaranteed way of delivering value to users,
 releasing too often may send out the wrong message (is it just me, or
 people tend to become uneasy with very often major releases?).

 Also releasing very often means, that as a community we will be
 supporting each major release for a small period of time, or we will
 need to increase the number of major versions we support at any given
 time. Do we have the luxury to do so?

 For example, let's assume that we go for a 4.x in say 3 months
 It has proven a bit hard to maintain the long living 3.x branch along
 with 2.x (module restructures made it not trivial to just cherry-pick
 fixes from one branch to the other). If we add a third branch into the
 mix, it will become even harder.

 So what are we supposed to do here? Push the release back 6 - 12
 months, or until we decide we no longer need to support 2.x? In that
 case we could hold of creating a 4.x branch until we get near that
 time (to avoid the maintenance overhead). We could use this time and
 follow Dan's suggestion about letting other projects adopt the feature
 changes. But still it does sound like a long time which is meant to
 become even longer as new features will pile up for 4.x.

 Thoughts?

 --
 Ioannis Canellos

 Blog: http://iocanel.blogspot.com
 Twitter: iocanel




-- 

Apache Karaf http://karaf.apache.org/ Committer  PMC
OPS4J Pax Web http://wiki.ops4j.org/display/paxweb/Pax+Web/ Committer 
Project Lead
OPS4J Pax for Vaadin http://team.ops4j.org/wiki/display/PAXVAADIN/Home
Commiter  Project Lead
blog http://notizblog.nierbeck.de/


Re: [DISCUSS] Migration to SCR

2014-02-04 Thread Christian Schneider
I think we should not create a 4.0.0 version without doing incompatible 
changes.
In marketing major versions are used to tell people that big functional 
changes/additions have been done. The idea there is that a major version 
sells better.


Our environment is very different though. Technically a major version 
means incompatible changes. Especially in OSGi major versions are a big 
maintenance issue for everyone using the system (assuming the package 
version also reflect the major version). By default their imports will 
exclude the major version.
So if the switch to SCR is only visible internally then I think we 
should do it in a minor version.


So I propose we first release a 3.0.1 with as many fixes as possible. 
Then we theoretically could start the DS migration. We can delay the 
switch of course but I would not combine it with a 4.0 release and 
instead do it whenever we see fit.


Christian

On 03.02.2014 16:00, Jean-Baptiste Onofré wrote:

-1

I would plan this for Karaf 4.0.0, even if it's internal.

It's an important jump internally in Karaf, and should be addressed in 
a major release.


We just release Karaf 3.0.0, and we have to let people and other 
projects to move smoothly (even if as you said, you should not have 
impact).


Regards
JB

On 02/03/2014 03:52 PM, Ioannis Canellos wrote:

A while back we discussed about migration from Blueprint to SCR and we
all agreed that it was a nice thing to do.
The question is how to do it, without making maintenance hard and also
without taking ages to deliver this new feature

I think that this should be done in 3 steps:1

i) Migrate from Blueprint to SCR.
ii) Define features for Aries Blueprint
iii) Make Blueprint Optional.

The first step could be done as part of a Karaf 3.1.0 release. Since
all changes are internal and the only thing that would be required is
to install SCR by default, it doesn't have to be a major release (in
fact it could even be a micro release). The benefit of this approach
is that we will not have to maintain an other branch that would
require extra maintenance, until we are ready for step (ii).

Once we have SCR in our Karaf 3 branch, we can define features for
aries blueprint and wait for the rest of the projects of the eco
system to pickup those features, were necessary.

When camel, cxf, activemq have picked up the changes in our features
and have performed a release or two, we can proceed to the final step
and have Blueprint not installed by default

Thoughts?






--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com



Re: [DISCUSS] Migration to SCR

2014-02-04 Thread Achim Nierbeck
Ok, so as far as I'm concerned, we won't do an upgrade to Pax Web 4.0 with
Jetty 9 in a Version 3 then.

regards, Achim


2014-02-04 Christian Schneider ch...@die-schneider.net:

 I think we should not create a 4.0.0 version without doing incompatible
 changes.
 In marketing major versions are used to tell people that big functional
 changes/additions have been done. The idea there is that a major version
 sells better.

 Our environment is very different though. Technically a major version
 means incompatible changes. Especially in OSGi major versions are a big
 maintenance issue for everyone using the system (assuming the package
 version also reflect the major version). By default their imports will
 exclude the major version.
 So if the switch to SCR is only visible internally then I think we should
 do it in a minor version.

 So I propose we first release a 3.0.1 with as many fixes as possible. Then
 we theoretically could start the DS migration. We can delay the switch of
 course but I would not combine it with a 4.0 release and instead do it
 whenever we see fit.

 Christian


 On 03.02.2014 16:00, Jean-Baptiste Onofré wrote:

 -1

 I would plan this for Karaf 4.0.0, even if it's internal.

 It's an important jump internally in Karaf, and should be addressed in a
 major release.

 We just release Karaf 3.0.0, and we have to let people and other projects
 to move smoothly (even if as you said, you should not have impact).

 Regards
 JB

 On 02/03/2014 03:52 PM, Ioannis Canellos wrote:

 A while back we discussed about migration from Blueprint to SCR and we
 all agreed that it was a nice thing to do.
 The question is how to do it, without making maintenance hard and also
 without taking ages to deliver this new feature

 I think that this should be done in 3 steps:1

 i) Migrate from Blueprint to SCR.
 ii) Define features for Aries Blueprint
 iii) Make Blueprint Optional.

 The first step could be done as part of a Karaf 3.1.0 release. Since
 all changes are internal and the only thing that would be required is
 to install SCR by default, it doesn't have to be a major release (in
 fact it could even be a micro release). The benefit of this approach
 is that we will not have to maintain an other branch that would
 require extra maintenance, until we are ready for step (ii).

 Once we have SCR in our Karaf 3 branch, we can define features for
 aries blueprint and wait for the rest of the projects of the eco
 system to pickup those features, were necessary.

 When camel, cxf, activemq have picked up the changes in our features
 and have performed a release or two, we can proceed to the final step
 and have Blueprint not installed by default

 Thoughts?




 --
 Christian Schneider
 http://www.liquid-reality.de

 Open Source Architect
 http://www.talend.com




-- 

Apache Karaf http://karaf.apache.org/ Committer  PMC
OPS4J Pax Web http://wiki.ops4j.org/display/paxweb/Pax+Web/ Committer 
Project Lead
OPS4J Pax for Vaadin http://team.ops4j.org/wiki/display/PAXVAADIN/Home
Commiter  Project Lead
blog http://notizblog.nierbeck.de/


Re: [DISCUSS] Migration to SCR

2014-02-04 Thread Christian Schneider
I have no idea how compatible jetty 9 and pax web 4 are. I think the 
question should be if our users would have to do changes in their code. 
If yes then we should delay the upgrade to 4.0 if not then there is no 
issue.


What I wanted to say about karaf 4 is the way we do our versioning of 
packages at the moment we would cause issues to our users by doing a 
major version. Even if we introduce no incompatible changes the package 
update to 4.0.0 would cause problems to our users.


Christian

On 04.02.2014 09:19, Achim Nierbeck wrote:

Ok, so as far as I'm concerned, we won't do an upgrade to Pax Web 4.0 with
Jetty 9 in a Version 3 then.

regards, Achim


2014-02-04 Christian Schneider ch...@die-schneider.net:


I think we should not create a 4.0.0 version without doing incompatible
changes.
In marketing major versions are used to tell people that big functional
changes/additions have been done. The idea there is that a major version
sells better.

Our environment is very different though. Technically a major version
means incompatible changes. Especially in OSGi major versions are a big
maintenance issue for everyone using the system (assuming the package
version also reflect the major version). By default their imports will
exclude the major version.
So if the switch to SCR is only visible internally then I think we should
do it in a minor version.

So I propose we first release a 3.0.1 with as many fixes as possible. Then
we theoretically could start the DS migration. We can delay the switch of
course but I would not combine it with a 4.0 release and instead do it
whenever we see fit.

Christian


On 03.02.2014 16:00, Jean-Baptiste Onofré wrote:


-1

I would plan this for Karaf 4.0.0, even if it's internal.

It's an important jump internally in Karaf, and should be addressed in a
major release.

We just release Karaf 3.0.0, and we have to let people and other projects
to move smoothly (even if as you said, you should not have impact).

Regards
JB

On 02/03/2014 03:52 PM, Ioannis Canellos wrote:


A while back we discussed about migration from Blueprint to SCR and we
all agreed that it was a nice thing to do.
The question is how to do it, without making maintenance hard and also
without taking ages to deliver this new feature

I think that this should be done in 3 steps:1

i) Migrate from Blueprint to SCR.
ii) Define features for Aries Blueprint
iii) Make Blueprint Optional.

The first step could be done as part of a Karaf 3.1.0 release. Since
all changes are internal and the only thing that would be required is
to install SCR by default, it doesn't have to be a major release (in
fact it could even be a micro release). The benefit of this approach
is that we will not have to maintain an other branch that would
require extra maintenance, until we are ready for step (ii).

Once we have SCR in our Karaf 3 branch, we can define features for
aries blueprint and wait for the rest of the projects of the eco
system to pickup those features, were necessary.

When camel, cxf, activemq have picked up the changes in our features
and have performed a release or two, we can proceed to the final step
and have Blueprint not installed by default

Thoughts?



--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com







--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com



Re: [DISCUSS] Migration to SCR

2014-02-04 Thread Ioannis Canellos
OK then 4.x it is.

And when do u feel its the right time to create a 4.x branch?

-- 
Ioannis Canellos

Blog: http://iocanel.blogspot.com
Twitter: iocanel


Re: [DISCUSS] Migration to SCR

2014-02-04 Thread Achim Nierbeck
I think, JB already published a road-map before.
Basically it boils down to one thing:

how do you swallow a whale, piece by piece

So, for me it's more important to have 2.3, 2.4 and 3.0.1 done.
After that let's take a look at the new features for 4.0 like
SCR for core, Java7 Support which is for me the biggest thing to go for
4.0, etc ...

regards, Achim


2014-02-04 Ioannis Canellos ioca...@gmail.com:

 OK then 4.x it is.

 And when do u feel its the right time to create a 4.x branch?

 --
 Ioannis Canellos

 Blog: http://iocanel.blogspot.com
 Twitter: iocanel




-- 

Apache Karaf http://karaf.apache.org/ Committer  PMC
OPS4J Pax Web http://wiki.ops4j.org/display/paxweb/Pax+Web/ Committer 
Project Lead
OPS4J Pax for Vaadin http://team.ops4j.org/wiki/display/PAXVAADIN/Home
Commiter  Project Lead
blog http://notizblog.nierbeck.de/


[DISCUSS] Migration to SCR

2014-02-03 Thread Ioannis Canellos
A while back we discussed about migration from Blueprint to SCR and we
all agreed that it was a nice thing to do.
The question is how to do it, without making maintenance hard and also
without taking ages to deliver this new feature.

I think that this should be done in 3 steps:

i) Migrate from Blueprint to SCR.
ii) Define features for Aries Blueprint
iii) Make Blueprint Optional.

The first step could be done as part of a Karaf 3.1.0 release. Since
all changes are internal and the only thing that would be required is
to install SCR by default, it doesn't have to be a major release (in
fact it could even be a micro release). The benefit of this approach
is that we will not have to maintain an other branch that would
require extra maintenance, until we are ready for step (ii).

Once we have SCR in our Karaf 3 branch, we can define features for
aries blueprint and wait for the rest of the projects of the eco
system to pickup those features, were necessary.

When camel, cxf, activemq have picked up the changes in our features
and have performed a release or two, we can proceed to the final step
and have Blueprint not installed by default

Thoughts?

-- 
Ioannis Canellos

Blog: http://iocanel.blogspot.com
Twitter: iocanel


Re: [DISCUSS] Migration to SCR

2014-02-03 Thread Jean-Baptiste Onofré

-1

I would plan this for Karaf 4.0.0, even if it's internal.

It's an important jump internally in Karaf, and should be addressed in a 
major release.


We just release Karaf 3.0.0, and we have to let people and other 
projects to move smoothly (even if as you said, you should not have impact).


Regards
JB

On 02/03/2014 03:52 PM, Ioannis Canellos wrote:

A while back we discussed about migration from Blueprint to SCR and we
all agreed that it was a nice thing to do.
The question is how to do it, without making maintenance hard and also
without taking ages to deliver this new feature

I think that this should be done in 3 steps:1

i) Migrate from Blueprint to SCR.
ii) Define features for Aries Blueprint
iii) Make Blueprint Optional.

The first step could be done as part of a Karaf 3.1.0 release. Since
all changes are internal and the only thing that would be required is
to install SCR by default, it doesn't have to be a major release (in
fact it could even be a micro release). The benefit of this approach
is that we will not have to maintain an other branch that would
require extra maintenance, until we are ready for step (ii).

Once we have SCR in our Karaf 3 branch, we can define features for
aries blueprint and wait for the rest of the projects of the eco
system to pickup those features, were necessary.

When camel, cxf, activemq have picked up the changes in our features
and have performed a release or two, we can proceed to the final step
and have Blueprint not installed by default

Thoughts?



--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com


Re: [DISCUSS] Migration to SCR

2014-02-03 Thread Daniel Kulp

I would do #2 first, even in the next patch releases.   Having the feature 
defined doesn’t cause any problems at all and that way external projects can 
start relying on it, even if it is installed by default.

Dan



On Feb 3, 2014, at 9:52 AM, Ioannis Canellos ioca...@gmail.com wrote:

 A while back we discussed about migration from Blueprint to SCR and we
 all agreed that it was a nice thing to do.
 The question is how to do it, without making maintenance hard and also
 without taking ages to deliver this new feature.
 
 I think that this should be done in 3 steps:
 
 i) Migrate from Blueprint to SCR.
 ii) Define features for Aries Blueprint
 iii) Make Blueprint Optional.
 
 The first step could be done as part of a Karaf 3.1.0 release. Since
 all changes are internal and the only thing that would be required is
 to install SCR by default, it doesn't have to be a major release (in
 fact it could even be a micro release). The benefit of this approach
 is that we will not have to maintain an other branch that would
 require extra maintenance, until we are ready for step (ii).
 
 Once we have SCR in our Karaf 3 branch, we can define features for
 aries blueprint and wait for the rest of the projects of the eco
 system to pickup those features, were necessary.
 
 When camel, cxf, activemq have picked up the changes in our features
 and have performed a release or two, we can proceed to the final step
 and have Blueprint not installed by default
 
 Thoughts?
 
 -- 
 Ioannis Canellos
 
 Blog: http://iocanel.blogspot.com
 Twitter: iocanel

-- 
Daniel Kulp
dk...@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com



Re: [DISCUSS] Migration to SCR

2014-02-03 Thread Ioannis Canellos
 I would plan this for Karaf 4.0.0, even if it's internal.

While I don't have a strong objection on having it as part of a 4.x
release, that would mean that it will get pushed back way into the
future.
3.x release took us almost 3 years to get out and we stalled 2.3.x for
1.5 year in favour of 3.x.

What I take from that experience, is that its not a good idea to push
stuff to major releases, when they are candidates for a major release.

 It's an important jump internally in Karaf, and should be addressed in a
 major release.

I agree that this is an important change. Semantic versioning doesn't
force us to push important changes to major releases. Since we are
talking about a change that is transparent to the user, the importance
of the change is a good reason to deliver it asap :-)

 We just release Karaf 3.0.0, and we have to let people and other projects to
 move smoothly (even if as you said, you should not have impact).

This is another good reason, for not rushing a 4.x release.

-- 
Ioannis Canellos

Blog: http://iocanel.blogspot.com
Twitter: iocanel


Re: [DISCUSS] Migration to SCR

2014-02-03 Thread jb

Good points Ioannis,

my point is just about the message for we send to the users and 
community.


You are right, it took long time to release Karaf 3.0.0, but it doesn't 
mean that it would be the same for 4.0.0.


My point is just to send a message for users/community like: hey, we 
did deep changes ;)


Regards
JB

On 2014-02-03 16:24, Ioannis Canellos wrote:

I would plan this for Karaf 4.0.0, even if it's internal.


While I don't have a strong objection on having it as part of a 4.x
release, that would mean that it will get pushed back way into the
future.
3.x release took us almost 3 years to get out and we stalled 2.3.x for
1.5 year in favour of 3.x.

What I take from that experience, is that its not a good idea to push
stuff to major releases, when they are candidates for a major release.

It's an important jump internally in Karaf, and should be addressed in 
a

major release.


I agree that this is an important change. Semantic versioning doesn't
force us to push important changes to major releases. Since we are
talking about a change that is transparent to the user, the importance
of the change is a good reason to deliver it asap :-)

We just release Karaf 3.0.0, and we have to let people and other 
projects to

move smoothly (even if as you said, you should not have impact).


This is another good reason, for not rushing a 4.x release.


Re: [DISCUSS] Migration to SCR

2014-02-03 Thread James Carman
So, start 4.x now!  :)  Release early, release often.


On Mon, Feb 3, 2014 at 12:09 PM,  j...@nanthrax.net wrote:
 Good points Ioannis,

 my point is just about the message for we send to the users and community.

 You are right, it took long time to release Karaf 3.0.0, but it doesn't mean
 that it would be the same for 4.0.0.

 My point is just to send a message for users/community like: hey, we did
 deep changes ;)

 Regards
 JB


 On 2014-02-03 16:24, Ioannis Canellos wrote:

 I would plan this for Karaf 4.0.0, even if it's internal.


 While I don't have a strong objection on having it as part of a 4.x
 release, that would mean that it will get pushed back way into the
 future.
 3.x release took us almost 3 years to get out and we stalled 2.3.x for
 1.5 year in favour of 3.x.

 What I take from that experience, is that its not a good idea to push
 stuff to major releases, when they are candidates for a major release.

 It's an important jump internally in Karaf, and should be addressed in a
 major release.


 I agree that this is an important change. Semantic versioning doesn't
 force us to push important changes to major releases. Since we are
 talking about a change that is transparent to the user, the importance
 of the change is a good reason to deliver it asap :-)

 We just release Karaf 3.0.0, and we have to let people and other projects
 to
 move smoothly (even if as you said, you should not have impact).


 This is another good reason, for not rushing a 4.x release.


Re: [DISCUSS] Migration to SCR

2014-02-03 Thread Ioannis Canellos
As I mentioned earlier, I am not really interested in the release
version per se, but primary in the time to market and secondarily on
what it means in terms of maintenance.

As in all things, the key is balance.

Release often is guaranteed way of delivering value to users,
releasing too often may send out the wrong message (is it just me, or
people tend to become uneasy with very often major releases?).

Also releasing very often means, that as a community we will be
supporting each major release for a small period of time, or we will
need to increase the number of major versions we support at any given
time. Do we have the luxury to do so?

For example, let's assume that we go for a 4.x in say 3 months
It has proven a bit hard to maintain the long living 3.x branch along
with 2.x (module restructures made it not trivial to just cherry-pick
fixes from one branch to the other). If we add a third branch into the
mix, it will become even harder.

So what are we supposed to do here? Push the release back 6 - 12
months, or until we decide we no longer need to support 2.x? In that
case we could hold of creating a 4.x branch until we get near that
time (to avoid the maintenance overhead). We could use this time and
follow Dan's suggestion about letting other projects adopt the feature
changes. But still it does sound like a long time which is meant to
become even longer as new features will pile up for 4.x.

Thoughts?

-- 
Ioannis Canellos

Blog: http://iocanel.blogspot.com
Twitter: iocanel