Despite platforms like GitHub & co, several hurdles remain for wannabe contributors, on top of whatever skills were required to puzzle together the contribution, especially for people that are not software developers themselves. Examples include:
Although these hurdles can be overcome with a reasonable amount of effort, for example by reading the project's documentation or following some basic tutorials, they turn out to be a showstopper for some people. Possible reasons include:
This can result in a significant amount of (potentially very useful) lost contributions...
In addition, project maintainers often lack the time required to process all incoming contributions. Doing so not only requires a visual review of the code changes, but also testing, enforcing code style requirements, providing feedback, etc.
In this talk, I will outline the extensive GitHub integration that has been implemented in EasyBuild, a framework implemented in Python for building and installing (scientific) software on High Performance Computing (HPC) systems.
The EasyBuild command line interface has been extended to add support for:
In addition a bot was implemented to automatically notify contributors & maintainers that the Travis CI build for a pull request is failing (which is not supported by Travis CI itself).
These features have been implemented by leveraging the GitPython library, the GitHub REST API, and the Travis CI API.
They have proven invaluable for both contributors (regardless of experience) and EasyBuild maintainers, by streamlining the contribution process. In addition, this has resulted in:
I hope this talk can motivate other projects (large & small) to implement similar features to simplify their contribution process, since this is a critical part of building a community around a software project. The EasyBuil features that are outlined can also be implemented in other projects, regardless of the programming language being used and the scope of the project.
Speakers: Kenneth Hoste