Evaluating Person or Team:
- Project description:
-
Project website/homepage:
-
Project repository:
- What is the project's license?
-
What is the primary programming language in the project?
-
What is the development environment?
-
Are there instructions for how to download, build, and install? How easy is it to find them? Do they seem easy (relatively speaking) to follow?
-
Does the project depend on external additional software modules such as database, graphics, web development, or other libraries? If so, are there clear instructions on how to install those?
-
Is the code easy to understand? Browse some source code files and make a judgment based on your random sample.
-
Is this a big project? If you can, find out about how many lines of code are in it, perhaps on OpenHub.
-
Does the repository have tests? If so, are the code contributors expected to write tests for newly added code?
-
Is there clear documentation in the code itself?
-
Is there documentation about the design?
-
How many commits have been made in the past week?
-
When was the most recent commit?
-
How many issues are currently open?
-
How long do issues stay open?
-
Read the conversations from some open and some closed issues. Is there active discussion on the issues?
-
Are issues tagged as easy, hard, for beginners, etc.?
-
How many issues were closed in the past six months?
-
Is there information about how many people are maintaining the project?
-
How many contributors has the project had in the past six months?
-
How many open pull requests are there?
-
Do pull requests remain un-answered for a long time?
-
Read the conversations from some open and some closed pull requests. Is there active discussion on the pull requests?
-
How many pull requests were opened within the past six months?
-
When was the last pull request merged?
-
Is there a CONTRIBUTING document? If so, how easy to read and understand is it? Look through it and see if it is clear and thorough.
-
Is there a CODE OF CONDUCT document? Does it have consequences for acts that violate it?
-
Do the maintainers respond helpfully to questions in issues? Are responses generally constructive? Read the issue conversations.
-
Are people friendly in the issues, discussion forum, and chat?
-
Do maintainers thank people for their contributions?
Install the development environment for the project on your system. Describe the process that you needed to follow:
-
how involved was the process?
-
how long it take you?
-
did you need to install additional packages or libraries?
-
were you able to build the code following the instructions?
-
did you need to look for additional help in installing the environment?
-
any other comments?
-
Do you think this is a project to which it would be possible to contribute in the course of a few weeks before the end of this semester?
-
Would you be interested in contributing to this particular project?