Files
dao-os-docs/zh/project/governance.html
2025-06-12 01:46:45 +00:00

265 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE HTML>
<html lang="en" class="light sidebar-visible" dir="ltr">
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>社区与治理 - 大道 (Dao OS) 文档</title>
<!-- Custom HTML head -->
<meta name="description" content="大道Dao OS官方文档你的赛博生命操作系统。">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff">
<link rel="icon" href="../favicon.svg">
<link rel="shortcut icon" href="../favicon.png">
<link rel="stylesheet" href="../css/variables.css">
<link rel="stylesheet" href="../css/general.css">
<link rel="stylesheet" href="../css/chrome.css">
<link rel="stylesheet" href="../css/print.css" media="print">
<!-- Fonts -->
<link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="../fonts/fonts.css">
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" id="highlight-css" href="../highlight.css">
<link rel="stylesheet" id="tomorrow-night-css" href="../tomorrow-night.css">
<link rel="stylesheet" id="ayu-highlight-css" href="../ayu-highlight.css">
<!-- Custom theme stylesheets -->
<!-- Provide site root and default themes to javascript -->
<script>
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc.js"></script>
</head>
<body>
<div id="mdbook-help-container">
<div id="mdbook-help-popup">
<h2 class="mdbook-help-title">Keyboard shortcuts</h2>
<div>
<p>Press <kbd></kbd> or <kbd></kbd> to navigate between chapters</p>
<p>Press <kbd>S</kbd> or <kbd>/</kbd> to search in the book</p>
<p>Press <kbd>?</kbd> to show this help</p>
<p>Press <kbd>Esc</kbd> to hide this help</p>
</div>
</div>
</div>
<div id="body-container">
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script>
try {
let theme = localStorage.getItem('mdbook-theme');
let sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script>
const default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? default_dark_theme : default_light_theme;
let theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
const html = document.documentElement;
html.classList.remove('light')
html.classList.add(theme);
html.classList.add("js");
</script>
<input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
<!-- Hide / unhide sidebar before it is displayed -->
<script>
let sidebar = null;
const sidebar_toggle = document.getElementById("sidebar-toggle-anchor");
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
} else {
sidebar = 'hidden';
}
sidebar_toggle.checked = sidebar === 'visible';
html.classList.remove('sidebar-visible');
html.classList.add("sidebar-" + sidebar);
</script>
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<!-- populated by js -->
<mdbook-sidebar-scrollbox class="sidebar-scrollbox"></mdbook-sidebar-scrollbox>
<noscript>
<iframe class="sidebar-iframe-outer" src="../toc.html"></iframe>
</noscript>
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
<div class="sidebar-resize-indicator"></div>
</div>
</nav>
<div id="page-wrapper" class="page-wrapper">
<div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky">
<div class="left-buttons">
<label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
</label>
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
<i class="fa fa-paint-brush"></i>
</button>
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="default_theme">Auto</button></li>
<li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
</ul>
<button id="search-toggle" class="icon-button" type="button" title="Search (`/`)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="/ s" aria-controls="searchbar">
<i class="fa fa-search"></i>
</button>
</div>
<h1 class="menu-title">大道 (Dao OS) 文档</h1>
<div class="right-buttons">
<a href="../print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i>
</a>
<a href="https://nest.doylee.cn/Dao-OS/dao-os-docs" title="Git repository" aria-label="Git repository">
<i id="git-repository-button" class="fa fa-github"></i>
</a>
</div>
</div>
<div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
</form>
<div id="searchresults-outer" class="searchresults-outer hidden">
<div id="searchresults-header" class="searchresults-header"></div>
<ul id="searchresults">
</ul>
</div>
</div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script>
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<main>
<h1 id="社区与治理"><a class="header" href="#社区与治理">社区与治理</a></h1>
<p>大道 (Dao OS) 从根本上说是一个社区驱动的项目。我们成功的标准,不仅取决于我们的技术成就,更取决于我们所培育的那个充满活力的、协作的、健康的生态系统。本文档概述了我们集体工作的治理原则与流程。</p>
<h2 id="我们的哲学开放与透明"><a class="header" href="#我们的哲学开放与透明">我们的哲学:开放与透明</a></h2>
<p>我们无条件地致力于自由及开源软件 (FOSS) 的原则。</p>
<ul>
<li><strong>开放开发</strong>: 所有关于核心协议和参考实现的工作,都在公共代码仓库中进行。</li>
<li><strong>开放沟通</strong>: 所有重大的技术和战略讨论,都在公共渠道中进行。</li>
<li><strong>社区所有</strong>: 我们的终极目标,是让“大道”由其用户和开发者社区所拥有和引导。</li>
</ul>
<h2 id="我们的角色从架构师到园丁"><a class="header" href="#我们的角色从架构师到园丁">我们的角色:从“架构师”到“园丁”</a></h2>
<p>“大道”的初始创建者和核心贡献者,将自己的角色视为一个不断演进的过程。</p>
<ul>
<li><strong>在早期阶段(架构师)</strong>: 我们的主要角色是架构师——为项目奠定一个坚实且自洽的基础,定义核心协议,并构建初始工具。</li>
<li><strong>在长期阶段(园丁)</strong>: 随着生态的成熟,我们的角色将从“事必躬亲”转变为“照料花园”。我们将专注于提供更好的工具、维护核心基础设施,并赋能社区去建设和创新。</li>
</ul>
<h2 id="生态策略聚焦与引爆"><a class="header" href="#生态策略聚焦与引爆">生态策略:聚焦与引爆</a></h2>
<p>作为一个由个人开发者发起的项目,我们认识到自身资源的有限性。试图为所有可能的技术栈提供同等的一流支持,是一条通往平庸的道路。</p>
<p>因此,我们采纳**“聚焦一点,引爆生态”**的战略。</p>
<p>我们核心团队的开发精力,将集中于打造<strong>一条“黄金路径”</strong>,使其体验足够高效和愉悦,以此作为吸引第一波开发者的主要催化剂。这条被选定的路径,就是<strong>Nim 统一开发套件</strong>,它利用 Nim 语言的独特能力,从单一代码库构建 WASM 后端和 Web UI 前端。</p>
<p>这并不排斥其他的开发路径(如 Rust + TypeScript 或原生集成)。它们在协议层面依然被完全支持。然而,它们被视为**“社区/高级路径”**,我们依赖社区的力量来构建相应的工具链和最佳实践。</p>
<h2 id="如何贡献"><a class="header" href="#如何贡献">如何贡献</a></h2>
<p>贡献的形式多种多样,每一种都同样宝贵。你可以通过以下方式帮助建设“大道”:</p>
<ul>
<li><strong>核心开发</strong>: 为<code></code>库和核心协议使用Rust贡献代码。</li>
<li><strong><code>道器</code>开发</strong>: 创建新的<code>道器</code>,它可以包含**<code></code>UI组件<strong></strong><code></code>(无界面逻辑)组件**。</li>
<li><strong>文档与翻译</strong>: 改进这些文档,撰写教程,以及将它们翻译成新的语言。</li>
<li><strong>用户支持与社区管理</strong>: 帮助新用户,回答问题,营造一个热情、互助的氛围。</li>
<li><strong>设计与用户体验</strong>: 为参考<code>道器</code>贡献UI/UX设计并为生态定义设计模式。</li>
</ul>
<h2 id="决策流程"><a class="header" href="#决策流程">决策流程</a></h2>
<p>我们的治理模式,被设计为与项目共同成长。</p>
<ol>
<li><strong>早期阶段 (阶段 I-II)</strong>: 决策将由<strong>核心团队</strong>在公共渠道进行开放讨论后做出。</li>
<li><strong>成长阶段 (阶段 III-IV)</strong>: 对于核心协议或架构的重大变更,我们将引入一个正式的 <strong>RFC (请求评论) 流程</strong></li>
<li><strong>成熟阶段 (未来)</strong>: 我们致力于在未来探索并过渡到更去中心化的治理机制。</li>
</ol>
<h2 id="沟通渠道"><a class="header" href="#沟通渠道">沟通渠道</a></h2>
<ul>
<li><strong>GitHub</strong>: 用于所有代码托管、问题追踪和RFC讨论。</li>
<li><strong>Discord / Matrix (待定)</strong>: 用于实时的社区聊天、问答和协作。</li>
</ul>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="../project/roadmap.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next prefetch" href="../project/CONTRIBUTING.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
<div style="clear: both"></div>
</nav>
</div>
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="../project/roadmap.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next prefetch" href="../project/CONTRIBUTING.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>
</div>
<script>
window.playground_copyable = true;
</script>
<script src="../elasticlunr.min.js"></script>
<script src="../mark.min.js"></script>
<script src="../searcher.js"></script>
<script src="../clipboard.min.js"></script>
<script src="../highlight.js"></script>
<script src="../book.js"></script>
<!-- Custom JS scripts -->
</div>
</body>
</html>