~~ ==================================================================== ~~ Licensed to the Apache Software Foundation (ASF) under one ~~ or more contributor license agreements. See the NOTICE file ~~ distributed with this work for additional information ~~ regarding copyright ownership. The ASF licenses this file ~~ to you under the Apache License, Version 2.0 (the ~~ "License"); you may not use this file except in compliance ~~ with the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, ~~ software distributed under the License is distributed on an ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~~ KIND, either express or implied. See the License for the ~~ specific language governing permissions and limitations ~~ under the License. ~~ ==================================================================== ~~ ~~ This software consists of voluntary contributions made by many ~~ individuals on behalf of the Apache Software Foundation. For more ~~ information on the Apache Software Foundation, please see ~~ . ---------- HttpComponents Project Charter ---------- ---------- ---------- ~~ The Charter was approved by a PMC vote ending on 2008-02-09. ~~ Changes to the Charter require PMC approval. ~~ DO NOT EDIT the "Charter" section, not even to fix typos. {Charter} The Apache HttpComponents project is responsible for creating and maintaining a toolset of low level Java components focused on HTTP and associated protocols. We develop and maintain a component called <>, which addresses the basic needs for communicating via HTTP on the client and server side. HttpCore defines a framework for extending the provided functionality beyond the basic needs. We develop and maintain a component called <>, which builds on HttpCore and adds functionality typically required for client-side HTTP communication. In particular, HttpClient adds support for cookies, authentication, and client-side connection management. <> and <> are at the center of the Apache HttpComponents project. All other activities orbit around this duo. We maintain the codebase of the Jakarta Commons HttpClient, also known as Commons HttpClient 3.1, until such time that the new HttpClient based on HttpCore is considered ready for use in production systems. We are looking for new components that build upon and extend the functionality of the existing ones. We are also looking for new components that complement the functionality of the existing ones and make them more useful or easier to use. We are open to give a home to applications that derive a significant part of their functionality from our components, if approached by such projects. ~~ ~~ end of the "Charter" section that must not be edited without PMC approval ~~ {History} The history of the HttpComponents starts with the now retired {{{http://jakarta.apache.org/slide/}Jakarta Slide}} project. Slide was a WebDAV server including a client component, and the WebDAV protocol builds on HTTP. There was interest in using the client-side HTTP implementation independently of Slide. The code was spun off from Slide in 2001 to become the HttpClient subproject of the Jakarta Commons. Since it generated a disproportional amount of traffic on the Commons mailing lists, HttpClient activity was moved to separate mailing lists. This started the dissociation of HttpClient from Commons, which continued when HttpClient was promoted to the Jakarta subproject level in 2004. The latter event is recorded as the oldest {{{./news.html}News}} item of the HttpComponents project. The shortcomings in the design of HttpClient, as explained in the {{{./commons-httpclient-lessons.html}Lessons Learned}}, created interest in redesigning the API from scratch. To that end, the Jakarta HttpComponents project replaced the HttpClient project in 2005. The new project was charged with the tasks of developing a successor to HttpClient 3.x, and of maintaining the existing codebase until the new one is ready to take over. The {{{http://commons.apache.org/}Commons}}, cradle of HttpClient, left Jakarta in 2007 to become an independent Top Level Project. Later in the same year, the HttpComponents project also left Jakarta to become an independent Top Level Project, taking the responsibility for maintaining HttpClient 3.x with it. Our TLP resolution is presented below. {Resolution} The Apache HttpComponents project was established as an Apache top level project in November 2007, when the Apache Board approved the following resolution: ~~ The following is a verbatim copy of the TLP resolution. ~~ DO NOT EDIT, not even to fix typos ------------------------------ Establish the Apache HttpComponents project WHEREAS, the Board of Directors deems it to be in the best interests of the Foundation and consistent with the Foundation's purpose to establish a Project Management Committee charged with the creation and maintenance of open-source software related to a toolset of low level Java components focused on HTTP and associated protocols, and of applications based on these components, for distribution at no charge to the public. NOW, THEREFORE, BE IT RESOLVED, that a Project Management Committee (PMC), to be known as "Apache HttpComponents Project", be and hereby is established pursuant to Bylaws of the Foundation; and be it further RESOLVED, that the Apache HttpComponents Project be and hereby is responsible for the creation and maintenance of a toolset of low level Java components focused on HTTP and associated protocols, and of applications based on these components; and be it further RESOLVED, that the office of "Vice President, Apache HttpComponents" be and hereby is created, the person holding such office to serve at the direction of the Board of Directors as the chair of the Apache HttpComponents Project, and to have primary responsibility for management of the projects within the scope of responsibility of the Apache HttpComponents Project; and be it further RESOLVED, that the persons listed immediately below be and hereby are appointed to serve as the initial members of the Apache HttpComponents Project: * Oleg Kalnichevski * Sebastian Bazley * Erik Abele * Ortwin Glück * Roland Weber * Ant Elder * Paul Fremantle * Asankha Perera NOW, THEREFORE, BE IT FURTHER RESOLVED, that Erik Abele be appointed to the office of Vice President, Apache HttpComponents, to serve in accordance with and subject to the direction of the Board of Directors and the Bylaws of the Foundation until death, resignation, retirement, removal or disqualification, or until a successor is appointed; and be it further RESOLVED, that the Apache HttpComponents Project be and hereby is tasked with the migration and rationalization of the Apache Jakarta HttpComponents subproject; and be it further RESOLVED, that the Apache HttpComponents Project be and hereby is tasked with the migration and maintenance of the codebase formerly known as Apache Jakarta Commons HttpClient until it is obsoleted by the components of the Apache HttpComponents Project; and be it further RESOLVED, that all responsibilities pertaining to the Apache Jakarta HttpComponents subproject and the former Apache Jakarta Commons HttpClient codebase encumbered upon the Apache Jakarta Project are hereafter discharged. ------------------------------