As a community, we can use PGF to incentivize and reward people for software that improves Namada. Anyone seeking NAM or hoping to be rewarded with NAM for software, tooling, products–anything involving code–should know what to expect.
Open-source developers are taking a big chance when building in our emerging ecosystem. I’m excited to take risks with PGF by advocating for bold bets over bureaucracy. I believe we’ll be more effective and see greater returns by taking risks, fully expecting that some of our bets will fail. And when it comes to software, I think we should prioritize focusing our PGF resources/attention on open source developers over closed solutions.
tl;dr
We should prioritize funding open-source tools because they stay valuable to the Namada community even if the creator steps away. Closed solutions may be acceptable in critical cases, but we should minimize reliance on them.
Open-source tools should be useful, well-documented, publicly accessible, and easy to maintain. Closed solutions should be considered case by case, avoiding vendor lock-in, preferring decentralized or community-run alternatives. How do we ensure open-source contributions are sustainable and properly recognized? Would love to hear insights from those experienced in OSS!
Open-Source Tools vs Closed Solutions
We should incentivize/reward the production of open-source tools as a priority, because anyone can use, modify, and keep it going in the absence of the creator. Having to rely on the creator to use or build on closed solutions decreases the value proposition if the value is mostly lost when the creator exits.
If we prioritize rewarding open-source tool production, we can help ensure longevity and permissionless innovation, allocating NAM for services only when necessary and avoiding dependency upon centralized entities.
Some open-source tool evaluation criteria
Alignment - with Namada’s values, development goals, mission, vision
Fundamentally useful - provides lasting value to our ecosystem/community
Public repo - hosted on an accessible platform, eg Github
Open source licencing - MIT or Apache 2.0
Clear docs - setup, usage, and contribution guidelines
Maintainable & extensible - code is structured for easy updates, improvements, collaboration, minimizes dependencies upon closed systems & prioritizes decentralization
Collaborative, transparent development - major stuff happens openly, encourages collaboration from community
Security best practices - particularly for software interacting with core Namada systems, eg wallet interfaces
Does this criteria feel right? Would you add or change anything?
Closed-solution services & products
Beyond prioritizing open-source tools, some critical services require ongoing operation, and we should evaluate them case by case. Sometimes a more ideal solution is just not available.
While I hope that we will take risks on open-source tooling initiatives, I think we should consider closed solutions more carefully. How do we ensure we aren’t over-reliant on closed solutions while still being pragmatic?
Decentralized or in-house alternative - is there a decentralized version of this service that is suitable? can this be community-run instead?
Avoid lock-in - ensure access guarantees, portability, and have a transition plan to an open alternative
Concerns about open-sourcing
While open-source tools allow for permissionless innovation, sustainability and fair recognition are challenges we’ll need to address.
If you have experience with software development, in particular OSS, it would be great if you could weigh in with your experience and/or some feedback. It would be ++helpful for people aligned with OSS values, but inexperienced with the OSS game, and want to make good decisions.
-
How do you do open-source work sustainably? and get appropriate recognition?
-
How do you deal with the potential for others to use these contributions to profit without giving back?
Would love to hear thoughts from those who have been through this—what worked, what didn’t, and what you’d recommend to others getting started in OSS. tagging @cwgoes @Fraccaman