Sustainable Free, Libre and Open Source Software

Sustain Open Source Software is a one day un-conference. It aims to bring together maintainers and supports of open source software projects. We work on common challenges and share resources. The first one SustainOSS happened last Monday at GitHub HQ in San Francisco . There were around 100 people gathered to discuss sustainability in open source software. We had maintainers from all across the board. From software projects that are in the barebones of the Internet to people that have been working in the space for the last 20 years.

What makes a project sustainable?

 
The first session was to create a common ground on what we mean by sustainable open source project AND sustainable ecosystem.
Sustainability does not mean profitable and does not necessary involves a business model.
To be maintainable some of the points we discussed are:
  • the project solves a need
  • it is moving forward and have an active community
  • there is a team behind the project and not a “solo maintainer”
  • it has a clear mission
  • there is a culture of collaboration
  • the maintainers are responding to requests, questions, comments, pull requests.
  • there is a vision and a response to change
  • documentation is one of the main features of the project
  • commitment of the team involved in the project
  • culture of knowledge share
  • high engagement of its community
  • there is a pipeline between new contributions to core contributions
  • there is a plan for resources and not necessarily monetary ones
  • transparency
  • there is a governance model
Sustainability of open source projects means sustainability of the open source ecosystem!
 

How diversity and inclusion affects the sustainability of an Open Source Project?

 
The statement we got from the conversation is the that at least we need a safe space in open source projects. It seems so bare bones. And at the same time if we do not have a place where people can thrive and contribute then they will not take part in the community.
 
– how to make the community more inclusive?
– how to make more diverse voices into our community?
 
If you want to grow a community you need to hear all the voices in the room. For people that are not used to this it could be uncomfortable. And many people may fight against it. As a white male, what can you do to help? You can look at yourself and not run away when feeling uncomfortable. You can step in when somebody is being targed, not as a white knight but as an ally.
 
– how the diversity of the team affects the product that it is being build?
For example, if you are developing a product where the user has to select their gender and you are only giving them two options, you are taking assumptions on the user’s gender that does not corresponds to you. We need diverse teams to have diverse opinions and direction in the products/software we build. And diversity also in the leadership and decision making of the software.
 
There are tools and workshops to sensibilize people in your team about the need for diversity and to look at your biases:
 
. code of conducts: set a frame of what you are expecting at the space you are building (online or offline, conference or project).
. ally skills workshop: a three hours training designed by Frame Shift Consulting that tries to sensibilize about vocabulary and what means to be an ally in a project or organization
 
Sometimes companies treat diversity as a checklist, not being aware of the intersectionality.
 

Mentorship – best practices for FLOSS

 
And the last session that I attend was on mentorship. From that session we got a working group to explore mentorship in open source projects and how it affects sustainability.
 
Good managers are also mentors in helping you navigate and thrive in the project. We need mentors in FLOSS because
 
. it improves the engagement of the community we are building
. bring people into spaces they could thrive in the project.
 
Sides conversations and interesting thoughts
 
People can leave the tech industry and come back, you do not unlearn what you already knew.