Skip to content

Latest commit

 

History

History
158 lines (124 loc) · 6.56 KB

facebook_folly_evaluation.md

File metadata and controls

158 lines (124 loc) · 6.56 KB

Project Name: Facebook Folly

Evaluating Person or Team: Anthony Zeng - anthonyzeng99


Project Data

  1. Project description:
    Folly is a loose acronym for Facebook Open Source Library. It's purpose it to publish the C++ tools that Facebook has created for their own internal use. They've created these components when they needed something that was not available. Their goal is that if these components are eventually integrated into the standard library they will remove it from Folly.

  2. Project website/homepage: Folly Google Group

  3. Project repository: Folly Github Repo

License

  1. What is the project's license?
    This project is released under the Apache-2.0 license.

Code Base

  1. What is the primary programming language in the project? C++

  2. What is the development environment?
    This library is compatible with most major operating system.

  3. 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?
    Yes, they provide build instruction for most major operating system. Although it requires different packages on different operating systems, which may be confusing.

  4. 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?
    Yes, they require different packages depending on the OS. Yes, they include what packages are needed.

  5. Is the code easy to understand? Browse some source code files and make a judgment based on your random sample.
    The code does seem clear and easy to understand, although I'm not too familiar with C++. They don't include comments unless it's to clarify some ambiguity.

  6. Is this a big project? If you can, find out about how many lines of code are in it, perhaps on OpenHub.
    It is pretty big with 314k lines of code.

  7. Does the repository have tests? If so, are the code contributors expected to write tests for newly added code?
    Yes, they have tests and contributions are expected to add and pass tests.

Code and Design Documentation

  1. Is there clear documentation in the code itself?
    Kind of, they have comments clarifying ambiguities but not for everything.
  2. Is there documentation about the design?
    Yes, there is docs about design in the README.

Activity Level

  1. How many commits have been made in the past week?
    About a few dozen.
  2. When was the most recent commit?
    An hour ago.
  3. How many issues are currently open?
    171
  4. How long do issues stay open?
    They seem to resolve them in about a day for most closed issues.
  5. Read the conversations from some open and some closed issues. Is there active discussion on the issues?
    There are some dicussions but many issues are closed without discussion.
  6. Are issues tagged as easy, hard, for beginners, etc.?
    No
  7. How many issues were closed in the past six months?
    ~23
  8. Is there information about how many people are maintaining the project?
    Yes there are about 15 authors.
  9. How many contributors has the project had in the past six months?
    They have about 10 major contributors in the past six months and many more smaller ones
  10. How many open pull requests are there?
    44
  11. Do pull requests remain un-answered for a long time?
    Most of the open ones have been open for a few months.
  12. Read the conversations from some open and some closed pull requests. Is there active discussion on the pull requests?
    They have a few with dicussions but many don't.
  13. How many pull requests were opened within the past six months?
    15
  14. When was the last pull request merged?
    Yesterday

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, they are pretty clear with their expectations.
  2. Is there a CODE OF CONDUCT document? Does it have consequences for acts that violate it?
    Yes. They say there will be reprecussions but don't specify what.
  3. Do the maintainers respond helpfully to questions in issues? Are responses generally constructive? Read the issue conversations.
    Not really, most are closed without discussions.
  4. Are people friendly in the issues, discussion forum, and chat?
    Again, not really there isn't much discussion.
  5. Do maintainers thank people for their contributions?
    There are some with thanks.

Development Environment Installation

Install the development environment for the project on your system. Describe the process that you needed to follow:

  1. How involved was the process?
    Installing with Mac OS with Homebrew was fairly simple.
  2. How long it take you?
    Using Homebrew was slow but may be faster with other methods.
  3. Did you need to install additional packages or libraries?
    Homebrew automatically install them but process is different for diffrent OS.
  4. Were you able to build the code following the instructions?
    I'm unfamiliar with how to use their components.
  5. Did you need to look for additional help in installing the environment?
    No
  6. Any other comments?
    No

Summary

  1. 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?
    If you know C++ it could be possible, it seems like they are mostly interesting in publishing their own work.
  2. Would you be interested in contributing to this particular project?
    No, because I don't really know C++./