Following the IndieWebCamp San Diego Open Source development session, I’m proposing the start of a new monthly event tentatively called the IndieWeb Hackathon. This event is inspired by the IndieWeb Blog Carnival and hopes to encourage development of open source IndieWeb community software.

The IndieWeb community has spawned lots of great software projects. There are parsers, bridges, servers, client libraries, and more that people have build and shared for the community to use. As an example, here are some of the open source projects I’ve personally used to make and post to my site

Many community projects are still going strong, but some have fallen out of date. As a project maintainer, I know it can be hard to keep momentum as life happens. But it’s also very rewarding when people come together and rally behind a project. So the goal with this hackathon series is that it will encourage more community action and development.

To start, I’m going to host development around the Omnibear browser extension. This is a micropub client in your browser. The project has recently gone through a very significant re-write and needs help with testing and bug fixing. I’ll have more details in the coming weeks but I hope that it leads to a better future for the project.

How to host

I am looking for other Open Source project maintainers who want to host a month. Hosting an event primarily involves making it easy for new contributors to jump in, responding to issues, merging PRs, and releasing new versions. The hope is that hosting will bring more contributors and spur development beyond that months event. In order to ensure that people know how they can help, there are a few requirements.

Requirements

  1. Projects must be nominated by one of the maintainers of the project.
  2. Projects must be IndieWeb adjacent (using community standards like microformats, webmentions, micropub, etc.)
  3. Make sure your project has basic documentation and contributing instructions (a readme is fine)
  4. Be generally available and responsive during the event, ideally able to respond within 48 hours.

Hosting instructions

See the wiki for the latest instructions, but the initial process is as follows.

  1. Add your project to the event wiki page schedule
  2. Update your project’s page on the IndieWeb wiki
  3. Create a blog post and/or GitHub issue announcing the event and communicating some key contribution information:
    1. Top priorities for contributions
    2. Good places for people to start or Good First Issues
    3. Communication preferences
    4. Basic contribution guide
  4. Publicize the event on IndieNews and in the #indieweb-dev chat
  5. Respond to inquiries and review/merge PRs
  6. Release or deploy any new changes
  7. Consider hosting a “hack day” event such as a weekend virtual meeting where people can join and collaborate
  8. After the event publish a blog post and/or release announcement recognizing the participants of the event

How to participate

See the wiki for the latest instructions, but the initial process is as follows.

There are multiple ways to participate in a hackathon. This includes projects where you don’t know the programming language! If you are just getting started, reviewing open issues or improving documentation is a great place to start. If you are a little more comfortable with the language, consider addressing a small bug or reviewing open PRs.

Before jumping in, please review and follow the maintainer’s contribution guidelines. They should provide some guidance to help you get started and to avoid your changes getting rejected. So rewriting large portions of a project for no real benefit probably is not a welcome place to start. It is also worth searching a projects open and closed issues to see if an item has previously been discussed. Following project recommendations ensures your participation is helpful and doesn’t add an undue burden on the maintainer.

Some ideas for how to contribute include:

  1. Review and triage open issues and PRs
  2. Attempt to reproduce open bug reports and report your findings!
  3. Improve the project documentation
  4. Improve project test coverage
  5. Add support for the latest version of IndieWeb specifications
  6. Fix a bug
  7. File a new bug report or feature request
  8. Implement a new feature
  9. Install and try out the project or library
  10. Write a blog post about your participation, what you accomplished and/or learned.
  11. Consider becoming a regular contributor or even joining as a maintainer
  12. Donate financially to the project and it’s maintainers

What’s in a name?

The term Monthly IndieWeb Hackathon was chosen to be easily recognizable and understood. However, I’m open to other names if people have suggestions. For fun and posterity are the names I considered.

  • IndieWeb Code Carnival
  • Monthly IndieWeb Hackathon
    • Typically hackathons are shorter than a month
  • Monthly IndieWeb Hack Fest
  • Hacking the IndieWeb Code Carnival Upgrade Party (HICCUP)
    • Fun!
    • Long!

Come Join!

For this to succeed, we need your participation! As an open source contributor and (small-scale) project maintainer, I have seen both the challenges and incredible benefits of open source. If you are a maintainer looking for more support, please host. If you are a developer or technically inclined individual, consider joining an event.