From 36baee2609922f040acf89b1856dc67e21bd8031 Mon Sep 17 00:00:00 2001 From: Sebb Date: Mon, 3 Mar 2025 17:38:48 +0000 Subject: [PATCH 1/9] Initial draft of announce@ requirements --- content/press/announce-emails.md | 58 ++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 content/press/announce-emails.md diff --git a/content/press/announce-emails.md b/content/press/announce-emails.md new file mode 100644 index 0000000000..768ad40ff4 --- /dev/null +++ b/content/press/announce-emails.md @@ -0,0 +1,58 @@ +Title: Content of Announce Emails +license: https://www.apache.org/licenses/LICENSE-2.0 + +# announce@pache.org mailing list + + **** DRAFT DRAFT **** + **** DRAFT DRAFT **** + **** DRAFT DRAFT **** + +## Scope + +The announce@apache.org mailing list is intended for announcements such as new releases and security announcements. +It is a shared list for all ASF projects, so it is important that any emails are written to be understood by +the general reader -- who may have no knowledge of a particular project. + +## Subject line (announcements) + +It is vital that the subject line accurately describes the email content. +Readers should not be expected to read the email to determine whether or not it may be relevant to them. + +The following is a good example: + +Subject: [ANNOUNCE] Apache Example 3.11 released + +The following does not give enough detail: + +Subject: [ANNOUNCE] New version of our CLI tool + +Note: announcement subjects should start with the prefix [ANNOUNCE] or perhaps [ANN]. +There is no need to use [ANNOUNCEMENT] as that takes up space unnecessarily. + +## Body Content (announcements) + +The email content needs to be concise, but with sufficient detail that the reader does not have to +read further to decide whether it applies to them. + +Remember that the readership may have no idea what your project is about, so the body should +include a brief description of the project/product. + +It should also include basic info on why this release is important: are there any security +fixes, or significant changes/improvements. +If not, and it is just a mix of fixes and minor improvement, say so. +Do not include a detailed list of all changes. + +Include a link to the detailed changes for this release. +Ideally that page should highlight any major changes and security fixes. + +Include a link to the download page where the reader can download the source package. + +It is also useful to include a direct link to the project home page. + +## CVE emails + +These are now generated automatically. + +## Other emails + +TBA \ No newline at end of file From 94aa6209c5ab9d0c6ba48d94eb80e3c1cffbd4c1 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Thu, 6 Mar 2025 21:04:43 +0100 Subject: [PATCH 2/9] minor typo in header --- content/press/announce-emails.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/press/announce-emails.md b/content/press/announce-emails.md index 768ad40ff4..43dd3e6369 100644 --- a/content/press/announce-emails.md +++ b/content/press/announce-emails.md @@ -1,7 +1,7 @@ Title: Content of Announce Emails license: https://www.apache.org/licenses/LICENSE-2.0 -# announce@pache.org mailing list +# announce@apache.org mailing list **** DRAFT DRAFT **** **** DRAFT DRAFT **** @@ -55,4 +55,4 @@ These are now generated automatically. ## Other emails -TBA \ No newline at end of file +TBA From d842b0ab6da810347cf772887c894a834ee2f6ba Mon Sep 17 00:00:00 2001 From: Sebb Date: Sat, 22 Mar 2025 01:03:04 +0000 Subject: [PATCH 3/9] Sync with main (#471) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * SHA-1 is deprecated (#452) * Improve reference to voting rules from the voting process page (#441) Signed-off-by: tison * Update styles.css * Fixed the issue 412 ->Focus to glyphicon-search with necesaary delay (#455) (#456) Co-authored-by: Imvedansh <113465074+Imvedansh@users.noreply.github.com> Co-authored-by: Imvedansh * Update README.md * Fix bad link (#454) * Clarify calendar change info * Update index.md * Update members.md Fixes #459 * Update leadership.ezmd - Tooling is a Corporate Officer (#461) * Update to latest version of pagefind (#445) * Experiment with pagefind 1.3.0 * Trigger build * Trigger build * Trigger build * Trigger build * Sync with main (#442) * Trigger build * Add Cargurus, Update netapp instaclustr, Remove Cerner and Aetna. * Fix netapp image name * Update verification.md (#434) * += ECMA Relations (#435) * Add template for sending a PMC roll call (#437) * Add te,plate for sending a PMC roll call * Formatting and suggested mail headers * weird stray whitespace * Update Apache STeVe repo link to GitHub location * add apache nifi (#433) * Fix formatting * Add info on site build [skip ci] * OF: docn re featured projects * PMC Roll call text tweaks for consistency (#438) * PMC Roll call text tweaks for consistency * Grammar --------- Co-authored-by: Sebb --------- Co-authored-by: bob Co-authored-by: Andrew Wetmore Co-authored-by: Rich Bowen Co-authored-by: Shane Curcuru Co-authored-by: dahn Co-authored-by: Mark Thomas * Dummy change to trigger build * Update to jquery 3.7.1 * Dummy change * Dummy change 2 * Dummy change 3 * Dummy change 4 * Bump --------- Co-authored-by: bob Co-authored-by: Andrew Wetmore Co-authored-by: Rich Bowen Co-authored-by: Shane Curcuru Co-authored-by: dahn Co-authored-by: Mark Thomas * Update to jquery 3.7.1 (#443) * Update members.md * Update members.md * Update members.md * Update gopidesu to members.md * Add a section on "Expedited Releases" to the Release Policy (#457) * Add a section on "Expedited Releases" to the Release Policy * Feedback on "Expedited Releases" change from raboof Co-authored-by: Arnout Engelen * Feedback on "Expedited Releases" change from potiuk Co-authored-by: Jarek Potiuk * Feedback on "Expedited Releases" change from sebbASF * Feedback on "Expedited Releases" change from markt-asf * Feedback on "Expedited Releases" change from @tisonkun & @justinmclean (remove SHOULD definition) --------- Co-authored-by: Arnout Engelen Co-authored-by: Jarek Potiuk * OF: http://svn.apache.org/viewvc => https Note: README files do not form part of the generated website * Workround for asfyaml newgen parsing bug Tested in preview/prevgen branch * Update members.md added myself (doebele) * Fix up recent changes to member status * Tidy up .asf.yaml (#463) No need for minimum_page_count work-round any more Drop profile from publish stanza (no longer tolerated by parser) Fix link to documentation * Update target lists Update the target mailing lists for some notification settings because site-cvs@apache.org does not seem to exist. This might need further tweaking. * Revert "Update target lists" Sorry, wrong repository This reverts commit 0932e449a77cd60cca3ecdb6b07de00aa5c9f26b. * Add djoshi to members.md * Point security.txt to more 'guided' reporting instructions (#464) https://security.apache.org/report/ makes it clearer what to do when you want to report an issue with the ASF infrastructure, dependencies, or in our own code. * Update .htaccess, expose our CSP headers to fetch() * Remove legacy atom refs (#466) Signed-off-by: tison * home.a.o => people.a.o (#467) home is an alias for people, but is deprecated as a name. This is because it is not longer avaliable as a home for user files * Preview/paulau (#470) * adding asf initiatives page * updating initiatives content - removing member triggering build error * Restore cutting to file in emeritus section * Update sponsorship.md Updated with new ASF Initiatives copy approved by @bobpaulin * Ensure job failures are logged --------- Signed-off-by: tison Co-authored-by: tison Co-authored-by: Brian Proffitt Co-authored-by: Imvedansh <113465074+Imvedansh@users.noreply.github.com> Co-authored-by: Imvedansh Co-authored-by: Sidney Markowitz Co-authored-by: Dave Fisher Co-authored-by: bob Co-authored-by: Andrew Wetmore Co-authored-by: Rich Bowen Co-authored-by: Shane Curcuru Co-authored-by: dahn Co-authored-by: Mark Thomas Co-authored-by: Junkai Co-authored-by: Twice Co-authored-by: Gang Wu Co-authored-by: GPK Co-authored-by: Niall Pemberton Co-authored-by: Arnout Engelen Co-authored-by: Jarek Potiuk Co-authored-by: Rainer Döbele Co-authored-by: Ruediger Pluem Co-authored-by: Dinesh Co-authored-by: Arnout Engelen Co-authored-by: Daniel Gruno Co-authored-by: Paul Au Co-authored-by: Melissa Logan (she/her) --- .asf.yaml | 5 ++-- README.md | 14 ++++----- content/.htaccess | 3 ++ content/.well-known/security.txt | 6 ++-- content/README.md | 2 +- content/board/services.md | 2 +- content/css/styles.css | 37 +++++++++++++++++++++++- content/dev/infrastructure.md | 2 +- content/dev/pmc.md | 8 ++--- content/foundation/.htaccess | 4 +-- content/foundation/README.md | 2 +- content/foundation/glossary.md | 28 ++++++++++++++---- content/foundation/governance/members.md | 1 - content/foundation/how-it-works/index.md | 3 +- content/foundation/how-it-works/legal.md | 1 - content/foundation/initiatives.md | 36 +++++++++++++++++++++++ content/foundation/leadership.ezmd | 2 +- content/foundation/members.md | 29 +++++++++++-------- content/foundation/sponsorship.md | 6 ++++ content/foundation/voting.md | 31 ++++++++++---------- content/free/README.md | 2 +- content/history/index.md | 1 - content/js/jquery.min.js | 4 +-- content/legal/3party.md | 1 - content/legal/README.md | 2 +- content/legal/generative-tooling.md | 1 - content/legal/index.md | 1 - content/legal/ramblings.md | 1 - content/legal/release-policy.md | 33 +++++++++++++++++++-- content/legal/resolved.md | 1 - content/legal/src-headers.md | 2 -- content/licenses/README.md | 2 +- pagefind.sh | 9 ++---- theme/apache/templates/README.md | 2 +- theme/apache/templates/base.html | 16 ++++++++++ 35 files changed, 216 insertions(+), 84 deletions(-) create mode 100644 content/foundation/initiatives.md diff --git a/.asf.yaml b/.asf.yaml index 03a8544db3..a38ff85629 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -1,4 +1,4 @@ -# See: https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features +# See: https://github.com/apache/infrastructure-asfyaml/blob/main/README.md github: features: # Enable issue management @@ -11,6 +11,7 @@ github: notifications: commits: site-cvs@apache.org issues: site-cvs@apache.org + jobs: site-cvs@apache.org pullrequests: site-cvs@apache.org jira_options: link label commits_by_path: @@ -49,6 +50,4 @@ staging: autostage: preview/* publish: - profile: ~ whoami: asf-site - diff --git a/README.md b/README.md index d903a717ee..8fd586109c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Apache Software Foundation Website (www.apache.org) -This repository provides the source for the main website of The Apache Software Foundation. +This repository provides the source for the main website of The Apache Software Foundation. The content and design of the site is the responsibility of VP, Marketing and Publicity. Any proposed improvements or fixes should have issues created first, to be approved by VP, M&P. - [Production website](https://www.apache.org/) @@ -43,16 +43,16 @@ The build is triggered by changes to the source, and also every 8 hours (current - [ASF Data Load](asfdata.yaml) -- ASF metadata to be used by ezt and Pelican. See [asfdata.py](https://github.com/apache/infrastructure-pelican/blob/master/plugins/asfdata.py). - [ASF YAML Pelican Build](.asf.yaml) -- ASF infrastructure instructions. -The [svn history](http://svn.apache.org/viewvc/infrastructure/site/trunk/) was not migrated and remains available. +The [svn history](https://svn.apache.org/viewvc/infrastructure/site/trunk/) was not migrated and remains available. -Foundation records, including minutes of Board meetings, remain in [svn](http://svn.apache.org/viewvc/infrastructure/site/trunk/content/foundation/records/), +Foundation records, including minutes of Board meetings, remain in [svn](https://svn.apache.org/viewvc/infrastructure/site/trunk/content/foundation/records/), except for the [index page](content/foundation/records/index.md). -Whimsy maintains the [board calendar - calendar.md](https://svn.apache.org/repos/asf/infrastructure/site/trunk/content/foundation/board/calendar.md) +The Secretary maintains the [board calendar - calendar.md](https://svn.apache.org/repos/asf/infrastructure/site/trunk/content/foundation/board/calendar.md) in SVN. At the start of each build, a setup entry in [pelicanconf.yaml](pelicanconf.yaml) calls the [get_calendar.sh](get_calendar.sh) script, which copies the calendar into `content/foundation/board`. - -Changes to the file do not automatically trigger a build, but the file changes rarely (about once a month) -and there are regular builds which pick up changes within an hour or so. +Changes to the calendar file do not automatically trigger a build, but the file changes rarely +(about once a month, when the minutes are published) +and there are regular builds which pick up any changes. ## Local development and testing diff --git a/content/.htaccess b/content/.htaccess index 6bf7a53f21..427921bd9f 100644 --- a/content/.htaccess +++ b/content/.htaccess @@ -8,3 +8,6 @@ Redirect /travel https://tac.apache.org Redirect /apache-name /history ErrorDocument 404 /404 + +# Expose this for CSP builders +Header set Access-Control-Expose-Headers: Content-Security-Policy diff --git a/content/.well-known/security.txt b/content/.well-known/security.txt index b9a223e78f..83a18e9b2a 100644 --- a/content/.well-known/security.txt +++ b/content/.well-known/security.txt @@ -1,8 +1,8 @@ -Contact: https://apache.org/security/ -Policy: https://apache.org/security/ +Contact: https://security.apache.org/report/ +Policy: https://security.apache.org/report/ # https://www.apache.org/foundation/policies/conduct#diversity-statement Preferred-Languages: en # https://www.rfc-editor.org/rfc/rfc9116#section-2.5.5 -Expires: 2025-06-19T00:00:00Z +Expires: 2026-03-18T00:00:00Z diff --git a/content/README.md b/content/README.md index c3024f2aa1..12d38dedf7 100644 --- a/content/README.md +++ b/content/README.md @@ -50,4 +50,4 @@ For nontrivial changes, create a Pull Request and start a discussion with the st For trivial changes commit your changes and let the stakeholders know. -The [svn history](http://svn.apache.org/viewvc/infrastructure/site/trunk/content) was not migrated and remains available. +The [svn history](https://svn.apache.org/viewvc/infrastructure/site/trunk/content) was not migrated and remains available. diff --git a/content/board/services.md b/content/board/services.md index 5f587735bb..a191b22004 100644 --- a/content/board/services.md +++ b/content/board/services.md @@ -34,7 +34,7 @@ that PMCs can use to self-evaluate. You can [contact ComDev](https://community. Example services include: [Board Report Helper](https://reporter.apache.org/), [Project Community Health Tips](https://reporter.apache.org/chi.py), -[Apache Committer 'Phone Book' listing](https://home.apache.org/), +[Apache Committer 'Phone Book' listing](https://people.apache.org/), [Mentoring ideas](https://community.apache.org/mentoringprogramme.html), and [Google Summer of Code assistance](https://community.apache.org/gsoc.html). diff --git a/content/css/styles.css b/content/css/styles.css index 48f405a081..eed3c46a5f 100644 --- a/content/css/styles.css +++ b/content/css/styles.css @@ -112,6 +112,40 @@ section { margin-bottom: 100px; } +.initiatives-block { margin-top: 40px; padding: 0 20px;} +.initiatives-block h3 {margin-top: 0px; margin-bottom: 40px;} +.init-progress-bar{ + background-color: #fff; + border: 3px solid #333; + border-radius: 20px; + padding: 2px; + height: 30px; +} + +.init-progress-bar-fill { + background-image: linear-gradient(90deg, #f38e18,#cb2437, #662F8F); + height: 100%; + border-radius: 20px; + position: relative; +} + +.init-progress-bar-text { + position: absolute; + left: calc(100% - 7.5px); + bottom: calc(100% + 5px); + font-size: 14px; + display: flex; + align-items: center; +} +.triangle { width: 0px; + height: 0px; + border-style: solid; + border-width: 12px 7.5px 0 7.5px; + border-color: #000000 transparent transparent transparent; + transform: rotate(0deg); + margin-right: 5px; +} + @media (max-width: 768px) { .search-form.dropdown-menu {position: relative; left: auto; top: auto; padding: 0; display: block; max-width: calc(100% - 20px); margin-left: 10px} .search-form::before {content: 'search'; margin: 30px auto; position: absolute; top: -30px; color: #fff; left: 5px;} @@ -600,6 +634,7 @@ a.white:hover { } /* Add Skip to Content Link */ +/* This feature is for visitors some form of vision impairment, using screen readers - it rarely needs to be visible */ #skiptocontent a { padding: 10px 14px; position: absolute; @@ -620,4 +655,4 @@ a.white:hover { outline: none; webkit-transition: top .1s ease-in; transition: top .1s ease-in; -} \ No newline at end of file +} diff --git a/content/dev/infrastructure.md b/content/dev/infrastructure.md index 1595b9048b..3943d0860f 100644 --- a/content/dev/infrastructure.md +++ b/content/dev/infrastructure.md @@ -37,7 +37,7 @@ Infra uses many Apache software applications, including: - [Directory Studio](http://directory.apache.org/studio/) Infra also uses and maintains a selection of [in-house projects](https://svn.apache.org/repos/infra/infrastructure/trunk/projects/), -including the [committers index](http://home.apache.org/committer-index.html) and the [committers' URL Shortener](http://s.apache.org/). +including the [committers index](http://people.apache.org/committer-index.html) and the [committers' URL Shortener](http://s.apache.org/). ## Useful links {#infra} diff --git a/content/dev/pmc.md b/content/dev/pmc.md index 1135bba8d1..3cd1f9d392 100644 --- a/content/dev/pmc.md +++ b/content/dev/pmc.md @@ -118,7 +118,7 @@ maintain the confidentiality of messages on privately-archived mailing lists. ## How to perform the duties of the PMC chair {#chair} See the [definition of PMC and chair](../foundation/how-it-works.html#pmc) -, and be familiar with the [ASF Bylaws](../foundation/bylaws.html). The [advice for new PMC chairs](/pmc-chair.html) has additional useful information. +, and be familiar with the [ASF Bylaws](../foundation/bylaws.html). The [advice for new PMC chairs](pmc-chair.html) has additional useful information. ### Review board meeting minutes about their project PMC chairs should monitor the minutes of board meetings for entries that are relevant to their @@ -453,7 +453,7 @@ a board member. Your PMC needs to work with the new committer to ensure that their CLA is received and recorded properly, so you need to monitor the file `iclas.txt` in the `foundation/officers` repository. Only ASF members and officers (PMC chairs) have access. The Apache Phone Book -has an [Unlisted CLAs](https://home.apache.org/unlistedclas.html) page +has an [Unlisted CLAs](https://people.apache.org/unlistedclas.html) page which is generated daily from the `iclas.txt` file, and recently received CLAs appear there. @@ -641,8 +641,8 @@ There are two main ways to check the membership of PMCs and LDAP groups: - Committers can view, and PMC chairs can update, PMC rosters using [Whimsy](https://whimsy.apache.org/roster/committee/). - - Anyone may view Apache Phonebook pages at [https://home.apache.org/phonebook.html](https://home.apache.org/phonebook.html). -From there you can link to a specific PMC like this: [home.apache.org/phonebook.html?pmc=gump](https://home.apache.org/phonebook.html?pmc=gump) + - Anyone may view Apache Phonebook pages at [https://people.apache.org/phonebook.html](https://people.apache.org/phonebook.html). +From there you can link to a specific PMC like this: [people.apache.org/phonebook.html?pmc=gump](https://people.apache.org/phonebook.html?pmc=gump) Please allow time for any changes to LDAP and committee-info.txt to propagate to the Phonebook app. diff --git a/content/foundation/.htaccess b/content/foundation/.htaccess index 820f155e49..44d819ff49 100644 --- a/content/foundation/.htaccess +++ b/content/foundation/.htaccess @@ -1,7 +1,7 @@ RedirectMatch /foundation/ASF_Contributor_License_\d(_form)?\.pdf$ /licenses/#clas RedirectMatch permanent /foundation/roles.html(.*)$ /foundation/how-it-works.html$1 -Redirect /foundation/committers.html https://home.apache.org/committer-index.html -Redirect /foundation/projects.html https://home.apache.org/committers-by-project.html +Redirect /foundation/committers.html https://people.apache.org/committer-index.html +Redirect /foundation/projects.html https://people.apache.org/committers-by-project.html Redirect /foundation/licence-FAQ.html /foundation/license-faq.html Redirect /foundation/contributing-v5.html /foundation/contributing.html Redirect /foundation/policies/privacy.html https://privacy.apache.org/policies/privacy-policy-public.html diff --git a/content/foundation/README.md b/content/foundation/README.md index a7ee86cace..9fb5f5c4ce 100644 --- a/content/foundation/README.md +++ b/content/foundation/README.md @@ -31,7 +31,7 @@ For nontrivial changes make a Pull Request and start a discussion with the stake For trivial changes commit and let the stakeholders know. -The [svn history](http://svn.apache.org/viewvc/infrastructure/site/trunk/content/foundation) was not migrated and remains available. +The [svn history](https://svn.apache.org/viewvc/infrastructure/site/trunk/content/foundation) was not migrated and remains available. # Previewing proposed changes diff --git a/content/foundation/glossary.md b/content/foundation/glossary.md index 4ffd3dc867..6db77e0145 100644 --- a/content/foundation/glossary.md +++ b/content/foundation/glossary.md @@ -178,6 +178,8 @@ The official developer and user conference of the ASF (see the 'Consensus approval' refers to a [vote](#Vote) (sense 1) which has completed with **at least three binding +1 votes** and **no** [vetos](#Veto). Compare [Majority Approval](#MajorityApproval). +Also see see [Lazy Consensus](#LazyConsensus), +and the description of the [voting process](voting.html). @@ -366,9 +368,9 @@ technical contributions.") (Also called 'lazy approval'.) A decision-making policy which assumes general consent if no responses are posted within a defined period. For example, "I'm going to commit this by lazy consensus if no-one -objects within the next three days." Also see [Consensus Approval](#ConsensusApproval) , -[Majority Approval](#MajorityApproval) , and the description of the [voting -process](voting.html). +objects within the next three days." Also see [Consensus Approval](#ConsensusApproval), +[Majority Approval](#MajorityApproval), and the description of the +[voting process](voting.html). @@ -389,9 +391,10 @@ Refers to a [vote](#Vote) (sense 1) which has completed with **at least three binding +1 votes** and more +1 votes than -1 votes. ( *I.e.* , a simple majority with a minimum quorum of three positive votes.) Note that in votes requiring majority approval a -1 vote is -simply a vote against, **not** a [veto](#Veto). Compare -[Consensus Approval](#ConsensusApproval). See also the description of the [voting -process](voting.html). +simply a vote against, **not** a [veto](#Veto). +Compare [Consensus Approval](#ConsensusApproval). +Also see see [Simple Majority](#SimpleMajority), +and the description of the [voting process](voting.html). @@ -646,6 +649,19 @@ See [ReviewThenCommit](#ReviewThenCommit) +
Simple Majority {#SimpleMajority}
+ +
+ +Refers to a [vote](#Vote) (sense 1) which has completed with +more +1 votes than -1 votes. Note that in votes requiring +majority approval a -1 vote is simply a vote against, **not** a [veto](#Veto). +Compare [Lazy Consensus](#LazyConsensus). +Also see see [Majority Approval](#MajorityApproval), +and the description of the [voting process](voting.html). + +
+
Software Darwinism {#SoftwareDarwinism}
diff --git a/content/foundation/governance/members.md b/content/foundation/governance/members.md index a41ad25d95..f3b61d3bbe 100644 --- a/content/foundation/governance/members.md +++ b/content/foundation/governance/members.md @@ -186,7 +186,6 @@ of the Apache Way, and usually get involved in more projects as time goes on. * Who They Are: [Current Members and Committers by Project](http://people.apache.org/committer-index.html) * [Bylaws of the ASF](/foundation/bylaws.html) * [Org chart of the ASF](orgchart.html) -* [Graph of Membership Growth](http://people.apache.org/~curcuru/timeline/members.html) * [How Members Are Elected](/foundation/governance/meetings#membervoting) * Members have access to additional resources listed on the _foundation/private-index page_ in svn. diff --git a/content/foundation/how-it-works/index.md b/content/foundation/how-it-works/index.md index 5a9d303b8e..c3b9c125ee 100644 --- a/content/foundation/how-it-works/index.md +++ b/content/foundation/how-it-works/index.md @@ -1,4 +1,3 @@ -Atom: http://mail-archives.apache.org/mod_mbox/www-community/?format=atom Title: How the ASF works Notice: http://www.apache.org/licenses/LICENSE-2.0 @@ -294,7 +293,7 @@ nature of the various communities. ### Documentation -Each project is responsible for its own [project website](https://home.apache.org/committers-by-project.html). +Each project is responsible for its own [project website](https://people.apache.org/committers-by-project.html). Further information to assist committers, developers, and PMCs is available at [ASF Infrastructure](/dev/). diff --git a/content/foundation/how-it-works/legal.md b/content/foundation/how-it-works/legal.md index 6c65ae7aa2..021c248c24 100644 --- a/content/foundation/how-it-works/legal.md +++ b/content/foundation/how-it-works/legal.md @@ -1,5 +1,4 @@ Title: ASF Development Process -Atom: http://mail-archives.apache.org/mod_mbox/www-legal-discuss/?format=atom Notice: http://www.apache.org/licenses/LICENSE-2.0 # {{title}} diff --git a/content/foundation/initiatives.md b/content/foundation/initiatives.md new file mode 100644 index 0000000000..5ad0aa00e7 --- /dev/null +++ b/content/foundation/initiatives.md @@ -0,0 +1,36 @@ +Title: ASF Initiatives | Apache Software Foundation +license: https://www.apache.org/licenses/LICENSE-2.0 + +# ASF Initiatives + +ASF Initiatives are specific Targeted Sponsorships that provide additional financial support for Foundation governance operations, open source projects, and project communities. + +The first to launch is the ASF Tooling Initiative (March 2025), created to meet the growing global demand for ASF software by hardening ubiquitous Apache projects that benefit the greater open source ecosystem. + +## Tooling Initiative + +The [Tooling Initiative](http://tooling.apache.org/) helps ASF’s open source project communities streamline development, automate repetitive tasks, reduce technical debt, and better collaborate. Additional Initiatives are in the planning stages including security capabilities that meet the EU's Cyber Resilience Act (CRA) and US’s CISA recommendations. New products being developed under the Tooling Initiative are separate from the tools developed by [ASF Infrastructure](https://infra.apache.org/). + +The Initiative requires an increase to the ASF's annual budget by $500K per year to maintain the Foundation's commitment to the highest standards of software development and community support. To meet these financial goals, the ASF has launched a new fundraising campaign to fund its Tooling Initiative. We thank [Alpha-Omega](https://alpha-omega.dev/) for contributing funds to seed the initiative. + +
+
+

Progress Towards 3-year funding goal

+
+
+
33%
+
+
+
+
+ +## Pledge Your Support + +Organizations interested in supporting the ASF Tooling Initiative are invited to become Sponsors at the following levels: + +* Gold - investment $50,000/year +* Platinum - investment $125,000/year + +Sponsors of the ASF Tooling Initiative enjoy the same benefits of [ASF Targeted Sponsors](https://apache.org/foundation/sponsorship.html) at their corresponding level. Custom sponsorships exceeding the above thresholds are also available. As with all Targeted Sponsorships, the ASF requires a three-year commitment to ensure continuity of service. + +To learn more and sponsor, email [fundraising@apache.org](mailto:fundraising@apache.org). diff --git a/content/foundation/leadership.ezmd b/content/foundation/leadership.ezmd index 214529a8c5..e6021b2351 100644 --- a/content/foundation/leadership.ezmd +++ b/content/foundation/leadership.ezmd @@ -45,7 +45,6 @@ A timeline of who has served on the ASF Bo | Assistant V.P., [[]Legal Affairs](/legal/) | [{ ci[assistantvplegalaffairs][roster] }] | | V.P., [[]Security](/security/) | [{ ci[security][chair] }] | | V.P., [[]W3C Relations](https://whimsy.apache.org/board/minutes/W3C_Relations.html) | [{ ci[w3crelations][roster] }] | -| V.P., Tooling | [{ ci[tooling][roster] }] | ## CORPORATE OFFICERS @@ -61,6 +60,7 @@ A timeline of who has served on the ASF Bo | V.P., [[]Infrastructure](/dev/infrastructure.html) | [{ ci[infrastructure][roster] }] | | [[]Infrastructure Administrator](/dev/infrastructure.html) | [{ ci[infrastructureadministrator][roster] }] | | V.P., [[]Marketing and Publicity](/press/) | [{ ci[marketingandpublicity][chair] }] | +| V.P., Tooling | [{ ci[tooling][roster] }] | | V.P., [[]Travel Assistance](https://tac.apache.org/) | [{ ci[tac][chair] }] | | V.P., Public Affairs | [{ ci[publicaffairs][chair] }] | diff --git a/content/foundation/members.md b/content/foundation/members.md index 8cd513bab7..60ddedbbba 100644 --- a/content/foundation/members.md +++ b/content/foundation/members.md @@ -50,7 +50,6 @@ This table shows current and emeritus members who have manually added themselves | asifdxtreme | [Mohammad Asif Siddiqui](https://asifdxr.netlify.app) | Incubator, Nuttx, Servicecomb | | aslom | Alek Slominski | | ate | [Ate Douma](http://home.apache.org/~ate/) | [Airavata](https://airavata.apache.org/), [AsterixDB](https://asterixdb.apache.org/), [Commons](https://commons.apache.org/), [Incubator](https://incubator.apache.org/), [NetBeans](https://netbeans.apache.org/), [Portals](https://portals.apache.org/), [Streams](https://streams.apache.org/), [Wicket](https://wicket.apache.org/) | -| awm | Aram W. Mirzadeh | [httpd](http://httpd.apache.org/)| | ay | Akitoshi Yoshida | | ayushsaxena | Ayush Saxena | [Hadoop](https://hadoop.apache.org), [Hive](http://hive.apache.org), [Ozone](http://ozone.apache.org/) | | azeez | Mohamed Afkham Azeez | @@ -64,7 +63,6 @@ This table shows current and emeritus members who have manually added themselves | bjh | [Brian Havard](http://silk.apana.org.au) | [httpd](http://httpd.apache.org/) , [APR](http://apr.apache.org/)| | blair | Blair Zajac | | blautenb | Berin Lautenbach | [XML](http://xml.apache.org) ; [incubator](http://incubator.apache.org/)| -| bnicholes | Bradley Nicholes | [httpd](http://httpd.apache.org/) ; [APR](http://apr.apache.org/)| | bob | Bob Paulin | [Felix](http://felix.apache.org/) , [Tika](http://tika.apache.org/)| | bobby | Robert (Bobby) Evans | [Storm](http://storm.apache.org) , [Hadoop](http://hadoop.apache.org) , [Spark](http://spark.apache.org) , [Tez](http://tez.apache.org/) | | bodewig | [Stefan Bodewig](http://stefan.samaflost.de/) | [Ant](http://ant.apache.org/) , [Gump](http://gump.apache.org/) , [Jakarta](http://jakarta.apache.org/)| @@ -80,7 +78,6 @@ This table shows current and emeritus members who have manually added themselves | bsnyder | [Bruce Snyder](http://bruceblog.org/) | [ActiveMQ](http://activemq.apache.org) ; [Geronimo](http://geronimo.apache.org/) ; [Incubator](http://incubator.apache.org/) ; [ServiceMix](http://servicemix.apache.org/)| | busbey | Sean Busbey | | buschmi | Michael Busch | -| caijunj | Jun Jie Cai | | carlos | [Carlos Sanchez](http://www.carlossanchez.eu) | [Maven](http://maven.apache.org) ; [Archiva](http://archiva.apache.org) ; [Continuum](http://continuum.apache.org)| | cdouglas | Chris Douglas | | cdutz | Christofer Dutz | [ComDev](https://community.apache.org), [Daffodil](https://daffodil.apache.org), [Flex](https://flex.apache.org), [Incubator](https://incubator.apache.org), [Infrastructure](https://infra.apache.org), [IoTDB](https://iotdb.apache.org), [Kibble](https://kibble.apache.org), [Mahout](https://mahout.apache.org), [PLC4X](https://plc4x.apache.org), [Royale](https://royale.apache.org), [StreamPipes (incubating)](https://streampipes.apache.org), [Training (incubating)](https://training.apache.org), [Wayang (incubating)](https://wayang.apache.org) | @@ -106,7 +103,6 @@ This table shows current and emeritus members who have manually added themselves | crossley | [David Crossley](http://www.indexgeo.com.au/apache/) | [Cocoon](http://cocoon.apache.org/) , [Forrest](http://xml.apache.org/forrest/) , [xml-commons](http://xml.apache.org/commons/)| | ctubbsii | Christopher Tubbs | [Accumulo](https://accumulo.apache.org) , [Fluo](https://fluo.apache.org)| | curcuru | Shane Curcuru | [xalan](http://xml.apache.org/xalan-j/) , [xml-commons](http://xml.apache.org/commons/)| -| cutting | [Doug Cutting](http://blog.lucene.com/) | | cziegeler | [Carsten Ziegeler](mailto:cziegeler@apache.org) | [Sling](http://sling.apache.org/), [Felix](http://Felix.apache.org/), [Portals](http://portals.apache.org/)| | dahn | Daan Hoogland | [CloudStack](https://cloudstack.apache.org)| | dain | Dain Sundstrom | @@ -126,9 +122,11 @@ This table shows current and emeritus members who have manually added themselves | dirkx | Dirk-Willem van Gulik | [httpd](http://httpd.apache.org/) , [XML](http://xml.apache.org)| | djencks | David Jencks | | djkevincr | Kevin Ratnasekera | [Gora](http://gora.apache.org), [Incubator](http://incubator.apache.org/) | +| djoshi | Dinesh Joshi | [Cassandra](https://cassandra.apache.org) | | dkulp | [J. Daniel Kulp](http://www.dankulp.com/blog) | [CXF](http://cxf.apache.org/) ; [Maven](http://maven.apache.org/) ; [ServiceMix](http://servicemix.apache.org)| | dmeikle | David Meikle | [Tika](http://tika.apache.org) | | dockerzhang | Charles Zhang | [InLong](http://inlong.apache.org/) | +| doebele | Rainer Döbele | [Empire-db](https://empire-db.apache.org) | | dongjoon | Dongjoon Hyun | [Spark](http://spark.apache.org), [ORC](http://orc.apache.org) | | dpsenner | Dominik Psenner | [Logging](http://logging.apache.org/) | | drew | Andrew L. (Drew) Farris | [accumulo](http://accumulo.apache.org), [mahout](http://mahout.apache.org)| @@ -154,6 +152,7 @@ This table shows current and emeritus members who have manually added themselves | fpapon | François Papon | [Geronimo](https://geronimo.apache.org), [Hop](https://hop.apache.org), [Karaf](https://karaf.apache.org), [Shiro](https://shiro.apache.org), [Unomi](https://unomi.apache.org)| | fpj | Flavio Junqueira | [ZooKeeper](http://zookeeper.apache.org); [BookKeeper](http://bookkeeper.apache.org); [Incubator](http://incubator.apache.org) | | francischuang | Francis Chuang | [Calcite](https://calcite.apache.org) | +| gangwu | [Gang Wu](https://github.com/wgtmac) | [Arrow](http://arrow.apache.org), [ORC](http://orc.apache.org), [Parquet](http://parquet.apache.org) | | gareth | Gareth Reakes | | gates | Alan Gates | | gawor | [Jarek Gawor](http://home.apache.org/~gawor/) | @@ -168,6 +167,7 @@ This table shows current and emeritus members who have manually added themselves | gk | Georg Kallidis | [Turbine](http://turbine.apache.org/) | | gmcdonald | [Gavin McDonald](http://16degrees.com.au) | | gnodet | [Guillaume Nodet](http://home.apache.org/~gnodet/) | [ActiveMQ](http://activemq.apache.org/) ; [Geronimo](http://geronimo.apache.org/) ; [Ode](http://ode.apache.org/) ; [ServiceMix](http://servicemix.apache.org/)| +| gopidesu | Pavan Kumar Gopidesu | [Airflow](https://airflow.apache.org) | | gozer | [Philippe M. Chiasson](http://gozer.ectoplasm.org/) | [mod_perl](http://perl.apache.org/) , modperl-docs| | gpetracek | Gerhard Petracek | | grobmeier | [Christian Grobmeier](http://www.grobmeier.de) | @@ -224,6 +224,7 @@ This table shows current and emeritus members who have manually added themselves | jlowe | Jason Lowe | [Hadoop](http://hadoop.apache.org) , [Tez](http://tez.apache.org/) | | jmckenzie | Josh McKenzie | [Cassandra](http://cassandra.apache.org) | | jmclean | Justin Mclean | [Flex](http://flex.apache.org/) ; [Incubator](http://incubator.apache.org/)| +| jnioche | Julien Nioche | | joehni | Jörg Schaible | | joern | Jörn Kottmann | [UIMA](http://uima.apache.org/) ; [OpenNLP](http://opennlp.apache.org/)| | joewitt | Joe Witt | [NiFi](https://nifi.apache.org/)| @@ -231,13 +232,13 @@ This table shows current and emeritus members who have manually added themselves | jon | [Jon Scott Stevens](http://www.whichever.com/) | [Ant](http://ant.apache.org/) ; [ECS](http://jakarta.apache.org/ecs/) ; [ORO](http://jakarta.apache.org/oro/) ; [Regexp](http://jakarta.apache.org/regexp/) ; [Tomcat](http://jakarta.apache.org/tomcat/) ; [Velocity](http://jakarta.apache.org/velocity/) ; [James](http://james.apache.org/) ; [Jetspeed](http://jakarta.apache.org/jetspeed/) ; [JServ](http://java.apache.org/jserv/) ; [Jyve](http://java.apache.org/jyve/) ; [Turbine](http://java.apache.org/turbine/)| | jonesde | David E. Jones | | jorton | Joe Orton | [APR](http://apr.apache.org/) ; [httpd](http://httpd.apache.org/)| -| jplevyak | John Bradley Plevyak | | jrthomerson | [Jeremy Thomerson](http://jeremythomerson.com) | | jsdelfino | [Jean-Sebastien Delfino](http://jsdelfino.blogspot.com/) | [Tuscany](http://tuscany.apache.org/) , [Nuvem](http://incubator.apache.org/nuvem/)| | julianfoad | Julian Foad | | julien | [Julien Le Dem](https://twitter.com/J_) | [Parquet](http://parquet.apache.org) , [Arrow](http://arrow.apache.org), [Pig](http://pig.apache.org), [Tez](http://tez.apache.org) | | juzhiyuan | [Zhiyuan Ju](https://twitter.com/jjzhiyuan) | [APISIX](https://apisix.apache.org) | | jvanzyl | [Jason van Zyl](http://www.sonatype.com/people/author/jason) | +| jxue | Junkai Xue | [Helix](https://helix.apache.org/) | | jzemerick | Jeff Zemerick | | kamaci | [Furkan KAMACI](http://home.apache.org/~kamaci) | [Gora](http://gora.apache.org), [Nutch](http://nutch.apache.org), [ManifoldCF](https://manifoldcf.apache.org/)| | kanchana | Kanchana Pradeepika Welagedara | @@ -256,7 +257,6 @@ This table shows current and emeritus members who have manually added themselves | kiwiwings | Andreas Beeker | [POI](http://poi.apache.org) | | kkolinko | Konstantin Kolinko | [Tomcat](http://tomcat.apache.org), [Gump](http://gump.apache.org) | | kkrugler | Kenneth William Krugler | -| kmenard | Kevin Joseph Menard, Jr. | | koji | Koji Sekiguchi | [Lucene](https://lucene.apache.org/core/) , [Solr](http://lucene.apache.org/solr/) , [OpenNLP](https://opennlp.apache.org/) | | ksobkowiak | Krzysztof Sobkowiak | [ServiceMix](http://servicemix.apache.org/) | | kwin | Konrad Windszus | [Sling](https://sling.apache.org/) , [Jackrabbit](https://jackrabbit.apache.org/) | @@ -272,7 +272,6 @@ This table shows current and emeritus members who have manually added themselves | liuxun | Xun Liu | [Incubator](http://incubator.apache.org/) , [Hadoop](https://hadoop.apache.org) , [Zeppelin](https://zeppelin.apache.org)| | liyu | Yu Li | [Flink](https://flink.apache.org/), [HBase](https://hbase.apache.org/), [Incubator](https://incubator.apache.org/) | | lresende | Luciano Resende | -| luc | Luc Maisonobe | [commons](http://commons.apache.org/)| | luke1410 | [Stefan Hett](http://www.luke1410.de/) | [Subversion](https://subversion.apache.org/) ; [APR](https://apr.apache.org/) | | lukehan | Luke Han | [Kylin](http://kylin.apache.org)| | mads | [Mads Toftum](http://www.toftum.org/) | [httpd-docs](http://httpd.apache.org/docs-project/)| @@ -300,7 +299,6 @@ This table shows current and emeritus members who have manually added themselves | mnour | Mohammad Nour El-Din | | mreutegg | Marcel Reutegger | | mrglavas | [Michael Glavassevich](http://home.apache.org/~mrglavas/) | [Xerces-J](http://xerces.apache.org/xerces2-j/) , [XML Commons](http://xml.apache.org/commons/)| -| mseidel | Matthias Seidel | [OpenOffice](https://openoffice.apache.org) | | mturk | Mladen Turk | | mvdb | [Martin van den Bemt](http://www.mvdb.org/) | [Jakarta](http://jakarta.apache.org/) , [Db DDLUtils](http://db.apache.org/ddlutils) , [Gump](http://gump.apache.org)| | myrle | Myrle Krantz | [Fineract](https://fineract.apache.org) | @@ -390,7 +388,6 @@ This table shows current and emeritus members who have manually added themselves | sdeboy | Scott Deboy | | seade | Scott Eade | [DB](http://db.apache.org/) , [Jakarta](http://jakarta.apache.org/) , [Turbine](http://turbine.apache.org/)| | sgala | [Santiago Gala](http://memojo.com/memojowiki/Wiki.jsp?page=SantiagoGala) | [Jakarta](http://jakarta.apache.org/) , ws-wsrp4j| -| sgoeschl | Siegfried Goeschl | | shankar | Selvaratnam Uthaiyashankar | [Axis](http://axis.apache.org/) ; [Stonehenge](http://incubator.apache.org/projects/stonehenge.html) ; [Web Services](http://ws.apache.org/)| | sharan | Sharan Foga | [OFBiz](http://ofbiz.apache.org) | | shazron | Shazron Abdullah | [Cordova](http://cordova.apache.org) | @@ -398,7 +395,6 @@ This table shows current and emeritus members who have manually added themselves | shv | [Konstantin V. Shvachko](http://home.apache.org/~shv) | [Hadoop](http://hadoop.apache.org) | | sidney | [Sidney Markowitz](http://sidney.com/) | [SpamAssassin](https://spamassassin.apache.org/) | | simoneg | Simone Gianni | -| simonetripodi | Simone Tripodi | | simonw | Simon Willnauer | | sk | Sally Khudairi | | slaws | Simon Laws | @@ -439,6 +435,7 @@ This table shows current and emeritus members who have manually added themselves | thorsten | Thorsten Scherler | | tilmannz | Tilmann Zäschke | | tison | [Zili Chen](http://github.com/tisonkun) | [Flink](https://flink.apache.org/), [Curator](https://curator.apache.org/) | +| tn | Thomas Neidhart | | todd | Todd Lipcon | | tomaz | Tomaz Muraus | [Libcloud](https://libcloud.apache.org) | | tomc | Tom Chiverton | [Flex](http://flex.apache.org) , [CouchDB](http://couchdb.apache.org) | @@ -448,6 +445,7 @@ This table shows current and emeritus members who have manually added themselves | trawick | Jeff Trawick | [httpd](http://httpd.apache.org/) ; [APR](http://apr.apache.org/)| | tripod | Tobias Bocanegra | [Jackrabbit](http://jackrabbit.apache.org/)| | tv | Thomas Vandahl | [Turbine](http://turbine.apache.org/) ; [DB-Torque](http://db.apache.org/torque/) ; [Jakarta](http://jakarta.apache.org/) ; [Excalibur](http://excalibur.apache.org/)| +| twice | [Mingyang Liu](https://github.com/PragmaTwice) | [Kvrocks](https://kvrocks.apache.org/) | | twilliams | [Tim Williams](http://williamstw.blogspot.com) | | uli | Ulrich Stärk | | umamahesh | [Uma Maheswara Rao G](https://home.apache.org/~umamahesh/umamahesh.html) | [Hadoop](http://hadoop.apache.org); [BookKeeper](http://bookkeeper.apache.org) | @@ -506,6 +504,7 @@ Members may choose to move to [emeritus](/foundation/bylaws.html#4.2) status by | asavory | [Andrew Savory](http://www.andrewsavory.com/blog/) | | ask | [Ask Bjørn Hansen](http://www.askbjoernhansen.com/) | | assaf | Assaf Arkin | +| awm | Aram W. Mirzadeh | [httpd](http://httpd.apache.org/)| | balld | Donald Ball | | bdube | Brian M. Dubé | | berndf | [Bernd Fondermann](http://brainlounge.de) | @@ -513,12 +512,14 @@ Members may choose to move to [emeritus](/foundation/bylaws.html#4.2) status by | billbarker | William Barker | | bimargulies | Benson Margulies | | bloritsch | Berin Loritsch | +| bnicholes | Bradley Nicholes | [httpd](http://httpd.apache.org/) ; [APR](http://apr.apache.org/)| | boisvert | Alex Boisvert | | bojan | [Bojan Smojver](http://home.apache.org/~bojan/) | | brianp | Brian Pane | | britter | Benedikt Ritter | [Commons](http://commons.apache.org) | | bruno | Bruno Dumon | | bryanduxbury | Bryan Duxbury | +| caijunj | Jun Jie Cai | | carlosrovira | [Carlos Rovira](https://www.carlosrovira.com) | [Royale](https://royale.apache.org) ; [Flex](https://flex.apache.org) | | carnold | Curt Arnold | | cbegin | Clinton Begin | @@ -535,6 +536,7 @@ Members may choose to move to [emeritus](/foundation/bylaws.html#4.2) status by | cmueller | Christian Müller | [Camel](http://camel.apache.org) | | costin | Doru Costin Manolache | | crichton | Dan Crichton | +| cutting | [Doug Cutting](http://blog.lucene.com/) | | damien | Damien F. Katz | | damitha | Damitha N.M. Kumarage | | damonc | Damon J. Courtney | @@ -600,9 +602,9 @@ Members may choose to move to [emeritus](/foundation/bylaws.html#4.2) status by | jimw | [Jim Winstead](http://trainedmonkey.com/) | | jm | [Justin Mason](http://jmason.org/) | [SpamAssassin](http://spamassassin.apache.org/) ; infrastructure| | jmcnally | John McNally | [Jakarta](http://jakarta.apache.org/)| -| jnioche | Julien Nioche | | joes | Joe Schaefer | httpd-apreq| | johan | Johan Oskarsson | +| jplevyak | John Bradley Plevyak | | jstrachan | [James Strachan](http://home.apache.org/~jstrachan/) | [Jakarta](http://jakarta.apache.org/)| | jta | Jean T. Anderson | [Derby](http://db.apache.org/derby/)| | juergen | Juergen Pill | @@ -614,6 +616,7 @@ Members may choose to move to [emeritus](/foundation/bylaws.html#4.2) status by | kellen | Kellen Sunderland | | kevj | Kevin Jackson | | kmarsden | Katherine Marsden | +| kmenard | Kevin Joseph Menard, Jr. | | kristwaa | Kristian Waagan | [Derby](http://db.apache.org/derby/)| | leosimons | [Leo Simons](http://www.leosimons.com/) | excalibur (VP) ; gump (PMC) ; incubator (PMC) ; wiki| | lgo | Lieven Govaerts | @@ -635,6 +638,7 @@ Members may choose to move to [emeritus](/foundation/bylaws.html#4.2) status by | morgand | [Morgan Delagrange](http://home.apache.org/~morgand/) | | mrdon | Don Brown | [Struts](https://struts.apache.org/) , [Jakarta](http://jakarta.apache.org/)| | mriou | [Matthieu Riou](http://offthelip.org) | +| mseidel | Matthias Seidel | [OpenOffice](https://openoffice.apache.org) | | mwomack | Mark Dwayne Womack | | nicolaken | Nicola Ken Barozzi | | nigel | Nigel Daley | @@ -687,6 +691,8 @@ Members may choose to move to [emeritus](/foundation/bylaws.html#4.2) status by | seelmann | Stefan Seelmann | [Directory](http://directory.apache.org/)| | senaka | [Senaka Fernando](http://senaka.tel/) | [Axis](http://axis.apache.org/) , [Stonehenge](http://incubator.apache.org/projects/stonehenge.html) , [Web Services](http://ws.apache.org/)| | serge | [Serge Knystautas](mailto:sergek@lokitech.com) | [James](http://james.apache.org/) ; [commons](http://commons.apache.org/) ; infrastructure| +| sgoeschl | Siegfried Goeschl | +| simonetripodi | Simone Tripodi | | skitching | Simon Kitching | | slive | [Joshua Slive](http://slive.ca/) | [httpd-docs](http://httpd.apache.org/docs-project/) ; [httpd](http://httpd.apache.org/) ; infrastructure| | spepping | [Simon Pepping](http://www.leverkruid.eu/) | [XML Graphics](http://xmlgraphics.apache.org/) ; [FOP](http://xmlgraphics.apache.org/fop/)| @@ -705,7 +711,6 @@ Members may choose to move to [emeritus](/foundation/bylaws.html#4.2) status by | tfischer | Thomas Fischer | | thies | Thies C. Arntzen | | thommay | Thom May | [httpd](http://httpd.apache.org/) ; [APR](http://apr.apache.org/) ; Infrastructure| -| tn | Thomas Neidhart | | tomdz | Thomas Dudziak | | tomwhite | [Tom White](http://lexemetech.com/) | [Hadoop](http://hadoop.apache.org)| | tonywu | Yue Hao Wu | diff --git a/content/foundation/sponsorship.md b/content/foundation/sponsorship.md index 3ccb60b2dd..d1b17552ca 100644 --- a/content/foundation/sponsorship.md +++ b/content/foundation/sponsorship.md @@ -105,6 +105,12 @@ For non-sponsorship corporate contributions and individuals wishing to make a fi Targeted Sponsorships benefit the ASF in addition to funding our general operations. Targeted Sponsors receive the [same benefits as Foundation Sponsors](https://apache.org/foundation/sponsorship.html#foundation-sponsorship) based on the equivalent value of the non-cash contribution. All Targeted Sponsorships (donated or in-kind products/solutions/services) must be pre-approved by the ASF (and/or the beneficiary Apache project, community, or activity) must be deemed essential in order to qualify for consideration for Targeted Sponsorship. Targeted Sponsorships require a minimum 3-year commitment to ensure funding continuity to support services provided. We invite you to [view our guidelines](https://apache.org/foundation/docs/targeted-sponsorship-policy.html) to see if Targeted Sponsorship is right for you. +## ASF Initiatives + +[ASF Initiatives](https://www.apache.org/foundation/initiatives) are specific Targeted Sponsorships that provide additional financial support for Foundation governance operations, open source projects, and project communities. + +The first to launch is the ASF Tooling Initiative (March 2025), created to meet the growing global demand for ASF software by hardening ubiquitous Apache projects that benefit the greater open source ecosystem. + ## Corporate Giving Programs The impact of your gift to the ASF as part of an annual corporate giving program bolsters the ASF’s mission. Corporate giving programs at Bloomberg, IBM, Microsoft, PayPal, Vanguard, and many others offer tax benefits, and provide their employees the ability to boost their support of a diverse set of nonprofit projects. diff --git a/content/foundation/voting.md b/content/foundation/voting.md index 3bba0e3673..9b90676e1d 100644 --- a/content/foundation/voting.md +++ b/content/foundation/voting.md @@ -15,27 +15,29 @@ There are essentially three types of vote: 1. Package releases -Votes on **procedural issues** follow the common format of majority rule unless -otherwise stated. That is, if there are more favourable votes than -unfavourable ones, the issue is considered to have passed -- regardless of +Votes on **procedural issues** follow [simple majority](glossary.html#SimpleMajority) +unless otherwise stated. That is, if there are more +1 votes than +-1 ones, the issue is considered to have passed -- regardless of the number of votes in each category. (If the number of votes seems too small to be representative of a community consensus, the issue is typically not pursued. However, see the description of [lazy consensus](#LazyConsensus) for a modifying factor.) -Votes on **code modifications** follow a different model. In this scenario, a -negative vote constitutes a [veto](#Veto) , which the voting group (generally the PMC of a project) cannot override. +Votes on **code modifications** follow [consensus approval](glossary.html#ConsensusApproval). +In this scenario, a negative vote constitutes a [veto](#Veto), +which the voting group (generally the PMC of a project) cannot override. Again, this model may be modified by a [lazy consensus](#LazyConsensus) declaration when the request for a vote is raised, but the full-stop nature of a negative vote does not change. Under normal (non-lazy consensus) -conditions, the proposal requires three positive votes and no negative votes +conditions, the proposal requires three +1 votes and no -1 votes in order to pass; if it fails to garner the requisite amount of support, it doesn't. Then the proposer either withdraws the proposal or modifies the code and resubmits it, or the proposal simply languishes as an open issue until someone gets around to removing it. -Votes on whether a **package** is ready to release use yet a -different mechanism: are there are least three binding votes in favour of -the release? See the [release policy](../legal/release-policy.html#release-approval) +Votes on whether a **package** is ready to release use [majority approval](glossary.html#MajorityApproval), +i.e., are there at least three binding +1 vote, +and are there more positive than negative binding votes? +See the [release policy](../legal/release-policy.html#release-approval) for more information on voting and requirements for binding votes. ## Binding votes @@ -58,7 +60,7 @@ However, **in no case** may someone's vote be considered invalid if it does not appear to meet the implied commitment: a vote is a formal expression of opinion, *not* of commitment. -If the [R-T-C](#ReviewThenCommit) policy is in effect, a positive vote +If the [R-T-C](glossary.html#ReviewThenCommit) policy is in effect, a positive vote carries the very strong implied message, 'I have tested this patch myself, and found it good.' Similarly, a negative vote usually means that that the voter tested the patch and found it to be *not* good, although the veto (for such it is @@ -108,10 +110,10 @@ expressing is Boolean: 'I approve/do not approve of this change.' ### Votes on package releases {#ReleaseVotes} -Votes on whether a package is ready to release use -[majority approval](glossary.html#MajorityApproval) -- -i.e. at least three PMC members must vote affirmatively -for release, and there must be more positive than negative votes. +Votes on whether a package is ready to release use +[majority approval](glossary.html#MajorityApproval), +i.e., at least three PMC members must vote affirmatively +for release, and there must be more positive than negative binding votes. **Releases may not be vetoed.** Generally the community will cancel the release vote if anyone identifies serious problems, but @@ -157,4 +159,3 @@ People tend to avoid conflict and thrash around looking for something to substitute - somebody in charge, a rule, a process, stagnation. None of these tend to be very good substitutes for doing the hard work of resolving the conflict. - diff --git a/content/free/README.md b/content/free/README.md index 7cb2246f11..c6d05d43df 100644 --- a/content/free/README.md +++ b/content/free/README.md @@ -2,5 +2,5 @@ This page is the responsibility of the VP, Legal Affairs. Contact them at legal-discuss@apache.org to discuss any changes or Pull requests. -The [svn history](http://svn.apache.org/viewvc/infrastructure/site/trunk/content/free) was not migrated and remains available. +The [svn history](https://svn.apache.org/viewvc/infrastructure/site/trunk/content/free) was not migrated and remains available. diff --git a/content/history/index.md b/content/history/index.md index ea5c7b7d38..8bb4d32fd1 100644 --- a/content/history/index.md +++ b/content/history/index.md @@ -53,7 +53,6 @@ We could use your help! As always, patches are welcome! The best place to get in - [Purpose and goals of these History pages](goals.html) - [Graph of the Board of Directors, over time](directors.html) - [Early timeline of the Apache HTTP Web Server project](http://httpd.apache.org/ABOUT_APACHE.html) -- [Graphical timelines of committer and project growth](http://people.apache.org/~curcuru/timeline/) ## Raw Historical Data Since all Apache project development happens on publicly-archived mailing lists, diff --git a/content/js/jquery.min.js b/content/js/jquery.min.js index 0de648ed3b..7f37b5d991 100644 --- a/content/js/jquery.min.js +++ b/content/js/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.6.4 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.4",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.cssHas=ce(function(){try{return C.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),d.cssHas||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0" in the generated html header (in the body it would be trivial) license: https://www.apache.org/licenses/LICENSE-2.0 # {{title}} diff --git a/content/licenses/README.md b/content/licenses/README.md index a871f644f1..896cd71716 100644 --- a/content/licenses/README.md +++ b/content/licenses/README.md @@ -2,5 +2,5 @@ These pages are the responsibility of the VP, Legal Affairs. Contact them at legal-discuss@apache.org to discuss any changes or Pull requests. -The [svn history](http://svn.apache.org/viewvc/infrastructure/site/trunk/content/legal) was not migrated and remains available. +The [svn history](https://svn.apache.org/viewvc/infrastructure/site/trunk/content/legal) was not migrated and remains available. diff --git a/pagefind.sh b/pagefind.sh index bf6bc2249b..3c8cd3748f 100644 --- a/pagefind.sh +++ b/pagefind.sh @@ -28,11 +28,9 @@ set -e # fast exit (must be done after 'which' invocation) if [ -z "$PAGEFIND" ] # could not find pagefind then - # PAGEFIND_VERSION='1.1.0' - # PAGEFIND_HASH='b20d0b06b54eb2fba1e290245919376364584a456fb644e66eecdb67549b1cf2' - # Revert to previous version, as 1.1.0 generates spurious differences - PAGEFIND_VERSION='1.0.4' - PAGEFIND_HASH='a3a1ecf1d6edd79551c8b98a863b20cbdd999316a6ca73e81e277a74449db886' + # Releases are currently available from: https://github.com/CloudCannon/pagefind/releases + PAGEFIND_VERSION='1.3.0' + PAGEFIND_HASH='5dfb56609c2d08058c3be56a1a2d332d8dc50d9a6c74f20b3619eadb53240af3' echo "Download pagefind ${PAGEFIND_VERSION}" BINDIR=$(mktemp -d) TARGET=${BINDIR}/pagefind.tar.gz @@ -51,4 +49,3 @@ fi echo "Running pagefind on ${PELICAN_OUTPUT_PATH}" ${PAGEFIND} --site ${PELICAN_OUTPUT_PATH} --output-subdir "_pagefind" - diff --git a/theme/apache/templates/README.md b/theme/apache/templates/README.md index dce09f5eae..f374eb57fc 100644 --- a/theme/apache/templates/README.md +++ b/theme/apache/templates/README.md @@ -66,7 +66,7 @@ This is a [custom theme][1]. Pelican templates use [Jinja][2] ## History - Apache CMS -The [svn history](http://svn.apache.org/viewvc/infrastructure/site/trunk/templates) was not migrated and remains available. +The [svn history](https://svn.apache.org/viewvc/infrastructure/site/trunk/templates) was not migrated and remains available. [1]: https://docs.getpelican.com/en/latest/themes.html diff --git a/theme/apache/templates/base.html b/theme/apache/templates/base.html index fa36bf0692..ab0120ff02 100644 --- a/theme/apache/templates/base.html +++ b/theme/apache/templates/base.html @@ -199,6 +199,22 @@ + + +
From f6318c75ae8dae616dfbfead71b4859ed5817e17 Mon Sep 17 00:00:00 2001 From: Sebb Date: Sat, 22 Mar 2025 15:37:56 +0000 Subject: [PATCH 4/9] SYnc check with main --- members_check.py | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/members_check.py b/members_check.py index 05470270ab..0ad3d5b1e0 100644 --- a/members_check.py +++ b/members_check.py @@ -28,11 +28,12 @@ MEMBER_INFO = 'https://whimsy.apache.org/public/member-info.json' MEMBERS_MD ='content/foundation/members.md' -def main(): +def main(failOnWarn=False): member_info = requests.get(MEMBER_INFO).json() members = member_info['members'] ex_members = member_info['ex_members'] errors = 0 + warnings = 0 with open(MEMBERS_MD, 'r', encoding='utf-8') as md: section = None for line in md: @@ -61,25 +62,38 @@ def main(): name = parts.pop(0).strip() if section == 'members': if not availid in members: + level = '' if availid in ex_members: status = f"is listed in Whimsy with status '{ex_members.get(availid)}'" + warnings += 1 + level = 'WARNING' else: status = "was not found in Whimsy" - errors += 1 - print(f"'{availid}' ({name}) is listed in the 'members' section of `content/foundation/members.md`, but {status}") + errors += 1 + level = 'ERROR' + print(f"{level}: '{availid}' ({name}) is listed in the 'members' section of `content/foundation/members.md`, but {status}") elif section == 'emeritus': if availid != '?' and not availid in ex_members: if availid in members: status = "is listed in Whimsy as an ASF Member" + warnings += 1 + level = 'WARNING' else: status = "was not found in Whimsy" - print(f"'{availid}' ({name}) is listed in the 'emeritus' section of `content/foundation/members.md`, but {status}") - errors += 1 + errors += 1 + level = 'ERROR' + print(f"{level}: '{availid}' ({name}) is listed in the 'emeritus' section of `content/foundation/members.md`, but {status}") + print(f"Detected {errors} error(s) and {warnings} warnings. ") if errors > 0: - print(f"Detected {errors} error(s). ") + print("Errors detected, failing") sys.exit(1) + elif warnings > 0: + if failOnWarn: + print("Warnings detected, failing") + else: + print("Warnings detected") else: - print("No errors detected") + print("No errors or warnings detected") if __name__ == '__main__': - main() + main(len(sys.argv) >1 and sys.argv[1] == 'failOnWarn') From 404914197b0139c36ea458a54c91dce1c9e10ea4 Mon Sep 17 00:00:00 2001 From: Sebb Date: Sat, 22 Mar 2025 17:17:03 +0000 Subject: [PATCH 5/9] Fix exit code [skip ci] --- members_check.py | 1 + 1 file changed, 1 insertion(+) diff --git a/members_check.py b/members_check.py index 0ad3d5b1e0..ffec1709d8 100644 --- a/members_check.py +++ b/members_check.py @@ -90,6 +90,7 @@ def main(failOnWarn=False): elif warnings > 0: if failOnWarn: print("Warnings detected, failing") + sys.exit(1) else: print("Warnings detected") else: From 8af5fb023479f804a8929a731f66da23855cfc65 Mon Sep 17 00:00:00 2001 From: Sebb Date: Sat, 22 Mar 2025 17:20:46 +0000 Subject: [PATCH 6/9] Conditional runs --- .github/workflows/members_check.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/members_check.yml b/.github/workflows/members_check.yml index 595ca1f750..30307d1c43 100644 --- a/.github/workflows/members_check.yml +++ b/.github/workflows/members_check.yml @@ -1,4 +1,6 @@ name: Check members.md listings +# For manual and scheduled runs, warnings will trigger a workflow fail +# For pull/push, only errors (i.e. not a member at all) cause a failure on: push: paths: @@ -11,10 +13,21 @@ on: - 'members_check.py' - '.github/workflows/members_check.yml' workflow_dispatch: + schedule: + - cron: "25 17 * * 6" # Weekly on Saturdays jobs: members-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - run: | - python3 members_check.py + - name: Check members.md for discrepancies + run: | + echo "${{ github.event_name }}" + case "${{ github.event_name }}" in + schedule|workflow_dispatch) + python3 members_check.py failOnWarn + ;; + *) + python3 members_check.py + ;; + esac From 7914c93dd6f413622f1b1047069d411df0114093 Mon Sep 17 00:00:00 2001 From: Sebb Date: Sat, 22 Mar 2025 23:23:19 +0000 Subject: [PATCH 7/9] Daily checks [skip ci] --- .github/workflows/members_check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/members_check.yml b/.github/workflows/members_check.yml index 30307d1c43..2a192a2193 100644 --- a/.github/workflows/members_check.yml +++ b/.github/workflows/members_check.yml @@ -14,7 +14,7 @@ on: - '.github/workflows/members_check.yml' workflow_dispatch: schedule: - - cron: "25 17 * * 6" # Weekly on Saturdays + - cron: "25 10 * * *" # Daily jobs: members-check: runs-on: ubuntu-latest From 17c659701414e3097f8db9a0ed6679d80cf41588 Mon Sep 17 00:00:00 2001 From: Sebb Date: Sat, 15 Nov 2025 23:27:21 +0000 Subject: [PATCH 8/9] Add link to infra download page --- content/press/announce-emails.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/press/announce-emails.md b/content/press/announce-emails.md index 43dd3e6369..ee2ddfd759 100644 --- a/content/press/announce-emails.md +++ b/content/press/announce-emails.md @@ -45,7 +45,7 @@ Do not include a detailed list of all changes. Include a link to the detailed changes for this release. Ideally that page should highlight any major changes and security fixes. -Include a link to the download page where the reader can download the source package. +Include a link to the [download page](https://infra.apache.org/release-download-pages.html) where the reader can download the source package. It is also useful to include a direct link to the project home page. From e70e1cb2d041f36e5b61a980ac96e1d714249231 Mon Sep 17 00:00:00 2001 From: Sebb Date: Sat, 15 Nov 2025 23:29:00 +0000 Subject: [PATCH 9/9] Link to announce@ --- content/press/announce-emails.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/press/announce-emails.md b/content/press/announce-emails.md index ee2ddfd759..f503fdf1c7 100644 --- a/content/press/announce-emails.md +++ b/content/press/announce-emails.md @@ -9,7 +9,7 @@ license: https://www.apache.org/licenses/LICENSE-2.0 ## Scope -The announce@apache.org mailing list is intended for announcements such as new releases and security announcements. +The [announce@apache.org](https://lists.apache.org/list.html?announce@apache.org) mailing list is intended for announcements such as new releases and security announcements. It is a shared list for all ASF projects, so it is important that any emails are written to be understood by the general reader -- who may have no knowledge of a particular project.