Mongoose (web server): Difference between revisions
More added to License change and some other changes to citations. Also changed warning banner |
|||
Line 1: | Line 1: | ||
{{Multiple issues|{{ |
{{Multiple issues|{{POV|date=May 2019}} |
||
{{Disputed-section|date=May 2019}}}}{{Infobox software |
|||
| title = Mongoose |
| title = Mongoose |
||
| name = Mongoose |
| name = Mongoose |
||
Line 38: | Line 39: | ||
Mongoose is built on top of the Mongoose Embedded Library which can be used for the implementation of [[Representational state transfer|RESTful services]], to serve Web GUI on embedded devices, create [[Remote procedure call|RPC]] frameworks (e.g. [[JSON-RPC]]). Mongoose is a [[cross-platform]] application that can be used on Windows, Macintosh OS, Linux, QNX, eCOS, Free RTOS, Android and iOS.<ref name="PAWA 2011"/> |
Mongoose is built on top of the Mongoose Embedded Library which can be used for the implementation of [[Representational state transfer|RESTful services]], to serve Web GUI on embedded devices, create [[Remote procedure call|RPC]] frameworks (e.g. [[JSON-RPC]]). Mongoose is a [[cross-platform]] application that can be used on Windows, Macintosh OS, Linux, QNX, eCOS, Free RTOS, Android and iOS.<ref name="PAWA 2011"/> |
||
With just over |
With just over 130 kB source code and an executable footprint of 40 kB on Linux 2.6 i386, Mongoose is one of the smallest web servers available.{{citation needed|date=November 2012}} Via an [[application programming interface]], (API) it can also be embedded into other programs.<ref name="Linux Journal 2010">{{cite web|url=https://mongoose-os.com/|title=Mongoose OS - reduce IoT firmware development time up to 90%|author=Hammel, Michael J, Griffiths.|first=|date=May 16, 2019|website=[[Mongoose OS]]|archive-url=|archive-date=|dead-url=|accessdate=May 16, 2019}}</ref> |
||
Mongoose is written in C<ref>{{Cite web|url=https://github.com/cesanta/mongoose|title=cesanta/mongoose|website=GitHub|language=en|access-date=2019-05-17}}</ref>. |
Mongoose is written in C<ref>{{Cite web|url=https://github.com/cesanta/mongoose|title=cesanta/mongoose|website=GitHub|language=en|access-date=2019-05-17}}</ref>. |
||
Line 64: | Line 65: | ||
== License change == |
== License change == |
||
In August 2013, the license was changed from MIT license to a dual GPLv2 / commercial licensing scheme. After the license change, Mongoose was forked, the different forks then significantly diverged when adding features. |
|||
In August 2013, the license was changed<ref>{{Cite web|url=https://github.com/cesanta/mongoose/commit/218428662e6f8d30a83cf8a89f531553f1156d25|title=License change · cesanta/mongoose@2184286|website=GitHub|language=en|access-date=2019-05-17}}</ref><ref>{{Cite web|url=https://github.com/cesanta/mongoose/commit/587aad75c10e023cba6af3d74ceaf1548eddf6c4|title=License change · cesanta/mongoose@587aad7|website=GitHub|language=en|access-date=2019-05-17}}</ref> from MIT license to a dual [[GNU General Public License|GPLv2]]/commercial licensing scheme<ref>{{Cite web|url=https://groups.google.com/forum/#!topic/mongoose-users/aafbOnHonkI|title=Google Groups|website=groups.google.com|access-date=2019-05-17}}</ref>. After the license change, Mongoose was forked (Most notably, [https://github.com/civetweb/civetweb civetweb]) & these different forks eventually diverged significantly with new features added. |
|||
==References== |
==References== |
Revision as of 11:03, 22 May 2019
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Original author(s) | Sergey Lyubka |
---|---|
Developer(s) | Cesanta Software Limited[1] |
Stable release | 6.14
/ March 4, 2019 |
Repository | |
Written in | C |
Operating system | Cross-platform [2] |
Type | Web server |
License | Dual license: GPLv2 and commercial license[3] |
Website | www |
Mongoose is a cross-platform embedded web server and networking library with functions including TCP, HTTP client and server, WebSocket client and server, MQTT client and broker and much more.
The small size of the software enables any Internet-connected device to function as a web server.[4] Mongoose is available under GPL v2 and commercial licenses.
Mongoose is developed by Cesanta Software. and is being used by NASA[5] on International Space Station.
"Mongoose lightweight approach hides the power of a fully threaded system capable of serving both static and dynamic content over multiple ports... The ease of use of this library should make it plain that these extended features will require little additional knowledge of Mongoose and free developers to build custom Web servers."[6] Michael J. Hammel, www
Overview
Mongoose is built on top of the Mongoose Embedded Library which can be used for the implementation of RESTful services, to serve Web GUI on embedded devices, create RPC frameworks (e.g. JSON-RPC). Mongoose is a cross-platform application that can be used on Windows, Macintosh OS, Linux, QNX, eCOS, Free RTOS, Android and iOS.[2]
With just over 130 kB source code and an executable footprint of 40 kB on Linux 2.6 i386, Mongoose is one of the smallest web servers available.[citation needed] Via an application programming interface, (API) it can also be embedded into other programs.[7] Mongoose is written in C[8].
Users
Mongoose is used by several companies[9] in various industries, including software companies, equipment companies, semiconductor companies and some Fortune 500 technology companies.[1] In January 2018, Mongoose reached a mark of being downloaded over 2,500,000 times.[10]
Functions
Functions of Mongoose include:
- Cross-platform, support for Unix/Linux, *BSD, eCos, Windows, OS X, QNX and more
- CGI, SSI, Digest (MD5) authorization, WebSocket, WebDAV support
- Resumed download, URL rewriting support, HTTP proxy support
- SSL support, both one-way and two-way SSL
- IP address-based ACL, Windows service, GET, POST, HEAD, PUT, DELETE methods
- Excluding files from serving by URI pattern
- HTTP client functionality
- MQTT client and broker functionality
- WebSocket client and broker functionality
- DNS client and server functionality
- Tiny static and run-time footprint
- Source code is both ISO C and ISO C++ compliant[11]
- Single-threaded, asynchronous, non-blocking core with simple event-based API
- Native support for PicoTCP embedded TCP/IP stack, LWIP embedded TCP/IP stack
Source: https://github.com/cesanta/mongoose/blob/master/README.md
License change
In August 2013, the license was changed from MIT license to a dual GPLv2 / commercial licensing scheme. After the license change, Mongoose was forked, the different forks then significantly diverged when adding features.
References
- ^ a b Newenham, Pamela (March 21, 2013). "Conditions ripe in Ireland for growth of internet of things". The Irish Times. Retrieved July 1, 2016.
- ^ a b Oehlman, D.; Blanc, S. (2011). Pro Android Web Apps: Develop for Android using HTML5, CSS3 & JavaScript. Apresspod Series. Apress. pp. 9–11. ISBN 978-1-4302-3276-6.
- ^ "Mongoose license".
- ^ Newenham, Pamela (March 21, 2013). "Conditions ripe in Ireland for growth of internet of things". The Irish Times. Retrieved July 1, 2016.
- ^ "NASA lifts off with Mongoose Embedded Web Server". www.linkedin.com. Retrieved 2019-05-17.
- ^ "Mongoose: an Embeddable Web Server in C | Linux Journal". www.linuxjournal.com. Retrieved 2018-11-14.
- ^ Hammel, Michael J, Griffiths. (May 16, 2019). "Mongoose OS - reduce IoT firmware development time up to 90%". Mongoose OS. Retrieved May 16, 2019.
{{cite web}}
: Cite has empty unknown parameter:|dead-url=
(help)CS1 maint: multiple names: authors list (link) - ^ "cesanta/mongoose". GitHub. Retrieved 2019-05-17.
- ^ "Mongoose - Case Studies". cesanta.com. Retrieved 2019-05-17.
- ^ Newenham, Pamela (March 21, 2013). "Irish start-up Cesanta to deliver keynote at CeBit conference". The Irish Times. Retrieved July 1, 2016.
- ^ "Company Overview of Cesanta Software Limited". Bloomberg. Retrieved 30 June 2016.