Skip to content

Latest commit

 

History

History
83 lines (46 loc) · 7.49 KB

Statement-of-Purpose.md

File metadata and controls

83 lines (46 loc) · 7.49 KB

STATEMENT OF PURPOSE

There are many deployed networks that use EOSIO. The core software that these networks are based on must serve the purposes of the networks that run it. Each of these networks has its own use and business cases. There should be some egalitarian system that allows parties that depend on EOSIO to help fund, organize, and prioritize the future of that software.

The purpose of the ENF EOSIO+ Working Group is to define and create a functional and efficient entity that does the following:

1.Establish Organization Branding

Contract the development of world-class corporate identity and branding elements of the organization with a mission to do the following:

  1. Convey unity amongst participating stakeholders
  2. Emote technical excellence and promise of a better future
  3. Express the cohesive vision of improving the world and lives of every individual through new efficient and equitable ways for individuals to empower themselves through fair dealings with other individuals.

2.Secure the Existing Codebase

Ensures the ongoing maintenance of the eosio protocol codebase ensuring secure code for all users with the ability to quickly assess, patch and disseminate any new security patches for eosio code in a manner that supports the security of all users of eosio open-source protocol software regardless of their membership within this group.

The definition of core code is outlined within Appendix A.

3.Public Code Maintenance and Distribution

Provide ongoing development of eosio features in a public, open-source software repository along with official tested and audited binary distributions of any code for the leading platforms supported, with a goal of uniting a common reference version.

Initiate and maintain suitable tools and processes to support the above requirements.

4.Provide a Public Roadmap

To ensure that there is a cohesive strategy across all networks, deployed dAPPs, and satellite software, we believe that this group should provide a medium to long term roadmap that defines the future of the protocol.

There should be a mechanism to nominate features, argue their merits, prioritize them against others of similar value, and vote on their position in the roadmap.

5.Support New Internal Code Development

Extend and improve the functionality of eosio core protocol software to address the pressing needs, as possible, of users, given the group's available resources, as determined by democratic processes within the members of the group while also considering the needs of eosio users who are not presently members.

Foundation and coordination of one or more Core Development Teams to provide significant code improvements and additions based on decided focus.

6.Integrating Outside Developer Code

Evaluate and accept new source code developed by any member group as official but optional elements of the eosio core codebase so that chains with distinct needs can still enjoy the benefits of a common codebase to ease updates, security, and common tooling.

Assure the process and resources to allow quality assurance, security audits, and integration of the codebase with Core Development Resources.

7.Form the Entity

Determine, through best practices legal advice regarding the needs and aims of the organization, the optimal form and provenance of a legal entity required to ensure stable operations and the fulfillment of all key requirements of the organization's legal entity. On determination, implement the plan.

Part of the discussion will also be a general decision of the type of entity in regards of profit / nonprofit. This will have significant implications on jurisdiction of the newly founded entity.

8.Develop a Governance System

Create and maintain a system of consensus-based decision-making that ensures an equitable balance between equal voice for all stakeholders while also balancing reasonable higher value for those making larger financial and/or work contributions. We specifically recognize that this balance may be difficult to arrive at and evolve regularly as any shortcomings of the current models are revealed by real-world usage. Therefore, the method of arriving at consensus decisions will initially retain fluidity and include a process for regularly updating the rules themselves to evolve toward a more functional and equitable process.

Implement a state-of-the-art governance system and toolchain to assure traceable public or secure votes. (Example voting tokens, which may be distinct from possible funding tokens)

9.Fund the Entity

Develop and administer funding plans and annual budgets for the ongoing operations of the entity that is supported by the users, recognizing that sources of funding are likely to change regularly with usership profiles and market conditions.

Develop and execute fund raising initiatives and tooling (example: funding "token") as well as budget control and payment coordination (inbound/outbound). Determine funding guidelines and requirements for members / membership grades (Silver, Gold, Platinum) while it is assumed that resources provided by a chain, or any involved organization shall be valued as if financial budgets were assigned.

10.Determine Organization Staffing

Determine the mode of staffing the organization. The entity will be created in a manner to provide stable and attractive working conditions to a permanent professional staff including developers and various other roles. So as to retain valuable team members long term as is appropriate for the extremely specialized nature of the organization and its core software products. Contract employees and development bounties will be employed as needed to fill short term needs but also as a way to evaluate outside talent for consideration in joining the core team. This organization will aim to retain talent to maximize long-term effectiveness and unit cohesiveness. This requirement is expected to be a major consideration in the type of business entity established.

11.Promote eosio codebase and "product"

Communicate with outside stakeholders, communities, and prospective stakeholders at all levels to provide regular updates about development achievements, future plans, emergent security issues, and ongoing brand awareness of the organization. Develop overarching marketing strategies to support all chains and increase brand recognition and general adoption of eosio.

Appendix A

The term "Core Development" is defined as "any development towards software which provides the base functionality required for network operations and usage". This required functionality is implemented across the server application (e.g. nodeos), system contracts (e.g. eosio contract), native APIs (e.g. v1/chain), and client software development kits (e.g. JavaScript, Golang).

Listed below are examples of terminology including the concept of "Core Development":

  • "Core Development": Any development towards with the Core Software.
  • "Core Software": The software that provides the base functionality which is required for Operations and Usage.
  • "Core Codebase": A term to include all Core Services, Core Contracts, Core APIs, and Core SDKs.
  • "Core Services": The Core Software which operators run to maintain consensus for the state of the blockchain.
  • "Core Contracts": The Core Software that provides the base layer logic for the operations of the blockchain.
  • "Core APIs": The Core Software that allows connectivity between the Core Services and Core Contracts to the Core SDKs.
  • "Core SDKs": The Core Software that allows external software to utilize the core APIs.