Live data from Hacker News

Is Express.js dying?

github.com

31–40 of 77 posts

Re: Is Express.js dying?

#31
post #9

Clickbait. Express.js is not dying. At all. It is being very much actively worked on by some of the hardest working maintainers and contributors. Express.js is actually a combination of various modules. If you want to see the work being done, go to those individual modules.

Did you read the thread? No one who read the thread would think that there are hard-working maintainers who have been working hard on the project. That's clear.

However, there are very clearly some governance issues that those of us using Express or evaluating it should be aware of.

Re: Is Express.js dying?

#32
post #24

The thread actually represents a discussion between the most active maintainer (dougwilson) and various employees of IBM who now own and oversee the project, with a few confused third parties chiming in. It looks like IBM is making some predictable mistakes, which have disillusioned dougwilson to some large extent. Simultaneously they are being fairly inflexible at fixing those mistakes and ultimately forcing abandon…

This happened with node-inspector for a while: StrongLoop became the official sponsor, and basic stuff like 'var x = 1; console.log(x)' returning undefined was left unfixed for years while the company simultaneously used it as advertising for how great their node contributions were.

I've been frustrated with their code on a few occasions. We've seen breaking changes in patch versions on strong-remoting, PRs rebased out of patch releases with no explanation (and nobody could figure out why/how), and intentional abuse of npm's optionalDependencies to track users (https://github.com/strongloop/loopback/issues/1079).

This tracking is not only unethical but exceptionally dangerous, as the dependency is fetched over http, and as we know, npm modules essentially have full user access as they can spawn any command via the `postinstall` hook. So a mitm could pose as blip.strongloop.com and own any servers calling out to it.

I've ended up forking every strongloop package we use to trim this tracking abuse. I really shouldn't have to do that.

Re: Is Express.js dying?

#33

Frameworks die. It is a fact. Death in this sense means discontinued support and development. It is not difficult to see how this can render any software that depends on a 'dead' framework unstable or even broken with time. I have experienced exactly this multiple times. In fact, I am extremely aware of this when I start a new project. Perhaps especially when I am dealing with frameworks like Express, Django or Ruby…

It would be a stretch to call express a framework. It's just a collection of connect middleware and a few helpers.

Re: Is Express.js dying?

#34
The public airing of their dirty laundry - especially the snark from so many of the participants - would kill it in my mind. There's no good reason to have this "open and transparent" conversation devolve into "let me bitch about IBM here, but don't bitch back at me, keep to IBM-only channels". It's all very childish. The whole thing should've been on the IBM back channels until they got their shit together and could agree on some messaging, and if the maintainer didn't agree with the messaging or how long it was taking to come up with it, simply fork it into the expressjs org and leave. Shouting out "I'm leaving! I'm going! I really mean it this time!" just seems like ... a child running away from "mean ol' parents" rather than an open source leader whose project work speaks volumes. It's tragic to watch this train wreck that could've been avoided by both sides refusing to posture. Like my father used to say, "shit or get off the pot, don't keep debating out loud if you're really going to do it."

Compare it to Linus' openly-hostile dictatorship, which is universally both reviled and excused by contributors, just for a moment: At least when it comes to Linux kernel, shit gets done; nobody has to question the commitment of the project's stewards; and Linus hasn't (that I recall) threatened to take his toys elsewhere.

Re: Is Express.js dying?

#35
post #33

Frameworks die. It is a fact. Death in this sense means discontinued support and development. It is not difficult to see how this can render any software that depends on a 'dead' framework unstable or even broken with time. I have experienced exactly this multiple times. In fact, I am extremely aware of this when I start a new project. Perhaps especially when I am dealing with frameworks like Express, Django or Ruby…

It would be a stretch to call express a framework. It's just a collection of connect middleware and a few helpers.

Using that argument you could almost never call something a framework of it uses a lot of libraries under the hood to make what it's doing easier. I see nothing wrong with the usage.

Re: Is Express.js dying?

#36

The public airing of their dirty laundry - especially the snark from so many of the participants - would kill it in my mind. There's no good reason to have this "open and transparent" conversation devolve into "let me bitch about IBM here, but don't bitch back at me, keep to IBM-only channels". It's all very childish. The whole thing should've been on the IBM back channels until they got their shit together and could…

Linux doesn't seem to be a fair analogy.

If Linux had been, somehow, acquired by a large company (or, at least, access/edit rights to all of the code repositories and web presence and such), and Linus had been removed from administrative roles on those repositories and sites (or asked to remove himself and others), then the comparison would be fair.

Admittedly, one answer would be to loudly fork the project. That's happened on a number of occasions. Joomla forked from whatever it was called before a similar story (Mambo, maybe?). Node.js itself forked into io.js over similar disagreements (and then people worked those disagreements out).

I suspect some of the back and forth happening is people trying to figure out if a fork is necessary and if they actually want to be the people leading the fork (sounds like Doug Wilson does not want to be a leader, but wants to keep contributing). Contributing heavily to a project is not the same as being a leader of a project, and it is entirely fair to not want to lead a project, even if you care strongly about it, and have worked hard on it for a long time.

Re: Is Express.js dying?

#37
We have source code licenses that govern what we can do with the source code of an open source project. I wonder if it's time to start creating more explicit licenses for repositories or projects that govern behavior and the day to day activities of a project - ownership / releases / etc.

Linux would be under the 'Linus Project Governor' model or the LPG... ;)

Re: Is Express.js dying?

#38
The state of documentation of Express 4 is not great. You have to look at the source code to see how it really works most times, or read someone's blog about how it used to work in Express 3 - but no longer does.

Whose decision was it to go from a "batteries included" web server module to one where users had to assemble a bunch of ad-hoc third party components to make a usable web server? I'm looking at you, body-parser.

Re: Is Express.js dying?

#39

Earlier quoted context omitted.

Another good alternative is Hapi: http://hapijs.com/

Hapi might be an alternative to Express (both are outdated callback-style frameworks), but it's in no way an alternative to Koa.

Koa middleware are generally more composable and more robust than Express. In Koa, middleware flows down and up in a stack-like manner with the help of generators. E.g., in Koa you set an X-Response-Time header like so:

https://github.com/koajs/response-time/blob/master/index.js

The response time middleware records the start time, then yields to any other middleware, and finally sets the header.

You just can't do that as nicely in Express. Here is the Express version:

https://github.com/expressjs/response-time/blob/master/index...

responseTime has to wait to be called via "on-headers". on-headers is a separate module that monkey-patches response.writeHead.

The Koa version is 21 lines of code (really just 4 LOC), while the express version is over 200 LOC.

Re: Is Express.js dying?

#40
I'm curious, has this kind of takeover of an open-source project by a corporation happened before? It is disconcerting to watch people who never had any involvement start pouring in acting as project owners, considering the fact that there is no real legal ownership.
Post reply on HN