- Student Developer Info
- Why MARS
- About MARS
- Workflow
- Usage
- Communication and Work Management
- Pull Requests & Issues
- Weekly Updates
- Maintainers
- Future Scope
- Things I Learned
- Acknowledgments
- Footnotes
- Name: Ritik Malik
- University: IIIT Delhi
- Organization: CHAOSS
- Project Link: chaoss/MARS
- Project Tracker: ritik-malik/GSoC
- Mail: ritik18406@iiitd.ac.in
- Github: ritik-malik
- LinkedIn: ritik-malik-406
- Telegram: @M_A_A_L_I_K
- Medium: @ritik18406
CHAOSS metrics are sorted into different focus areas. Each working group has different focus areas and each focus area defines various metrics in it. These metrics are documented as markdown files which are directly pulled from their respective repositories and rendered into the wordpress website.
During the biannual metric release, these metrics are PDF printed manually, modified with tampermonkey user scripts, and saved individually. Then the front matter is prepared which consists of a cover page and CHAOSS contributors. Finally all the above PDFs are combined together using PDFsam basic and the final release is appended with the MIT license.
The above process is quite time consuming and requires manual work. There is an obvious need for an alternative metric release process which should be fully automated and flexible enough for tweaking, in the future of the ever evolving CHAOSS. Since we expect more metrics and Working Groups in future, the manual effort will only keep increasing.
Equal importance would be given to the appearance/look and feel of the PDF as the current one seems to be using every default setting possible.
CHAOSS metrics have been defined to provide an in-depth view into the various features of an open-source project. The metrics are also a key input to help organizations strategically invest their resources.
M.A.R.S. (Metrics Automated Release System) aim is to automate & improve the metric release process. Keeping in mind the ever evolving CHAOSS, the system is scalable and flexible enough for easy tweaking in the future.
The final outcome is generation of reports for the metrics and their translations counterparts respectively.
M.A.R.S. supports Linux (Debian based) and MacOS based systems only.
Currently, it can be used to generate the reports of English, Spanish and Chinese version of the metrics that exist in the working groups and translations repositories.
There are two ways to run M.A.R.S:
- Using Docker
- Using Python virtual environment
Refer to this README to know more details about its usage.
- Weekly video calls over Google meet were scheduled with the mentors
- A separate CHAOSS slack channel was made for our project to resolve any doubts, suggestions and comments for faster coordination.
- The complete project is hosted on the MARS repository under the CHAOSS organization on Github.
- Weekly blogs and updates via CHAOSS mailing list were provided in the community to ensure everyone was updated with the project.
- ✔ #1: updated README
- ✔ #6: added support for focus-areas tables in WG.tex
- ✔ #7: added separate output dir & datetime nomenclature for PDF
- ✔ #9: Support for Linux (debian based) & Mac/OS X
- ✔ #11: Add support for non-root user to run Docker & Create
README.md
- ✔ #18: updated README and yml file
- ✔ #19: Restructring MARS to accommodate English & translations in 1 single system
- ✔ #21: added support for chinese in Docker
- ✔ #22: Adding new color scheme to MARS
- ✔ #23: update the main README and added GIF for MARS demo
- ✔ #26: update README and MARS workflow
- ✔ #30: Added support for MARS in Mac OS/X
- ✔ #32: Added Dockerfiles for Linux and Mac
- ✔ #34: Updated all READMEs and fixed typos
- ✔ #35: Update GIFs and yml file
- ✔ #566: Fixed typos in About page
- ✔ #574: Automated Typo fixer
- ✔ #584: added GSoD students to mentorship page
- ✔ #606: added link to WG app ecosystem
- 🔒 #572: Automation script for fixing typos
- 🔒 #604: Error in website home page
- ✔ #16: autofixed typos : task 5/5
- ✔ #18: Added WG repo template
- ✔ #22: added Translations Guide SVG image
- 🔒 #15: WG repository template
- ✔ #108: autofixed typos : task 1/5
- ✔ #109: fixed redirection of
metric.md
- ✔ #115: Fixing minor issues
- ✔ #117: removed template-folder
- ✔ #120: standardize focus-areas READMEs
- ❌ #126: renamed focus-areas and fixed metrics
- ✔ #130: complete standardization of wg-common
- ✔ #134: added focus-areas README standard template
- 🔒 #111: Inconsistency in referring images
- 🔒 #114: Standardizing wg-common repository
- ✔ #355: autofixed typos : task 4/5
- ✔ #401: autofixed typos : task 2/5
- ✔ #123: fixed typos automatically
- ✔ #124: Restructured the WG-risk according to the guidelines
- 🔒 #125: Old metrics
- ✔ #272: removing dot-slash notation
- ✔ #280: added focus-areas template
- 🔒 #276: Templates for focus-areas READMEs in WGs
- ✔ #45: renamed wg-common focus-areas and updated README
- ✔ #46: standardizing Spanish wg-common
- ✔ #47: standardizing Spanish wg-risk
- ✔ #57: added extra level of focus-areas
GSoC Acceptence | Time Duration | Blog |
---|---|---|
GSoC acceptance blog | May 17, 2021 | link |
Coding Period 1 | Time Duration | Blog | Notes |
---|---|---|---|
Week 1 | June 7 - June 13, 2021 | link | link |
Week 2 | June 14 - June 20, 2021 | link | link |
Week 3 | June 21 - June 27, 2021 | link | link |
Week 4 | June 28 - July 4, 2021 | link | link |
Week 5 | July 5 - July 11, 2021 | link | link |
Coding Period 2 | Time Duration | Blog | Notes |
---|---|---|---|
Week 6 | July 12 - July 18, 2021 | link | link |
Week 7 | July 19 - July 25, 2021 | link | link |
Week 8 | July 26 - Aug 1, 2021 | link | link |
Week 9 | Aug 2 - Aug 8, 2021 | link | link |
Week 10 | Aug 9 - Aug 15 | link | link |
GSoC Conclusion | Time Duration | Blog |
---|---|---|
GSoC Conclusion blog | Aug 21, 2021 | link |
The MARS project is designed keeping in mind the current and future demands as the CHAOSS Project grows. Certain features, however, can be added to increase flexibility and simplify the release process. Some of them are listed below.
- Use of one Dockerfile for Linux as well as MacOS.
- Support to run the scripts on Windows OS.
- Incorporate file formats other than markdown.
- Provide support for the release of metrics in languages that may be housed in a separate repository in future
- Provide support for tables in markdown format.
- Remove the metrics template's one-line gap rule between text and images.
- Autodetect and warn the use of HTML in metric markdowns.
- Automatically create an issue in the translations repo whenever a metric is updated (Github Actions)
- Maintain a database for individual metrics to keep track of their update status
- Use of translations-tools such as Weblate to provide version control.
GSoC has been a good opportunity to improve my technical and communication skills. I learned to:
- Adapt with teams across different timezones
- Understanding and implementing the opinion and suggestions of different stakeholders in the project
- Studying the workflow of projects and possible customizations that can be made
- Analysing different approaches to solve a problem along with their pros and cons
- Writing clean and well-commented code
- Understanding, reviewing and modifying others' code
- Implementing checks and error handling to alert the user in case of any malfunctioning.
- Working with different tools such as Git, Gitbook, Python, Docker, Shell, LaTeX, Pandoc, Lucidchart and many more.
- Effectively communicating the project details by writing weekly blogs and sending updates to the whole community
It would not have been possible for me to participate and work on this project without the assist and help of many people. I would like to thank -
- Ria Gupta and Venu Vardhan Reddy Tekula for guiding me through the initial process of application, and even during the project. Their advices were very helpful to me
- Yash Prakash for being an awesome companion on our way to M.A.R.S.
- All the mentors: Georg Link, Kevin Lumbard, Matt Germonprez, and Jaskirat Singh for their constant support and guidance during and even before the project
- The entire CHAOSS Community for their welcoming support
- All my family and friends for encouraging & motivating me throughout this project