You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

457 lines
16 KiB

  1. <?xml version="1.0" standalone="no"?>
  2. <!--
  3. * Licensed to the Apache Software Foundation (ASF) under one or more
  4. * contributor license agreements. See the NOTICE file distributed with
  5. * this work for additional information regarding copyright ownership.
  6. * The ASF licenses this file to You under the Apache License, Version 2.0
  7. * (the "License"); you may not use this file except in compliance with
  8. * the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. -->
  18. <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
  19. <s1 title="&XercesCFullName;">
  20. <s2 title="Xerces Project Charter">
  21. <p>
  22. The following charter applies to all Xerces projects.
  23. </p>
  24. </s2>
  25. <s2 title="1 INTRODUCTION" >
  26. <p>
  27. 1.1 Apache Xerces is a collaborative software development project
  28. dedicated to providing robust, full-featured, commercial-quality, and
  29. freely available XML parsers and closely related technologies
  30. on a wide variety of platforms supporting several languages. This
  31. project is managed in cooperation with various individuals worldwide
  32. (both independent and company-affiliated experts), who use the
  33. Internet to communicate, plan, and develop XML software and related
  34. documentation.
  35. </p>
  36. <p>
  37. 1.2 This charter briefly describes the mission, history, organization, and
  38. processes of the project.
  39. </p>
  40. </s2>
  41. <s2 title="2 MISSION" >
  42. <p>
  43. 2.1 Apache Xerces exists to promote the use of XML. We view XML as a
  44. compelling paradigm that structures data as information, thereby
  45. facilitating the exchange, transformation, and presentation of
  46. knowledge. The ability to transform raw data into usable information
  47. has great potential to improve the functionality and use of
  48. information systems. We intend to build freely available XML
  49. parsers and closely related technologies in order to engender such
  50. improvements.
  51. </p>
  52. <p>
  53. 2.2 The Apache Xerces parsers support standard APIs (formal, de facto,
  54. or proposed).
  55. They are designed to be high performance, reliable, and easy to use.
  56. To facilitate easy porting of ideas between languages, the API's supported
  57. should be as similar as possible, given the constraints of the languages
  58. and existing architectures. Apache Xerces parsers should also be designed
  59. to work efficiently with other Apache projects that deal
  60. with XML whenever possible.
  61. </p>
  62. <p>
  63. 2.3 We believe that the best way to further these goals
  64. is by having both individuals and corporations
  65. collaborate on the best possible infrastructure, APIs, code, testing,
  66. and release cycles. Components must be vendor neutral and usable as
  67. core components for all.
  68. </p>
  69. <p>
  70. 2.4 In order to achieve a coherent architecture between Apache Xerces
  71. parsers
  72. and other components and applications, standards (formal or
  73. de facto) will be used as much as possible for both protocols and
  74. APIs. Where appropriate, experiences and lessons learned will be fed
  75. back to standards bodies in an effort to assist in the development of
  76. those standards. We will also encourage the innovation of new
  77. protocols, APIs, and components in order to seed new concepts not
  78. yet defined by standards.
  79. </p>
  80. </s2>
  81. <s2 title="3 HISTORY" >
  82. <p>
  83. 3.1 The code base which formed the foundations of both the
  84. Xerces-Java and Xerces-C++ subprojects of the Apache XML Project
  85. was originally donated to Apache by IBM in 1999. Xerces-Perl
  86. came into existence as a subproject of the Apache XML project
  87. after the Xerces-C++ community had already matured to a
  88. significant extent. All three were subprojects of the Apache XML
  89. Project until late 2004. At this time, reflecting the growth in
  90. the Apache XML project and these communities themselves, Apache
  91. Xerces became a top-level Project of the Apache Software
  92. Foundation. Apache Xerces still shares much infrastructure with
  93. the Apache XML project and the other former subprojects of Apache
  94. XML that have become projects in their own right.
  95. </p>
  96. </s2>
  97. <s2 title="4 TERMS" >
  98. <p>
  99. 4.1 The ASF Board. The management board of the Apache Software
  100. Foundation.
  101. </p>
  102. <p>
  103. 4.2 The Project. The Apache Xerces Project; intended
  104. to refer to the source code, website and community that are Apache Xerces.
  105. </p>
  106. <p>
  107. 4.3 Subproject. Apache Xerces is composed of a number of subprojects
  108. which fit into one of two categories:
  109. </p>
  110. <p>
  111. a) An XML parser implementation in some particular programming
  112. language. There may be multiple parsers for a given
  113. language, if the API's the parsers support are sufficiently
  114. dissimilar. At the time of writing, there is one parser for
  115. each of Java, C/C++ and Perl.
  116. </p>
  117. <p>
  118. b) A set of components serving some purpose not directly
  119. pertinent to XML parsing, but which are used in related
  120. applications and are tightly bound, usually through internal
  121. API's, to one (or more) of the parser subprojects.
  122. </p>
  123. <p>
  124. 4.4 Product. Some deliverable (usually a binary or source
  125. package) that a subproject releases to the public. Subprojects
  126. may have multiple products.
  127. </p>
  128. <p>
  129. 4.5 Contributor. Anyone who makes a contribution to the development
  130. of the Apache Xerces project or a subproject.
  131. </p>
  132. <p>
  133. 4.6 Committer. Apache Xerces has a set of committers. Committers
  134. are contributors who have read/write access to the source code
  135. repository.
  136. </p>
  137. </s2>
  138. <s2 title="5 THE PROJECT MANAGEMENT COMMITTEE" >
  139. <p>
  140. 5.1 The Apache Xerces project is managed by a core group of
  141. committers known as the Project Management Committee [PMC],
  142. which is composed of volunteers from among the active committers
  143. (see 8.3 below) from all subprojects. Each subproject must have
  144. at least one representative on the PMC, to ensure active
  145. supervision of the subproject.
  146. </p>
  147. <p>
  148. 5.2 The activities of the PMC are coordinated by the Chairperson,
  149. who is an officer of the corporation and reports to the Apache
  150. Board. The Chairperson will, on the request of the Apache Board,
  151. provide reports to the Board on issues related to the running of
  152. the Apache Xerces project.
  153. </p>
  154. <p>
  155. 5.3 The PMC has the following responsibilities:
  156. </p>
  157. <p>
  158. a) Accepting new subproject proposals, voting on these
  159. proposals and creating the
  160. subproject (see SUBPROJECTS below). This is done in collaboration
  161. with the Incubator (see http://incubator.apache.org).
  162. </p>
  163. <p>
  164. b) Facilitating code or other donations by individuals or companies,
  165. in collaboration with the Incubator.
  166. </p>
  167. <p>
  168. c) Resolving license issues and other legal issues in conjunction with
  169. the ASF board.
  170. </p><p>
  171. d) Ensuring that administrative and infrastructure work is completed.
  172. </p><p>
  173. e) Facilitating relationships among subprojects and other Apache projects.
  174. </p><p>
  175. f) Facilitating relationships between Apache Xerces and the external
  176. world.
  177. </p><p>
  178. g) Overseeing Apache Xerces to ensure that the mission defined in
  179. this document is being fulfilled.
  180. </p><p>
  181. h) Resolving conflicts within the project.
  182. </p><p>
  183. i) Reporting to the ASF board (through the Chair) on the progress
  184. of the project.
  185. </p><p>
  186. 5.4 In cases where the sub-project is unable to directly provide
  187. at least one representative on the PMC--implying that there are no
  188. active committers on that code base--then the subproject should
  189. be considered dormant, and any relevant Apache policies for dormant
  190. projects should be implemented. At the least, the subproject's status
  191. should
  192. be updated on its website.
  193. </p><p>
  194. 5.5 Every 12 months, or at the request of the Board, the PMC will provide
  195. a recommendation to the Apache Board for the position of Chairperson
  196. of the PMC.
  197. </p><p>
  198. 5.6 This recommendation will be made on the basis of an election held
  199. within the PMC. The election will be performed using a simple
  200. majority vote of PMC members.
  201. </p><p>
  202. 5.7 Upon agreement by the Apache Board, the recommended Chairperson will,
  203. if they are not already, be appointed an officer of the corporation.
  204. See http://www.apache.org/foundation/bylaws.html for more information.
  205. </p><p>
  206. 5.8 In the unlikely event that a member of the PMC becomes disruptive to
  207. the process, ceases to make codebase contributions for an extended
  208. period, or ceases to take part in PMC votes for an extended period of
  209. time, said member may be removed by unanimous vote of remaining PMC
  210. members.
  211. </p><p>
  212. 5.9 The PMC is responsible for maintaining and updating this
  213. charter. Development must follow the process outlined below, so any
  214. change to the development process necessitates a change to the
  215. charter. Changes must be approved by a two-thirds majority of all members
  216. of the PMC.
  217. </p>
  218. </s2>
  219. <s2 title="6 SUBPROJECTS" >
  220. <p>
  221. 6.1 When a new subproject proposal is submitted to the PMC, it
  222. may be accepted by a two-thirds vote of the PMC.
  223. </p><p>
  224. 6.2 A subproject may be removed by unanimous vote of the PMC, subject to
  225. the
  226. approval of the ASF board.
  227. </p>
  228. </s2>
  229. <s2 title="7 CONTRIBUTORS" >
  230. <p>
  231. 7.1 Like all Apache projects, the Apache Xerces project is a meritocracy
  232. --
  233. the more work you do, the more you are allowed to do. Contributions
  234. will include participating in mailing lists, reporting bugs, providing
  235. patches and proposing changes to a product.
  236. </p><p>
  237. 7.2 In order to ensure that all code contained in the Apache
  238. Xerces project's code repository is free of licensing,
  239. intellectual property and patent issues, any developer wishing
  240. to contribute a new feature to Xerces must either sign:
  241. </p><p>
  242. a) If contributing as an individual, sign the "Individual
  243. Contributor License Agreement (CLA)"
  244. (http://www.apache.org/licenses/icla.txt) and file a copy with
  245. the Secretary of the Corporation; or
  246. </p><p>
  247. b) If making the contribution as part of their employment
  248. responsibilities, sign the "Corporate CLA (CCLA)",
  249. (http://www.apache.org/licenses/cla-corporate.txt) and file a
  250. copy with the Secretary of the Corporation.
  251. </p><p>
  252. 7.3 If the contribution in question is a small bugfix, the
  253. contributor need not sign a CLA, but need only provide the
  254. following information, attaching it to the communication
  255. containing the patch:
  256. </p><p>
  257. a) Name and employer
  258. </p><p>
  259. b) Are you the author of the code being contributed?
  260. </p><p>
  261. c) Do you have the right to grant the copyright and patent
  262. licenses for the contribution that are set forth in the ASF v.2.0
  263. license (http://www.apache.org/licenses/LICENSE-2.0)?
  264. </p><p>
  265. d) Does your employer have any rights to code that you have
  266. written, for example, through your contract for employment? If
  267. so, has your employer given you permission to contribute the code
  268. on its behalf or waived its rights in the code?
  269. </p><p>
  270. e) Are you aware of any third-party licenses or other
  271. restrictions (such as related patents or trademarks) that could
  272. apply to your contribution? If so, what are they?
  273. </p><p>
  274. 7.4 Contributors who make regular and substantial contributions may become
  275. committers as described below.
  276. </p>
  277. </s2>
  278. <s2 title="8 COMMITTERS" >
  279. <p>
  280. 8.1 Each subproject has a set of committers. Committers are
  281. contributors who have read/write access to the source code
  282. repository.
  283. </p><p>
  284. 8.2 Normally, a new committer is added after a contributor has
  285. been nominated by a committer and approved by at least 50 percent
  286. of the active committers for that subproject with no opposing
  287. votes. In the case that a subproject has a very small number of
  288. active committers, the PMC may choose to require a PMC resolution
  289. to approve the nomination of a contributor by one of the active
  290. committers in that subproject. All committers must have a signed
  291. Contributor License Agreement on file with the Secretary of the
  292. Corporation. Since, in most cases, contributors will already
  293. have contributed significant amounts of code, this should usually
  294. have been done before nomination.
  295. </p><p>
  296. 8.3 Although committers have write access to all Apache Xerces
  297. subprojects,
  298. they are only permitted to make changes to the subprojects to which they
  299. have been elected committers. A committer may be elected to multiple
  300. subprojects, but, except that no new access need be granted, the
  301. process is the same as for any other contributor.
  302. </p><p>
  303. 8.4 For the purposes of voting, committers will be classed as "active" or
  304. "inactive". Only active committers will be included in the totals used to
  305. determine the success or failure of a particular vote, and
  306. only active committers are part of the PMC.
  307. </p><p>
  308. 8.5 Committers remain active as long as they are contributing code or
  309. posting to the subproject mailing lists. If a committer has neither
  310. contributed code nor posted to the subproject mailing lists in 3
  311. months, the PMC chair may e-mail the
  312. committer, the subproject development list, and the PMC mailing list
  313. notifying the committer that they are going to be moved to inactive
  314. status. If there is no response in 72 hours, the committer will become
  315. inactive, and may be removed from the PMC mailing list.
  316. </p><p>
  317. 8.6 An inactive status will not prevent a committer committing new code
  318. changes or posting to the mailing lists. Either of these activities will
  319. automatically re-activate the committer for the purposes of
  320. voting, and necessitate their addition to the PMC mailing list.
  321. </p>
  322. </s2>
  323. <s2 title="9 INFRASTRUCTURE" >
  324. <p>
  325. 9.1 The Apache Xerces project relies on the Apache XML project
  326. and the Apache Infrastructure project for the following:
  327. </p><p>
  328. a) Bug Database -- This is a system for tracking bugs and feature
  329. requests.
  330. </p><p>
  331. b) Subproject Source Repositories -- These are several repositories
  332. containing both the source code and documentation for the
  333. subprojects.
  334. </p><p>
  335. c) Website -- A xerces.apache.org website will contain information about
  336. the Apache Xerces project, including documentation, downloads of
  337. releases, and this charter. Each subproject will have its own website
  338. with subproject information.
  339. </p><p>
  340. d) PMC Mailing List -- This list is for PMC business requiring
  341. confidentiality, particularly when an individual or company requests
  342. discretion. All other PMC business should be done on the general
  343. mailing list.
  344. </p><p>
  345. e) General Mailing List -- This mailing list is open to the public. It is
  346. intended for discussions that cross subprojects.
  347. </p><p>
  348. f) Subproject Mailing Lists -- Each subproject should have at least one
  349. devoted mailing
  350. list. Many subprojects may wish to have both user and development
  351. lists. The individual subprojects may decide on the exact structure of
  352. their mailing lists.
  353. </p>
  354. </s2>
  355. <s2 title="10 LICENSING" >
  356. <p>
  357. 10.1 All contributions to the Apache Xerces project adhere to the
  358. Apache Software Foundation License, v.2.0
  359. (http://www.apache.org/licenses/LICENSE-2.0)?
  360. All further contributions must be made under the
  361. same terms.
  362. </p><p>
  363. 10.2 When a committer is considering integrating a contribution
  364. from a contributor who has no CLA on file with the Corporation,
  365. it is the responsibility of the committer, in consultation with
  366. the PMC, to conduct due diligence on the pedigree of the
  367. contribution under consideration; see sections 7.2 and 7.3.
  368. </p>
  369. </s2>
  370. <s2 title="11 THE DEVELOPMENT PROCESS" >
  371. <p>
  372. 11.1 The development process is intentionally lightweight; like other
  373. Apache projects, the committers decide which changes may be committed
  374. to the repository. Three +1 ('yes' votes) with no -1 ('no' votes or
  375. vetoes) are needed to approve a significant code change. For
  376. efficiency, some code changes from some contributors (e.g.
  377. feature additions, bug fixes) may be approved in advance, in
  378. which case they may be committed first and changed as needed,
  379. with conflicts resolved by majority vote of the committers.
  380. </p>
  381. </s2>
  382. <s2 title="12 SUBPROJECT REQUIREMENTS" >
  383. <p>
  384. 12.1 Each subproject should have a set of requirements as well as an
  385. up-to-date release plan and design document on its dedicated web page.
  386. </p><p>
  387. 12.2 It is recommended that each subproject have a smoke-test system
  388. that works at least as a basic integration test.
  389. </p>
  390. </s2>
  391. <s2 title="13 RELATIONSHIP TO OTHER APACHE PROJECTS" >
  392. <p>
  393. 13.1 The Apache Xerces project should work closely with other Apache
  394. projects, such as XML, Jakarta and the Apache Server, to avoid redundancy
  395. and achieve a coherent architecture among Apache Xerces and these
  396. projects.
  397. </p>
  398. </s2>
  399. </s1>