Dear list,

I have been watching the conversation about reviewing submitted code with interest and it seems to me that the problem is fundamentally one of communication, or, rather, perhaps the lack of it. The developers naturally want to focus on their core objectives of maintaining and developing the project and do not want to be bothered by endless and maybe repeated questions from contributors. On the other hand, contributors, particularly those who have never contributed to an Open Source project before, want to add or contribute some enhancement to the project, but may be unaware of the process for submitting their work or what expectations they should have once their contribution has been submitted. They view the project as worthwhile, which is indicated by their willingness to contribute. They view the developers as the experts who understand how the project should operate and the arbiters of whether their submitted effort is adequate, needs improving, and when the work can be considered complete and ready to merge. Yet unfortunately, their requests and comments are often met with silence or, worse yet, a rant. Neither group is happy with the other and both are frustrated.

Since Gerhard frequently answers questions, we have, perhaps mistakenly, assumed that he is a project owner/maintainer/administrator and in a position to "do something" to move things forward. On the other hand he has stated that he is only a user of the project. However, there are other individuals that appear to be involved in the project. For example, the blog seems to be most frequently contributed to by Uwe Hermann and Sören Apel. I also see that a number of comments on code and particularly tagging the code as an 'enhancement' or other flag has often been done by a user named Abraxa. Are these also just contributors or project owners/maintainers? While developers may not want to be distracted by requests and questions, particularly newer contributors may require help and direction and are unfortunately unsure of who to turn to. Sometimes it is possible to reach someone on IRC or via this mailing list, but we all have our own lives and can't be around 24hrs.

So it seems that there is a gap between the expectations of developers and those of contributors. I do not seek to place any blame, but just to identify and focus on the problem.

I don't know whether it would help but I thought I might like to contribute to the project by documenting the whole process for cloning the code, submitting revisions and reviewing code so that first time contributors would know what to do. I have recently obtained some access to the Wiki, but before I can write anything, I need to more fully understand and confirm the process myself. For now I think I have identified the following steps:

a) clone the required code from git://sigrok.org/repository-name to local disk (note, not Github)
b) make an host a publicly accessible copy of it (on Github?)
c) modify or add to the code as required
d) commit changes locally
e) when ready, submit a pull request

f) for the review stage, anyone can go to the relevant Sigrok repository* and review the submissions

g) contributor reviews comments and makes changes and the commits - we go back interatively to (d) until everyone is happy

h) at some point developers accept the code, tag it and merge it into the project

Until Gerhard recently mentioned it in his frustration, I was completely unaware of (f). The natural assumption is that reviewing should be done on the Github repository. It has the tools, it seems patches (including mso9 among others) are getting attention, and it seems possible for anyone to submit comments on the code. However, Gerhard then also mentions that this is actually only a read-only copy. So now we have to wonder whether submissions and reviewing should actually be happening here or elsewhere?

There is a distinction between the git version control tool and the Github repository which hosts projects that can be managed using the git tool. If the Github repository is a read-only copy, then the repository at http://sigrok.org/gitweb/ is presumably the master? However, I don't see any tools for contributing or submitting anything on there. With regards to that and item (b), I know it is possible to make commits locally and then push to an online repository, but I am only aware of making pull-requests or reviewing code on Github. I am uncertain as to whether (b) is actually required. I based this step on a patch I made quite a long time ago when I was asked to place the code to be merged "somewhere visible".

This gives rise to a number of questions/requests for clarification:

1. Where should contributors actually submit their contributions? Github or Sigrok.org? 1a. If its on sigrok.org, then how do we go about doing that that? (happy to research the tools with a pointer or two) 2. What are the thresholds to get the code accepted? Number of comments? Sufficient time elapsed for reviewers to comment? All issues that have been commented have been addressed? All of the preceding? 3. At what stage does one go on IRC (or mailing list or both?) and request to 'merge this please?' (Presumably there must be some criteria to be met so as to avoid requests simply getting ignored?)

I would appreciate clarification on these points and if I missed anything or got something wrong in the above outlined steps then by all means please let me know.

BTW, Gerhard, please be aware, that your personal @gmx.net e-mail address appears in the 'From' header in the e-mails from the mailing list (as do those of other posters - at least in Thunderbird). If I forget to click 'Reply List' and just hit 'Reply' instead, the reply would go straight back to you alone instead of the list. It is just possible whoever directed that e-mail to your personal address may not have done so intentionally.

PS. Please forgive the lengthy post and my apologies if something has already been covered in previous messages, but please be assured that I already have gone over Gerhard's and others posts in detail and will be going over them again.

Regards.


On 30/11/2022 06:42, Gerhard Sittig wrote:
On Fri, 2022-11-18 at 15:05 +0100, Bjørn Forsman wrote:
I'm a maintainer of PulseView in Nixpkgs
(https://github.com/nixos/nixpkgs) and I wonder if there are any plans
for a new release soon?
I'm not aware of maintainers' plans, and I don't speak for the
project (and don't pretend to). So I cannot answer that question,
and won't attempt to, to not cause confusion.

But am afraid that just an application's release is not enough,
since it might also involve several libraries' releases. There
could be a tail of dependencies involved that you need to remain
aware of ...

Rationale: the last release is about 2 years old, and it doesn't
support qt-5.15, so currently we have to pin an old qt version (5.14)
to keep pulseview "alive".
You can also put it the other way around. The Qt 5.15 library
no longer supports the API which earlier minor versions used to
have. But that's nitpicking, and doesn't solve your issue. Just
something that I have observed especially in the vicinity of C++
using projects, and that has been bothering me several times.

For the record, here's a snippet of the build failure:

   /build/pulseview-0.4.2/pv/util.cpp:178:20: error: no match for
'operator<<' (operand types are 'QTextStream' and '<unresolved
overloaded function type>')
     178 |                 ts << forcesign;
         |                 ~~~^~~~~~~~~~~~
In that specific case, you could for example

   $ git log -p --stat -S forcesign

and end up with commit ae726b70a7ad, the top of which addresses
the "ts << forcesign" phrase.

One alternative to bumping application code to a recent version
could be to backport some portability improvements. Got a list of
those portability issues, or a log that you can share? Maybe
others can lookup how they were addressed in unreleased versions
of mainline, and can help you unbreak your build again?

The other alternative could be to not wait for another release,
but just use recent master (while noting down the specific
version that you are using of course). sigrok master typically is
rather stable and usable, hiccups are rare.


PS: Do not bother me with private messages just because you
somehow got to lookup my address. Stick with public channels,
where others can join and help, and also can benefit from
information that was given. Thank you.

And if public channels with many more participants cannot get
you an answer, then I'm as unable to help you in private. Such
a request would only eat into my personal resources yet help
nobody. I'd rather spend this time on something more useful.


virtually yours
Gerhard Sittig

--
John.



_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to