Many thanks for coming back on topic for OpenSC! :)

Jean-Michel Pouré - GOOZE wrote:
> In bazar development, we should agree to release unperfect code in
> one "unstable" branch and let the community fix it.

I don't oppose having stable and unstable development processes per
se. But usually it's not so meaningful for the smaller projects.


> One reason is the limited time of reviewers. You write "we will not work
> for you". We noticed, thanks and this is NOT a problem.

Well, it is a problem if you (I don't mean you personally or your
company, I mean everyone other than active developers) want a change
in the code. There are of course many ways to encourage someone else
to help, ranging from simply asking nicely to some form of payment.


> This is where the process should evolve to take the notion of
> limited resources into account and give the community at large
> more power and freedom.

The alternative, which is *always* available, and which comes with no
risk for any party, is for those with interest in some changes to the
code to generate it themselves. Of course, in order to avoid risk, it
is important to work closely with the project community, so that
there is no duplicated effort and so that the final result can be
commited quickly.


> I am worried that OpenSC GIT development is too scattered. It looks
> like: Scooby-Doo, Where Are You!

Nice reference hehe! :)

Distributed development is IMO a feature, not a bug. As long as all
parties consciously work together, having many git repositories and
branches is not a problem at all. Linux is the textbook example and
since they have very high standards for commits it is even easy for
users to take advantage of the quite powerful features in git and
combine multiple different branches into one. It's actually quite
impressive how well this works with the Linux kernel.


> In Scooby-Doo, whenever there is a challenge, the team decides to
> split and look for the monster. Then when a monster shows up, the
> character is alone to fix it and receives no help.

Fortunately two git branches are only a command away, so when we
find monsters we could quickly gather the entire gang and fight
the monster together if this is what we want.


> In other words: too many branches => No review

Why, specifically? I can only think of a few reasons:

* Because reviewers are overwhelmed by the number of changes to review.

This would be no better if all changes were happening in one and the
same place. Probably it would be worse, since all changes were mixed
together, making targeted testing of specific features more messy.


* Because reviewers can not find the changes to review.

This can easily be remedied by gathering all repositories and
branches in a single location, which is something I believe
strongly in.


Why does fewer branches mean more review? I would instead argue that
lack of individual commit quality is what stifles review.

The better a patch is the easier it is to review. For reviewers it
starts with the commit message. The way to make a commit really easy
to review is to write a commit message which educates the reviewers
about the change, including some background for the relevant code and
the process for making the decisions made during the change.

The education is especially important if there aren't many other
developers familiar with the code. Writing good commit messages and
in particular writing education material requires a quite different
skillset than writing code. This problem is inherent with peer review
if peers are distributed in location and experience, like on the
internet.


> Unless patches are committed to GIT unstable branch very quickly,
> let's say in days, there will be no testing/review of patches.

Huh? Review happens before commits enter the staging branch, not
the other way around.


> So I would be in favor of letting main developers commit their
> changes to ONE SINGLE git staging branch directly and let
> developers/users fix the code.

It's an interesting idea, but it places a significantly higher
workload on the developers if there is more than one active at
any given time, since instead of each person having to juggle only
their own changes, everyone has to juggle everyone's changes.


> Anyway, let's give some time to Gerrit to see if we are still in
> the "Scooby-Doo, Where Are You!" situation.

The key really is review, not testing. If you can help with review
(or influence someone else to do so) that is incredibly valuable
for any project!


> If this does not work,

Let's see if we get there.


Thanks!

//Peter

Attachment: pgpbrXjOHKO6s.pgp
Description: PGP signature

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to