How to deal with bugs?


Go to solution Solved by Igor,

Recommended Posts

Armbian is a community driven open source project. Do you like to contribute your code?

1 hour ago, Igor said:

who will deal with bugs?


To continue from here since this is a rhetorical question.

 

We have lists and we have a technology to cope with it. What we lack is a proper system, guidance and cash / human resources to track, open + close bugs. 

 

But what is the path to file a bug and what is the path to solve bugs now? Do we know it? Do users know it? There are interested people on both sides. Our job is to keep the first list down and make it easy for the people that have an interest to fix something.

Let's look on this problem - "I found a bug" - "I want to fix a bug" - from different perspectives:

- from home user

- from business user

- from expert

- from expert user

- from professional integrator

 

What we can do about?

Link to post
Share on other sites

I think I have minor brain damage or something, does not want to work as straight and focused as I would like but I try to collect something anyways. Or this topic is so extensive that I don't know where to start...probably both :lol:

 

 

6 hours ago, Igor said:

What we can do about?

I think one issue is the decentralization that evolved over the years.

  • Forums (Boards, userspace and build script (Build framework forums))
  • Jira (read-only for the public)
  • Github issues

I  know this makes partially sense since at least Github issues covering different topics. I will not go into more detail here. The point is that  either try to centralize issue management in whatever way or create a better guidance for users where and how to report.

I was thinking about some kind a Q&A forum that guides through. This will a) communicate info and b) reduce invalid bug reports (missing armbianmonitor, upstream bugs, wrong forums/place....)

 

 

Hi. This forum will guide you through all necessary steps to create a proper issue report at the right place containing all necessary information. It will also guide you through steps to do in advance to avoid trivial mistakes. Please read the steps careful and double-check your stuff. Avoidable issue reports due to negligence will be marked as invalid. Abusing will make your permission to create issues being revoked.

 

  • Do you have an issue while building Armbian or with Armbian running on a single board computer?
    • Issue building

      • 1. Make sure you read the docs: https://docs.armbian.com/Developer-Guide_Build-Preparation/

      • 2. start over with a clean git clone
        Also make sure to clear your ccache: sudo ccache -C

      • 3. if some download fail retry later once again before continuing

      • 4. Go to https://github.com/armbian/build/issues/new and create an issue mentioning the information asked for in the issue template

    • Issue running

 

and so on...

 

Link to post
Share on other sites
13 minutes ago, Werner said:

try to centralize

 

13 minutes ago, Werner said:

I was thinking about some kind a Q&A forum that guides through.

 

Yeap. That is something we are looking first - centralised bug report guidance - a dedicated place that cover all cases. Bug / problem / feature route map. Your draft is already a good starting point.

Link to post
Share on other sites
8 hours ago, Igor said:


To continue from here since this is a rhetorical question.

 

We have lists and we have a technology to cope with it. What we lack is a proper system, guidance and cash / human resources to track, open + close bugs. 

 

But what is the path to file a bug and what is the path to solve bugs now? Do we know it? Do users know it? There are interested people on both sides. Our job is to keep the first list down and make it easy for the people that have an interest to fix something.

Let's look on this problem - "I found a bug" - "I want to fix a bug" - from different perspectives:

- from home user

- from business user

- from expert

- from expert user

- from professional integrator

 

What we can do about?

 

Thanks @Igor for bringing this up.  You touched on something I experienced the other day in IRC.  I don't take it personal, I am well aware that resources are extremely limited.  But I felt like there is no place to even put things, even if they might not be gotten around to for a long time, or ever.

 

So you have another problem where you have potentially many interested parties (I am only one of, but you do a good job of listing several others as well) who would like to contribute, somehow, if we could only find an outlet that matches up with the skills and resources we have and are willing to share.

 

I think you are very smart to consider this, as this project has grown well beyond what a few developers can possibly accomplish by themselves in their spare time.  How to channel the good will, energy and resources of the community in the most productive fashion?  I think how we answer this question is the most important and strategic one we can make at this stage of the project, and how well we do this will be what makes or breaks our long term sustainability.

 

I think I am not the only one who was pleasantly surprised at the extreme success of the recent crowdfunding campaign.  So, it seems that there is appreciation (and resources) out there for what we are doing.  How to best channel that is the question, and I think it's a very important one.

 

Coming down from the high level strategic question back to practicalities, I can only share what I do on a personal level and it comes from Getting Things Done (GTD) philosophy.  There is this concept of "SOMEDAY/MAYBE" in fact that is one of my TODO states (others are TODO which is active, DONE, DELEGATED, WAITING_FOR, etc.).  But the idea here is: OK, so here is this task or idea that I would like to do, or maybe get around to "some day / maybe."  You don't want to keep track of it as an active task, because there are far too many such ideas, and that would quickly become overwhelming and depressing.  So you assign it this "SOMEDAY/MAYBE" status.  Now you have it out of your head, plucked out from a forum post, someone stopping by IRC, or whatever and you are tracking it (in a sense) but not stressing out about it.  Periodically these can be re-evaluated (reviews are another important concept in GTD) and re-prioritized.  Some might even get moved up to the active list as time and resources allow.  But at least you have some sense of "where you are" without drowning or feeling overwhelmed.[0]

 

I do this with all my many personal projects and ideas, and it has helped me to remain sane and yet still productive (as resources allow) while not completely losing track of things or giving up on trying to track them altogether.  Another benefit is having a place to collect notes on each little project/task/idea over long periods of time, which works great for me on a personal level but I think would only be even more powerful in the context of a collaborative environment like this project (if it were managed properly).  This has worked great for me which is why I wanted to share it.  Perhaps we could employ some similar ideas somewhere within our workflows.  It would also give a place to point people who are interested in any particular issue.  With resources perhaps ready to go to start working on that, perhaps even left by someone long before.  I know we sort of do this already to some extent, however so many little nuggets of info are scattered here and there in the forums and not readily available.

 

I get really excited about knowledge organization (some call it Personal Information Management or PIM), it's a bit of hobby of mine as maybe you can tell.  lol  In fact I even wrote some tools to help with this which I will be releasing at some point now that my sr.ht account is set up.  But I rambled enough already...

 

[0] In fact it was in this sense that I was looking for a place to "put" that bug report the other day.  Hopefully now you understand a bit more my thought process behind it.

Link to post
Share on other sites

@Werner,

 

I like the idea a lot, essentially you are institutionalizing the collected knowledge and workflow of an experienced forum helper / troubleshooter.  This makes it much easier to get newcomers up to speed (users and helpers both), and is much easier to maintain in one central location and be able to point people to (as it's the same things over and over).

 

I only think differently about implementation.  I think something like that should be in a flowchart.  I know some other F/LOSS projects use draw.io because it can export the graphs as XML which is easy to keep under version control, making it much more suitable for a collaborative project like ours, as well as giving us much better control over the data long term.

 

Sorry to point that out after you already put some work into it!

 

I came across draw.io in my many searches for diagram / flowchart software over the years.  Because some times you need to sketch something out to get it clear in your mind before you start coding (or some other project).  And that was the first tool I came across that actually got out of the way and let me focus on the ideas.  It is available as a service (at the website) but also locally (as an Electron app), allows you to save locally, and is actually Free Software (Apache 2.0 license), so it ticks all the (IMO important) boxes.

Link to post
Share on other sites
On 11/29/2020 at 10:52 PM, TRS-80 said:

flowchart

You have to think more like somebody who has not that much knowledge. This form guides step by step. You dont have to keep track of your path in a chart. Also I think having it in that way it is also more user-friendly (https://en.wikipedia.org/wiki/Don't_Make_Me_Think).

 

As stated I used Google forms for this implementation because it was handy, not because I like it much. Ideally there would be some kind of integration into our places where to post issues and this form needs to be used in order to be allowed to open a report. Have no clue about how to do that atm though

Link to post
Share on other sites

There are many implementation choices, but I think anything with the logic built in to it (like some little Python or (insert favorite language here) web app will require one or more people who know that language to maintain it, forever more.  Which can be (or eventually become) a problem.  At minimum a drain on our already limited resources.

 

Going in direction of hosted SaaS, while "easier" in short term, has other problems connected with it, as you are already aware.

 

Whereas a flowchart, anyone can contribute to, as GUI tools are available.  Which makes that much more sustainable and lower maintenance burden long term.  In addition to other benefits already mentioned.

 

Finally, I guess I simply don't agree that a flowchart is not user friendly, even for noobs.  :)

 

But it does have another benefit.  For the more curious, or people willing to learn, they can peruse and study the chart and very quickly learn a lot by following the various paths through it.  Not everyone will do that of course, but for the few that will, it will allow them to very quickly get up to speed.  And once done, I think be comfortable even contribute some little changes to improve it.

Edited by TRS-80
grammar
Link to post
Share on other sites

I re-worked the Labels/Tags on GitHub last night.  The idea was to be able to (allow more people to) triage things, communicate status and workflow more clearly to all of interested parties that @Igor listed further up thread, and reduce visual noise (all those different colors were killing me; "don't make me think", etc.).

 

However I did this with no direction or feedback whatsoever (in fact at first I was hesitant on such big changes, but at some point maybe halfway I just decided to "wing it" and go all the way).  So if there were any particular workflows you guys were trying to support, or different axes to slice things along using tags, please let me know and I can give them another polish pass.

 

One feature I incorporated were coloring all "Community involvement" things green.  This way it will be easy to point people there, "just go to GitHub and look for green tags."

 

In a similar vein, I also created a "good first issue" tag.  So if there are some things you know are trivial, please start using this.  It will allow people like me who are new and have an interest to find easy things to start working on, while also offloading them from you guys so you can spend your focus on the more complicated stuff.

 

I'm really interested to hear what you guys think about the changes.

Link to post
Share on other sites

Thanks for doing that.  Great way to help triage issues.  Our workflow will probably remain somewhat fluid as some of our long-term contributors have their own styles and we dont want to discourage.

 

Fortunately I do think we can do more in github issues to try to assign to the most appropriate individuals 

Link to post
Share on other sites
7 hours ago, lanefu said:

Our workflow will probably remain somewhat fluid as some of our long-term contributors have their own styles and we dont want to discourage.

 

This is what I was most worried about, especially being relatively newer contributing on GitHub.  I wanted to help out and try to improve things, whilst not upsetting anyone nor the apple cart too much, either.

 

7 hours ago, lanefu said:

Fortunately I do think we can do more in github issues to try to assign to the most appropriate individuals 

 

I was thinking GitHub might be better place to encourage more community involvement, as "almost everybody" seem to have an account there nowadays.  Then you guys can have your Jira to yourselves where you are not being bothered too much.  :D

Link to post
Share on other sites

Old style:

grafik.png

 

New for testing:

grafik.png

The new style basically covers everything from the linked topics but compressed it down to the absolutely essential stuff via forms.

 

I also tried to create a mindmap from the forms but it is very unclear and bulky so I gave up on it. Better guide user step by step without too much confusion.

Link to post
Share on other sites

Question: can this kind of issue to be handled? Unfortunatelly I am not able to get clear information how it is possible to report such an issue (it is not really a bug, it is somehow enhancement for particular use case, in this situation chroot'ed env):

 

https://github.com/armbian/build/issues/2533

 

I went also through https://www.armbian.com/bugs/ and it seems that there is no place to report enhancement (which I understand shall be evaluated properly).

 

Link to post
Share on other sites