At the start of this hackathon, we took a moment to reflect upon our previous hackathons. We had numerous projects that were quite promising, and which we would have loved to continue development. Unfortunately, we just didn't have time, and we forgot about them.
Enter: Commit or Die
What it does
Commit or Die encourages developers to be actively involved in maintaining their projects. We found that developers remain the most committed to their work when they don't step away for an extended period of time (30 minutes).
At regular intervals, Commit or Die will look at your most recent commit, and it will determine if you still care about your project. If the commit is older than 30 minutes, it does you the favor of undoing the work you never made a priority in your life.
While the hackathon version of commit or die only supports deletion and scrambling, we hope to expand this to a number of innovative ways of breaking unmaintained code, including but not limited to replacement of whitespace characters, insertion of random emojis, and changing all conditionals to be at a minimum double negatives. (This is not not not a bad idea!)
How I built it
We built this using Python, git, and a nice crontab. It's powered by the Spirit of Yolo and a bunch of magic.
Challenges I ran into
We dogfood, and discovered that Commit or Die does work on itself. We got rolled back to our most minimum feature, 'git-scramble', which will be demonstrated here. We experienced extensive harassment from open source projects that we pitched this service to.
Accomplishments that I'm proud of
We've gained a new appreciation for what it means to be active developers on a project.
What I learned
We really need an SLA for this.
What's next for git-scramble
We're going to offer Commit as a service. Right now, you need to point Commit or Die to the repo you wish to force development on. In the future, you need only link it to your Github, Apache Foundation, or other open source git contributor accounts, and you too can become a great and active member of the development community.