We have a beautiful, welcoming page ([[ https://www.mediawiki.org/wiki/Annoying_little_bugs | Annoying Little Bugs ]]) showcasing a list of projects, each linked to a list of easy tasks on Phabricator. IMO, the problem is that for a new developer, finding that first bug to work on from this resource can be a bit time consuming and frustrating experience. The reason being that there are way too many options to choose from and most of the bugs in there are either old, not self-contained, has already a patch for review, a team or an individual is working on it, misses getting started instructions, etc. Also, from tracking newcomer activity perspective, there isn’t any process to know if newcomers are working on our bugs, and what have they been able to accomplish!
There has been some research done to use sentiment analysis/machine learning to predict software bugs or their fixability. Taking inspiration from the research in this space, I envision a tool or process that helps periodically generate a list of five tasks from “Annoying Little Bugs” that are “really” easy, valid, and ready for new developers to jump right in!
Either there be:Problem
* A tool to score a bug probably using sentiment analysis (considering the factors such as the text in the title, age of the bug, who is working on it, is there a dedicated mentor for it, contains getting started steps, etc.)==
* A non-technical process operated by humans;‘Annoying little bugs’ is a good resource. But, IMO there is a problem. In our new developer surveys, it has come up several times that it is hard to choose a task to work on. Looking at this resource, I sense that it can be overwhelming to a) first decide on a project from the massive list on wiki, and b) then pick a task associated with a project from another massive list on Phabricator; considering that sometimes these tasks are old, unconfirmed, lacks proper description, and already a work in progress. Also, not too cumbersome to generate such a list
* http://thesai.org/Downloads/Volume9No2/Paper_12-Software_Bug_Prediction_using_Machine_Learning.pdffor DevRels, there is no way to pay extra attention to new users on Phabricator who may be working on some of these bugs as their first task for Wikimedia.
Trying to solve..
* https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/41145.pdfMake it less cumbersome and time-consuming for new developers to jump start on a bug they like and provide a process for DevRels to monitor bugs that new developers are working on!
See alsoPossible approaches for a small experiment
* https://wiki.mozilla.org/BugsAhoyDevelop a script that provides a dropdown/search feature on the ‘Annoying Little Bugs’ page and makes it easier to choose a bug by a technical area/project or programming language
(If you would like to brainstorm on this topic or have any ideas how to implement itInclude a separate section that showcases a list of five latest, easy bugs that currently have no owner and for which we do not have a patch in review tag already. Like in https://phabricator.wikimedia.org/maniphest/query/xf0gvyQXJMtl/#R. We also encourage new developers to add their name next to the bug. This list gets updated automatically through a bot on a weekly basis. DevRels could then try to pay little extra attention to the list of bugs we are showcasing in this section; understand what gets picked up what gets not, also improve the task description of these bugs and monitor challenges new developers experience.
* Add a concise step by step explanation for how to pick a task on Phabricator, what different concepts or tags mean, how to read the bug description or identify a problem and proceed from there! (include screenshots) e.g., https://wiki.gnome.org/Newcome and talk to me!)rs/SolveProject