Le 17/01/2016 18:45, Phil Steitz a écrit :
> On 1/17/16 9:33 AM, Luc Maisonobe wrote:
>> Le 17/01/2016 16:31, Phil Steitz a écrit :
>>> On 1/17/16 6:34 AM, Gilles wrote:
>>>> On Sun, 17 Jan 2016 10:56:38 +0100, Luc Maisonobe wrote:
>>>>> Le 16/01/2016 16:51, Gilles a écrit :
>>>>>> Hi.
>>>>>>
>>>>>> Context: nobody gave an opinion on the arguments which I put
>>>>>> forward in these posts:
>>>>>>   http://markmail.org/message/uiljlf63uucnfyy2
>>>>>>   http://markmail.org/message/ifwuijbgjytne6w2
>>>>>>
>>>>>> As a consequence, the lack of any development policy, rather
>>>>>> than being the touted advantage of the "free world" of Apache,
>>>>>> is, objectively, a quite efficient way to push in the direction
>>>>>> of the stronger voice, not necessarily backed with the stronger
>>>>>> arguments (especially when those are not "technical" but, in
>>>>>> reality, "political"!).
>>>>>> This has been the subject of another post, that also was not
>>>>>> followed by a constructive debate in order to change this
>>>>>> community's ways, so that it would not discourage proposals
>>>>>> for code evolutions towards a modern use of the Java language.
>>>>>>
>>>>>> Thus, in this context, I obviously can't know whether "silence
>>>>>> is consent" or if people will continue raising objections to my
>>>>>> experimenting with the contents of the "random" package, even
>>>>>> after not raising concern and/or not engaging in the practical
>>>>>> discussions about the proposals.
>>>>>>
>>>>>> Also, it is disrespectful to let people think that they could
>>>>>> work on some part of the library, and then voice an opinion
>>>>>> akin to the hidden policy that there exists, in CM, codes
>>>>>> that are deemed too sensitive to be ever touched again.
>>>>>>
>>>>>> My first idea was to make incremental changes in "random".
>>>>>> The first few, and little, steps unexpectedly implied a huge
>>>>>> amount of work, mainly due to the disproportionate
>>>>>> justifications that were being required.
>>>>>>
>>>>>> It is a fact that even tiny, even no-op, changes meet
>>>>>> infinitely more opposition than adding even very large chunks
>>>>>> of new code.
>>>>>>
>>>>>> Hence, I propose that all my recent changes to the "random"
>>>>>> package be reverted so that it will match the contents of the
>>>>>> 3.6 release (modulo the changes which were explicitly agreed
>>>>>> on like those in "RandomGeneratorAbstractTest").
>>>>> I did answer to at least part of your proposals, and suggested
>>>>> this experimentation is done on a branch.
>>>>> At the same time, you also proposed to adopt another branching
>>>>> policy, and this was seen positively by anyone.
>>>>>
>>>>> So I would suggest that rather than adding a parallel rng package,
>>>>> which reminds me of the difficulties we get with the two optim and
>>>>> optimization packages, you continue doing your changes directly
>>>>> in the random package as you started to do, but in a feature branch.
>>>> Sorry, but I don't agree.
>>>> I've explained that I want to propose as a *replacement* to "random".
>>>> Almost every file will be changed, and a basic requirement is to have
>>>> the RNGs, and only the RNGs, in their own package/module.
>>>>
>>>> So for example, "RandomDataGenerator" and "ValueServer", as "users"
>>>> of the RNGs, should not be in the "rng" package (but but stay in
>>>> "random" whatever else changed or delete there).
>>>>
>>>> This situation here cannot be more different than for the "optim"
>>>> package!
>>>> First, the old "optimization" _has_ been deleted in "master"; we
>>>> had to keep it in the 3.x line.
>>>> The code in "optim" has been been criticized but until now nobody
>>>> came up with a better proposal, so the only working code must
>>>> obviously stay.
>>>>
>>>> For "rng", I'll propose a working remplacement, and we'll be able
>>>> to immediately decide whether to keep "random" as is or adapt it
>>>> in order to remove the redundancy with the new "rng" and/or write
>>>> some adaptation layers from "random" to "rng".
>>> +1 to separate the PRNG abstract class(es)? and impls into a
>>> separate package called "rng."  I would personally favor making that
>>> a subpackage of random.
>> OK. Then we can simply delete the current random-revamp branch.
>> Anyway, cutting the branch before the revert was an error from
>> a git point of view. It would have created lots of conflicts
>> on the merge operation. So if a random-revamp branch is
>> really used, it should rather be cut again from the current
>> master.
>>
>> Do you agree that I delete this ill-formed random-revamp branch,
>> which currently has no commits at all?
> 
> +1

Done.

Luc

> 
> Phil
>>
>> best regards
>> Luc
>>
>>> Phil
>>>> Best regards,
>>>> Gilles
>>>>
>>>>>> Is that possible?  [Luc, as the most experienced "git" user,
>>>>>> would you mind managing this, perhaps delicate, operation?]
>>>>> Reverting is not difficult. Remember the trick discussed on
>>>>> this list to port commits between math3 and math4? It was
>>>>> basically doing a "git diff -p some-commit~1 some-commit",
>>>>> then patching the commit with a sed and applying it later on.
>>>>>
>>>>> Here is it even simpler because we don't have to patch the commit.
>>>>> The trick is to do the git diff the other way round, i.e.
>>>>> "git diff -p some-commit some-commit~1".
>>>>>
>>>>> Also rather than reverting them and restarting again, in
>>>>> order not to lose your work I'll cut a new feature branch
>>>>> first, then revert on master only. You will be able to
>>>>> continue your work on the feature branch.
>>>>>
>>>>> On a related subject, I also read on another list that infra
>>>>> now allows deleting branches again. The concerns I had with
>>>>> short-lived hotfix branches are therefore not realistic
>>>>> anymore, we can do as many brnahces and as short-lived as we want.
>>>>>
>>>>>> I would then pursue my refactoring in a new package named
>>>>>>   org.apache.commons.math4.rng
>>>>>> where all the modifications, that led to the latest outburst of
>>>>>> conservatism, will take place.
>>>>>> It will also allow me to further experiment and see where it
>>>>>> leads, without having to argue endlessly on every compatibility
>>>>>> breaking.
>>>>>>
>>>>>> In effect, it's a fork of "random" (but within CM).
>>>>>> Of course, this will happen in a "feature branch" which I'll
>>>>>> create upstream when the renaming has been performed.
>>>>>>
>>>>>> Then people can see both sets of codes "side-by-side", analyze
>>>>>> them, experiment with usage, and run benchmarks of the alternative
>>>>>> versions of the RNG classes.
>>>>>>
>>>>>> Ultimately, if the rift between conservatists and modernists
>>>>>> remains, both the "random" and the "rng" packages can coexist
>>>>>> in the 4.0 release of the library.
>>>>> I would really prefer not to live again the
>>>>> optim/optimization/least squares nightmare.
>>>>>
>>>>> best regards,
>>>>> Luc
>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> Gilles
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to