Release 5.0 #2237

Open
wants to merge 35 commits into
from

Projects

None yet
@dougwilson
Member
dougwilson commented Jul 14, 2014 edited

This is a tracking issue for release 5.0.

_5.0.0-alpha.2 published on npm_

I am trying to give better visibility for upcoming changes and so am trying out making a PR for a release here, pulling from the official next release branch into 4.x. This allows for the current pending changes to be easily visible.

Please keep feature requests in their own issues

I'm also leaving this PR unlocked so people can make comments/etc. and we'll see how it goes :) If you want to make a comment on a particular change, please make the comment in the "Files changed" tab so comments are not lost during a rebase (they will occur frequently has 4.x progresses).

The goal of Express 5 is to be API tweaks & the removal of all code from the Express repository, moving into components in the pillarjs project (https://github.com/pillarjs). Express 5 would become a "view into pillarjs" and would be an arrangement of these components.

List of changes for release:

  • Add support for Promises in all handlers #2259
  • Bring back app.router which is just generally useful for directly calling to the router
    • Make sure 3.x-style app.use(app.router) does not explode
  • Fix views to resolve paths async #2653
  • Make req.host actually return the host #2179
  • Make req.query a getter instead of added by middleware #2215
  • Make res.render always async callback, to hide sync view engines #2668
  • Make res.render use the default engine even when an extension was found #2708
  • Make res.sendFile use the "etag" application setting #2294
  • Make express.static use the "etag" application setting #2317
  • New path matching syntax #2057 #2173
  • Provide separate locals and options to view engine #2648
  • Support non-core HTTP prototypes (e.g. http2, shot and others)
  • Use mime-types instead of mime
  • Use path-is-absolute module for absolute path detection #2620

List of deprecated things removed:

  • Leading : in name for app.param(name, fn)
  • app.del
  • app.param(fn)
  • req.acceptsCharset
  • req.acceptsEncoding
  • req.acceptsLanguage
  • res.json(obj, status)
  • res.json(status, obj)
  • res.jsonp(obj, status)
  • res.jsonp(status, obj)
  • req.param()
  • res.redirect(url, status)
  • res.send(body, status)
  • res.send(status)
  • res.send(status, body)
  • res.sendfile
  • res.vary() (i.e. no arguments) #2943

List of things to refactor (still provided by express):

  • Better res.cookie and general cookie reading/setting (new keygrip and cookies modules)
  • Have router use path-match extraction instead of path-to-regexp directly
  • Move all related logic using proxy-addr to new module (ex host, ip, etc.) jshttp/proxy-addr#2
  • Move prototype properties to own repo #2432
  • Move Router to it's own repo #2411
  • Move View and related to own repo #2217

Testing this release

If you want to try out this release, you can install it with the following command:

$ npm install visionmedia/express#5.0

Owners/collaborators: please do not merge this PR :)

@jblandino

Great~!!

@jonathanong
Member

here's some mostly refactor-based changes i'd like to see. AFAIK you've got this covered @dougwilson, but let me know if you need help:

  • refactor the router to a separate repository
  • refactor the view system to a separate repository. maybe templation, maybe something else more backwards compatible
  • finish next versions of cookies and keygrip and use them in Express
  • finish refactoring body-parser into the request-body module before including it here
  • refactor the router to use path-match or something else between path-to-regexp and the router itself
  • refactor proxy-addr. i just emailed npm to ask for the trust package
@dougwilson
Member

All great stuff @jonathanong :) I added all but the body-parser one up there, because I really want to add that in a 4.x release, but time-dependent :D

@Fishrock123 Fishrock123 added this to the 5.x milestone Aug 1, 2014
@Fishrock123 Fishrock123 added the pr label Sep 29, 2014
@ilanbiala

How close is this to a prerelease? I just want to know if you think it's stable enough to start playing around with for future projects.

@dougwilson
Member

So you're always welcome to play around with npm install visionmedia/express#5.0 (and you can add "express": "visionmedia/express#5.0" to your package.json if you really wish). If you are looking for something published to npm, just ask :) No one has really ask for it yet is all. Would you like an alpha or something published to npm? I can do it right after 4.10 (which is due something this week) so it'll include 4.10 stuff.

@rlidwka
Member
rlidwka commented Oct 20, 2014

If you are looking for something published to npm

I'm looking for the router to be published to npm for the looong time now. :)

@dougwilson
Member

@rlidwka the docs are just about complete and I was just porting the recent changes to the router in here over yesterday :) I also really want it, haha

@Fishrock123
Member

👍

@ilanbiala

Can someone link me to the docs for the new router?

@dougwilson
Member

@ilanbiala the 5.x router is the same as the 4.x router, so the main docs can be found at http://expressjs.com/4x/api.html#router ; the documentation talked about above is basically a rewrite of them to live with the extracted router.

@Fishrock123
Member

aside: i hate that coveralls bot SO much

@dougwilson
Member

Everyone on this thread: The first Express 5.0 alpha has been released to npm!

$ npm install express@5.0.0-alpha.1
@alejonext

Cool!!

@hacksparrow
Member

Is there an approx ETA for 5.0?

@Fishrock123
Member

Is there an approx ETA for 5.0?

Yep; whenever Pillarjs is complete enough to make express one file. XD

@hacksparrow
Member

Haha, is it getting close?

@ilanbiala

@Fishrock123 What's pillarjs?

@dougwilson
Member

@hacksparrow there is no real ETA just yet, mostly because I don't want to have to commit to a date :) There have been people asking on IRC/Twitter/here about getting something on npm from this branch, so the alpha 1 is that :) What do you think about making a 5x section on the website? I feel like it's probably too early, personally. Perhaps when it's beta, and definitely when it's RC, unless you think otherwise, lol.

@hacksparrow
Member

@dougwilson, that's what I wanted to get a feel of. I am in agreement with "Perhaps when it's beta, and definitely when it's RC".

@Fishrock123
Member

@ilanbiala pillarjs is a collection of framework components. It's being extracted from express: https://github.com/pillarjs - more info is available in this empirenode talk

@dougwilson
Member

@hacksparrow so my general feel was alpha Nov 1, beta Dec 1, RC Jan 1, release 1 week after RC unless issues brought up.

@hacksparrow
Member

@dougwilson sounds good!

@baer baer referenced this pull request in divmain/js-seed Nov 13, 2014
Open

Move some of project.config.js into package.json? #27

@Fishrock123
Member

@dougwilson are we still keeping static in here?

@dougwilson
Member

Probably.

@blakeembrey blakeembrey referenced this pull request in pillarjs/path-to-regexp Dec 11, 2014
Closed

Release v1.0.0 #20

@ChiperSoft

Is this still up to date?

@dougwilson
Member

Yep.

@ChiperSoft

Isn't req.param() being removed?

@Fishrock123
Member
@ChiperSoft

@Fishrock123 right. is it only being deprecated and not removed in 5.0?

@dougwilson
Member

So until I actually deprecate them and see how it blows over, I don't want to commit to removing them from 5.0. If there isn't enough time, they may just was well stay as deprecated.

@ilanbiala

Is 5.0 going to come with new features/big performance fixes, or is it just more modular?

@Fishrock123
Member

New features: a few, yes. (Performant custom prototype extensions are one, more info soon)

"Big performance fixes": what? Do elaborate, express is by no means close to slow. The router will have some increased performance though.

@ilanbiala

@Fishrock123 not saying it's slow, but there's always up, right? :)

@dougwilson
Member

The answer is we are not aware of any performance issues, so no, there wont be any changes there. If there is something, we wouldn't really wait for a major to fix anyhow. During the 4.x series many performance issues were addressed, as an example.

There is even a slight router performance change going into 4.11.

@kuanslove

@dougwilson Hi, Doug, thanks for reply. As beginner in Node and fall in love with Express.js for more than one year, I am really concerning about its future, will it still be supported as independent light-weight easy-to-start core-robust-but-not-too-fancy-feature project that every new beginner can quickly start with, OR will it be put a lot of feature into and gradually merged into StrongLoop to make it like Django in Python? From the talk above, I can tell Express is going to be more robust, but I am not sure if it is going to be Fat?

@dougwilson
Member

@kuanslove As far as core Express goes (what you get with npm install express is not getting any fatter and only potentially slimmer.

@dougwilson dougwilson self-assigned this Jan 13, 2015
@dougwilson
Member

Basically the general sort answer to your question, @kuanslove , is Express's future is "more of the same, but more flexible".

@kuanslove

@dougwilson Cool, that is great! This is the exact place which attracts me so much. Another question is about Language Trend comparison: From TJ's early post farewell to node, I start to know the Golang, I also want to hear your opinion about the comparison between these two in Web development area. Most posts about Go and Node I found talking about GO is good at speed and Concurrent, but I am not sure if those PROs is actually commonly used a lot in our daily coding life for most web projects?

@dougwilson
Member

I have no experience with Go. In my day job I write in C#, and as hobbies I write in Perl (which also works with an event loop--even libuv, the underlying loop for Node.js) and JavaScript, all of which have concurrency, so there's no insight I can really give you on Go.

@kuanslove

@dougwilson Thanks Doug! Speaking of C# and even Asp.net, I wonder why there are a lot of people use it, is that because it has a whole set of solution for web development? Like from IDE to Platform? I do not have any experience on Windows web dev, do you think it still a huge promising job market? I am thinking if I need to put some C#/Asp.net experience in my knowledge tree. [It is my fault, I guess this should be talked offline, what is your Twitter id]

@TimothyGu

Is the locals/view engine options separation being worked on? I don't see a ticket regarding that

@dougwilson
Member

@TimothyGu yes, if you're referring to the discussion from ejs a little bit back :) Indeed, there is no ticket, mainly because I don't have any code to really show for it, but feel free to open any issues/PRs you like if you have suggestions for how __express and res.render can be improved, from your point of view :)!

@dougwilson
Member

@kuanslove my email in in my GitHub profile :)

@TimothyGu

@dougwilson said:

@TimothyGu yes, if you're referring to the discussion from ejs a little bit back :) Indeed, there is no ticket, mainly because I don't have any code to really show for it, but feel free to open any issues/PRs you like if you have suggestions for how __express and res.render can be improved, from your point of view :)!

OK cool. I'll try to find some time to do that. What I have in mind however is something that looks like res.render('file', options, locals, cb), with app.locals, app.viewOptions, res.locals, and res.viewOptions.

@dougwilson
Member

@TimothyGu great!

dougwilson added some commits Jan 21, 2015
@dougwilson dougwilson Merge tag '4.11.1'
8a5ecd3
@dougwilson dougwilson docs: simplify 5.x history
f56e2a2
@ForbesLindesay
Contributor

@TimothyGu loop me in when you create the issue :)

@jancarloviray

Awesome. Any chance on including some ES6 features? generators, yield, promises, etc.?

@dougwilson
Member

@jancarloviray there are already a few issues at https://github.com/strongloop/express/issues under discussion.

dougwilson added some commits Feb 1, 2015
@dougwilson dougwilson Merge tag '4.11.2' a9ef9e1
@dougwilson dougwilson Merge tag '4.12.0'
f6ec710
This was referenced Apr 2, 2015
@dougwilson dougwilson Merge tag '4.12.4'
f90e045
@aredridel
Contributor

Would love to see #2653 in the 5.0.0 release!

@dougwilson
Member

I guess I was mistaken when I said this check list was complete :) I'm adding that PR here and making sure everything currently tagged with "5.x" is listed here (because, really, they mean 5.0.0).

@dudemelo
dudemelo commented Jun 3, 2015

👍

@mgenev
mgenev commented Jun 5, 2015

I'm curious... with Koa and Express being so similar, is Express being developed towards ES6-7 and minimalism like Koa, is Express the robust, for-prod one and Koa the experiment etc...

@dougwilson
Member

@mgenev I'm not sure specifically what you're asking, but Express and Koa are just different approaches at being a web server in Node.js; one would not become more like the other and they are going to continue down the same paths they are already on.

@crandmck
Member

@dougwilson As best I can tell, the ETA for initial 5.0 release is "July 2015". Can you provide a more specific date? We'd like to release the docs at the same time, and we are working on them... Just need a target date if possible.

@dougwilson
Member

No problem, @crandmck :) I swore I wrote this down somewhere, though clearly it's not in this thread, haha. So I plan to release the beta 1 this weekend (about June 29), followed by any follow ups or RCs each weekend of July until the final release July 29. The final release is not absolute stone, though, if a user brings up a big issue that we cannot resolve by then for some reason, of course :) Hope this helps!

@crandmck
Member

Thanks @dougwilson that's very helpful. The docs might not be quite ready by this weekend, but I will talk with @hacksparrow and see how soon we can get them ready.

My suggestion would be that for beta releases, the 4.x docs should remain the "default" docs, and then once 5.0 final is released ~7/29, we would switch to the 5.0 docs as the default replacing the 4.x docs (with 4.x API docs still available of course). The migration guide would probably come in somewhere in there, perhaps not 'til 7/29.

@dougwilson
Member

@crandmck that's no problem. We don't even really need docs ready until release, and even this, probably can simply skip on having them all the way to an actual RC.

@crandmck crandmck referenced this pull request in expressjs/expressjs.com Jun 30, 2015
Open

Restructure site for 5.0 release (discussion) #398

@hacksparrow
Member

app.param(function) and router.param(function) were deprecated as of 4.11.0, but they seem to be working fine and dandy in 5.0.0-alpha.1. The behavior is the same only the deprecation message is gone.

Or am I missing something?

@hacksparrow
Member

Same thing for req.param(name [, defaultValue]).

@hacksparrow
Member

Are we getting rid of everything that was deprecated in 4.x? res.send(status, body) is still intact (with the deprecation message, of course).

@dougwilson if it would help, please assign some of the open issues to me.

@dougwilson
Member

Hi @hacksparrow , yes, all deprecated things will be removed in 5.0. Right now, the current 5.0.0-alpha.1 is based off Express 4.10.1, and thus anything deprecated after 4.10.1 has not yet been removed from the 5.0 alpha. Express 4.x is essentially locked for new features this month so I can get a 5.0 beta out based off 4.13.

@hacksparrow
Member

@dougwilson I am starting preliminary work on the API docs, is there a checklist of changes in 4.13 to make it 5.0 beta? It will help me in the documentation. I may also be able to help you close some of the open items.

dougwilson added some commits Jul 6, 2015
@dougwilson dougwilson Merge tag '4.13.1'
b309b87
@dougwilson dougwilson Remove ":" stripping from app.param()
3a1f27f
@dougwilson dougwilson Remove app.param(fn) signature
1e2951a
@dougwilson dougwilson Remove utils.flatten
6c75119
@dougwilson dougwilson Remove un-used depd import in router
a7d15f3
@dougwilson dougwilson Remove req.param()
21d52da
@dougwilson
Member

Hi @hacksparrow , the check list at the very top should be up-to-date now.

dougwilson and others added some commits Jul 7, 2015
@dougwilson dougwilson Use router module for routing
closes #2411
cec5780
@Fishrock123 @dougwilson Fishrock123 Use path-is-absolute module for absolute path detection
closes #2620
694869d
@dougwilson dougwilson Make res.render callback is always async, even for sync view engines
closes #2668
6343288
@dougwilson dougwilson 5.0.0-alpha.2
2c668f8
@dougwilson
Member

5.0.0-alpha.2 of Express has just been published to npm. You can install with npm install express@5.

@hacksparrow
Member

@dougwilson that's great!

@jinmatt
jinmatt commented Jul 7, 2015

👍

@mgenev
mgenev commented Jul 8, 2015

@dougwilson

I'm not sure specifically what you're asking, but Express and Koa are just different approaches at being a web server in Node.js; one would not become more like the other and they are going to continue down the same paths they are already on.

Forgive my ignorance, but what is so different? They seem close to identical to me...

@amitmtrn

@dougwilson apperently you can't npm install express@5 (you can although npm install express@5.0.0-alpha.2)
npm ERR! notarget No compatible version found: express@'>=5.0.0 <6.0.0'
I installed the 5.0.0-alpha.2 version to test the http2 issue #2432 and it seem that I still have the error

_stream_readable.js:505
    dest.end();
         ^
TypeError: undefined is not a function
    at Stream.onend (_stream_readable.js:505:10)
    at Stream.g (events.js:199:16)
    at Stream.emit (events.js:129:20)
    at _stream_readable.js:908:16
    at process._tickCallback (node.js:355:11)

but it's appear only on windows, on linux (ubuntu) I don't have this issue from version 4.13.1
any progress on that matter?

@dougwilson
Member

Hi @amitmtrn I am able to "npm install express@5" OK, but perhaps out version of npm differ on the matter :/ As for that error, the answer is no, Express 5 alpha 2 still does not accept custom prototypes on req and res. I have not gotten to it, but PRs made against the 5.0 branch for it are welcome.

@dougwilson
Member

Otherwise, you can track if an issue has been released by waiting for the issue to be closed on GitHub.

@brillout

is there a new target RTM?

@listepo
listepo commented Oct 23, 2015

Any progress?

@lenovouser

I second @listepo

@dougwilson
Member

The current progress is represented by the GitHub milestone and the check boxes at the top of this PR :)

@ariporad

Hi,

I've been having some trouble figuring out what the status is on promises is. Could someone explain it (the status for express, not promises in general) for me? Thanks!

@dougwilson
Member

Hi @ariporad , the check box is not checked in the list at the top, thus not done. It is not yet in progress, either.

@ariporad

@dougwilson: If I'd like to help implement it, what should I do. I'm a little lost with pillarjs/express/etc.

Thanks!

@dougwilson
Member

Hi @ariporad , you would want to look at the https://github.com/pillarjs/router module, adding it to the handlers there, which is the router that backs Express 5.0 (https://github.com/strongloop/express/blob/5.0/lib/application.js#L27).

@ronkorving

It would be awesome if we could have a solution for #2781 in Express 5. HTTP/2 is the next big thing for webservers and I think it would be a great opportunity to offer support for it from the start. Now is the time, imho. Any guidance as to how we could get there would be much appreciated.

@TrejGun TrejGun referenced this pull request Jan 10, 2016
Closed

is express dying? #2844

dougwilson added some commits Jan 22, 2016
@dougwilson dougwilson Merge tag '4.13.4'
7cafdb5
@dougwilson dougwilson deps: router@~1.1.3
943f28f
@dougwilson dougwilson deps: array-flatten@2.0.0
8a387d3
@dougwilson dougwilson removed their assignment Jan 29, 2016
@dougwilson
Member

Hi @ritch, the current Express 5 alpha has some issues that have been fixed in this branch for a while now. I would like to be able to get a new alpha released to address these issues with Express 5-based servers. What is the current plan for getting access to the npm express package and how should we go about performing a release?

Releasing a 5.x version is actually rather difficult, as you have to hack the npm client to upload a different README in the metadata than what is in the package, otherwise the page https://www.npmjs.com/package/express will end up displaying the Express 5.x documentation, resulting in a very confusing experience.

/cc @jasnell @expressjs/express-tc

@felixfbecker

@dougwilson doesn't NPM always show the the README of the latest release channel?

@dougwilson
Member

@dougwilson doesn't NPM always show the the README of the latest release channel?

No, it shows the readme from the last publish. There are many years-old issues in npm around this. I have been publishing dual majors if Express, Connect, and others for a long time, which is how I know about this issue :)

@felixfbecker

@dougwilson Stupid behaviour, it should always show the version a user installs when he types npm install express imo :D

Is there any update on the whole promise support thing?

@jasnell
jasnell commented Feb 26, 2016

I'm still tied up in Vegas for the conference. I'll be able to look at this in a day or two.

@dougwilson
Member

Hi @jasnell, thanks for the update! I'll put out a note that the security update will just not be available in Express 5.x for a few more days. 4.13.4 was released for an update to the cookie module to prevent response header splitting attacks from Cookies, but getting the update into Express 5 was accidentally missed. I hope this helps you understand my request and I would think the Express TC should have the tools to make security releases in a timely manner.

@jasnell
jasnell commented Feb 26, 2016

Yes I completely understand and I'm sorry I haven't had a chance to look.

@dougwilson
Member

Hi @jasnell, who is truely part of the Express TC? Why can't the Express TC make security releases? This was brought up yesterday because some people were publicly talking about the exploit and how it was not patched in Express 5.x. How long is reasonable to take to make a security release? It's been almost 24 hours since I asked about making a release. When can the Express community expect a response from you to take a look?

@dougwilson
Member

Hi @jasnell, I understand you are busy, but I assume the Express TC is made up of more than just you and I. Who else should I talk to? @Fishrock123, please weight in here.

@jasnell
jasnell commented Feb 26, 2016

The TC is made up of everyone in the expressjs/express team. I know @ritch has been tied up here for the conference also. I won't be getting back really until Tuesday but I'm going to set some time aside tomorrow morning to catch up. Hopefully @Fishrock123 or @mikeal could help.

@dougwilson
Member

Hi @jasnell, as I have expressed many times, I cannot work on this during work hours. Tomorrow morning will not work for me. I thought the Express TC was supposed to eliminate single points of failure, like everyone being at a conference? I really wanted to discuss this in the Express TC meeting yesterday, but of course even with 2 weeks notice it was canceled last minute. I tried to post the concern here for async communication, but no response until I pressed really hard.

Regarding the TC, can you please spell out each person and how they have been involved so far? Way over half the people on there I have not heard a peep from, and some have not even accepted the invites to the organization. I guess I should have asked "who is on the TC and actually active?"

@hacksparrow
Member

@dougwilson I would want to be part of TC as well. Who is handling the TC setup process?

@Fishrock123
Member

@dougwilson wait what are we discussing here? You seem to have access to https://www.npmjs.com/package/express? The TC people are @expressjs/express-tc for now. (The previous org owners.)

@hacksparrow currently it consists of the exisiting github org owners. We'll have an actual meeting next weeek as noted in expressjs/discussions#1 -- if you are able to make the time, you are welcome to join in. If you feel like you should be on the TC, please open an issue over there and we'll be discussing it, though we are probably already thinking about these things. :)

@Fishrock123
Member

If it's a security update, lgtm

@dougwilson
Member

Hi @Fishrock123, thanks for checking in. I did not have access at the time of those messages (I assume that should be obvious, as otherwise, why would I have said that in the messages?). This issue was resolved in private last night, off-thread (though it would have been nice if the replies were transparent, in the open for promoting open governance and accountability, but I didn't move the thread into private, as I was having it here in the open). I hope that helps explain what happened since the comment before yours.

@jasnell
jasnell commented Feb 26, 2016

I'm happy to copy the email thread here if you'd like. I responded directly via email because of the text messages you were sending out and I was responding from my phone(email was simply faster). In the future I'll just respond here tho.

@jasnell
jasnell commented Feb 26, 2016

Regardless, the npm permissions have been updated so that should no longer be an issue. The release process is on the agenda for Tuesday's TC call so we can get the remaining issues discussed then.

@dougwilson
Member

Thanks, @jasnell, I was just trying to explain to @Fishrock123 why it seemed confusing of how the thread just dropped off. To be absolutely clear, the text messages were never meant for you and I have no idea how you could have even known about them, and I clearly have no friends in the world who can keep anything in confidence. No where in a text message did I ever ask for this to specifically be looked into (as these messages were a conversation between two people, to air out one's feelings and get some things off one's chest, not a request for action or anything of that sort), nor even call this out, as any resolution was ment to happen through here.

@dougwilson dougwilson closed this Feb 26, 2016
@dougwilson
Member

I am closing down Express 5.0. I'm quitting the Express TC now. I cannot trust anyone any more.

@mikeal
Member
mikeal commented Feb 27, 2016

I'm trying to catch up and figure out what happened here. A few questions:

  • Is the current release process documented? If it is could someone link me to it.
  • Is there an express team on npm yet? If not, one should be created to avoid access issues in the future.
  • Is there a list of current TC members somewhere? It's probably best to keep this list in the main README so that people can send a PR to it as a way of asking to be admitted.

One last note: I'm a little concerned at the number of things that are getting deferred to meetings. The groups that have regular meetings do so in order to be effective because they have a high volume of escalated issues. Groups that have tried to defer a lot of general talking points to meetings have gotten up and running much slower than groups that have not.

From what I can tell regular meetings with a lot of agenda aren't the best fit for this group because of the timezone and working hours constraints. There seem to be issues that are getting deferred to meetings for general discussion that could easily be discussed and resolved in the issues themselves without the need for a meeting.

The Node.js Website WG operates without any meetings and is quite efficient. Perhaps a similar process without meetings is the best fit for this group as well.

Also, @dougwilson feel free to talk to me about any concerns you have. The whole community, and me personally, would like to see you happy and as engaged as you'd like to be.

@jasnell
jasnell commented Feb 27, 2016

Well, I am certainly sorry if I offended Doug or anyone else... Anyone who
has worked with me should know that's never my intent. In fact, I generally
go out of my way not to offend. As I said, I was merely responding to the
question about transparency (which is actually quite important to me).
On Feb 27, 2016 3:46 PM, "Joshua Holbrook" notifications@github.com wrote:

They were private conversations and shall remain so.

That's fine, I'm not asking you to tell me what is in the text messages.
However,

The text messages themselves are immaterial

If that were the case, Doug wouldn't have quit over them. Deal with it
offline sure, but it would probably be a mistake for you to ignore them
assuming you do want to make amends.


Reply to this email directly or view it on GitHub
#2237 (comment).

@dantman
dantman commented Feb 28, 2016

I love how no-one correcting inaccuracies in the Reddit thread is refuting the original history explained in the thread.

ie:

  • tj sold the Express name and assets to StrongLoop
  • StrongLoop never assigned any of their team to maintain Express
  • Since then Doug and a few other volunteers have been entirely responsible for maintaining the project
  • StrongLoop then got to claim they were responsible for Express, while in reality had nothing positive to do with the project
  • IBM then bought StrongLoop and got the Express name and assets from them

And so:

  • IBM still appears to have assigned no-one to work on the project
  • Neither StrongLoop or IBM has ever been responsible for creating, improving, or even maintaining the project
  • IBM simply inherited the Express name/assets and StrongLoop's legacy of taking credit for a project they were hindering

At this point Express has never been a StrongLoop or IBM project, the volunteer community has been entirely responsible for every good part of the project.

Yet IBM is insisting that, because they own the Express assets even though they have never actually been involved in the project, they should be controlling the process by which the community gets involved the project.

Frankly at this point any form of bureaucracy (no matter the intentions of the people involved) is just going to end up resulting in IBM rubbing salt into the wounds of the community and the people actually responsible for the project.

Because to the community, even though StrongLoop "bought" Express, in reality the project was in effect stolen. Not in the way you normally steal things, but in a moral way similar to how cultural artifacts taken from colonially oppressed minorities by their oppressors are "stolen".

@mikeal
Member
mikeal commented Feb 28, 2016

Yet IBM is insisting that, because they own the Express assets even though they have never actually been involved in the project, they should be controlling the process by which the community gets involved the project.

IBM does not own any process, the Express TC (made of contributors to Express) own that process.

If anyone is instituting processes without the consent of the TC I'd like to know about it because the Node.js Foundation has rules forbidding that kind of thing. I don't know of any concrete instances where this is the case but if someone has one you should send it to me.

@joshmanders

There's entirely way too much speculation going on about Express and all we know is Doug is not happy, and The Node.js Foundation mentors are doing their best to make things right.

@dougwilson dougwilson reopened this Feb 29, 2016
@corbanb
corbanb commented Feb 29, 2016

👍 @dougwilson.

oh and @ibm fix this.

@crandmck
Member

I'd like to correct some of the statements in @dantman's comment. I want to be clear: I work for StrongLoop/IBM, but I'm not a developer. I'm a technical writer who's written developer documentation for the last 25 years.

  • tj sold the Express name and assets to StrongLoop

The only thing sold was the http://expressjs.com website / domain name. AFAIK, no one "owns" the Express name (but I'm not a lawyer).

  • StrongLoop never assigned any of their team to maintain Express

Along with @hacksparrow, I spent hundreds of hours on the Express documentation over the last year and a half. It was an area that a lot of people identified as needing work. And, indeed, when I started working on the project, the documentation consisted entirely of minimal API docs and the doc was written in Jade, which made it difficult to contribute to. We moved it to Jekyll, changed the source format to markdown, edited the existing content substantially, created a bunch of "guide" docs and site navigation to go with it. (See these blog posts for the gory details of our initial work: [1], [2], [3].)

Since then, we've continued to maintain and improve the docs and gotten a large number of doc contributions from the community. I fully realize that docs != code, but I happen to believe that good documentation is very important for a framework such as Express; for an open source project, it's also important to enable and encourage doc contributions because the community knows the project/framework best and what doc information is most useful.

Also, I'd like to mention that IBM contributed the budget for professional translation of the docs into ten other languages. If you've even been involved in a globalized software project, then you know that translation is very expensive. If you're a native English speaker, then perhaps you don't care about this, but the reality is that most of the people in the world aren't!

BTW, I don't want to hold up the Express docs as being fantastic or anything, but I do think it's substantially better than when we started working with it in mid-2014. We have a number of improvements planned that I hope to be able to address soon, and of course we'll continue to integrate community input and track progress of new releases (which hopefully will start up again when that gets sorted out via TC, etc).

  • IBM still appears to have assigned no-one to work on the project

In addition to @hacksparrow and myself continuing to work on the docs, IBM recently assigned engineers @tunniclm and @sjanuary to work on the code. They're still getting up to speed on the project, but you can see their activity in issues and PRs.

  • Neither StrongLoop or IBM has ever been responsible for creating, improving, or even maintaining the project

I believe we did contribute to and improve the project documentation substantially. I really just wanted to set the record straight on that count.

Personally, I also hope that moving forward, the folks I mentioned above will be able to help with maintaining, improving the code, and keeping the project alive and well.

@Fishrock123
Member

As a note, anything from here on in that isn't specifically about Express 5.0 is definitely off-topic and should probably be moved elsewhere. :)

@gabrielcsapo

👍 @dougwilson where can I sign up to help with any work? I have been watching your support on express and it is time the community steps in and helps out.

@dougwilson
Member

@gabrielcsapo I don't know.

@gabrielcsapo

@dougwilson is there a community gitter or slack?

@dougwilson dougwilson Merge tag '4.14.0'
1dbfee6
@dougwilson dougwilson self-assigned this Jun 20, 2016
@ilanbiala

Any progress on beta/RC releases for 5.0?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment