Mark Webb wrote:
I agree that we should not 'slaughter' the current code since we are
getting close to a final 2.0 release.
This is something we have to discuss. Here, IMHO, we have two options, both have pros and cons :

1) go as far as needed to get a MINA 2.0 with as much cleaning as needed.
2) Release MINA 2.0 as fast as possible, fixing the most obvious bugs, and move directly to a MINA 3.0

Option (1) pros :
- as MINA 2.0 API is not stabilized yet (we are still working on milestone), this let use the opportunity to do those changes with a minimal harm - we can do that now, not waiting for a 2.0 release to be done in, say, 2 months - this is the perfect opportunity to clean up the code, add the missing documentation, and delivering a much better release

Option (1) cons :
- it will takes months before we can release a long waited new release
- many users are already using mina 2.0, and they will be unpleased if we change a lot of things into it - we have to be careful not to remove any of the existing functionalities, something we don't have to take care for a 3.0 branch, as it won't be used in production before quite a long time

Option (2) pros :
- freedom ! No need to care about the existing code, we can even start from a white page. - the community can grow faster, as we may have people who are reluctant to enter the project while it's in a pre-release state - we are not limited in time. 2.0 is expected sooner or later, with a 3.0, we have more than a year to get something done

Option (2) cons :
- we will have to maintain a 2.0 version which is far from being perfect
- 2.0 seems to be slow, compared to other framework. Not that important IMHO, but releasing a dog is not the perfect way to get some good reports... - people who are expecting a better MINA (a simpler one) might wait for one more year until 3.0 is out. Even worse, they can run away...

Of course, I'm just dumping some of the ideas I have about that. atm, I have not yet set my mind on which option is the best, but we can still work with both options in mind, as soon as what we do is done in a branch. Soon, we will be able to decide if we release a 2.0 with or without those modifications, and then merge the branch into trunk or create a new version, closing the 2.0 branch (ie : it will become a release branch).

In any case, there is something very important : the current code base is not known by a lot of people, and it will take time to build a new community around the core code base. The biggest question is : will we find enough people wanting to work on the current trunk in order to get the new release (be it 2.0 or 3.0) ? And how long will they be dedicated ? What if we release a 2.0-RC in the next few months and as we don't have anyone wanting to start a 3.0 ?

so, now, wdyt ?

--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org


Reply via email to