- Fran Mendez
This post was originally posted on the AsyncAPI blog.
There are multiple ways to manage an open-source project. At AsyncAPI, we chose the Open Governance model for many good reasons that Lukasz explained in his article Finding a Good Open Governance Model for AsyncAPI.
However, there's more than "just" doing Open Governance. If something can't easily be found, then it's not really transparent and, therefore, not truly open. We not only chose Open Governance but Radical Transparency.
What is Radical Transparency?
(especially of change or action) relating to or affecting the fundamental nature of something; far-reaching or thorough. Forming an inherent or fundamental part of the nature of someone or something.
(of an organization or its activities) the condition of being open to public scrutiny.
Radical transparency is about doing every single thing in public. It's about empowering the community with the necessary tools and information to scrutinize everything we do.
What does it mean for me as the Executive Director?
Believe it or not, it's relieving. Most people —including myself in the past— would have been scared of letting so much power go and opt for radical transparency.
I often get a lot of pressure from different companies to do something for them. Here are some examples:
- Invite someone to the TSC in exchange for a Platinum Sponsorship.
- Exchange logos on our websites. Oh my! It just happened as I'm writing these lines 😂
- Donate some money only if they get "something" in return. These people don't get open-source, do they? 😄
So Radical Transparency is actually making things easier for me. I just have to say something like this:
I'm sorry, but I can't do what you're suggesting. If you're still interested in a similar deal, please head over to https://www.github.com/asyncapi/community and open an issue with your proposal. We can happily discuss it there.
All of a sudden, it's not just my responsibility. It's the TSC who gets to decide if their proposal moves forward or doesn't. This makes the TSC (including myself) accountable for the decision. And most important, it's all registered and accessible to anyone in the community to scrutinize.
Radical Transparency is removing all these trouble-makers for me. Whoever is truly interested in making an honest proposal, will also suggest it publicly. This system allows me to get rid of those whose interest is not making the project better and are only seeking profit. And, so far, these people stand for 100% of the cases.
Of course, I'm still happy to take private calls and emails when they make sense. E.g. they contain sensitive information, you don't speak English, you're shy to propose things in public, they're not related to AsyncAPI, etc.
What does it mean for the community?
Whether you are a user, a contributor, or a code owner, everyone must make decisions in public. For code, we use pull requests. Use issues or discussions on the related repo when it's something else. And, if there's no related repo, use the community one.
Whatever we do, needs to have its associated public record. That doesn't mean we don't do video calls to discuss complex topics. We actually encourage them when the writing form is not enough or too difficult. We never take decisions on meetings because that would be leaving many people out. E.g., those in other time zones, having other meetings at the same time, those on holidays or sick, etc. In any case, whatever is discussed in the meetings should be reflected in its correspondent issue or discussion on Github.
Of course, the "downside" of this is that the whole process becomes slower and more bureaucratic, but I don't think it's really a downside but a feature. By doing this, we make sure to behave as a community, as a group, as a huge team. And you don't want to leave any teammate out, right? It's a matter of respect, after all.
That said, we're always looking for ways to improve. We're already radically transparent, but I'm sure we can improve some things. So here's a challenge for you, find something we're not doing transparently enough and let us know. Or, even better, join us to improve it!
Thanks for reading!