Skip to content

Latest commit

 

History

History
165 lines (98 loc) · 5.51 KB

facebook_folly_evaluation.md

File metadata and controls

165 lines (98 loc) · 5.51 KB

Project Name:

Facebook Folly


Evaluating Person or Team:

Edmund Adewu, Troy Daniello


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. The project license is the Apache License 2.0.

---

Code Base

  1. What is the primary programming language in the project? According to GitHub, the primary language is C++.

  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 environments appear to be gcc 5.1+ and Boost.

  3. Does the project depend on external additional software modules such as database, graphics, web development, or other libraries? Yes. Amongst them include, but aren't limited to, googletest, fmt and CMake.

  4. Is the code easy to understand? Browse some source code files and make a judgment based on your random sample. The code provides helpful comments explaining the intricacies of the various programs.

  5. Is this a big project? If you can, find out about how many lines of code are in it, perhaps on OpenHub. The project contains roughly 312,000 lines of code.

  6. Does the repository have tests? The repository contains tests for various functions in the project.



Code and Design Documentation

  1. Is there clear documentation in the code itself? The files for the function interfaces contain highly detailed commentary about their purposes, advantages and disadvantages, and performance information.

  2. Is there documentation about the design? There is documentation about the project listed in the README file. In addition, several of the core components and their functions are summarized in the Overview.md section of the docs folder.



Activity Level

  1. How many commits have been made in the past week? 23 commits were made during the week of February 23rd.

  2. When was the most recent commit? The most recent commit was made on February 27th.

  3. How many issues are currently open? 173 issues are 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. Issues are open for at least 3 days.

  5. Is there active discussion on the issues? Read the conversations from some open and some closed issues. There appears to be some conversation regarding issues.

  6. Are issues tagged as easy, hard, for beginners, etc.? The issues don’t contain any tags regarding their complexity.

  7. How many issues were closed in the past six months? 27 issues were closed within the past 6 months.

  8. Is there information about how many people are maintaining the project? According to GitHub, there are 490 contributors.

  9. How many contributors has the project had in the past six months? Roughly 47 contributors were active in the past 6 months.

  10. How many open pull requests are there? There are currently 43 open pull requests in the repository.

  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. On average, pull requests are closed within 2 days, meaning they are resolved fairly quickly.

  12. Is there active discussion on the pull requests? Use the same method as you did for the issues. There is more active discussion on the pull requests than there is on the issues.

  13. How many pull requests were opened within the past six months? 32 pull requests were opened within the last 6 months.

  14. When was the last pull request merged? The most recent pull request was merged on February 20, 2020.



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. There is a CONTRIBUTING document present. The instructions are brief.

  2. Is there a CODE OF CONDUCT document? Does it have consequences for acts that violate it? There is a CODE_OF_CONDUCT.md document. Depending on the frequency and/or severity of the infractions, punishment includes temporary and permanent bans.

  3. Do the maintainers respond helpfully to questions in issues? Are responses generally constructive? Read the issue conversations. The few conversations present in the issues are civil and constructive.

  4. Are people friendly in the issues, discussion forum, and chat? People are generally friendly in the discussion areas.

  5. Do maintainers thank people for their contributions? The maintainers are generally appreciative of project contributions.


Summary

Do you think this is a project to which it would be possible to contribute in the course of a semester? Although the project is primarily written in C++, the sheer amount of dependencies required may prove problematic in regards to storage occupancy and file management. In addition, the function descriptions lean towards the technical side. The limited discussion and lack of complexity-related labels doesn't necessarily ease newcomers into the thick of things. I will have to decline working on this project.