Checkpoint 1: Project Selection (25% of Project Grade)#
Your first task is to select an open-source project that will serve as the focus of your semester-long analysis. The project must have a significant user base and active development community. This requirement ensures there will be sufficient material and history for a comprehensive analysis of software engineering practices.
Project Requirements#
Must be a widely-used open-source project with substantial user adoption (e.g, 5,000+ users)
Should have an active development community
You must be able to contribute to the project
Must have a public GitHub repository with accessible documentation and history
Recommended Resources for Project Selection#
Review GitHub’s Annual Octoverse Report (https://octoverse.github.com/) which highlights the most popular and active open-source projects
Some examples of qualifying projects include:
Programming Languages: Python, Rust, Go
Development Tools: Visual Studio Code, Git
Scientific Computing: NumPy, Matplotlib, TensorFlow
Operating Systems: Linux Kernel, Zephyr RTOS
Applications: Home Assistant, PostgreSQL, SQLite, Docker
Deliverables#
For this checkpoint, submit a document that:
Identifies your chosen project
Brief explanation (1-2 paragraphs) of why you chose this project
Includes links to the project’s Main repository
Provides evidence of its widespread adoption
User base size and growth metrics
GitHub stars and fork trends
Usage in other projects (dependencies)
Industry adoption examples
Community size indicators (Discord, Slack, forums, etc.)
Provide project activity metrics
Number of active contributors in the last 6 months
Frequency of releases (release cadence)
Commit frequency and patterns
Issue closure rates
Pull request statistics (acceptance rate, time to merge)
Code velocity metrics (lines changed, files modified per period)
Core Benefit Analysis (2-3 paragraphs): For this deliverable, provide a thorough analysis of your chosen project’s fundamental value proposition and its distinctive contribution to the software ecosystem. Your analysis should explore:
The core problem or need this software addresses
What fundamental challenge or limitation does it solve?
Why is this problem significant enough to warrant an open-source solution?
How does the open-source nature of the project enable it to solve this problem differently than commercial alternatives?
The project’s unique value proposition
What capabilities or approaches set it apart from similar solutions (both open-source and commercial)?
How does being open-source specifically enhance its ability to serve its users?
What advantages does the community-driven development model provide for this particular software?
For example, Linux succeeded not just because it provided an operating system, but because its open-source nature enabled widespread adoption, customization, and innovation across diverse hardware platforms in ways that proprietary systems couldn’t match. Home Assistant thrives because its open architecture allows integration with virtually any smart home device, preventing vendor lock-in and enabling customization that commercial solutions typically restrict.
Grading Rubric#
Criteria |
Excellent (Points Range) |
Good (Points Range) |
Fair (Points Range) |
Poor (Points Range) |
---|---|---|---|---|
1. Project Identification (15 points) |
13-15 pts: Project clearly and precisely identified by name, version (if applicable), and origin. Demonstrates attention to detail and accurately represents the project’s context. |
10-12 pts: Project clearly identified by name and version (if applicable). |
6-9 pts: Project identified, but lacking specific details or contains minor inaccuracies. |
0-5 pts: Project vaguely identified, incomplete, or incorrect. |
2. Explanation of Project Choice (15 points) |
13-15 pts: Compelling and insightful explanation, clearly articulating the reasons for choosing the project with specific and well-justified examples. Demonstrates a deep understanding of the project’s context and suitability for analysis. |
10-12 pts: Well-reasoned explanation, clearly articulating the reasons for choosing the project. Provides relevant examples. |
6-9 pts: Adequate explanation, but lacks depth or specific examples to fully support the choice. Some reasoning may be superficial or general. |
0-5 pts: Weak or missing explanation, lacking clear rationale or connection to the assignment goals. |
3. Link to Main Repository (5 points) |
5 pts: Correct and working link provided to the project’s main repository. |
3-4 pts: Link provided, but may have minor issues (e.g., slightly incorrect link, needs adjustment to work). |
2 pts: Link provided, but leads to an incorrect or unrelated location. |
0-1 pts: Link missing or completely incorrect. |
4. Evidence of Widespread Adoption (15 points) |
13-15 pts: Comprehensive and compelling evidence presented across all areas (user base, GitHub, usage, industry, community). Metrics are accurate, clearly presented, well-interpreted, and effectively demonstrate widespread adoption. |
10-12 pts: Good evidence presented across most areas. Some metrics may be missing or not fully interpreted, but the overall picture of adoption is clear. |
6-9 pts: Adequate evidence presented, but significant gaps exist in one or more areas, weakening the demonstration of widespread adoption. Metrics may be inaccurate or poorly interpreted. |
0-5 pts: Weak or missing evidence. Metrics are largely absent, inaccurate, irrelevant, or fail to demonstrate widespread adoption. |
5. Project Activity Metrics (15 points) |
13-15 pts: Comprehensive and well-presented activity metrics across all areas. Trends and patterns are identified, clearly explained, and effectively demonstrate a healthy and active project. Accurate data and insightful analysis. |
10-12 pts: Good activity metrics presented, but some areas may lack depth or detailed analysis. Trends are identified, but explanations could be more thorough in demonstrating the project’s health. |
6-9 pts: Adequate activity metrics, but significant gaps or inaccuracies exist. Analysis is superficial or fails to clearly demonstrate the project’s level of activity. |
0-5 pts: Weak or missing activity metrics. Data is largely absent, inaccurate, irrelevant, or fails to portray project activity. No analysis provided. |
6. Core Benefit Analysis (20 points) |
9-10pts: Thoroughly analyzes the core problem the software addresses, highlighting its significance, impact, and how the open-source approach uniquely enhances the solution. Provides compelling justifications. Demonstrates a nuanced understanding of the interplay between the problem, the solution, and the open-source model. 11-12 pts: Insightfully analyzes the project’s unique value proposition, clearly distinguishing it from alternatives, demonstrating how being open-source enhances its ability to serve users and benefit from community-driven development, and justifying its long-term potential. Articulates the value proposition in a way that is both compelling and grounded in evidence. |
6-8pts: Analyzes the core problem, demonstrating understanding of its significance and the role of open source. Provides adequate justifications. Analyzes the project’s value proposition, differentiating it from alternatives and explaining the benefits of its open-source nature and community-driven development. |
4-5pts: Identifies the core problem, but the analysis lacks depth, specificity, and doesn’t fully explore the significance or the impact of open source. Describes the project’s value proposition, but the analysis is superficial and lacks clear differentiation or an understanding of open-source benefits. |
0-3pts: Fails to clearly identify the core problem or provide any meaningful analysis or justification. Fails to articulate a clear value proposition or demonstrate any understanding of the benefits of open-source or community-driven development. |
7. Clarity & Presentation (15 points) |
13-15 pts: Exceptionally clear, concise, and well-organized writing. Error-free. Uses headings, subheadings, visuals (where appropriate), and formatting effectively to enhance readability and understanding. Demonstrates a command of professional communication and presentation techniques. |
10-12 pts: Clear and well-organized writing with only minor errors. Effective use of headings and subheadings. Good formatting that contributes to readability. |
6-9 pts: Understandable writing, but contains some errors or organizational issues. Headings/subheadings may be inconsistent or inadequate. Formatting is present but could be improved. |
0-5 pts: Unclear, poorly written, and disorganized. Difficult to follow. Significant errors. Ineffective or absent formatting that hinders understanding. |