Skip to content

Latest commit

 

History

History
162 lines (103 loc) · 7.82 KB

godot_evaluation_1.md

File metadata and controls

162 lines (103 loc) · 7.82 KB

Project Name: Godot

Evaluating Person or Team: Carsen Decker, @carsendecker


Project Data

  1. Project description:
    Godot is a free, open source game engine with focus on ease of use and flexible tools. It has features such as node-based coding, support for programming in multiple languages, both 3D and 2D game tools, and more.

  2. Project website/homepage: https://godotengine.org/

  3. Project repository: https://github.com/godotengine/godot

License

  1. What is the project's license?
    The MIT License

Code Base

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

  2. What is the development environment?
    From what I can see, you can edit the code on your machine as long as it can work with C++, but it uses a tool called SCons to compile the source code.

  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, there is even an entire wiki site with pretty detailed instructions on many different things like downloading, building, setup, etc. It is pretty easy to find right on their README file.

  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?
    It depends on having a few things installed, such as the tool SCons, Python, and a certain IDE depending on your platform. They are all listed under the installation instructions on their site.

  5. Is the code easy to understand? Browse some source code files and make a judgment based on your random sample.
    I mean, it seems nicely spaced and organized, however there's a lot that these files are doing that I have no clue about. A lot of the files are barely documented (inline in the scripts themselves, at least), while others have a literal paragraph of text detailing what the following code does, so milage varies I guess.

  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 quite big, with over 1.2 million(!) lines of code.

  7. Does the repository have tests? If so, are the code contributors expected to write tests for newly added code?
    I have found a few tests, but they seem to focus on testing the core functionality and scripts of the program. I don't believe that contributors are needed to write tests.

Code and Design Documentation

  1. Is there clear documentation in the code itself?
    As mentioned above, there isn't much documentation inside the actual scripts in most of the code I looked at.

  2. Is there documentation about the design?
    There is some pretty extensive documentation about the design of the program on their wiki site. They even have their own github repo for documentation!

Activity Level

  1. How many commits have been made in the past week?
    67 commits to master, and 72 commits to all branches.

  2. When was the most recent commit?
    As of writing this answer, the most recent commit was 20 minutes ago!

  3. How many issues are currently open?
    About 5500 issues

  4. How long do issues stay open?
    Most of the issues that I have looked at (even though they seemed to be smaller or more easily answered ones) were often closed within a day.

  5. Read the conversations from some open and some closed issues. Is there active discussion on the issues?
    There seems to be some pretty good discussion going on, while not all issues have tons and tons of comments on them, the ones that do seem like well informed and useful discussion.

  6. Are issues tagged as easy, hard, for beginners, etc.?
    Issues aren't really classed by difficulty, more by their topic or type of issue. They do, however, have a page on their repo dedicated to having a list of good first issues.

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

  8. Is there information about how many people are maintaining the project?
    OpenHub shows that there have been a total of 1331 contributors, with 81 in the past month.

  9. How many contributors has the project had in the past six months?
    Unsure how to find data that totals that far back as Github only goes to 1 month and OpenHub shows just a graph by month. But it was 81 for the past month.

  10. How many open pull requests are there?
    614 open pull requests.

  11. Do pull requests remain un-answered for a long time?
    Nope, the ones I looked at were closed within 1-3 days.

  12. Read the conversations from some open and some closed pull requests. Is there active discussion on the pull requests?
    There are some good discussions for larger pull requests. Not much on bug fixes and such but it isn't as neccesary on those.

  13. How many pull requests were opened within the past six months?
    2327 total, many of which have been closed already.

  14. When was the last pull request merged?
    As of writing, 7 hours ago.

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, and it is quite clear and concise on how to contribute in different ways. In addition to useful explanations in the document itself, they also provide links to many different pages with even more info.

  2. Is there a CODE OF CONDUCT document? Does it have consequences for acts that violate it?
    There is, but it just links to the code of conduct on the Godot website. It's not super extensive, but it gets the job done. They do have a section detailing consequences, such as warnings and then eventually a ban on one or more platforms.

  3. Do the maintainers respond helpfully to questions in issues? Are responses generally constructive? Read the issue conversations.
    Yes they do seem to, especially for more major issues, and even if an issue is a duplicate or something there is usually always someone leaving a comment explaining so.

  4. Are people friendly in the issues, discussion forum, and chat?
    Yes they seem pretty constructive and helpful.

  5. Do maintainers thank people for their contributions?
    They do, especially when its a larger fix.

Development Environment Installation

Install the development environment for the project on your system. Describe the process that you needed to follow: If you just want the application binaries, it is easy to download from their website. However, to download and compile the source code, you need to download it from the github repo, or clone using git. From there, you can start editing already. To compile it together, you do need Python and a tool called SCons.

  1. how involved was the process?
    Not too bad, you just need to download a few things and run the commands provided in command line.

  2. how long it take you?
    About 5 minutes.

  3. did you need to install additional packages or libraries?
    Yes, if you don't have python or SCons, you need to install them to compile.

  4. were you able to build the code following the instructions?
    Yep!

  5. did you need to look for additional help in installing the environment?
    Needed a little help to figure out a permissions error.

  6. any other comments?
    Nope

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?
    I think it would be a good thing to contribute to, as long as they are non-code contributions. The codebase is quite large and dense, and unless you can understand what's going on really quickly, its gonna take awhile to learn how it all works.

  2. Would you be interested in contributing to this particular project?
    It seems interesting, and I find the engine itself to be quite cool, however again it would mostly be in the realm of contributions that aren't based on editing the code itself.