Re: [Sugar-devel] Code Review process changes

2010-05-04 Thread Simon Schampijer
Sorry for being late in the discussion, just a few words from a Sugar 
module maintainer's point of few.

I don't think the tool we used was the bottleneck. Of course there could 
have been some enhancements (like reminders to the ml), but in general 
it was ok. I personally had just too many things to do, Feature process, 
Release process etc. So we are in need of more man power, like laid out 
here several times. Mainly people taking responsibilities. I don't think 
we want to cut away the maintainers, this is important to keep the 
quality high.

Thanks,
Simon
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Code Review process changes

2010-05-04 Thread David Farning
I have been trying to keep quite about this until we have had results
flowing in  Over the past couple of months Bernie, Caroline, and I
have been looking at businesses around Sugar and OLPC.  One of the
ideas that we are exploring is service and support for deployments.

As such, we are contracting developers to fix specific bugs that
deployments hire us to fix or issues that Bernie identifies as high
priority at the deployment in Paraguay.  There are several
organizations and companies already working in this field.  The key
difference between our company and others, in the field, is that our
issues are not considered _complete_ until 1) the fix the customer's
problem and 2) the fixes have been accepted upstream by Sugar Labs,
OLPC, or Debian.

I don't understand the pros and cons of the various of maintainer
workflows to have a opinion.  I would like to inform the community
that:
1) You will be seeing a continued increase of deployment related bug fixes.
2) As these new developers become more experienced I will be happy to
fund them to to maintain portions of Sugar.

david


On Tue, May 4, 2010 at 2:13 AM, Simon Schampijer si...@schampijer.de wrote:
 Sorry for being late in the discussion, just a few words from a Sugar
 module maintainer's point of few.

 I don't think the tool we used was the bottleneck. Of course there could
 have been some enhancements (like reminders to the ml), but in general
 it was ok. I personally had just too many things to do, Feature process,
 Release process etc. So we are in need of more man power, like laid out
 here several times. Mainly people taking responsibilities. I don't think
 we want to cut away the maintainers, this is important to keep the
 quality high.

 Thanks,
    Simon
 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Code Review process changes

2010-05-03 Thread Tomeu Vizoso
On Fri, Apr 30, 2010 at 22:00, Bernie Innocenti ber...@codewiz.org wrote:
 El Fri, 30-04-2010 a las 10:49 +0200, Tomeu Vizoso escribió:
  What's the problem with plain email reviews that we're trying to solve
  with bug trackers and fancy review tools?

 It's useful to have the patches tracked and related to the bug report.

 Yes, but not all patches are related to bug reports. I'd like a fast
 path for simple patches that took 1 minute to write and shouldn't take
 more than 1 minute to review and apply.

 With a smooth development process, such trivial patches dominate the
 overall volume of patches. But if the overhead gets too high, they're
 lost.

Are you saying you cannot have a fast track that keeps patches
tracked? In GNOME and Freedesktop it takes a few seconds to submit a
patch for review to bugzilla:

$ git bz file my-product/some-component HEAD

 I don't have time to waste discussing how our system could be
 completely different. After we changed to use the same system as
 Linux, someone would start complaining we should switch to Mozilla's.

 Changing or refining the development process is as important as writing
 code. Now we have a problem that code already written is stuck because
 the current process is failing.

I'm obviously ok with refining, I just don't have time energy nor time
to switch to a completely different system now.

For the sake of keeping some focus in this discussion, seems like you
are saying that we cannot get enough resources to keep a process in
which maintainers play a strong role. I actually think we can and I'm
proposing a plan in another thread to get those resources.

If SLs decides not to push for such a plan, then I would agree with
you in that we need to make without maintainers.

 On IRC, you said you were in favor of doing reviews directly on the
 mailing list. Everyone else agreed, so I this part of the change should
 be already settled.

It should be obvious, but just in case, we still need to agree on
specific changes to the process and need to update the documentation
in the wiki before we start using any different process than what we
have documented now.

 We have a system modelled after GNOME's and it used to work when we
 had maintainers, and of course it works for the dozens of modules in
 GNOME and Freedesktop. Sure, we can make changes to adapt to the
 specifics of Sugar's community, but that request for change should
 come from the maintainers, who are the ones that will be most directly
 affected by them.

 The difference between us and GNOME seems to be in the availability of
 maintainers.

Why it seems like that to you? For example, PyGObject is minimally
maintained right now and it's affecting our work on Python 3. People
are frustrated about it and we are discussing what to do, but I have
still to hear from anyone that the maintainer-based system must be
dropped. We are asking downstreams to contribute back with resources
so PyGObject is maintained and next week I will be flying to the
Ubuntu Developer Summit for that.

Resourcing maintenance is often a problem, but somehow, not all
projects think it's a good idea just to do without it. Maybe they have
a reason?

 We can go back to the GNOME model when we'll have solved
 this issue, but at this time this model is clearly not working for us.

Good luck with that experiment, I unfortunately won't have time to spend on it.

  Can peers also approve patches?
 
  If so, then I think we've already solved our issue.

 Well, we don't have enough peers, many of the listed them are not
 active any more.

 Having unresponsive people listed as maintainers/peers creates a false
 expectation.

 Let's remove those that did not post to the list or Trac over the last 2
 months. We can quickly add them back if they come back.

Sounds good to me, any volunteer to go through the list and propose the changes?

  Being so tightly coupled, these 4 modules should probably share the same
  set of maintainers and peers.

 That doesn't match my actual experience maintaining Sugar. You are
 guessing about what some people have actually experienced, please stop
 doing that.

 I'm not guessing. I've actually heard this complaint from several people
 who shall speak up for themselves publicly if they want to. This is the
 first item in Michael's experimental fork of Sugar lists as the first
 item:

You are guessing because I doubt you have heard that complaint from
anybody who has _maintained_ sugar (please read my words with more
attention before replying).

  * combines all six of the sugar, sugar-toolkit, sugar-base,
    sugar-artwork, sugar-datastore, and sugar-presence-service
    repos into a single repo [1],

 So I'm certainly the only one who thinks that the current shredding of
 Sugar into 6 projects sucks. I'd be curious to know: who actually likes
 it this way and why?

We need to split them conceptually because are different things.
Having each of those conceptual units in their own repo with their own

Re: [Sugar-devel] Code Review process changes

2010-04-30 Thread Tomeu Vizoso
On Thu, Apr 29, 2010 at 18:49, Bernie Innocenti ber...@codewiz.org wrote:
 El Wed, 28-04-2010 a las 18:41 +0200, Tomeu Vizoso escribió:
  Several contributors are hindered or even put off by the current
  process. It often takes more time to handle mere technicalities (save
  patch to file, create ticket in Trac, attach patch, wait for review,
  push) than it takes to fix the bug.

 We talked before of using XML-RPC to automate it, what happened to that?

 I'm using this for GNOME and Freedesktop projects and works very well:

 http://git.fishsoup.net/man/git-bz.html

 I also heard about a trac-email gateway, any news?

 What's the problem with plain email reviews that we're trying to solve
 with bug trackers and fancy review tools?

It's useful to have the patches tracked and related to the bug report.

 On every release cycle (lasting ~2 months), the Linux kernel merges some
 1 (ten thousands!) patches totaling 100 (one million!) lines of
 code, making it by far the fastest growing software project on the
 planet. See http://lwn.net/Articles/348445/ for more details.

 One may look at these numbers and wonder: what special tools are being
 used to manage such a gargantuan volume of patches?

 1) git
 2) email

 There's no 3. Projects much bigger than us, such as the Linux kernel and
 GCC have similarly been doing email reviews for the past 15 years
 without any trouble.

 The fear of loosing patches is really a red herring: if a patch got
 ignored, the poster (or anyone else) can simply ping it after 2-3 days.
 In fact, we're loosing more patches *now* by hiding them in Trac, away
 from the many eyeballs of all sugar-devel subscribers.

I don't have time to waste discussing how our system could be
completely different. After we changed to use the same system as
Linux, someone would start complaining we should switch to Mozilla's.

We have a system modelled after GNOME's and it used to work when we
had maintainers, and of course it works for the dozens of modules in
GNOME and Freedesktop. Sure, we can make changes to adapt to the
specifics of Sugar's community, but that request for change should
come from the maintainers, who are the ones that will be most directly
affected by them.

 If we have such a thing as module peers is solely for helping out with 
 reviews:

 http://wiki.sugarlabs.org/go/Development_Team/Release/Modules

 Can peers also approve patches?

 If so, then I think we've already solved our issue.

Well, we don't have enough peers, many of the listed them are not
active any more.

 But we also should have more than one maintainer per module.

 If peers can approve patches, I'd not be concerned if we have only one
 maintainer. Actually, two maintainers on the same module may even get
 into fights.

 Regarding sugar, sugar-toolkit, sugar-base and sugar-artwork... I don't
 see them as really separate modules: you can't really use patches often
 span across multiple modules and you can't really use them
 independently.

 Being so tightly coupled, these 4 modules should probably share the same
 set of maintainers and peers.

That doesn't match my actual experience maintaining Sugar. You are
guessing about what some people have actually experienced, please stop
doing that.

 This seems to imply that the sole purpose of reviews is QA, but I
 think it has two more important purposes: transferring the burden of
 maintenance and sharing best practices and conventions.

 Indeed! This would make another good argument for carrying on reviews in
 the direct sunlight: so everyone would get to learn from each other's
 code.

Sure, I'm a bit tired of repeating to you that I'm in favor of that.

 In practical terms, to me this means that reviews need to come from
 those who can appreciate the actual impact on maintenance of a patch,
 and that also have a direct interest in keeping the maintenance burden
 low.

 Let's distinguish the act of *reviewing* a patch, which anyone could do
 regardless of experience, from the act of approving it.

 I'm all running patches through maintainers for approval, IF THEY ARE
 RESPONSIVE.

 If not, we can't afford to block the entire development pipeline of
 Sugar due to lack of maintainer bandwidth. There are many healthy
 projects out there which managed to do well even without clear
 maintainers in the way of all patches. One very well known example of
 the anarchic model is Xorg. Others I participated in were uClinux, BDM
 and AROS.

 I'm not saying it's ideal, I'm just saying it's better than pissing off
 all new contributors by ignoring their patches. Note that what we're
 proposing is not totally anarchic: we're just proposing to enable more
 people to approve patches when the maintainer is unavailable or too
 busy.

 Upstream being unresponsive is the #1 complaint I hear about Sugar Labs
 lately, from many many people. We have a very serious problem that needs
 to be addressed ASAP.

 Hopefully we'll grow fresh new full-time maintainers from today's
 

Re: [Sugar-devel] Code Review process changes

2010-04-30 Thread Bernie Innocenti
El Fri, 30-04-2010 a las 10:49 +0200, Tomeu Vizoso escribió:
  What's the problem with plain email reviews that we're trying to solve
  with bug trackers and fancy review tools?
 
 It's useful to have the patches tracked and related to the bug report.

Yes, but not all patches are related to bug reports. I'd like a fast
path for simple patches that took 1 minute to write and shouldn't take
more than 1 minute to review and apply.

With a smooth development process, such trivial patches dominate the
overall volume of patches. But if the overhead gets too high, they're
lost.


 I don't have time to waste discussing how our system could be
 completely different. After we changed to use the same system as
 Linux, someone would start complaining we should switch to Mozilla's.

Changing or refining the development process is as important as writing
code. Now we have a problem that code already written is stuck because
the current process is failing.

On IRC, you said you were in favor of doing reviews directly on the
mailing list. Everyone else agreed, so I this part of the change should
be already settled.


 We have a system modelled after GNOME's and it used to work when we
 had maintainers, and of course it works for the dozens of modules in
 GNOME and Freedesktop. Sure, we can make changes to adapt to the
 specifics of Sugar's community, but that request for change should
 come from the maintainers, who are the ones that will be most directly
 affected by them.

The difference between us and GNOME seems to be in the availability of
maintainers. We can go back to the GNOME model when we'll have solved
this issue, but at this time this model is clearly not working for us.


  Can peers also approve patches?
 
  If so, then I think we've already solved our issue.
 
 Well, we don't have enough peers, many of the listed them are not
 active any more.

Having unresponsive people listed as maintainers/peers creates a false
expectation.

Let's remove those that did not post to the list or Trac over the last 2
months. We can quickly add them back if they come back.



  Being so tightly coupled, these 4 modules should probably share the same
  set of maintainers and peers.
 
 That doesn't match my actual experience maintaining Sugar. You are
 guessing about what some people have actually experienced, please stop
 doing that.

I'm not guessing. I've actually heard this complaint from several people
who shall speak up for themselves publicly if they want to. This is the
first item in Michael's experimental fork of Sugar lists as the first
item:

  * combines all six of the sugar, sugar-toolkit, sugar-base,
sugar-artwork, sugar-datastore, and sugar-presence-service
repos into a single repo [1],

So I'm certainly the only one who thinks that the current shredding of
Sugar into 6 projects sucks. I'd be curious to know: who actually likes
it this way and why?


  Hopefully we'll grow fresh new full-time maintainers from today's
  newbies, but only if we make it possible for them to contribute now.
 
 I'm not interested in discussing changes to the system as long as we
 have Sugar in such unmaintained state. I have tried at least a dozen
 of times to start a discussion on this resourcing problem and have
 been ignored.

Probably nobody knows what to answer! Free software projects like us
often have to get going with the resources that happen to become
available.

I'm convinced the current volunteers base would expand dramatically if
we'd let them contribute without demanding them full-time commitment.


 From my POV, changing the system to depend on less on maintainers is
 just side stepping the actual problem: nobody wants to do the boring
 maintenance work.

 I'm going to start one more thread about it and it will be my last try
 to get the SLs community to care about maintenance.

I'm discussing with a few people to see if we could fill-in the gaps.
Meanwhile, what shall we do? Do we halt development and give up?

What I'm proposing would solve our most urgent issue without making it
harder to find maintainers later on. Actually, it would make it a lot
easier.

We should at least try it before giving up.



 Giving more visibility to the review queue has nothing to do with
 where patches are posted and where the review happens.

It has all to do with it! Patches in trac have been ignored for months,
while all patches posted to this list immediately generated threads with
interesting ideas. The difference is so evident that there should be no
doubt about what's working best.

The only thing that's missing now is giving the *current* reviewers also
the authority to approve patches. We can call them maintainers or
peers if you like.


 No, as I wrote before, people approving patches should be those who
 are going to be taking responsibility on maintaining the new code and
 also those who know what is a good patch in that module's context,
 which means spending time triaging and bug fixing.

This is where we loose 

Re: [Sugar-devel] Code Review process changes

2010-04-29 Thread Bernie Innocenti
El Wed, 28-04-2010 a las 18:41 +0200, Tomeu Vizoso escribió: 
  Several contributors are hindered or even put off by the current
  process. It often takes more time to handle mere technicalities (save
  patch to file, create ticket in Trac, attach patch, wait for review,
  push) than it takes to fix the bug.
 
 We talked before of using XML-RPC to automate it, what happened to that?
 
 I'm using this for GNOME and Freedesktop projects and works very well:
 
 http://git.fishsoup.net/man/git-bz.html
 
 I also heard about a trac-email gateway, any news?

What's the problem with plain email reviews that we're trying to solve
with bug trackers and fancy review tools?


On every release cycle (lasting ~2 months), the Linux kernel merges some
1 (ten thousands!) patches totaling 100 (one million!) lines of
code, making it by far the fastest growing software project on the
planet. See http://lwn.net/Articles/348445/ for more details.

One may look at these numbers and wonder: what special tools are being
used to manage such a gargantuan volume of patches?

1) git
2) email

There's no 3. Projects much bigger than us, such as the Linux kernel and
GCC have similarly been doing email reviews for the past 15 years
without any trouble.

The fear of loosing patches is really a red herring: if a patch got
ignored, the poster (or anyone else) can simply ping it after 2-3 days.
In fact, we're loosing more patches *now* by hiding them in Trac, away
from the many eyeballs of all sugar-devel subscribers.


 If we have such a thing as module peers is solely for helping out with 
 reviews:
 
 http://wiki.sugarlabs.org/go/Development_Team/Release/Modules

Can peers also approve patches?

If so, then I think we've already solved our issue.


 But we also should have more than one maintainer per module.

If peers can approve patches, I'd not be concerned if we have only one
maintainer. Actually, two maintainers on the same module may even get
into fights.

Regarding sugar, sugar-toolkit, sugar-base and sugar-artwork... I don't
see them as really separate modules: you can't really use patches often
span across multiple modules and you can't really use them
independently.

Being so tightly coupled, these 4 modules should probably share the same
set of maintainers and peers.


 This seems to imply that the sole purpose of reviews is QA, but I
 think it has two more important purposes: transferring the burden of
 maintenance and sharing best practices and conventions.

Indeed! This would make another good argument for carrying on reviews in
the direct sunlight: so everyone would get to learn from each other's
code.


 In practical terms, to me this means that reviews need to come from
 those who can appreciate the actual impact on maintenance of a patch,
 and that also have a direct interest in keeping the maintenance burden
 low.

Let's distinguish the act of *reviewing* a patch, which anyone could do
regardless of experience, from the act of approving it.

I'm all running patches through maintainers for approval, IF THEY ARE
RESPONSIVE.

If not, we can't afford to block the entire development pipeline of
Sugar due to lack of maintainer bandwidth. There are many healthy
projects out there which managed to do well even without clear
maintainers in the way of all patches. One very well known example of
the anarchic model is Xorg. Others I participated in were uClinux, BDM
and AROS.

I'm not saying it's ideal, I'm just saying it's better than pissing off
all new contributors by ignoring their patches. Note that what we're
proposing is not totally anarchic: we're just proposing to enable more
people to approve patches when the maintainer is unavailable or too
busy.

Upstream being unresponsive is the #1 complaint I hear about Sugar Labs
lately, from many many people. We have a very serious problem that needs
to be addressed ASAP.

Hopefully we'll grow fresh new full-time maintainers from today's
newbies, but only if we make it possible for them to contribute now.


 I'm confused, how are these systems better than the patch review
 report we used to have?
 
 For those who weren't with us back then:
 
 http://lists.sugarlabs.org/archive/sugar-devel/2008-July/006903.html

That's nice, but I'd rather let everyone see the actual code right in
the list without delays and reply with their comments inline. As a
bonus, this lightweight process saves a lot of time to developers
posting many small patches.

OTOH, if a developer *likes* to go through Trac for posting a patch,
they're still free to file tickets and then find a reviewer who would
look at it. I've often done it myself for tickets that are already open,
for informational purposes. But of course nobody reviewed my patches
until I posted them to the list.


  (*) We defined Sugar developer as anybody who has made at least one
  change that entered mainline.

To move forward: do you agree with this definition or would you prefer a
stricter criteria for people who can approve 

Re: [Sugar-devel] Code Review process changes

2010-04-28 Thread Tomeu Vizoso
 Hi!

 Bernie, Tomeu and I had a nice discussion regarding the Code Review
 process on #sugar yesterday. To sum it up:

 Several contributors are hindered or even put off by the current
 process. It often takes more time to handle mere technicalities (save
 patch to file, create ticket in Trac, attach patch, wait for review,
 push) than it takes to fix the bug.

We talked before of using XML-RPC to automate it, what happened to that?

I'm using this for GNOME and Freedesktop projects and works very well:

http://git.fishsoup.net/man/git-bz.html

I also heard about a trac-email gateway, any news?

 In addition there's a large backlog
 because reviews are currently handled only by module maintainers. The
 latter issue turned out to be at least partly due to misunderstandings
 about who can do reviews.

If we have such a thing as module peers is solely for helping out with reviews:

http://wiki.sugarlabs.org/go/Development_Team/Release/Modules

But we also should have more than one maintainer per module.

 We'd like to try a different approach that's used by many successful
 projects - both small and large ones.
 Patches are sent to sugar-devel for review. Every Sugar developer (*)
 can review patches (and multiple reviews are quite welcome). Since the
 number of developers with commit access is limited, we have a sufficient
 level of QA even without limiting who can do reviews.

This seems to imply that the sole purpose of reviews is QA, but I
think it has two more important purposes: transferring the burden of
maintenance and sharing best practices and conventions.

In practical terms, to me this means that reviews need to come from
those who can appreciate the actual impact on maintenance of a patch,
and that also have a direct interest in keeping the maintenance burden
low.

 There are a number of systems to track the status of patches sent to the
 list (e.g. Patchwork [1]), but as this adds complexity (and yet another
 system to maintain) again we'd like to try without at first.

I'm confused, how are these systems better than the patch review
report we used to have?

For those who weren't with us back then:

http://lists.sugarlabs.org/archive/sugar-devel/2008-July/006903.html

 Personal note:
 Instead of using a patch tracker, we could also ask patch submitters to
 file tickets at bugs.sugarlabs.org if there has been no review for, say,
 3 days. This gives a streamlined process for most patches while still
 ensuring nothing gets lost.

So we need to look for patches in two places?

Regards,

Tomeu


 (*) We defined Sugar developer as anybody who has made at least one
 change that entered mainline.
 [1] http://patchwork.ozlabs.org/

 CU Sascha
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Code Review process changes

2010-04-24 Thread Aleksey Lim
On Fri, Apr 23, 2010 at 09:37:54AM -0400, Bernie Innocenti wrote:
 On Fri, 2010-04-23 at 15:17 +1000, James Cameron wrote:
  Activities too?  I've been tracking #1571 for months now, and if posting
  the patch here will work, I'm all for it.  ;-)
 
 If you were just asking whether it's ok to post patches for activities
 here, sure: we have no separate mailing list for activities (*).
 
 If, instead, you were proposing to relax the rules for approving patches
 to activities, I think we should discuss this carefully. Many activities
 would probably be better off with their only maintainer reviewing and
 approving each patch personally. What about the fructose activities?
 What about orphaned activities?
 
 The question of how to handle the case of an unresponsive maintainer
 came up on #sugar last week: shall we define a formal procedure for
 taking over projects in ASLO and Gitorious? This is how Fedora handles
 it:

In my mind activities on ASLO are not something like packages in regular
GNU/Linux distribution. ASLO is not one centralized product, as already
was mentioned several times it is (or should) palace to share your work
(maybe in trash) with others thus we (will)have bunch of outdated/
forgotten projects. And it is ok for sugar (but not for GNU/Linux
distributions).

And also most of activities come from individuals i.e. it's their
masterpieces. So, lets talking about forking not about taking over.

   
 http://fedoraproject.org/wiki/Package_maintainer_policy#What_to_do_if_a_Maintainer_is_absent
 
 If it seems reasonable, we could adopt the very same procedure for ASLO
 and Gitorious, of course with some obvious changes: s/bugzilla/trac/,
 s/FESco/SLOBs/, s/CVS/Gitorious or ASLO/.

In case of forks we don't need all this bureaucracy by design.
If someone has any idea about improvement in activity, he can:

* fork it in gitorius (no need in asking someone)
* request fork for applying to master (ask only author not mailing
  lists/SLOBs etc)
* if there is no feedback from current maintainer/author, just publish
  forked code as a fork in Activities Library (no need in asking
  someone)

Yes, current ASLO can't handle all these forks in gitorius like scheme
to let users at least see if there are forks of particular activity.
Unfortunately it sounds pretty overkill to implement such features in
ASLO hack (until appears someone who will implement them).

In my mind instead of increasing level of bureaucracy in sugar, for now,
we could ping authors/nd publish forks on ASLO (with new bundle_id) and
start implementing new Activities Library with taking into account all
sugar specific (ASLO in case of AMO is not such, since Mozilla controls
AMO addons and it is mostly centralized repo w/ QA etc).

Also don't read this text like absolute. It is not about deployment
sugar distributions like OLPC, they have their list of stable/buggy
activities and QA team to check them. This post only about having one
repo for activities in gitorius free style. In my mind, ASLO was
intended to be such repo, not list of blessed activities.

I'm working on Activities Library (on early stage). It will look
like:

* server in the person of buddy in F1 view with shared instance of
  Library activity
* any user can join this instance to see what activities are on
  the server
* can just click to launch
* can share new activity or fork of existed
* any user can be such server, he just need to follow regular sugar
  practice, create new instance of Library and share it

Any ideas are welcome
http://wiki.sugarlabs.org/go/Activities/Library#Activity_Library

-- 
Aleksey
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Code Review process changes

2010-04-23 Thread Tomeu Vizoso
On Fri, Apr 23, 2010 at 03:46, Bernie Innocenti ber...@codewiz.org wrote:
 On Tue, 2010-04-20 at 18:26 +0200, Sascha Silbe wrote:

 We'd like to try a different approach that's used by many successful
 projects - both small and large ones.
 Patches are sent to sugar-devel for review. Every Sugar developer (*)
 can review patches (and multiple reviews are quite welcome). Since
 the number of developers with commit access is limited, we have a
 sufficient level of QA even without limiting who can do reviews.

Cannot find the rest of Sascha's email, was it sent to a list?

The bits from Sascha that Bernie quoted refers to some context I
cannot find, can someone repost? Or better, can we do what we agreed
on #sugar and have a coherent proposal sent to the list?

About Bernie's account on the kernel review practices, is it something
that is being proposed for Sugar or is just food for thought?

Thanks,

Tomeu

 I noticed that we're already getting into this habit spontaneously, but
 it might be good to mention how the various tags are used in the Linux
 kernel.

 Here's the relevant excerpt from the Linux kernel documentation on
 submitting patches [1] [2]:

 -8--8--8--8--8--8-

  - Signed-off-by: this is a developer's certification that he or she has
   the right to submit the patch for inclusion into the kernel.  It is an
   agreement to the Developer's Certificate of Origin, the full text of
   which can be found in Documentation/SubmittingPatches.  Code without a
   proper signoff cannot be merged into the mainline.

  - Acked-by: indicates an agreement by another developer (often a
   maintainer of the relevant code) that the patch is appropriate for
   inclusion into the kernel.

  - Tested-by: states that the named person has tested the patch and found
   it to work.

  - Reviewed-by: the named developer has reviewed the patch for correctness;
   see the reviewer's statement in Documentation/SubmittingPatches for more
   detail.

  - Reported-by: names a user who reported a problem which is fixed by this
   patch; this tag is used to give credit to the (often underappreciated)
   people who test our code and let us know when things do not work
   correctly.

  - Cc: the named person received a copy of the patch and had the
   opportunity to comment on it.

 -8--8--8--8--8--8-


 Git handles some of these automatically. When you save a patch, you
 could simply do:

  # Export a patch with your Signed-off-by
  git format-patch -1 -s

  # Send patch to a maintainer, and cc the mailing list
  git send-email --to some...@sugarlabs.org --cc 
 sugar-devel@lists.sugarlabs.org


 Committers should record in the patch who reviewed and ack'd a patch.
 This can be easily done by editing the comment in interactive mode:

  git am -i foo.patch
  (then use e to edit the patch)

 Alternatively, one could also edit the comment after the fact with git
 commit --amend.

 Attributing due credit to reviewers and testers is important because
 they're a scarce resource. A healthy development process depends on them
 as much as developers.


 Personal note:
 Instead of using a patch tracker, we could also ask patch submitters to
 file tickets at bugs.sugarlabs.org if there has been no review for, say,
 3 days. This gives a streamlined process for most patches while still
 ensuring nothing gets lost.

 Another possibility is pinging on the list after a few days, perhaps
 adding on Cc people who are known to have worked in the area affected by
 the patch.

 for informational purposes, I continued to attach some patches to
 existing tickets. The difference is that it's no longer a required step
 for getting a patch in the mainline tree.


 [1] http://kernel.org/doc/Documentation/SubmittingPatches
 [2] http://kernel.org/doc/Documentation/development-process/5.Posting

 --
   // Bernie Innocenti - http://codewiz.org/
  \X/  Sugar Labs       - http://sugarlabs.org/

 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Code Review process changes

2010-04-23 Thread Sascha Silbe

On Fri, Apr 23, 2010 at 12:43:33PM +0200, Tomeu Vizoso wrote:


Cannot find the rest of Sascha's email, was it sent to a list?
Yes, see [1]. Did gmail filter me out as SPAM again? Maybe you should 
deactivate the gmail SPAM filter for sugar-devel; we seem to have rather 
good filters on the list side already.



The bits from Sascha that Bernie quoted refers to some context I
cannot find, can someone repost?

Does the archive link suffice or should I send you a copy privately?


[1] 
http://lists.sugarlabs.org/archive/sugar-devel/2010-April/023410.html


CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/

signature.asc
Description: Digital signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Code Review process changes

2010-04-23 Thread Bernie Innocenti
On Fri, 2010-04-23 at 15:17 +1000, James Cameron wrote:
 Activities too?  I've been tracking #1571 for months now, and if posting
 the patch here will work, I'm all for it.  ;-)

If you were just asking whether it's ok to post patches for activities
here, sure: we have no separate mailing list for activities (*).

If, instead, you were proposing to relax the rules for approving patches
to activities, I think we should discuss this carefully. Many activities
would probably be better off with their only maintainer reviewing and
approving each patch personally. What about the fructose activities?
What about orphaned activities?

The question of how to handle the case of an unresponsive maintainer
came up on #sugar last week: shall we define a formal procedure for
taking over projects in ASLO and Gitorious? This is how Fedora handles
it:

  
http://fedoraproject.org/wiki/Package_maintainer_policy#What_to_do_if_a_Maintainer_is_absent

If it seems reasonable, we could adopt the very same procedure for ASLO
and Gitorious, of course with some obvious changes: s/bugzilla/trac/,
s/FESco/SLOBs/, s/CVS/Gitorious or ASLO/.


(*) this was a deliberate choice: this way, core developers would get a
sense of what the infrastructure needs of activities really are, while
activity writers would learn about Sugar internals and eventually become
core developers.

-- 
   // Bernie Innocenti - http://codewiz.org/
 \X/  Sugar Labs   - http://sugarlabs.org/

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Code Review process changes

2010-04-22 Thread Bernie Innocenti
On Tue, 2010-04-20 at 18:26 +0200, Sascha Silbe wrote:

 We'd like to try a different approach that's used by many successful
 projects - both small and large ones.
 Patches are sent to sugar-devel for review. Every Sugar developer (*)
 can review patches (and multiple reviews are quite welcome). Since
 the number of developers with commit access is limited, we have a
 sufficient level of QA even without limiting who can do reviews.

I noticed that we're already getting into this habit spontaneously, but
it might be good to mention how the various tags are used in the Linux
kernel.

Here's the relevant excerpt from the Linux kernel documentation on
submitting patches [1] [2]:

-8--8--8--8--8--8-

 - Signed-off-by: this is a developer's certification that he or she has
   the right to submit the patch for inclusion into the kernel.  It is an
   agreement to the Developer's Certificate of Origin, the full text of
   which can be found in Documentation/SubmittingPatches.  Code without a
   proper signoff cannot be merged into the mainline.

 - Acked-by: indicates an agreement by another developer (often a
   maintainer of the relevant code) that the patch is appropriate for
   inclusion into the kernel.

 - Tested-by: states that the named person has tested the patch and found
   it to work.

 - Reviewed-by: the named developer has reviewed the patch for correctness;
   see the reviewer's statement in Documentation/SubmittingPatches for more
   detail.

 - Reported-by: names a user who reported a problem which is fixed by this
   patch; this tag is used to give credit to the (often underappreciated)
   people who test our code and let us know when things do not work
   correctly.

 - Cc: the named person received a copy of the patch and had the
   opportunity to comment on it.

-8--8--8--8--8--8-


Git handles some of these automatically. When you save a patch, you
could simply do:

 # Export a patch with your Signed-off-by
 git format-patch -1 -s

 # Send patch to a maintainer, and cc the mailing list
 git send-email --to some...@sugarlabs.org --cc sugar-devel@lists.sugarlabs.org


Committers should record in the patch who reviewed and ack'd a patch.
This can be easily done by editing the comment in interactive mode:

  git am -i foo.patch
  (then use e to edit the patch)

Alternatively, one could also edit the comment after the fact with git
commit --amend.

Attributing due credit to reviewers and testers is important because
they're a scarce resource. A healthy development process depends on them
as much as developers.


 Personal note:
 Instead of using a patch tracker, we could also ask patch submitters to 
 file tickets at bugs.sugarlabs.org if there has been no review for, say, 
 3 days. This gives a streamlined process for most patches while still 
 ensuring nothing gets lost.

Another possibility is pinging on the list after a few days, perhaps
adding on Cc people who are known to have worked in the area affected by
the patch.

for informational purposes, I continued to attach some patches to
existing tickets. The difference is that it's no longer a required step
for getting a patch in the mainline tree.


[1] http://kernel.org/doc/Documentation/SubmittingPatches
[2] http://kernel.org/doc/Documentation/development-process/5.Posting

-- 
   // Bernie Innocenti - http://codewiz.org/
 \X/  Sugar Labs   - http://sugarlabs.org/

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Code Review process changes

2010-04-22 Thread James Cameron
Activities too?  I've been tracking #1571 for months now, and if posting
the patch here will work, I'm all for it.  ;-)

-- 
James Cameron
http://quozl.linux.org.au/
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] Code Review process changes

2010-04-20 Thread Sascha Silbe

Hi!

Bernie, Tomeu and I had a nice discussion regarding the Code Review 
process on #sugar yesterday. To sum it up:


Several contributors are hindered or even put off by the current 
process. It often takes more time to handle mere technicalities (save 
patch to file, create ticket in Trac, attach patch, wait for review, 
push) than it takes to fix the bug. In addition there's a large backlog 
because reviews are currently handled only by module maintainers. The 
latter issue turned out to be at least partly due to misunderstandings 
about who can do reviews.


We'd like to try a different approach that's used by many successful 
projects - both small and large ones.
Patches are sent to sugar-devel for review. Every Sugar developer (*) 
can review patches (and multiple reviews are quite welcome). Since the 
number of developers with commit access is limited, we have a sufficient 
level of QA even without limiting who can do reviews.


There are a number of systems to track the status of patches sent to the 
list (e.g. Patchwork [1]), but as this adds complexity (and yet another 
system to maintain) again we'd like to try without at first.


Personal note:
Instead of using a patch tracker, we could also ask patch submitters to 
file tickets at bugs.sugarlabs.org if there has been no review for, say, 
3 days. This gives a streamlined process for most patches while still 
ensuring nothing gets lost.



(*) We defined Sugar developer as anybody who has made at least one 
change that entered mainline.

[1] http://patchwork.ozlabs.org/

CU Sascha

--
http://sascha.silbe.org/
http://www.infra-silbe.de/

signature.asc
Description: Digital signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel