GSoC '21 Proposal: Maintenance of the FORD project

Introduction

Hello, Everyone

My name is Harsh Bardhan Mishra, and I’m a Junior Year Student at Sathyabama Institute of Science and Technology, Chennai, India. I am interested to contribute to Fortran-Lang for the purpose of Google Summer of Code '2021 under the guidance of Brad Richardson and Sebastian Ehlert on Maintenance of the FORD project.

I have earlier been an Explorer Fellow at Major League Hacking, Software Engineering Intern at Qxf2 and a Summer Intern at Scholify. I’m also an avid Open-Source Contributor, with contributions to some major Open-Source Projects, and have been maintaining a couple of my Open-Source Project as well to help beginners get started with Open-Source.

Project Description

Through this project, I hope to help maintainers get started with Open-Source maintenance with minimal interventions by development of workflows which can help beginners get started quite easily. Right now, the documentation for the tool is hosted over the Wiki, which makes the Git workflow not directly a part of the documentation.

My proposal presents a solution for guiding new contributors and decreasing the maintainer overload through automation workflows. To actually make it possible, I am looking forward to use Zulipbot, where the content templates can be designed and presented to help the users better understand the contribution workflow. I will also be working on preparing workflows, that can be used to tag maintainers for reviews and add labels automatically.

Apart from that, I would also love to work on a documentation project as part of my proposal, which can migrate the existing Wiki to a more appealing contributor’s site. The goal of this particular project would be to link all documentation in a logical and sequential manner which would include the contribution guidelines, project setup instructions and the architecture workflow. It would make new users and contributors easy to modify the documentation as more functionalities are added to the project.

Why me?

I feel that I’m the right fit for this Project because I have worked upon developing automation workflows over Github and Documentation Development, across the whole Software Development Life Cycle for almost a year now. Most of my experience has been through Freelance Projects, Internships and a couple of University-Level Projects.

Conclusion

I would be really glad if I get a chance to discuss the Project idea with the Mentors and tinker out the detailings. While the above idea is just a rough idea that I captured, I would love to work on a draft proposal beforehand which can be reviewed, so that I can bring up a plan as soon as possible for me.

Thanks for reading!

cc: @certik @milancurcic

4 Likes

Welcome to the Discourse @harshcasper and thanks for sharing your ideas!

This Discourse is a good place to get early feedback on your proposal and we will soon be announcing GSoC video calls in order to discus in person.


Tagging @awvwgk and @everythingfunctional for comments on your particular proposal (Maintenance of the FORD project).

1 Like

Hi @harshcasper ,

Thanks for your interest and thanks for reaching out to us. When we first added this as a potential project, I had assumed we would just jump straight into fixing any bugs and making any critical updates. However, I think your idea is a very important first step and would help set the project up for long term success.

I’m not familiar with Zulipbot, but I’m open to learning about it and seeing if it would be a good fit for this project. I’ve got enough experience with other CI systems that we can figure it all out whatever we choose.

I think we’re going to have an open video conference soon for all prospective students and mentors to discuss ideas, and it would be great if you could join us for that. Otherwise feel free to ask plenty of questions here.

2 Likes

Yeah, I totally agree this will requiring some serious planning. There is a relevant issue on the project at

Also, there are contributors, which have shared patches on the project, we want to include in this endeavor if possible. A sensible start could be to review the existing patches and ping the authors to coordinate the effort.

2 Likes

Hi @everythingfunctional and @awvwgk

Thanks for the kind response. My idea of having a proper contribution workflow stemmed from the fact that there has been no commit made since August, 2019.

With nearly 60+ Issues and 15+ PRs open, I was not so sure if the project is being actively maintained. Now that I know that the project is in a deep coma, I know that we can get started with first reviewing the patches made and addressing the Issues that have been created and verify them.

Once we get started with the same, we can start work on the CI part and integrating workflows that can make the maintenance part easier. I have ample experience with maintaining small to intermediate scale projects, so I can surely work on something at this scale.

My primary reasoning behind using Zulipbot has been:

  • Manages Issues and Pull Requests for a better contribution workflow
  • Monitors Issues and PRs for inactivity, merge conflicts, build issues and more
  • Overall improves the efficiency of onboarding new contributors to the project

We can additionally setup CI tooling to check build status through TravisCI/Github Actions and further improve the health of the codebase.

I would be completely okay with having a conversation about this idea on a video call and I feel that it would be a good starting point to present my rough proposal as well.

Few of my questions here are:

  • Shall I get started with reviewing the patches submitted by contributors and tag you up on Github ?
  • Shall I further research on the CI toolings we can use for our purpose?
  • For Open Issues, shall I look to reproduce them on my local system and verify if the issue persists?

I would be looking forward to a positive response on these.

I would start with putting together a small PR to satisfy our patch requirement for your application. But yes, having a broad overview of the open Issues and PRs, and an idea of the tooling you’d propose to use would be very beneficial to your application, especially for coming up with basic work plan and timeline.

1 Like