Ciao Michael,
please, read below...
On Tue, Jan 29, 2013 at 3:07 AM, Michael Bedward
<
michael...@gmail.com> wrote:
> Hello all,
>
> Simone, I'll see your 0.02€ with my AUS$0.02...
>
> Does a project as small as this one require formal proposals and
> voting ? A simpler alternative is just to be more diligent about
> discussing current and proposed work on the list. While proposals can
> serve as history and the basis for docs, they don't seem to be used
> that way in GeoTools (for example).
>
I don't agree with this view. I understand it does require some
formalism and overhead to sit down and write a proposal
but I found out that it pays out as it forces to gather your ideas and
structure them a little bit. Actually, I believe it is something you
should do
anyway regardless of the fact that this is required or not.
Long story short, I am strongly convinced that a proposal page is a
very good idea, I also agree that the formalism required to put it up
as well as that required to "vote" it should be minimal. I would
actually be happy with something like:
- proposal page
- work on a fork then create a pull request
- wait 1 week for feedback and try to incorporate it
- if there is strong negative feedback, merge after 1 week
I would not request complex voting or anything, I would just force
people (ourselves firsts) to sit down and think
while being able to move on quickly as required by circumstances
(forks are there for that reason IMHO)
> Rather than formal proposals, perhaps we can just have a work-flow
> with forks and pulls ? New features are developed on forks, discussed
> here on the list, and then brought into the primary repo with a pull
> request which would also serve as a historical record directly linked
> to the sources. Pull requests were the main reason for moving from
> Google to GitHub.
>
I love pull requests, but we can't simply wait on discussions on the
ML to have new features. The proposal page
does not replace discussions per se, but simply tries to make things
happen asynchronously which is very important
especially for company.
If I need to create something quickly, I would rather create a page
that describes what I need to do in order
to make possible for others to share theirh thoughts sooner VS later,
do my work on my fork and respect my deadlines.
Then I can decide that what I did was good and useful incorporate
feedback and prepare a pull request. Otherwise I can just throw things
away.
> I take the point that we should not just commit new features to master
> without discussion. I was guilty of that most recently with the new
> Generate operation. Aside: I did seek opinions about it and received
> no feedback, but I didn't wait for long enough. I'm happy to move the
> Generate sources onto a topic branch pending discussion.
>
Actually, I don't think you should :)
I read the emails you talked about and I did not fin anything to say
against it.
In a perfect world I should have taken some time and review the work
etc. etc. In the real world
I did not have time, hence i would prefer to have the operation in
have a small proposal page (actually a 1 small doc page would help as
well)
to check out when/if needed and move on. Aside from that, it would
have been probably better to have that work on master/trunk rather
than on a stable branch.
What happened with RangeLookup is how things should go. You did
implement something that was actually needed. I used it, I found some
bugs that I tried to fix, you improved my fixes and things progressed.
Was the operation ready and perfect the first time it was coded? No.
Is perfect now? Probably not, but things are progressing smoothly
anyway.
> Formal voting requires allocating voting rights - a project committee
> or similar. But I am the only regular contributor who doesn't work for
> GeoSolutions. If we were voting on an issue that was critical for a
> current GeoSolutions contract, for example, wouldn't the voting be
> just going through the motions ? No criticism is meant by that, I'm
> just trying to think it through with a mind to the practicalities.
>
> Another factor to consider with formal voting is the project's history
> to date. A quick look at the project stats in Ohloh shows that commits
> from Simone, Andrea, Daniele and Moovida represent only about 6% of
> total commits which have tended to arrive in bursts of activity with
> long periods in between. Those commits were all incredibly valuable
> for the project, but my point is that they have tended to be few in
> number and well spaced in time. The same episodic involvement is
> evident in list discussions, e.g. the previous thread on source repo
> structure didn't attract much interest:
>
>
https://groups.google.com/d/topic/jai-tools/RiS72I7g9pQ/discussion
>
> Now none of this is a big deal at the moment - people just come into
> the loop when they have a need and the time to be involved given other
> commitments. But that doesn't fit with a formal voting model which
> assumes a quorum is always available.
>
I am not seeking a formal voting procedures, I am seeking a mean to
not have to check emails from past times
as I had to do with classified stats, due to out fault, but again, that's life.
Pushing things to JAI tools rather than keeping them hidden inside
other projects adds overehead to our work. We do it anyway because we
believe it is the best things to do in term of code reuse and
separation of concerns but we canno devote too many resources to it.
Therefore I believe that the best thing to do to avoid wha happened
with classified stats is to have a page together with the pull request
and the disussion.ì on the ML. If I don't have time to incorporate
feedback at least I don't have to go back and think hard to remember
why I did something.
That said, I don't see how this would add overhead or require formal
voting with a PSC and anything. Moreover it is not inteded to replace
eventual discussions on the ml.
> Regarding the source repo structure - I chose the current option with
> just a master and releases branch after finding that the stable
> branches in the old svn repo were hardly used and just became another
> source of work for no obvious advantage. That said, I don't think the
> current structure works well. I found the last release to be too
> fiddly and agree that having master sitting on 1.3-SNAPSHOT seems
> confusing. So a bit more structure might actually lead to less work,
> but I wouldn't be keen on a complex structure as used in large
> projects.
>
I don't think we need complexity. I would suggest what follows:
- master open for development (1.4-SNAPSHOT)
- stable for bugfixing (1.3.x now)
As soon as the curernt master become stable the old stable gets
abandoned. Having stable out does not mean doing any regular releases
or anything.
Right now we have 1.3.1, right? Ok, we will do 1.3.2 only if we have
some bugs that bother us. Otherwise next one would/could be directly
1.4.0 and so on.
My goal is to have a mean to implement new stuff (which also means
make errors, refactor etc..withouth intefering with stable stuff).
> Apologies if any of the above seems overly negative or dismissive. My
> day job is bureaucratic hell at the moment and I'm grumpy.
>
No worries, open discussions usually lead to better decisions.
> --
> You received this message because you are subscribed to the Google Groups "jai-tools" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
jai-tools+...@googlegroups.com.
> To post to this group, send email to
jai-...@googlegroups.com.
> Visit this group at
http://groups.google.com/group/jai-tools?hl=en.
> For more options, visit
https://groups.google.com/groups/opt_out.
>
>