diff options
-rw-r--r-- | www/conduct.md | 5 | ||||
-rw-r--r-- | www/git.md | 98 | ||||
-rw-r--r-- | www/management.md | 151 |
3 files changed, 75 insertions, 179 deletions
diff --git a/www/conduct.md b/www/conduct.md index 2e7f30c3..aa8bea1e 100644 --- a/www/conduct.md +++ b/www/conduct.md @@ -1,4 +1,4 @@ -% Guidelines for Good Conduct in the Libreboot community +% Guidelines for Good Conduct Our Pledge ---------- @@ -59,7 +59,7 @@ further defined and clarified by project maintainers. Specifically, in normal circumstances, the scope of these guidelines apply directly to: -* The IRC channel (#libreboot on Freenode) +* The IRC channel and mailing lists * The subreddit (r/libreboot on reddit.com) * The notabug instance (at <https://notabug.org/libreboot>), which also includes bug reports and code review @@ -83,6 +83,7 @@ reported by contacting one of the moderators privately via IRC private message (see list below): * Alyssa Rosenzweig: **alyssa** on Freenode +* Andrew Robbins: **and\_who** on Freenode * Jason Self: **jxself** on Freenode * Leah Rowe: **\_4of7** on Freenode * Paul Kocialkowski: **paulk-X** Freenode (X is variable, for this @@ -3,10 +3,6 @@ title: Information about sending patches for review x-toc-enable: true ... -Useful information, related to Libreboot development, including links to the -Git repositories where development is done. Libreboot development is discussed -on the [IRC channel](https://webchat.freenode.net/?channels=libreboot). - Download Libreboot from the Git repository here: **git clone https://notabug.org/libreboot/libreboot.git** @@ -14,49 +10,23 @@ Download Libreboot from the Git repository here: Editing the website and documentation, wiki-style ------------------------------------------------- -The entire website on libreboot.org, including all of the Libreboot -documentation, is hosted in the Git repository. The pages are written in -Markdown, which is an easy-to-use markup language similar to the one used -when, for instance, editing pages on WikiPedia or a MediaWiki-based website. - -Just download Libreboot's Git repository, make changes to the website under -the ***www*** directory. Changes to the documentation section are made under -the ***docs*** directory. Once you've made your changes, you can submit them -for inclusion live on libreboot.org, using the instructions on the rest of this -page. - -***You can use any standard text editor to edit and improve the entire -Libreboot website. E.g. Vim, GNU Emacs, GNU Nano, Gedit or whatever you -prefer to use.*** - -We currently have a shortage of people who possess the skill to write and -maintain good documentation for Libreboot, so we welcome any and all -contributions! - -The .md files are written in Pandoc flavoured Markdown. The following scripts -form Libreboot's *static site generator* which converts the Markdown files into -HTML, to create the website: +The website and documentation is inside the **www** directory in the +[Git repository](#how-to-download-libreboot-from-the-git-repository), in +Pandoc flavoured Markdown. The website is generated into static HTML via Pandoc +with the following scripts in that directory: - index.sh: generates the news feed (on the News section of the website) - publish.sh: converts an .md file to an .html file - generate.sh: with calls to index.sh and publish.sh, compiles the entire Libreboot website -To view your local version of the website, it is advisable to install an HTTP -server (e.g. nginx, lighttpd) and configure it so that the `www` directory in -your local Git repository is the document root. With this, you can run -`generate.sh` and view your own version of the website locally. This can be -useful for larger changes (including structural) if you're making many large -improvements to the website. However, it is possible to just edit the Markdown -files with a text editor and submit those, or view individual .html files -(generated by publish.sh) in a Web browser (e.g. Firefox). +Use any standard text editor (e.g. Vim, Emacs, Nano, Gedit) to edit the files, +commit the changes and [send patches](#how-to-submit-your-patches). -If you're running a local HTTP server, you can view your local version of the -site by typing `localhost` into your browser's URL bar. - -At present, the site and documentation are optimized for use on the Web (as -HTML, generated by Pandoc), but we would like to possibly support other use -cases, such as PDF documents for printed manuals. +Optionally, you can install a web server (e.g. lighttpd, nginx) locally and +set the document root to the *www* directory in your local Git repository. +With this configuration, you can then generate your local version of the +website and view it by typing `localhost` in your browser's URL bar. General guidelines for submitting patches ----------------------------------------- @@ -64,23 +34,12 @@ General guidelines for submitting patches We require all patches to be submitted under a free license: <https://www.gnu.org/licenses/license-list.html>. -You *must* declare copyright on your work, and declare a free license. Not -declaring copyright, especially if you also don't declare a license, means that -the default restrictive copyright laws apply under the Berne convention. - -If you wish to submit work without copyright, or with permissive terms, then -the *Creative Commons Zero* license is highly recommended. Otherwise, the **GNU -General Public License, version 3 or (at your option) any later version**, is -preferred; we will also accept any other free license. +- GNU General Public License v3 is highly recommended +- For documentation, we require GNU Free Documentation License v1.3 or higher -*We require all documentation and website changes to use the [GNU Free -Documentation License, version 1.3](docs/fdl-1.3.md) or (at your option) any -later version published by the Free Software Foundation; without Invariant -sections, without front cover texts and without back cover texts.* - -Libreboot development is facilitated by *[git](https://git-scm.com/)*, a -*distributed* version control system. You will need to install Git (most -GNU+Linux distributions package it in their repositories). +*Always* declare a license on your work! Not declaring a license means that +the default, restrictive copyright laws apply, which would make your work +non-free. GNU+Linux is generally recommended as the OS of choice, for Libreboot development. @@ -88,27 +47,12 @@ development. General code review guidelines ------------------------------ -Non-core members will push to their own repository, and issue a Pull Request. -Core maintainers of Libreboot can push to the repository, but not to the master -branch; they must push it to a non-master branch, and again issue a Pull -Request. - -An individual or group of people will then review the patch sent by the -contributor. With approval from a core maintainer, or otherwise someone with -merge rights on the repository, the patch will be merged into the official -*master* branch. - -Those with push/merge access on the official Libreboot repository must never -directly push their own patches to the master branch, and they must never -merge their own Pull Request. Regardless of the individual's standing and -frequency of contributions within the project, those who decide whether to -merge a patch will *always* differ from the original contributor. - -These guidelines are *enforced*, to avoid the appearance of a BDFL (Benevolent -Dictator for Life) in the Libreboot project, as one previously existed in the -project. Libreboot is a collectively and democratically governed project. -Maintainers who violate these guidelines may, at the discretion of other -maintainers, have their push/merge rights revoked. +Any member of the public can [submit a patch](#how-to-submit-your-patches). +Members with push access must *never* push directly to the master branch; +issue a Pull Request, and wait for someone else to merge. Never merge your own +work! + +Your patch will be reviewed for quality assurance, and merged if accepted. How to download Libreboot from the Git repository ------------------------------------------------- diff --git a/www/management.md b/www/management.md index 6553c0a4..1e68b760 100644 --- a/www/management.md +++ b/www/management.md @@ -3,96 +3,61 @@ title: General management guidelines x-toc-enable: true ... -This document sets out general guidelines for how the Libreboot project is -governed, managed and who constitutes the core leadership of the project. - -All project members must act according to the -[Guidelines for Good Conduct in the Libreboot community](conduct.md). +This document defines the nature of Libreboot's leadership structure. Democratic governance of the Libreboot project ---------------------------------------------- -Previously, the Libreboot leadership was a BDFL (Benevolent Dictator For Life) -arrangement, with the project's founder (Leah Rowe) having exclusive control -over the project, delegating tasks (by her own exclusive discretion) to others. -This style was very similar to the leadership structure of the Linux kernel -project via Linus Torvalds and, while initially effective, was found to be -ineffective and counter-productive in the long term. - -The old leadership structure has been **abandoned**, and Leah is no longer leader -of the Libreboot project. This decision was made democratically and -collectively, by the same overall standards set out in this document, with -Leah's direct approval and participation, in the best long-term interests of -the Libreboot project, where she agreed to stand down as project leader. - -In principle and in practise, Libreboot is now a collectively and democratically -governed project. Any individual member of the community, regardless of their -current standing or reputation, can propose changes to the project (this -includes code/documentation contributions, project management decisions and -so on). The proposal can be absolutely anything, within reason where it is -relevant to Libreboot and could be beneficial. - -All proposals are subject to review and approval by the community. In the case -of code patches, any member of the public can also voice their opinions on a -contribution; the patch will also be reviewed by one of the core maintainers -of the project. In the case of general project decisions, such as general -policies of the project and management roles (such as, removing a core member -who starts acting out of line with and/or in violation of project policies), -the decision will also be polled by the community, to assess public support for -such a decision. With public approval, and agreement among the core maintainers, -the decision would then be enacted, and it falls on them to implement the -mandate that was set, whatever that mandate might be. - -Actual places to poll members of the public, shall be decided on by the core -maintainers. Examples could include the IRC channel, the subreddit r/libreboot, -the mailing list (if one exists), and any other place deemed appropriate. - -Those who are part of the core maintainers and core management team, can be -appointed and removed at the behest of popular public demand, with approval -from the current -core maintainers and/or management team within the Libreboot project. - -Generally, the project should not have a single leader, but if such a role is -required in the future, it will be a rotating leadership, to be changed -after a certain period, subject to approval by the core maintainers and by -popular public demand. Exact infrastructure for how to cast such votes and -make such appointments will be decided at that time, when it becomes necessary -for the Libreboot project. - -Information about Libreboot's code review and code management guidelines -can be found -[on the Git section of the website](git.md#general-code-review-guidelines). - -Information about core team members, responsible for the Libreboot project --------------------------------------------------------------------------- - -- Alyssa Rosenzweig handles Communications and Public Relations\*, acting - additionally as the official System Administrator for the Libreboot project - infrastructure. - IRC nick **alyssa** on Freenode. -- Andrew Robbins is one of the core developers. IRC nick **and\_who** on - Freenode -- Paul Kocialkowski is one of the core developers. IRC nick **paulk-X** on - Freenode (**X** is variable, for this individual, and changes over time) -- Leah Rowe is one of the core developers. IRC nick **\_4of7** on Freenode -- Swift Geek is one of the core developers. IRC nick **swiftgeek** on Freenode - -All of the people above are moderators in the Libreboot IRC channel, and -form the basis of the project's collective inner leadership, responsible as -trustees for the project in ensuring the projects long-term success and for -general management of the project. - -All core members have push access to the Git repository for Libreboot. -Additionally, Alyssa and Leah have SSH access (including root) to the main -server for libreboot.org (this list will expand, if Alyssa and Leah both agree -and if it is appropriate, e.g. if more System Administrators join the -project). - -Any member of the public can join this list, if they make substantial -contributions and the core team members agree to it. Libreboot's leadership is -open to the public. - -Other team members (IRC operators) who also have influence: +In principle and in practise, Libreboot is a collectively and democratically +governed project. Any member of the public can propose anything. Our leadership +is a flat hierarchy; we have no leader! + +Our core management team is open to the public; anyone can join it, if they +make substantial contributions to the project and if the current core +management team agrees. Libreboot is a *community* project. + +All proposals, big or small, should be discussed and (if approved by core +management) implemented. + +Information about code review can be found [on the Git section of the +website](git.md#general-code-review-guidelines). + +List of members in the core management team +------------------------------------------- + +In alphabetical order: + +- Alyssa Rosenzweig is sysadmin and Public Relations manager. + IRC nick **alyssa**. +- Andrew Robbins is a core developer. IRC nick **and\_who** +- Paul Kocialkowski is a core developer. IRC nick **paulk-X** + (**X** is variable, and changes over time) +- Leah Rowe is a core developer (and project founder). IRC nick + **\_4of7** +- Swift Geek is a core developer. IRC nick **swiftgeek** + +Generally, the people on this list have these responsibilities: + +- Code review (they have merge rights on the Git repositories) +- Voting rights on all major decisions, with community input. +- System administration (where necessary) for Libreboot's infrastructure. +- Moderation of the IRC channel, mailing lists and other discussion mediums. +- Comply with the [Guidelines for Good Conduct](conduct.md) + +System administration +--------------------- + +The following people have SSH access to libreboot.org: + +- Alyssa and Leah have root access, for managing services and infrastructure +- Other people can join as system administrators, in the future + +People of interest +------------------ + +These people are not part of core management, but still have influence. + +Other IRC channel moderators: - IRC nick **specing** on the Libreboot IRC channel. - IRC nick **pizzaiolo** on the Libreboot IRC channel. @@ -101,17 +66,3 @@ Other team members (IRC operators) who also have influence: Additionally, Libreboot has a separate set of operators on the subreddit r/libreboot. Check Reddit for more information. Actions taken by moderators there are also subject to these management guidelines. - -GNU project oversight (pending Libreboot's potential GNU membership) --------------------------------------------------------------------- - -Libreboot has applied to become a member of the GNU project, per agreement by -the core maintainers, plus widespread public support. This is being -handled by Alyssa. It is not yet known whether GNU will accept Libreboot, and -we (the core maintainers) are awaiting their response. - -If Libreboot is accepted as a GNU member, then the GNU project will also form -as part of Libreboot's core leadership, overseeing the project. This will -include Richard Stallman. GNU's own leadership is separate from that of the -Libreboot project (and vice versa), at present, but they would merge on -Libreboot's side if a union does occur. |