The Invisible Internet Project is an anonymous network layer that allows for censorship-resistant, peer to peer communication. Anonymous connections are achieved by encrypting the user's traffic, sending it through a volunteer-run network of 55,000 computers distributed around the world. Given the high number of possible paths the traffic can transit, a third party watching a full connection is unlikely; the software that implements this layer is called an "I2P router", a computer running I2P is called an "I2P node". I2P is free and open source, is published under multiple licenses. I2P is beta software since 2003; the software's developers emphasize that there are to be bugs in the beta version and that there has been insufficient peer review to date. However, they believe the code is now reasonably stable and well-developed, more exposure can help development of I2P; the network itself is message-based, but there is a library available to allow reliable streaming communication on top of it. All communication is end-to-end encrypted through garlic routing, the end points are cryptographic identifiers, so that neither sender nor recipient of a message need to reveal their IP address to the other side or to third-party observers.
Although many developers had been a part of the Invisible IRC Project and Freenet communities, there are significant differences between their designs and concepts. IIP was an anonymous centralized IRC server. Freenet is a censorship-resistant distributed data store. I2P is an anonymous peer-to-peer distributed communication layer designed to run any traditional internet service, as well as more traditional distributed applications. Many developers of I2P are known only under pseudonyms. While the previous main developer, jrandom, is on hiatus, such as zzz and Complication have continued to lead development efforts, are assisted by numerous contributors. I2P uses 2048bit ElGamal/AES256/SHA256+Session Tags encryption and Ed25519 EdDSA/ECDSA signatures. I2P has had a stable release every six to eight weeks. Updates are signed by the release manager. Since I2P is an anonymous network layer, it is designed so other software can use it for anonymous communication; as such, there are a variety of tools available for I2P or in development.
The I2P router is controlled through the router console, a web frontend accessed through a web browser. I2PTunnel is an application embedded into I2P that allows arbitrary TCP/IP applications to communicate over I2P by setting up "tunnels" which can be accessed by connecting to pre-determined ports on localhost. SAM is a protocol which allows a client application written in any programming language to communicate over I2P, by using a socket-based interface to the I2P router. BOB is a less complex app to router protocol similar to "SAM" Orchid Outproxy Tor plugin Any IRC client made for the Internet Relay Chat can work, once connected to the I2P IRC server. Several programs provide BitTorrent functionality for use within the I2P network. Users cannot connect to non-I2P torrents or peers from within I2P, nor can they connect to I2P torrents or peers from outside I2P. I2PSnark, included in the I2P install package, is a port of the BitTorrent client named Snark. Vuze known as Azureus, is a BitTorrent client that includes a plugin for I2P, allowing anonymous swarming through this network.
This plugin is still in an early stage of development, however it is fairly stable. I2P-BT is a BitTorrent client for I2P; this client is a modified version of the original BitTorrent 3.4.2 program which runs on MS Windows and most dialects of Unix in a GUI and command-line environment. It was developed by the individual known as'duck' on I2P in cooperation with'smeghead', it is no longer being developed. I2PRufus is an I2P port of the Rufus BitTorrent client. Robert is the most maintained I2PRufus fork. XD is a standalone BitTorrent client written in Go. Two Kad network clients exist for iMule and Nachtblitz. IMule is a port of eMule for I2P network. IMule has not been developed since 2013. IMule is made for anonymous file sharing. In contrast to other eDonkey clients, iMule only uses the Kademlia for proceeding to connect through I2P network, so no servers are needed. Nachtblitz is a custom client built on the. NET Framework; the latest version is 1.4.27, released on March 23, 2016. Nachtblitz includes.
I2Phex is a port of the popular Gnutella client Phex to I2P. It is stable and functional. A port of Tahoe-LAFS has been ported to I2P; this allows for files to be anonymously stored in Tahoe-LAFS grids. Vuze is the only torrent client that make clearnet torrents available on I2P and vice versa, by using a plugin that connects them to the I2P network. Depending on the client settings, torrents from the internet can be made available on I2P and torrents from I2P can be made available to the intern
FlashGet was a freeware download manager for Microsoft Windows. It was available in either paid or ad-supported versions, the latter of which included an Internet Explorer Browser Helper Object. FlashGet can be integrated with web browsers such as Avant Browser, Google Chrome, Internet Explorer, Netscape, Mozilla Firefox and SeaMonkey, it can download a sequence of files and it can download a file from multiple locations. It can split files to download into sections, download each section simultaneously, it has an integrated offline reader. It supports HTTP, FTP, Microsoft Media Services, RTSP, BitTorrent and since version 1.8.4 eDonkey downloads. FlashGet has suffered from security flaws in its update mechanism which caused users to become infected with trojan viruses. There is some concern about FlashGet downloading every file indicated by its FGUpdate3.ini file, downloaded from the developer every time FlashGet is started. A malicious FGUpdate3.ini modified for exploit and introduced directly through the developer's server could cause FlashGet to download malware to the computer without alerting the user.
On April 4, 2010, FlashGet 3.4 was released containing adware and other undisclosed and unauthorized Chinese applications. Some of the ads were aggressively popping out of the system tray; the installer was converted to Chinese making it difficult for many users to install and remove the software. Comparison of download managers FlashGet Homepage
Hypertext Transfer Protocol
The Hypertext Transfer Protocol is an application protocol for distributed, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, where hypertext documents include hyperlinks to other resources that the user can access, for example by a mouse click or by tapping the screen in a web browser. HTTP was developed to facilitate the World Wide Web. Development of HTTP was initiated by Tim Berners-Lee at CERN in 1989. Development of HTTP standards was coordinated by the Internet Engineering Task Force and the World Wide Web Consortium, culminating in the publication of a series of Requests for Comments; the first definition of HTTP/1.1, the version of HTTP in common use, occurred in RFC 2068 in 1997, although this was made obsolete by RFC 2616 in 1999 and again by the RFC 7230 family of RFCs in 2014. A version, the successor HTTP/2, was standardized in 2015, is now supported by major web servers and browsers over Transport Layer Security using Application-Layer Protocol Negotiation extension where TLS 1.2 or newer is required.
HTTP functions as a request–response protocol in the client–server computing model. A web browser, for example, may be the client and an application running on a computer hosting a website may be the server; the client submits an HTTP request message to the server. The server, which provides resources such as HTML files and other content, or performs other functions on behalf of the client, returns a response message to the client; the response contains completion status information about the request and may contain requested content in its message body. A web browser is an example of a user agent. Other types of user agent include the indexing software used by search providers, voice browsers, mobile apps, other software that accesses, consumes, or displays web content. HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. High-traffic websites benefit from web cache servers that deliver content on behalf of upstream servers to improve response time.
Web browsers cache accessed web resources and reuse them, when possible, to reduce network traffic. HTTP proxy servers at private network boundaries can facilitate communication for clients without a globally routable address, by relaying messages with external servers. HTTP is an application layer protocol designed within the framework of the Internet protocol suite, its definition presumes an underlying and reliable transport layer protocol, Transmission Control Protocol is used. However, HTTP can be adapted to use unreliable protocols such as the User Datagram Protocol, for example in HTTPU and Simple Service Discovery Protocol. HTTP resources are identified and located on the network by Uniform Resource Locators, using the Uniform Resource Identifiers schemes http and https. URIs and hyperlinks in HTML documents form interlinked hypertext documents. HTTP/1.1 is a revision of the original HTTP. In HTTP/1.0 a separate connection to the same server is made for every resource request. HTTP/1.1 can reuse a connection multiple times to download images, stylesheets, etc after the page has been delivered.
HTTP/1.1 communications therefore experience less latency as the establishment of TCP connections presents considerable overhead. The term hypertext was coined by Ted Nelson in 1965 in the Xanadu Project, in turn inspired by Vannevar Bush's 1930s vision of the microfilm-based information retrieval and management "memex" system described in his 1945 essay "As We May Think". Tim Berners-Lee and his team at CERN are credited with inventing the original HTTP, along with HTML and the associated technology for a web server and a text-based web browser. Berners-Lee first proposed the "WorldWideWeb" project in 1989—now known as the World Wide Web; the first version of the protocol had only one method, namely GET, which would request a page from a server. The response from the server was always an HTML page; the first documented version of HTTP was HTTP V0.9. Dave Raggett led the HTTP Working Group in 1995 and wanted to expand the protocol with extended operations, extended negotiation, richer meta-information, tied with a security protocol which became more efficient by adding additional methods and header fields.
RFC 1945 introduced and recognized HTTP V1.0 in 1996. The HTTP WG planned to publish new standards in December 1995 and the support for pre-standard HTTP/1.1 based on the developing RFC 2068 was adopted by the major browser developers in early 1996. By March that year, pre-standard HTTP/1.1 was supported in Arena, Netscape 2.0, Netscape Navigator Gold 2.01, Mosaic 2.7, Lynx 2.5, in Internet Explorer 2.0. End-user adoption of the new browsers was rapid. In March 1996, one web hosting company reported that over 40% of browsers in use on the Internet were HTTP 1.1 compliant. That same web hosting company reported that by June 1996, 65% of all browsers accessing their servers were HTTP/1.1 compliant. The HTTP/1.1 standard as defined in RFC 2068 was released in January 1997. Improvements and updates to the HTTP/1.1 standard were released under RFC 2616 in June 1999. In 2007, the HTTPbis Working Group was formed, in part, to revise and clarify the HTTP/1.1 specification. In June 2014, the WG released an updated six-part specification obsoleting RFC 2616: RFC 7230, HTTP/1.1: Message Syntax and Routing RFC 7231, HTTP/1.1: Semantics and Content RFC 7232, HTTP/1.1: Conditional Requests RFC 7233, HTTP/1.1: Range Requests RFC 7234, HTTP/1.1: Caching RFC 7235, HTTP/1
RSS is a type of web feed which allows users and applications to access updates to online content in a standardized, computer-readable format. These feeds can, for example, allow a user to keep track of many different websites in a single news aggregator; the news aggregator will automatically check the RSS feed for new content, allowing the content to be automatically passed from website to website or from website to user. This passing of content is called web syndication. Websites use RSS feeds to publish updated information, such as blog entries, news headlines, or episodes of audio and video series. RSS is used to distribute podcasts. An RSS document includes full or summarized text, metadata, like publishing date and author's name. A standard XML file format ensures compatibility with many different machines/programs. RSS feeds benefit users who want to receive timely updates from favourite websites or to aggregate data from many sites. Subscribing to a website RSS removes the need for the user to manually check the website for new content.
Instead, their browser monitors the site and informs the user of any updates. The browser can be commanded to automatically download the new data for the user. RSS feed data is presented to users using software called a news aggregator; this aggregator can be built into a website, installed on a desktop computer, or installed on a mobile device. Users subscribe to feeds either by entering a feed's URI into the reader or by clicking on the browser's feed icon; the RSS reader checks the user's feeds for new information and can automatically download it, if that function is enabled. The reader provides a user interface; the RSS formats were preceded by several attempts at web syndication that did not achieve widespread popularity. The basic idea of restructuring information about websites goes back to as early as 1995, when Ramanathan V. Guha and others in Apple Computer's Advanced Technology Group developed the Meta Content Framework. RDF Site Summary, the first version of RSS, was created by Dan Libby and Ramanathan V. Guha at Netscape.
It was released in March 1999 for use on the My. Netscape. Com portal; this version became known as RSS 0.9. In July 1999, Dan Libby of Netscape produced a new version, RSS 0.91, which simplified the format by removing RDF elements and incorporating elements from Dave Winer's news syndication format. Libby renamed the format from RDF to RSS Rich Site Summary and outlined further development of the format in a "futures document"; this would be Netscape's last participation in RSS development for eight years. As RSS was being embraced by web publishers who wanted their feeds to be used on My. Netscape. Com and other early RSS portals, Netscape dropped RSS support from My. Netscape. Com in April 2001 during new owner AOL's restructuring of the company removing documentation and tools that supported the format. Two parties emerged to fill the void, with neither Netscape's help nor approval: The RSS-DEV Working Group and Dave Winer, whose UserLand Software had published some of the first publishing tools outside Netscape that could read and write RSS.
Winer published a modified version of the RSS 0.91 specification on the UserLand website, covering how it was being used in his company's products, claimed copyright to the document. A few months UserLand filed a U. S. trademark registration for RSS, but failed to respond to a USPTO trademark examiner's request and the request was rejected in December 2001. The RSS-DEV Working Group, a project whose members included Guha and representatives of O'Reilly Media and Moreover, produced RSS 1.0 in December 2000. This new version, which reclaimed the name RDF Site Summary from RSS 0.9, reintroduced support for RDF and added XML namespaces support, adopting elements from standard metadata vocabularies such as Dublin Core. In December 2000, Winer released RSS 0.92 a minor set of changes aside from the introduction of the enclosure element, which permitted audio files to be carried in RSS feeds and helped spark podcasting. He released drafts of RSS 0.93 and RSS 0.94 that were subsequently withdrawn. In September 2002, Winer released a major new version of the format, RSS 2.0, that redubbed its initials Really Simple Syndication.
RSS 2.0 removed the type attribute added support for namespaces. To preserve backward compatibility with RSS 0.92, namespace support applies only to other content included within an RSS 2.0 feed, not the RSS 2.0 elements themselves. Because neither Winer nor the RSS-DEV Working Group had Netscape's involvement, they could not make an official claim on the RSS name or format; this has fueled ongoing controversy in the syndication development community as to which entity was the proper publisher of RSS. One product of that contentious debate was the creation of an alternative syndication format, that began in June 2003; the Atom syndication format, whose creation was in part motivated by a desire to get a clean start free of the issues surrounding RSS, has been adopted as IETF Proposed Standard RFC 4287. In July 2003, Winer and UserLand Software assigned the copyright of the RSS 2.0 specification to Harvard's Berkman Center for Internet & Society, where he had just begun a term as a visiting fellow.
At the same time, Winer launched the RSS Advisory Board with Brent Simmons and Jon Udell, a group whose purpose was to maintain and publ
Open-source software is a type of computer software in which source code is released under a license in which the copyright holder grants users the rights to study and distribute the software to anyone and for any purpose. Open-source software may be developed in a collaborative public manner. Open-source software is a prominent example of open collaboration. Open-source software development generates an more diverse scope of design perspective than any company is capable of developing and sustaining long term. A 2008 report by the Standish Group stated that adoption of open-source software models have resulted in savings of about $60 billion per year for consumers. In the early days of computing and developers shared software in order to learn from each other and evolve the field of computing; the open-source notion moved to the way side of commercialization of software in the years 1970-1980. However, academics still developed software collaboratively. For example Donald Knuth in 1979 with the TeX typesetting system or Richard Stallman in 1983 with the GNU operating system.
In 1997, Eric Raymond published The Cathedral and the Bazaar, a reflective analysis of the hacker community and free-software principles. The paper received significant attention in early 1998, was one factor in motivating Netscape Communications Corporation to release their popular Netscape Communicator Internet suite as free software; this source code subsequently became the basis behind SeaMonkey, Mozilla Firefox and KompoZer. Netscape's act prompted Raymond and others to look into how to bring the Free Software Foundation's free software ideas and perceived benefits to the commercial software industry, they concluded that FSF's social activism was not appealing to companies like Netscape, looked for a way to rebrand the free software movement to emphasize the business potential of sharing and collaborating on software source code. The new term they chose was "open source", soon adopted by Bruce Perens, publisher Tim O'Reilly, Linus Torvalds, others; the Open Source Initiative was founded in February 1998 to encourage use of the new term and evangelize open-source principles.
While the Open Source Initiative sought to encourage the use of the new term and evangelize the principles it adhered to, commercial software vendors found themselves threatened by the concept of distributed software and universal access to an application's source code. A Microsoft executive publicly stated in 2001 that "open source is an intellectual property destroyer. I can't imagine something that could be worse than this for the software business and the intellectual-property business." However, while Free and open-source software has played a role outside of the mainstream of private software development, companies as large as Microsoft have begun to develop official open-source presences on the Internet. IBM, Oracle and State Farm are just a few of the companies with a serious public stake in today's competitive open-source market. There has been a significant shift in the corporate philosophy concerning the development of FOSS; the free-software movement was launched in 1983. In 1998, a group of individuals advocated that the term free software should be replaced by open-source software as an expression, less ambiguous and more comfortable for the corporate world.
Software licenses grant rights to users which would otherwise be reserved by copyright law to the copyright holder. Several open-source software licenses have qualified within the boundaries of the Open Source Definition; the most prominent and popular example is the GNU General Public License, which "allows free distribution under the condition that further developments and applications are put under the same licence", thus free. The open source label came out of a strategy session held on April 7, 1998 in Palo Alto in reaction to Netscape's January 1998 announcement of a source code release for Navigator. A group of individuals at the session included Tim O'Reilly, Linus Torvalds, Tom Paquin, Jamie Zawinski, Larry Wall, Brian Behlendorf, Sameer Parekh, Eric Allman, Greg Olson, Paul Vixie, John Ousterhout, Guido van Rossum, Philip Zimmermann, John Gilmore and Eric S. Raymond, they used the opportunity before the release of Navigator's source code to clarify a potential confusion caused by the ambiguity of the word "free" in English.
Many people claimed that the birth of the Internet, since 1969, started the open-source movement, while others do not distinguish between open-source and free software movements. The Free Software Foun
PHP: Hypertext Preprocessor is a general-purpose programming language designed for web development. It was created by Rasmus Lerdorf in 1994. PHP stood for Personal Home Page, but it now stands for the recursive initialism PHP: Hypertext Preprocessor. PHP code may be executed with a command line interface, embedded into HTML code, or it can be used in combination with various web template systems, web content management systems, web frameworks. PHP code is processed by a PHP interpreter implemented as a module in a web server or as a Common Gateway Interface executable; the web server combines the results of the interpreted and executed PHP code, which may be any type of data, including images, with the generated web page. PHP can be used for many programming tasks outside of the web context, such as standalone graphical applications and robotic drone control; the standard PHP interpreter, powered by the Zend Engine, is free software released under the PHP License. PHP has been ported and can be deployed on most web servers on every operating system and platform, free of charge.
The PHP language evolved without a written formal specification or standard until 2014, with the original implementation acting as the de facto standard which other implementations aimed to follow. Since 2014, work has gone on to create a formal PHP specification. PHP development began in 1994 when Rasmus Lerdorf wrote several Common Gateway Interface programs in C, which he used to maintain his personal homepage, he extended them to work with web forms and to communicate with databases, called this implementation "Personal Home Page/Forms Interpreter" or PHP/FI. PHP/FI could be used to build dynamic web applications. To accelerate bug reporting and improve the code, Lerdorf announced the release of PHP/FI as "Personal Home Page Tools version 1.0" on the Usenet discussion group comp.infosystems.www.authoring.cgi on June 8, 1995. This release had the basic functionality that PHP has today; this included Perl-like variables, form handling, the ability to embed HTML. The syntax was simpler, more limited and less consistent.
Early PHP was not intended to be a new programming language, grew organically, with Lerdorf noting in retrospect: "I don't know how to stop it, there was never any intent to write a programming language I have no idea how to write a programming language, I just kept adding the next logical step on the way." A development team began to form and, after months of work and beta testing released PHP/FI 2 in November 1997. The fact that PHP was not designed, but instead was developed organically has led to inconsistent naming of functions and inconsistent ordering of their parameters. In some cases, the function names were chosen to match the lower-level libraries which PHP was "wrapping", while in some early versions of PHP the length of the function names was used internally as a hash function, so names were chosen to improve the distribution of hash values. Zeev Suraski and Andi Gutmans rewrote the parser in 1997 and formed the base of PHP 3, changing the language's name to the recursive acronym PHP: Hypertext Preprocessor.
Afterwards, public testing of PHP 3 began, the official launch came in June 1998. Suraski and Gutmans started a new rewrite of PHP's core, producing the Zend Engine in 1999, they founded Zend Technologies in Ramat Gan, Israel. On May 22, 2000, PHP 4, powered by the Zend Engine 1.0, was released. As of August 2008 this branch reached version 4.4.9. PHP 4 will any security updates be released. On July 14, 2004, PHP 5 was released, powered by the new Zend Engine II. PHP 5 included new features such as improved support for object-oriented programming, the PHP Data Objects extension, numerous performance enhancements. In 2008, PHP 5 became the only stable version under development. Late static binding had been missing from PHP and was added in version 5.3. Many high-profile open-source projects ceased to support PHP 4 in new code as of February 5, 2008, because of the GoPHP5 initiative, provided by a consortium of PHP developers promoting the transition from PHP 4 to PHP 5. Over time, PHP interpreters became available on most existing 32-bit and 64-bit operating systems, either by building them from the PHP source code, or by using pre-built binaries.
For PHP versions 5.3 and 5.4, the only available Microsoft Windows binary distributions were 32-bit x86 builds, requiring Windows 32-bit compatibility mode while using Internet Information Services on a 64-bit Windows platform. PHP version 5.5 made. Official security support for PHP 5.6 ended on 31 December 2018, but Debian 8.0 Jessie will extend support until June 2020. PHP received mixed reviews due to lacking native Unicode support at the core language level. In 2005, a project headed by Andrei Zmievski was initiated to bring native Unicode support throughout PHP, by embedding the International Components for Unicode library, representing text strings as UTF-16 internally. Since this would cause major changes both to the internals of the language and to user code, it was planned to release this as version 6.0 of the language, along with other major features in development. However, a shortage of developers who understood the necessary changes, performance problems arising from conversion to and from UTF-16, used in a web context, led to delays in the project.
As a result, a PHP 5.3 release was created in 2009, with many non-Unicode f
GNU General Public License
The GNU General Public License is a widely-used free software license, which guarantees end users the freedom to run, study and modify the software. The license was written by Richard Stallman of the Free Software Foundation for the GNU Project, grants the recipients of a computer program the rights of the Free Software Definition; the GPL is a copyleft license, which means that derivative work can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD licenses and the MIT License are widely-used examples. GPL was the first copyleft license for general use; the GPL license family has been one of the most popular software licenses in the free and open-source software domain. Prominent free-software programs licensed under the GPL include the Linux kernel and the GNU Compiler Collection. David A. Wheeler argues that the copyleft provided by the GPL was crucial to the success of Linux-based systems, giving the programmers who contributed to the kernel the assurance that their work would benefit the whole world and remain free, rather than being exploited by software companies that would not have to give anything back to the community.
In 2007, the third version of the license was released to address some perceived problems with the second version that were discovered during its long-time usage. To keep the license up to date, the GPL license includes an optional "any version" clause, allowing users to choose between the original terms or the terms in new versions as updated by the FSF. Developers can omit it; the GPL was written by Richard Stallman in 1989, for use with programs released as part of the GNU project. The original GPL was based on a unification of similar licenses used for early versions of GNU Emacs, the GNU Debugger and the GNU C Compiler; these licenses contained similar provisions to the modern GPL, but were specific to each program, rendering them incompatible, despite being the same license. Stallman's goal was to produce one license that could be used for any project, thus making it possible for many projects to share code; the second version of the license, version 2, was released in 1991. Over the following 15 years, members of the free software community became concerned over problems in the GPLv2 license that could let someone exploit GPL-licensed software in ways contrary to the license's intent.
These problems included tivoization, compatibility issues similar to those of the Affero General Public License—and patent deals between Microsoft and distributors of free and open-source software, which some viewed as an attempt to use patents as a weapon against the free software community. Version 3 was developed to attempt to address these concerns and was released on 29 June 2007. Version 1 of the GNU GPL, released on 25 February 1989, prevented what were the two main ways that software distributors restricted the freedoms that define free software; the first problem was that distributors may publish binary files only—executable, but not readable or modifiable by humans. To prevent this, GPLv1 stated that copying and distributing copies or any portion of the program must make the human-readable source code available under the same licensing terms; the second problem was that distributors might add restrictions, either to the license, or by combining the software with other software that had other restrictions on distribution.
The union of two sets of restrictions would apply to the combined work, thus adding unacceptable restrictions. To prevent this, GPLv1 stated that modified versions, as a whole, had to be distributed under the terms in GPLv1. Therefore, software distributed under the terms of GPLv1 could be combined with software under more permissive terms, as this would not change the terms under which the whole could be distributed. However, software distributed under GPLv1 could not be combined with software distributed under a more restrictive license, as this would conflict with the requirement that the whole be distributable under the terms of GPLv1. According to Richard Stallman, the major change in GPLv2 was the "Liberty or Death" clause, as he calls it – Section 7; the section says that licensees may distribute a GPL-covered work only if they can satisfy all of the license's obligations, despite any other legal obligations they might have. In other words, the obligations of the license may not be severed due to conflicting obligations.
This provision is intended to discourage any party from using a patent infringement claim or other litigation to impair users' freedom under the license. By 1990, it was becoming apparent that a less restrictive license would be strategically useful for the C library and for software libraries that did the job of existing proprietary ones; the version numbers diverged in 1999 when version 2.1 of the LGPL was released, which renamed it the GNU Lesser General Public License to reflect its place in the philosophy. Most "GPLv2 or any version" is stated by users of the license, to allow upgrading to GPLv3. In late 2005, the Free Software Foundation announced work on version 3 of the GPL. On 16 January 2006, the first "discussion draft" of GPLv3 was published, the public consultation began; the public consultation was planned for ni