Web server

John Mills johnmills at speakeasy.net
Wed Feb 14 14:45:24 UTC 2007

Hi Steven,

Thanks for the information.

DISCLAIMER: I'm using a patched version of GoAhead's 'eCos' port, and am 
ignorant of RTEMS-specific issues here.

On Wed, 14 Feb 2007, Steven Johnson wrote:

> I wrote the port for shttpd and rtems, it is in the official shttpd
> tree. see http://shttpd.sourceforge.net/

Thanks - I'll have a look at 'shttpd'.
> The BIG missing feature's by comparison to GoAhead are:
> 1. Server Side Includes (which GoAhead calls ASP, which isn't ASP).
> 2. A Security API to allow security to be set in software, rather than
> using a security file (shttpd supports a security file).

We need server includes, in fact our whole suite of web pages is generated 
'on the fly'. I also take advantage of GoAhead's user management for some 
level of authorization and selective access control. I suppose this could 
have been pushed back more onto our SSL level, but I found a reasonable 
match between the API and what I wanted to do.

> It is also unmaintained and contains a number of bugs (see my post that
> Joel links to).

Too true, and the Prolix 'wiki' reflects a long and loud line of
developers who've fought with the same bugs over and over.
> The API's are totally different, so it is not easy to just plug in
> shttpd into a program that uses GoAhead.

I hit fairly lucky on that - mostly handled by 'Search and Replace'.

> Unfortunately the licence is confusing, there are several subtly
> different versions, but it would seem to me that applying my patches to
> the mainline and making them publicly available as a patched version of
> GoAhead would violate at least one of the variant licences.

IANL but my reading was, "I have to share with GoAhead, and can also share
with whomever else I want."

GoAhead has no obligation to share fixes, nor do they seem to want to. It
might even cut into one of their partners' revenue stream. (_That_ I find 
seriously unfair!)

> There is also my pet hate, the server must report itself as a GoAhead
> server and official version (2.1.4 for RTEMS).  If you apply patches to
> it, it is against the licence to change this version number.  You also
> need to put the GoAhead logo on your home page.

What limits you to the [RTEMS] "official" release?

> shttpd by contrast is a fully permissive licence (Beerware), free for
> Commercial or Open Source use without restriction, and there is no
> advertising clause, and you can make the server respond with any server
> name/version that you like, so that it can match your application.

GoAhead license requires the page header identify their server, but
there's an API call ("websSetRealm") to set the server's reported domain.  
Unless the user examines source or headers, they will know of GoAhead only
from the logo on your main page.

Like many RTEMS users, I can't include GPL materials so servers like
'webapp' are not options.

> I am still working on shttpd, and we are going to integrate it into our
> product and totally replace GoAhead.  Part of that will require I add
> missing feature 2 above.  I expect this should be complete some time
> next week.

Great. This is well worth my looking into.

 - John Mills
   john.m.mills at alum.mit.edu

More information about the users mailing list