Nginx established as a company
nginx.org
nginx.org
Does anyone know if the model of open-source with a consulting/premium support company behind it works? I've paid 10gen for MongoDB assistance before, so I know there has to be some legitimacy behind the model. And, you know, MySQL.
In a way open source is perfectly socialist: There is almost perfect shared ownership of the production means (the software itself is free, the means to create new software - your brain and a computer that can run Linux - is well within the reach of anyone just moderately motivated.).
On the other hand, it's perfectly capitalist, libertarian and free market: You alone own what you produce (provided you alone created it). No-one can tell you what to do (unless you let them) and it's hard to imagine a field where it is easier to become your own boss. Competition is fierce, creative destruction rules, the entire field surges ahead at a blinding pace.
Saying that they only do support (discarding all of their engineering work and contributuions) is not accurate.
* Percona: MySQL
* Canonical: Ubuntu
* Best Practical: RT
* Concurrent: Cascading
* Basho: Riak
Most of the 'successful' open source companies are not just straight up service outfits. Redhat, for instance, has a model where you must buy a subscription, or you don't get support. In fact, you can't even use Redhat if you don't buy a subscription. They do this with some trademark trickery, which creates some of the artificial scarcity that open source software lacks.
Somewhere, somehow, something has to be 'scarce' to be able to sell it: http://journal.dedasys.com/2007/02/03/in-thrall-to-scarcity
People's time, is of course scarce, but services can be difficult to scale, as doing so requires people/management skills much more than actual technical expertise, or some kind of product. Also: to be profitable, a services company should spend as much time as possible billing for services, which may come into conflict with time spent on things like building a product that is then given away.
http://www.businesswire.com/news/home/20110323006450/en/Red-...
The Redhat model establishes a brand, often the original source for the product / project and uses that to market their expertise. Redhat is primarily a support and consulting organization. If you want to run an SAP system on Redhat, for it to be certified (and hence supported, which anyone buying an SAP contract will want) it has to be on Redhat Enterprise Linux with the support contract that goes along with that. In this case support can easily go all the way up to e.g. patching the kernel / glibc / whatever, and Redhat can charge a premium for offering that kind of in-house expertise.
The MySQL / Qt model is a mixed proprietary / open source model. They offered their libraries under the GPL (instead of the LGPL, BSD or other more permissive licenses) meaning that if you wanted to be able to distribute their libraries as part of a proprietary application, you had to pay for a license.
Since nginx is BSD licensed, I assume they are going for the prior.
The LGPL option was only added in 2009. Prior to that, various licencing mechanisms were used to extract revenue on various platforms.
(Eg, at one point the *nix version was GPL'ed but the Windows one wasn't, so you needed to pay to ship it on Windows)
Will it work for webservers? Probably. Usually companies that use webservers are supposed to have capable webmasters, but once a company becomes large enough the biggest motivation of its executives becomes to cover their asses, and at that point they will probably start paying for support.
Unfortunately, this model will probably not work for our software because we are trying to make it a zero configuration zero support product. The paid support/free software model is a bit of a perverse incentive as it rewards products that are more difficult to use and configure.
If you think about it, the only products that are typically supported via contract seem to be extremely sophisticated, large, or cornerstone products. Making such products OneTouch-EZ is likely a waste of everyone's time and resources, because you have to hamstring the product and spend a ton of development effort making it idiot-proof, when you could have just been making it better instead.
There is so much potential here that not having good Windows builds basically means you're missing out an extra 30% of production systems and 70% of development system. As in: you could double your numbers easily.
It's extra adaptation and growth.
*Windows builds exist. http://nginx.org/en/docs/windows.html
There's a lot of features that unix systems have that Windows does entirely differently, or not that all.
To accommodate that, he'd need to either write high-level interfaces on top of things and/or use the subset of features supported across all platforms.
We already have Apache ;) I like NGinx because it's willing to say "Screw marketshare. I'm trying to make the best server for This use-case, and everyone else can bugger off."
You end up with platform-specific features, behavior and bugs, compounded across multiple pieces in the stack. You also end up with conflicting design decisions.
In my case, I wanted to use Apache & Python, but the recommendation is for a threading Apache on Windows, but forking on Linux (allowing e.g. mod_python).
To be cross-platform, I ended up going pure python webserver at the cost of performance and then had to deal with divergent cpython threading behavior, as well as postgres win32-specific issues.
That's not very accurate. On any other platform, you use a package manager to install Apache.
This is probably why there are many nginx packages in ubuntu repositories (nginx-light, nginx-full, etc.).
Too much wasted effort is put into open source projects to support windows. This is isn't about not supporting Windows because of MS. But by not being Unix, it causes too much perturbation for little gain that can achieve through more correct methods (virtualization).
Oh look, http://httpd.apache.org/docs/2.0/platform/windows.html
Many #nix devs would find the very idea of such effort repulsive -- their light and elegant code suddenly needs to be mangled and obfuscated with unnecessary abstractions to support that godawful operating system. And I can't say I can blame them.
I have been fascinated by Igor's code, its rigor, its almost *geometric nature*...
http://forum.gwan.com/index.php?p=/discussion/comment/1272/#...[1] Libev is the event engine used by node.js.
[2] http://forum.gwan.com/index.php?p=/discussion/151/libevent-a...
The author of gwan sits behind his closed source application and use benchmarks "authoritatively" to criticize open source competitors. This is very bad form as there is no way for these authors to investigate and criticize the gwan code in return.
However, one can use trace to investigate the number of syscalls gwan uses for a known operation (e.g. serving a small static file). If gwan was the fastest server out there one would of course expect that it uses the fewest and absolute minimum number of syscalls of all servers. When it turns out that it doesn't, the author of gwan has a explanation problem.
Add to the above premise that gwan does not implement HTTP/1.1 and hardly does HTTP/1.0.
Before we conclude, lets look at what a web-server or application server does. The following abstract loop basically define such a server:
while true
read request
<process>
write response
end
If you skip or minimize the <process> part, any newbie programmer can write a server that can handle a large amount of requests per second. And this is exactly what gwan does, while the other servers implements the full HTTP/1.1 state machine. It is in the <process> part that the work of a server, skills and excellence can be found.Gwan is a classic example of "The Emperor Wears No Clothes" and the so-called benchmarks are a joke as it compares a naked gwan with a magnificent clothed emperor such as nginx.
If you like to donate to nginx, you can make a donation via
PayPal
paypal@nginx.net
http://sysoev.ru/en/donation.htmlHere's the link stating that google checkout does not allow "donations" unless you're tax-exempt: http://www.reddit.com/comments/gx7br/google_emulates_paypal_...
I can't find the related news article for paypal offhand.
getting money flowing for dev of Nginx can only benefit the FOSS community. Hopefully some of that money will go into developing more documentation :)
i was flattered when once somebody called our "vsetec mety" project an nginx of databases. though it's definetely not true (even maybe vice versa)...