What is it?
The Greater Good Affirmation is an affirmation for an open source project or community to take to assert that the initiative exists for the greater good. It originated with the spirit behind this call for open source transparency.
Why do we need it?
The definition of open source broadly describes the availability of code:
denoting software for which the original source code is made freely available and may be redistributed and modified.
However, it has also come to describe a culture. Stamping a piece of software with the label “open source” says many good things. Along with helping with development by way of “with many eyes, all bugs are shallow,” it says that the community values transparency. The powerful term has become so embedded with these values that any organization that ascribes to be “open source” by default inherits them.
We need transparency of incentives
This inheritance has become problematic only in the case that the values and incentives expected are not in line with those that are actual. It cannot be clear, for example, if open source software is provided for the greater good, or if the software has an ulterior motive, such as to encourage users to ultimately use a paid service.
How might this happen? Let’s imagine a user or developer that sees a lot of buzz on social media, and finds a piece of open source software provided by a corporate entity. In the case of a developer, he or she might look at issues and be excited to participate. In the case of a user, he or she might try using the software locally. In both cases, the user and developer are invested. They put time and resources into testing and developing with the software. The hum of social media tells them it’s the right thing to do - if they do not, they will fall behind.
Time passes, and both are invested. Perhaps they’ve created something to deploy, and have realized that despite being open source, the technology is unrealistically complicated for a team to set up and manage in house. It could also be that the resources required for optimal performance are not available to them. Given the initial investment, the team now has incentive to pay for the service, or lose the time already invested. This is the point where it’s questionable if the software is truly provided for the greater good, or has an underlying incentive to make monetary gains. The user and developer in the story here had no signal or flag to become aware of these issues when they discovered the software, because it was open source, and that only means good things. This is not transparent communication of incentives, and it’s manipulative.
We need to have awareness for how communities come to be
Traditionally, open source software is identified and advertised via popularity that comes from usage, number of developers, and media attention. A project would not surface if it was not truly used and valued by disparate contributors. We can call this the heartbeat of open source. In modern day, this heartbeat can be artifically created by way of monetary resources, advertising, and creation of conferences and other developer interactions.
How then can it be possible to distinguish between a traditional open source community that grew by way of the value of the software versus one artificially seeded? The answer is that you largely cannot. This is a compelling reason for the Greater Good Affirmation. By taking the Greater Good Affirmation, a community can assert that there are no underlying or hidden incentives. The software is provided for the greater good.
We need to ensure that open source isn’t hijacked for branding
Without an assertion of being for the greater good, it can be argued that application of the “open source” label is a branding strategy. People feel good about contributing to, and using software, that is stamped with open source. People want to participate in open source communities because it reflects well on them. It’s okay to contribute to any kind of community or project, but if you are a contributor, you need to have a transparent understanding of the project. If you choose to contribute by way of falling in love with the open source label, the larger purpose of the project (that might not be provided transparently) needs to be explicit.
What is the affirmation?
The affirmation exists to distinguish open source software that exists non-selfishly. Taking the affirmation comes down to asserting that your project or community exists for the greater good, and adding the badge to your repository.