Session: Tools for Maintaining an Open Source Project

Tools for maintaining an open source project: standing on the shoulders of giants

There is a wealth of amazing tools freely available to open source software developers to use to maintain their projects. Practically every problem we face or are likely to face in software development has been lived through and solved many times over. Patterns emerge for dealing with development practices and we build our software using the tools made by the previous generation of developers.

We’re very fortunate to operate in an amazing open source ecosystem where we’ve learned we’re stronger when we build on each other’s foundations. We’re constantly laying new foundations for ourselves and we share our ways of working with the world. We now have a very sophisticated set of tools for developing, managing, testing and documenting our new projects without reinventing the wheel.

But we don’t discover all the tools at once – we pick them up as we go along, as we find uses for them and we hear about them. I’m going to share a range of great tools I use to maintain some popular open source projects, and explain how the difference they’ve made.

The talk covers:

  • Software packaging and distribution
  • Licensing
  • Virtual environments
  • Software testing
  • Continuous integration
  • Git & GitHub
  • Contributor community
  • Project management tools
  • Documentation tools

The talk covers examples in Python but the concepts can generally be used in any programming language