Ruby has Rack, Python has WSGI and Perl has PSGI. You should think in adding support for PSGI too. It would make Passenger the most complete solution for deploying webapps.
via izumi.plan99.net
Felix commented on Passenger dev's blog and requested PSGI/Plack support for Phusion Passenger. I totally agree with him that'd be awesome!
By the way at the latest London.pm technical meeting there was a presentation by a guy called Solli who claimed that the original CGI specification is nearly identical to your PSGI spec and that what we usually think about when we hear CGI is actually an implementation of that abstract interface (and for example the fact that the params are passed in environment is just an artefact of that interface). I think it can be useful to do such comparison.
Posted by: Zbigniew Lukasiak | 03/25/2010 at 04:03 AM
PSGI vs CGI comparison is documented in PSGI::FAQ
http://search.cpan.org/perldoc?PSGI::FAQ
Yes they're similar and the biggest key difference of CGI and PSGI/WSGI/Rack are that CGI uses environment variables and STDIN/STDOUT as an interface (hence portable and you can use any programming languages to implement) while PSGI etc. uses its programming language variables and callbacks as an interface which means it's more tied to the language.
Posted by: miyagawa | 03/25/2010 at 04:08 AM
I think what he had on mind was:
'meta-variable'
A named parameter which carries information from the server to the
script. It is not necessarily a variable in the operating
system's environment, although that is the most common
implementation.
(from http://www.ietf.org/rfc/rfc3875) so apparently using environment for CGI is only a 'most common implementation' not part of the specification (even though later when they walk through operating systems - there they do specify that UNIX uses environment).
Posted by: Zbigniew Lukasiak | 03/25/2010 at 11:51 AM
Right, but that's just hypothetical talk since this RFC 3875 was created in 2004 October, which is 10 years after when WWW and CGI (for NCSA/UNIX) were invented.
So I think this RFC is like wrapping up what's out there in the wild and giving a higher layer abstraction the name of CGI and calling the actual implementations "System Specific". It's not like there was a "original" CGI abstract interface as an RFC and NCSA implemented that -- it's quite opposite.
Posted by: miyagawa | 03/25/2010 at 11:59 AM