From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f181.google.com (mail-wr0-f181.google.com [209.85.128.181]) by dpdk.org (Postfix) with ESMTP id 1082DFE5 for ; Fri, 31 Mar 2017 15:54:16 +0200 (CEST) Received: by mail-wr0-f181.google.com with SMTP id l43so108953887wre.1 for ; Fri, 31 Mar 2017 06:54:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=DOlcuPODJWB/5n4yRus81rYfdnRUFtISItWeOb822Pc=; b=LC900iAYoi30XgNKVvSDtRT3z8dtFTHvLrn3KLF1jzVdwobZTwjPh548s4cDBHftdE iTps108z+S3Tt+vJLhn1zfNMY7/JGBFIVoX1Juys8tvnydF3cgKzr5pEWhUClLae4AEb t/Yi/tnh1cVzYeEy6nC2Z3lzqdgFuluQLPOSmF6zXsdsCdAAiTpJ42wxTkCty7fcJOkw A8+d2SjS7tWinLnKh4o34SYMmpKKIo7yjXljwbfb+1U+zQ9FhwKK4vmaJ4QEnZ7+5HZ/ ZWHvWoHMRl+LXT2m7g0dhnmJYhQayNLMf/+FwigOw3VhdmDoEwdKWct92bOmD92zfFP2 ALOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=DOlcuPODJWB/5n4yRus81rYfdnRUFtISItWeOb822Pc=; b=UXK0NnBOK9yO/OGjRV+n9IGeL0nxyHXR3SERRBej/E1IHHbYOCHAtrPIaAivFaMVbk h3A+X8Ds93v32VdKgiOpQrtXED2H4ChmWih+RoeuDlrmUJu9lChKRXpdyHW5q+obRAaf JPCblDo9aP/aDSdTeQVvC29/7z4hoi0XKJD58XSdqY7VU1GqF/J7Azk1f2IXGT3KOd/K dR1IELtPIBuxZDCrXa7Ntjys+T12ywCozbHfS8YCSxVG9qQGxe5Bx44a9VtZRVXkvdxL XyxP+pha+ByW3L6Qf2yNiMknkHE+3m46hqYtFdbx6suufE2MaKEMPgA8WSutlZeJiMEB opYg== X-Gm-Message-State: AFeK/H1eusM0wNaHIMnAhIptvb4vm+wOZblOfnatCjW2j0wg2rtv/8n1KA4l9cxazUAuwPJy X-Received: by 10.223.175.207 with SMTP id y15mr2928182wrd.63.1490968454945; Fri, 31 Mar 2017 06:54:14 -0700 (PDT) Received: from XPS13.localdomain (184.203.134.77.rev.sfr.net. [77.134.203.184]) by smtp.gmail.com with ESMTPSA id k203sm3010220wmk.4.2017.03.31.06.54.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 31 Mar 2017 06:54:14 -0700 (PDT) From: Thomas Monjalon To: web@dpdk.org Cc: moving@dpdk.org Date: Fri, 31 Mar 2017 15:52:54 +0200 Message-Id: <1490968374-16088-1-git-send-email-thomas.monjalon@6wind.com> X-Mailer: git-send-email 2.7.0 Subject: [dpdk-moving] [PATCH] charter: publish LF charter X-BeenThere: moving@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK community structure changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Mar 2017 13:54:16 -0000 The HTML version has the same content as the PDF sent: http://dpdk.org/ml/archives/moving/2017-March/000195.html Signed-off-by: Thomas Monjalon --- about.html | 3 + about/charter.html | 639 +++++++++++++++++++++++++++++++++++++++++++++++++++ about/techboard.html | 6 +- content.css | 64 +++++- 4 files changed, 706 insertions(+), 6 deletions(-) create mode 100644 about/charter.html diff --git a/about.html b/about.html index c567d23..86b4275 100644 --- a/about.html +++ b/about.html @@ -37,6 +37,9 @@
+

Governance

+

The DPDK charter defines + the project, its boards and some related policies.

Contacts

For technical notice or security disclosure, please write to maintainers@dpdk.org. diff --git a/about/charter.html b/about/charter.html new file mode 100644 index 0000000..03294e7 --- /dev/null +++ b/about/charter.html @@ -0,0 +1,639 @@ + + + + + + DPDK Project Charter + + + + + + +

+

DPDK: Data Plane Development Kit

+ +
+
+

Project Charter

+ +

Mission of the Data Plane Development Kit Project

+

+ The mission of DPDK is to: +

    +
  1. + Create an open source, production quality, vendor neutral + software platform for enabling fast dataplane I/O, + upon which users can build and run data plane applications. +
  2. + Host the infrastructure for the DPDK community, + establishing a neutral home for community assets, + infrastructure, meetings, events and collaborative discussions. +
+ +

Project Structure

+

+ The DPDK Project is comprised of + one core software project which is DPDK itself, + and a few smaller sub-projects that are closely related to DPDK. +

+ The core DPDK project is comprised of a number of git repositories, + including a master repository, + several "next" repositories + which are used to apply changes to specific parts of DPDK + before these are pulled into the master repository, + and a stable release repository. + This structure is documented at: + http://dpdk.org/browse/. +

+ The sub-projects that are also hosted as part of the DPDK Project + are typically applications that are closely related to DPDK. + These are listed at: + http://dpdk.org/browse/. +

+ Changes to this structure, including approval for any new sub-projects, + are the responsibility of the Technical Board + (see section 3.2 below). + +

Project Governance

+

+ Governance for DPDK will be provided by two boards: +

    +
  1. + A Governing Board which deals with budget, marketing, + lab resources, administrative, legal and licensing issues. +
  2. + A Technical Board which deals with technical issues + including approval of new sub-projects, deprecating old sub-projects, + and resolution of technical disputes. +
+

+ These two boards are peers and work together to oversee the DPDK project. + +

Governing Board

+ +

Scope

+

+ The Governing Board covers the full scope of DPDK, including all sub-projects. + Responsibilities of the Governing Board are: +

    +
  1. + Electing a Chair to preside over meetings, + authorize expenditures approved by the Governing Board, + and manage any day-to-day operations. +
      +
    1. + The Chair will be elected on an annual basis. +
    2. + The existing Chair will be allowed to stand for re-election. +
    +
  2. + Approving an annual budget comprising funds raised by DPDK + from all sources of revenue, + and approving expenditures in compliance with that budget. +
  3. + Overseeing all project business and marketing matters + including planning and executing DPDK events. +
  4. + Planning and management of all project lab resources. +
  5. + Adopting and maintaining administrative policies and procedures for DPDK + (subject to LF approval) including but not limited to a Code of Conduct, + a trademark policy and any compliance or certification policies. +
  6. + Approving procedures for the nomination and election of + (1) Silver Member representatives to the Governing Board, + and (2) any officer or other positions created by the Governing Board. +
  7. + Recruiting and approving new Gold and Silver members of the project. +
  8. + Approving any exceptions to the Intellectual Property Policy. +
  9. + Defining any non-technical criteria + (examples might include things like "no or minimal additional + budgetary requirements for the project") + that the Technical Board must consider when approving new sub-projects. + In the interim period until these criteria are defined and agreed + with the Technical Board, the Governing Board must approve new sub-projects + after the Technical Board has approved them. +
  10. + Voting on all matters requiring a decision from the Governing Board. +
+ +

Composition

+

+ The Governing Board shall consist of: +

    +
  1. + One representative appointed by each Gold Member + as specified in clause 4.d.a below. +
  2. + Up to two Silver Member representatives + as specified in clause 4.e.a below. +
  3. + One representative of the Technical Board, + to be nominated by the Technical Board on an annual basis. +
+ +

Conduct

+

+ Conduct of Governing Board meetings: +

    +
  1. + Governing Board meetings shall be limited to + the Governing Board representatives, + plus any other individuals that the Governing Board invites + because their input is required on specific agenda topics. + The Governing Board will allow a named representative to attend + as an alternate if a Governing Board member cannot attend. +
  2. + The quorum required for a meeting to proceed is a majority + (> 50%) of the Governing Board. +
  3. + For a vote to be passed on the following items, + a ⅔ majority (> 66%) of the total Governing Board is required + (not just a ⅔ majority of those in attendance at the meeting). + In the event of a deadlock the Governing Board Chair + shall have the casting vote. +
      +
    1. + Approval of any exceptions to the Intellectual Property Policy + (see section 6.c). +
    2. + Approval of any changes to this document + (see section 12). +
    +
  4. + For a vote to be passed on any other item, + a majority (> 50%) of the total Governing Board is required + (not just a majority of those in attendance at the meeting). + In the event of a deadlock the Governing Board Chair + shall have the casting vote. +
  5. + The Governing Board will encourage transparency, + including the public publication of meeting minutes + and reporting of budgets within a reasonable time + following their approval by the Governing Board. + When approving meeting minutes and budgets, + the Governing Board must approve any items which cannot be included + in the public versions for confidentiality reasons. +
    + Note: Examples of board discussions which should not be made public + might include things like legal issues, confidential budget discussions, + discussion on potential new project members that have not yet been made public, + etc. +
+ +

Technical Board

+ +

Scope

+

+ The Technical Board shall be responsible technical decision making + for the DPDK project. + Its scope does not include the other sub-projects + hosted on dpdk.org (Pktgen, SPP etc.). + A separate Technical Board may be established for other sub-projects + in future if any of them grows sufficiently large to require one. + Responsibilities of the Technical Board are: +

    +
  1. + Electing a Chair to preside over meetings, + and manage any day-to-day operations. +
      +
    1. + The Chair will be elected on an annual basis. +
    2. + The existing Chair will be allowed to stand for re-election. +
    +
  2. + Approving any new sub-projects, + including new "next" repositories for DPDK + and new DPDK-based apps like Pktgen and SPP. + The procedure and requirements for requesting a new sub-project + will be defined by the Technical Board. + The Technical Board will apply non-technical criteria + for new sub-projects that are defined by the Governing Board + (see section 3.1.1, point ix) + when making its decision on proposed new projects. + Requests can be submitted by emailing + techboard@dpdk.org. +
  3. + Deprecating any existing sub-projects. + The procedure for deprecation and archival + will be defined by the Technical Board. + Deprecation requests can be submitted by emailing + techboard@dpdk.org. +
  4. + Resolving any technical disputes. + Anybody who is unhappy with the resolution of a technical issue + can request that the Technical Board review the issue + and make a decision on it by emailing + techboard@dpdk.org. + This is only expected to happen in exceptional cases. + Before escalating to the Technical Board it is required that + all reasonable steps to resolve the dispute via consensus + are taken and recorded on the + dev@dpdk.org mailing list. + If the Technical Board Chair does not feel that this has happened, + they can refer the issue back to the complainant + for further action to be taken before escalating it to the Technical Board. +
    + The decision of the Technical Board on any technical disputes will be final + and all project contributors are expected to comply. + If a Maintainer or Committer fails to comply + with a decision of the Technical Board, + the Technical Board will be empowered to take + any necessary steps to enforce its decision, + including replacing that Maintainer/Committer. +
    + Note: Examples of issues that fall into this category might include + disagreements over which patches should/should not go into DPDK. +
  5. + Voting on all matters requiring a decision from the Technical Board. +
+ +

Composition

+

+ The Technical Board shall consist of: +

    +
  1. + The composition of the Technical Board is documented at: + http://dpdk.org/about/techboard. +
  2. + To be added to or removed from the Technical Board: +
      +
    1. + A candidate must be nominated by an existing member of the Technical Board and +
    2. + The Technical Board must review and approve the change. +
    +
  3. + When adding or removing members, the Technical Board must consider the following: +
      +
    1. + Positions on the Technical Board are determined based on technical merit. + A new member must have a strong history of contribution + (including reviews of other people's contributions) to the project. +
    2. + The Technical Board must ensure that it represents all parts of DPDK, + including support for all architectures that DPDK runs on. +
    3. + Employees of a single company should not occupy + more than 40% of the Tech Board seats. +
    4. + The Technical Board needs to be kept to a manageable size + so that decisions can be made in an effective way. +
    +
+ +

Conduct

+

+ Conduct of Technical Board meetings: +

    +
  1. + Technical Board meetings shall be open to the public. +
  2. + The quorum required for a meeting to proceed is a 70% majority + of the Technical Board. +
  3. + For a vote to be passed, a majority (> 50%) of the total Technical Board + is required (not just a majority of those in attendance at the meeting). + In the event of a deadlock the Technical Board Chair shall have the casting vote. +
  4. + Minutes of Technical Board meetings will be published publicly + within a reasonable time following their approval by the Technical Board. +
+ +

Membership

+
    +
  1. + DPDK is a free, open source project that welcomes all contributors. + Anybody can use or contribute to DPDK. + There is no requirement to be a member of the DPDK project + or a member of The Linux Foundation ("LF") to do so. +
  2. + The DPDK project shall have Gold and Silver Members, + independent of the technical contributors. + All Gold and Silver Members must be current + corporate members of The Linux Foundation (at any level). + Details of LF membership levels and rates are available in + The Linux Foundation Bylaws + + https://www.linuxfoundation.org/about/bylaws. +
  3. + All Gold and Silver Members enjoy the privileges + and undertake the obligations described in this DPDK Project Charter, + as from time to time amended by the Governing Board + with the approval of The Linux Foundation. + During the term of their membership, + all members will comply with all such policies + as the LF Board of Directors and/or the DPDK Governing Board + may from time to time adopt with notice to members. +
  4. + Gold Members shall be entitled to: +
      +
    1. + Appoint a representative to the Governing Board + and any other committees established by the Governing Board. +
    2. + Participate in an open DPDK performance lab + as outlined in section 4, clause f below. +
    3. + Be prominently identified as Gold sponsors of the project + at DPDK-funded events. + Specific details of how this will be implemented + will be determined by the Governing Board. +
    4. + Identify themselves as Gold Members of the project. +
    +
  5. + Silver Members shall be entitled to: +
      +
    1. + Annually elect one representative to the Governing Board + and any other committees established by the Governing Board + for every five (5) Silver Members, + up to a maximum of two (2) representatives. + The election process shall be determined + and published publicly by the Governing Board. +
    2. + Participate in an open DPDK performance lab + as outlined in section 4, clause f below. +
    3. + Be identified as Silver sponsors of the project + at DPDK-funded events. + Specific details of how this will be implemented + will be determined by the Governing Board. +
    4. + Identify themselves as Silver Members of the project. +
    +
  6. + Gold and Silver Members shall be entitled to participate in + an open DPDK Project performance lab (if created): +
      +
    1. + They will be able to contribute hardware + to be hosted in the lab for DPDK performance testing. +
    2. + They will be able to integrate software applications + into the performance test configuration within the lab. +
    3. + Limits on hardware and software contributions + for Gold and Silver Members will be determined by the Governing Board. + A higher priority will be given to Gold members + than to Silver members when determining these limits. +
    4. + Costs for hardware and software contributions + for Gold and Silver Members will be determined by the Governing Board. + The cost structure will take into account the fact that + Gold members have already contributed significantly + more funding to the project than Silver members. +
    +
+ +

Technical Governance

+

+ The Technical Board described in section 3.2 + provides overall technical guidance and direction for DPDK. +

+ Beyond that, each sub-project within DPDK shall be responsible + for its own technical governance and technical decision making, + including issues such as: +

    +
  1. + Determining the process and tools to be used + for development, CI, validation etc. +
  2. + Reviewing proposed changes (patches) + and making decisions on which patches are and are not accepted + into the project. +
  3. + Scheduling of releases. +
+

+ For the core DPDK project, technical governance is documented in + the Contributor's Guidelines + (http://dpdk.org/doc/guides/contributing/) + and on the DPDK.org Development web page + (http://dpdk.org/dev). +

+ For the other sub-projects within DPDK, + technical governance will be documented in a CONTRIBUTING.txt file + in the root directory for the sub-project. + See http://dpdk.org/browse/apps/pktgen-dpdk/tree/CONTRIBUTING.TXT for an example. + +

Intellectual Property Policy

+
    +
  1. + All new inbound contributions to DPDK + shall be made under the following licenses: +
      +
    1. + The GPLv2 license + (https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) + shall be used for code that runs in the kernel. Current examples of this are: +
        +
      1. + lib/librte_eal/linuxapp/igb_uio +
      2. + lib/librte_eal/linuxapp/kni +
      3. + lib/librte_eal/linuxapp/kni/ethtool/igb +
      4. + lib/librte_eal/linuxapp/kni/ethtool/ixgbe +
      +
    2. + A dual 3-clause BSD/GPLv2 license + (https://opensource.org/licenses/BSD-3-Clause, + https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) + or 3-clause BSD/LGPLv2 license + (https://opensource.org/licenses/BSD-3-Clause, + https://www.gnu.org/licenses/old-licenses/lgpl-2.0.en.html) + shall be used for code that is shared between the kernel and userspace. + Current examples of this are: +
        +
      1. + BSD/GPLv2: +
          +
        1. + All files in: drivers/crypto/qat/qat_adf/ +
        2. + lib/librte_eal/common/include/rte_pci_dev_features.h, + rte_pci_dev_feature_defs.h +
        3. + lib/librte_eal/linuxapp/xen_dom0/dom0_mm_dev.h, + dom0_mm_misc.c +
        +
      2. + BSD/LGPLv2: +
          +
        1. + lib/librte_eal/bsdapp/eal/include/exec-env/rte_dom0_common.h +
        2. + lib/librte_eal/linuxapp/eal/include/exec-env/rte_dom0_common.h, + rte_kni_common.h +
        +
      +
    3. + The 3-clause BSD license + (https://opensource.org/licenses/BSD-3-Clause) + shall be used for all other contributions. +
    +
  2. + All contributions shall include a "Signed-off-by:" line + which certifies that the contribution complies with + the Developer Certificate of Origin + (http://developercertificate). +
  3. + If an alternative inbound or outbound license is required + for compliance with the license for a leveraged open source project + or is otherwise required to achieve DPDK's Mission, + the Governing Board may approve the use of an alternative license + for specific inbound or outbound contributions on an exception basis. + Any exceptions must be approved + by a two-thirds vote of the entire Governing Board + and must be limited in scope to what is required for such purpose. +
  4. + Subject to available Project funds, + DPDK may engage The Linux Foundation to determine the availability of, + and register, trademarks, service marks, and certification marks, + which shall be owned by the LF. +
+ +

Budget

+
    +
  1. + The Governing Board shall approve an annual budget + and never commit to spend in excess of funds raised. + The budget and the purposes to which it is applied + shall be consistent with the non-profit mission of The Linux Foundation. +
  2. + The Linux Foundation shall provide the Governing Board + with regular reports of spend levels against the budget. + In no event will The Linux Foundation have any obligation + to undertake any action on behalf of DPDK or otherwise related to DPDK + that will not be covered in full by funds raised by DPDK. +
  3. + In the event any unbudgeted or otherwise unfunded obligation + arises related to DPDK, The Linux Foundation will coordinate + with the Governing Board to address gap funding requirements. +
  4. + As described in 3.1.3 clause v, + the Governing Board will publish a public version of the budget. + Questions on the budget should be addressed to the Governing Board. +
+ +

General & Administrative Expenses

+
    +
  1. + The Linux Foundation shall have custody of and final authority + over the usage of any fees, funds and other cash receipts. +
  2. + A General & Administrative (G&A) fee + will be applied by the Linux Foundation + to funds raised to cover Finance, Accounting, and operations. + The G&A fee shall equal 9% of DPDK's first $1,000,000 of gross receipts + and 6% of DPDK's gross receipts over $1,000,000. +
  3. + Under no circumstances shall The Linux Foundation be expected or required + to undertake any action on behalf of DPDK that is inconsistent + with the tax exempt purpose of The Linux Foundation. +
+ +

Antitrust Guidelines

+
    +
  1. + All members shall abide by The Linux Foundation Antitrust Policy + available at + http://www.linuxfoundation.org/antitrust-policy. +
  2. + All members shall encourage open participation + from any organization able to meet the membership requirements, + regardless of competitive interests. + Put another way, the Governing Board shall not seek to exclude any member + based on any criteria, requirements or reasons other than those that + are reasonable and applied on a non-discriminatory basis to all members. +
+ +

Code of Conduct

+
    +
  1. + The Governing Board may adopt a specific Project code of conduct, + with approval from the LF. +
  2. + All participants in LF Project events shall abide by + The Linux Foundation Events Code of Conduct, available at: + + http://events.linuxfoundation.org/EVENT-CODE-OF-CONDUCT. +
+ +

General Rules and Operations

+

+ The DPDK project shall be conducted so as to: +

    +
  1. + Engage in the work of the project in a professional manner + consistent with maintaining a cohesive community, + while also maintaining the goodwill and esteem + of The Linux Foundation in the open source software community; +
  2. + Respect the rights of all trademark owners, + including any branding and usage guidelines; +
  3. + Engage The Linux Foundation for + all DPDK press and analyst relations activities; +
  4. + Upon request, provide information regarding project participation, + including information regarding attendance at project-sponsored events, + to The Linux Foundation; +
  5. + Coordinate with The Linux Foundation in relation to + any websites created directly for DPDK; and +
  6. + Operate under such rules and procedures + as may from time to time be approved by the Governing Board + and confirmed by The Linux Foundation. +
+ +

Amendments

+
    +
  1. + This charter may be amended by a two-thirds vote of + the entire Governing Board, + subject to approval by The Linux Foundation. + Proposed changes must be communicated publicly + to the community prior to being approved by the Governing Board. +
+ +
diff --git a/about/techboard.html b/about/techboard.html index 5bcb6bc..241a13d 100644 --- a/about/techboard.html +++ b/about/techboard.html @@ -39,8 +39,7 @@

Technical Board

-

More high level details are defined in the -charter.

+

More high level details are defined in the charter.

Scope

The decision making process is primarily based on consensus. @@ -91,7 +90,8 @@ However, the technical discussions should happen in the original thread.

Roles

  • The new project repositories must be approved by the Technical Board, - while applying the non-technical criteria defined by the Governing Board. + while applying the non-technical criteria defined by + the Governing Board.
  • If a patch does not receive any or enough comment, the board may discuss it in order to provide an input on the mailing list.
  • If there is no consensus in a discussion, a decision can be taken diff --git a/content.css b/content.css index 1b3d05d..4336558 100644 --- a/content.css +++ b/content.css @@ -2,9 +2,15 @@ section { line-height: 1.3em; } +section h1 { + margin: 0; + text-align: center; + font: italic bold 2em 'exo2', sans-serif; +} + section h2 { margin: 1.5em 0 0.7em 0; - font: bold 2em 'exo2',sans-serif; + font: bold 2em 'exo2', sans-serif; } section h2:first-child { margin-top: 0; @@ -18,7 +24,12 @@ section h3 em { section h3 { margin: 1em 0 0.7em 0; - font: bold 1.4em 'exo2',sans-serif; + font: bold 1.4em 'exo2', sans-serif; +} + +section h4 { + margin: 1em 0 0.7em 0; + font: bold 1.2em 'exo2', sans-serif; } section p, @@ -26,9 +37,16 @@ section pre { margin-top: 1em; } section ul, +section ol, section pre { - margin-left: 3em; + margin-left: 1em; } +@media (min-width: 700px) { +section ul, +section ol, +section pre { + margin-left: 3em; +}} section#news ul { list-style-type: none; @@ -119,6 +137,46 @@ section#events .button { padding: 1em 3em; } +section#charter h1 { + counter-reset: h2; +} +section#charter h2 { + counter-reset: h3; +} +section#charter h3 { + counter-reset: h4; +} +section#charter h2:before { + counter-increment: h2; + content: counter(h2) ". "; +} +section#charter h3:before { + counter-increment: h3; + content: counter(h2) "." counter(h3) ". "; +} +section#charter h4:before { + counter-increment: h4; + content: counter(h2) "." counter(h3) "." counter(h4) ". "; +} +@media (min-width: 700px) { +section#charter > p, +section#charter > ol { + padding: 0 3em 0 2em; +}} +section#charter p, +section#charter ol { + text-align: justify; + text-justify: inter-word; +} +section#charter li { + margin-top: 0.6em; +} +section#charter em { + font-style: inherit; + font-weight: bold; + text-decoration: underline; +} + section hr { margin: 2em 0 1em 0; border: 0; -- 2.7.0