Replies: 10 comments 23 replies
-
For me "Application" is totally misleading word in this context. For me an Application is something like an app on a mobile device, a SAAS or an application that I install on my desktop. HIP-1 defines "Application Project" as everything that is build on top of the Hedera network / a Hiero based network. With that definition our SDK are Applications. From my point of view that is totally confusing if we use that definition for discussions about Hiero. Even the HIP process should be more specific here (adding @mgarbs ). By doing so I will split what you call Applications in 3 categories:
|
Beta Was this translation helpful? Give feedback.
-
We interpret that in a different way. For me "... enable the development of ..." means that we provide everything that developers need to create any software (independent if it is a SaaS, a Library, a tool or an application) that can interact with an Hiero based network. This does not mean that all those software projects should be located at the Hiero org. If it is a tool or a library it can make sense to transfer that repo to Hiero. if it is an application for enduser I will disagree. Even for Libraries and Tools (see my definition above) I would say that it depends if we suggest to transfer that repo to Hiero. I do not see the GitHub Hiero org as a place that will contain hundreds libraries that integrate Hiero "in everything". Let's assume 50 people start projects that provide the functionality to use HBAR for payment in Wordpress/WooCommerce. While that usecase makes sense in general I disagree to have all those 50 repositories at the Hiero org. |
Beta Was this translation helpful? Give feedback.
-
That exists in the LFDT: https://github.com/lf-decentralized-trust-labs The Hiero TSC can suggest to move a project that will not be created / transfered to the Hiero org to the LFDT Labs org. That is the kind of "sandbox" for the LFDT (including Hiero). |
Beta Was this translation helpful? Give feedback.
-
General information: Additional information for adding a project to Hiero (project proposal, TSC voting, ...) can be found here: https://github.com/hiero-ledger/hiero/blob/main/howto-transfer.md |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I think it makes sense for Hiero project membership to be focussed on curating and developing the tools and libraries that developers use to create Hiero compatible ledgers and applications. It might also make sense to include basic applications which have become more like OS level utilities, they show up on near every instance of the ledgers because they enable core use cases. Take for example Hashscan.io. This is not a library or a tool critical to the functioning of the ledger, but more of an application that provides utility to users of the ledger. The code that implements Hashscan.io as a web interface (or code that provides equivalent capability) should be in Hiero, imo. That said I think there is a lot that Hiero can do to support the applications that are built on top of Hiero projects, including Awesome lists linking to community projects and providing tutorials with links to example projects that demonstrate how to use the tools and libraries that Hiero curates. In this point of view, hcs-20-toolkit, stable coin studio, asset tokenization studio, etc all enable other use cases to be developed more easily and could be projects in Hiero. A barebones common wallet implementation would be admissible as a project and it would link to repositories for extensions that build on top of the common core. Similar to how Hiero is not Hedera, the projects in Hiero would not be user facing brands. The branded repositories can be linked to as example instantiations of the base projects. I see a dividing line along this way: Suppose the |
Beta Was this translation helpful? Give feedback.
-
if we don’t want to clutter the hiero org with full individual repos for community-submitted projects but still want them to be discoverable within the org, can we create a |
Beta Was this translation helpful? Give feedback.
-
I created a diagramm that shows how I see the Hiero org and what kind of project belong to Hiero from my point of view. Everything that does not belong in a given category should be discussed very critical. I would like to see that in combination with the criteria that @edward-swirldslabs mentioned. |
Beta Was this translation helpful? Give feedback.
-
I'd like to share why I think keeping Hiero focused and lean makes more sense: Let's be real about governance - most community projects come from developers with their own vision and ideas. Even if they say they're willing to hand over control, they probably want to keep steering their project in their intended direction. That's totally fine, but it means bringing them into Hiero might create more friction than benefit. Also, from a practical standpoint, trying to manage tons of projects under the Hiero umbrella would be quite challenging. Quality control would become harder, and the overhead of reviewing and governing all these projects would be massive. I think Hiero works best when it focuses on what matters most: core infrastructure and essential components. Sure, having reference implementations for key pieces like wallets makes sense - they set standards and show best practices. And if member organizations want to sponsor specific projects, that's great because it comes with built-in support and maintenance. Instead of trying to bring everything under the Hiero umbrella, why not:
This way, we can maintain high standards for our core components while still supporting a vibrant ecosystem of projects that can develop independently. It's kind of like how successful open source projects like Neo4j handle it - they keep their core focused while fostering a broader community around it. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
This discussion focuses on the criteria TSC should set out for the acceptance of new Application projects. The definition of an "Application Project" is any project which is built on top of the Hedera network. This is as opposed to a Core, Service, or Mirror project as outlined in the Hedera HIP process here.
Background:
The Hiero technical charter states:
"The Project encourages the development of applications and core platform features that support an enterprise-grade Hedera network. Additionally, the Project seeks to enable the development of applications such as wallets, exchanges, explorers, bridges, SDKs, private ledgers, and cryptography, which help maintain and enhance the network's capabilities."
There is a lot of potential Application projects that could be brought to Hiero. This includes applications currently on the hashgraph repo like metamask snaps, guardian, and stablecoin studio, There are also a lot of open source application repos outside of hashgraph like asset tokenization studio, hedera-vc-api, hcs-20-toolkit etc. We also see recent activities like the recent Hello Future 2.0 Hackathon that has created a large number of very interesting open source projects and associated code all over github. It should also be noted that over the years THF and THA have sponsored a large number of open source projects that reside in their respective builders github repos.
Given the above a continuing problem the Hedera community faces is that with these open source application projects spread all over the internet we lose opportunities for developers to discover the code and contribute in building the next amazing project on Hedera. In many cases they might not find code that would support what they are building - so they give up or have to start it from scratch.
Viewpoints
In discussions to date I have heard two different viewpoints regarding Application projects on Hiero:
Viewpoint 1. We should encourage developers to submit a wide range of application projects to Hiero that meet criteria around maturity, community, long-term maintenance, etc.
Viewpoint 2. Hiero should only be home to applications like SDKs and a select number of reference applications that enable developers to build downstream applications. We do not want too many application projects in Hiero.
Next Steps:
The acceptance or denial of Hiero projects should be based on two gates:
a) Adherence to the Hiero technical charter
b) Adherence to the criteria set forth by the TSC for new projects. That criteria can be constructed in a way that supports viewpoint 1 or viewpoint 2 above.
Because the charters language is open to interpretation then it really comes down to the criteria. When considering criteria for new projects we can first look to the criteria used by other LInux Foundation projects. Some examples:
Within Hiero we could also introduce Project stages like Sandbox, Incubation, and Graduation. In this process we could take in a large number of application projects in the Sandbox phase, and then if a serious community grows around a project it can graduate to Incubation and graduation. The Cloud Native Computing foundation provides a good model for this here
Keith Opinion:
From my vantage I prefer viewpoint #1 as a tool to make it easier for developers to discover code that can support their efforts on Hiero/Hedera. I think we should initially have a two stage process for Application projects. A sandbox stage where we can accept a large number of application projects with lower criteria, and a mature stage for application projects that reach a higher threshold. The TSC criteria for new sandbox projects I would suggest includes:
In addition each project should have a TSC member sponsor who has spent more time looking at the project.
In the TSC meetings we should review the application, ensure the criteria as set forth has been met, and then approve the creation of the Sandbox Hiero project.
Feedback, suggestions, and comments welcomed.
Beta Was this translation helpful? Give feedback.
All reactions