blob: 3e095c31cafc9add952ceae18b39736714c9778f [file] [log] [blame]
~~ ====================================================================
~~ 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
~~ <http://www.apache.org/>.
----------
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 <<HttpCore>>, 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 <<HttpClient>>, 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.
<<HttpCore>> and <<HttpClient>> 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 <olegk AT apache DOT org>
* Sebastian Bazley <sebb AT apache DOT org>
* Erik Abele <erikabele AT apache DOT org>
* Ortwin Gl├╝ck <oglueck AT apache DOT org>
* Roland Weber <rolandw AT apache DOT org>
* Ant Elder <antelder AT apache DOT org>
* Paul Fremantle <pzf AT apache DOT org>
* Asankha Perera <asankha AT apache DOT org>
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.
------------------------------