Skip to content

Latest commit

 

History

History
143 lines (93 loc) · 6.51 KB

zulip_evaluation_1.md

File metadata and controls

143 lines (93 loc) · 6.51 KB

Zulip:


Michele Lucero:


License

  1. What is the project's license? In most repositories there will be a file named LICENSE or something similar in the root level of the repository. This is the one to examine. There may be different licenses on specific files, but the project will have a main license.
    This project has an Apache license.

Code Base

  1. What is the primary programming language in the project?
    The primary language is python.

  2. What is the development environment? For example, is it Gnu C++ on Linux? Are there instructions for how to download, build, and install?
    The recommended development environment is Vagrant. Zulip has instructions for installing Vagrant and information on how to use it.

  3. Does the project depend on external additional software modules such as database, graphics, web development, or other libraries?
    The project depends on django and Tornado.

  4. Is the code easy to understand? Browse some source code files and make a judgment based on your random sample.
    Yes, the code is clear and easy to follow.

  5. Is this a big project? If you can, find out about how many lines of code are in it, perhaps on OpenHub.
    Yes, it is a big project with 249K lines of code.

  6. Does the repository have tests?
    Yes, the tests are under a file named tools.


Code and Design Documentation

  1. Is there clear documentation in the code itself?
    Yes, the documentation is clear as it explains how functions work.

  2. Is there documentation about the design?
    Yes, there is documentation on coding style which enforces code consistency.


Activity Level

  1. How many commits have been made in the past week?
    During February 20th to February 27, there were 97 commits.

  2. When was the most recent commit?
    The most recent commit occurred an hour ago, which was on February 27 at 9 a.m. EST.

  3. How many issues are currently open?
    There are 1,019 issues currently open.

  4. How long do issues stay open? Take the five most recently closed issues and look at when each was first reported. Compute the number of days that each was open and take the average.
    The average was 2.4 days.

  5. Is there active discussion on the issues? Read the conversations from some open and some closed issues.
    Yes, there are discussion among maintainers, contributors, and the zulipbot. At times, the zulipbot seems to facilitate the flow of the project by informing contributors on relevant information.

  6. Are issues tagged as easy, hard, for beginners, etc.?
    There is only a tag labeled "difficult".

  7. How many issues were closed in the past six months?
    Approximately 175 issues were closed in the past six months.

  8. Is there information about how many people are maintaining the project?
    There is no information on the number of maintainers.

  9. How many contributors has the project had in the past six months?
    There has been approximately 26 contributors in the past six months.

  10. How many open pull requests are there?
    There are 433 pull requests.

  11. Do pull requests remain un-answered for a long time? Look at the closed pull requests to see how long they stayed open. Take the five most recently closed ones and look at when each was first reported. Compute the number of days that each was open and take the average.
    Most pull requests were answered within 24 hours, with an average of 2.4 hours.

  12. Is there active discussion on the pull requests? Use the same method as you did for the issues.
    Yes, it is common to see more than 2 comments per pull request.

  13. How many pull requests were opened within the past six months?
    433 pull requests were opened within the past six months.

  14. When was the last pull request merged?
    The last pull request occurred an hour ago on March 1st at 4:24 p.m. EST.


Welcomeness and Community

  1. 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.
    Yes, there is a CONTRIBUTING document which goes over its community, ways to contribute, issue tracking, and user feedback.

  2. Is there a CODE OF CONDUCT document? Does it have consequences for acts that violte it?
    Yes, there is a CODE OF CONDUCT document. The consequences for violating their rules include a temporary ban and a permanent expulsion without warning from Zulip's community.

  3. Do the maintainers respond helpfully to questions in issues? Are responses generally constructive? Read the issue conversations.
    Yes, the maintainers give clarification to those that want it. The community is very open to feedback on their feedback.

  4. Are people friendly in the issues, discussion forum, and chat?
    Yes, people are friendly. I found instances of greetings, gratefulness, and helpfulness within the community.

  5. Do maintainers thank people for their contributions?
    Yes, there is a very active maintainer who thanks contributors for their feedback.

Summary

Do you think this is a project to which it would be possible to contribute in the course of a semester?
Yes, I do believe it's possible to contribute to Zulip during the course of this semester. Zulip has a chat channel where new contributors can talk directly to more experienced contributors. Furthermore, Zulip has an extensive documentation that allows new contributors to be caught up to speed on how Zulip works. In discussions regarding pull requests and issues, maintainers are very active and always willing to help. It's worth mentioning that Zulip has a bot that directs contributors to relevant information in an efficient manner.

Installation

The project took a little over an hour to install thanks to Zulip's "Development environment installation" documentation. The documentation goes step by step starting with requirements and prerequisites. The documentation provides different installation procedures depending on your operating system. After each step is completed the documentation lets you know what a successful output looks on your terminal and on your browser. Once you determine you were successful in each step, the documentation directs you to your new step. Most steps included issues you may run into and how to fix those issues.