io.js community thoughts on reconciliation #1336

Closed
rvagg opened this Issue Apr 3, 2015 · 205 comments

Comments

Projects
None yet
@rvagg
Member

rvagg commented Apr 3, 2015

I've heard a bit of disquiet about the idea of reconciling back with joyent/node and joining in on the Node Foundation and I thought it appropriate to provide a specific place to discuss these concerns, separate from the fine details of how any such reconciliation might proceed.

The current reconciliation process is still mostly being driven from the top and techno-political necessity has meant that a lot of discussions have been had in private. Thankfully @mikeal has forced it in to the open with his GitHub threads on reconciliation that have flushed out discussion both here and in the JNAB process and even the large corporates involved in the Foundation discussions are now openly engaging. So we can now be much more transparent about the process.

My intention here is to ensure that @iojs/collaborators and everyone that considers themselves part of this new community feels that they have a voice and that the proverbial tail isn't wagging the dog. This is your project.

Some of the pros for reconciliation that I've heard (please add to these if I miss anything). I'm attempting to characterise the arguments here, I don't necessarily agree with these.

  • io.js is has very tiny reach compared to joyent/node with many people in the wider "community" (beyond the twitterati and active GitHubbers) not even being aware of it. Moving back in to the fold to take advantage of the momentum that joyent/node has and the name recognition that comes with "Node.js" makes the effort that goes on here more worthwhile.
  • The proposed foundation comes with corporate backing which would be helpful for this project because it gives access to T&E for contributors to gather and do stuff face-to-face, it would give a budget for things (build resources? SSL certificates? other?). I'm actually not sure what the real benefits here and would prefer @mikeal to fill this one out since he's the one making this argument.
  • Reconciliation would re-combine the efforts of all contributors, across both projects, into a unified coalition that would work on a single thing.
  • Reduce the risk of individuals or companies owning important parts of this project - e.g. the domain name and certs. There's also more legal pressure against people going crazy with the liberal access we're handing out (want to sabotage io.js with your commit access? there's probably not any legal avenues we can take at the moment because nobody really owns it).
  • Resolve the hassles with the iojs binary name, e.g. Windows problems & side-by-side install problems and the general complaint about us clobbering node on install.

Some cons, perhaps:

  • io.js is going to have to make compromises in its organisational and governance structures to fit in with something more formal, what we have here is great for an informal grouping of interested developers but not so suitable if we're talking about a foundation.
  • io.js is going to have to have some tough conversations with those that are driving joyent/node to where it is today, those who have made the same decisions that lead to a fork in the first place. This is going to cause trauma regardless of governance structure ("just vote em out!" isn't going to fly here).
  • io.js is going to have to interact with very large corporate muscle and we're going to have to learn how to deal with that in a constructive way, perhaps this doesn't properly belong in the cons pile but it's out there anyway.
  • "io.js" as a brand may be diminished and I know a lot of people have become attached to it. Even if it's kept as a sub-branding of some kind it'll be subsumed back in to "Node.js" (this is a pro for some of course).

Other open questions:

  • Does it really matter that io.js isn't as popular as joyent/node at this stage? What's the reasoning that's making this such a compelling argument? Same goes for the "Node.js" name.
  • Does having corporate backing and a big budget diminish our ability to acquire donated resources to the project because we can now pay for it? Or does this even matter?
  • Does having staff paid by a Foundation diminish the community at all? Perhaps creating an additional level of privilege will impact on the openness we've created.
  • Part of what we've built here comes from a shared sense of ownership and that's one of the core reasons that open OSS governance works because people will fight for something that they have a real stake in. If it all gets owned by a Foundation, who owns it and will that impact on the way we individually feel about contributing and being involved? There's already plenty of evidence in this repo of that sense of ownership driving a passion that's leading to very productive discussions and contributions, will that be impacted at all with a Foundation?
  • Joyent have squandered much of the trust and respect they once had and they continue to frustrate even in their involvement in the AB and Foundation discussions. Does their re-involvement in this community have an impact or do we imagine they will once again become the constructive force they used to be or perhaps they will be neutralised in a way that everyone's happy?
  • Is it necessary to discuss reconciliation and Foundation at the same time? io.js could form its own Foundation, perhaps without the significant corporate backing that joyent/node can attract at the moment but maybe that doesn't matter. Early on in the node-forward process there was some brief talk with the Software Freedom Conservancy, I don't really know anything about them but perhaps there's another model, like that, that would solve what makes a Foundation compelling for people?

@rvagg rvagg changed the title from io.js community thoughts on reconcilliation to io.js community thoughts on reconciliation Apr 3, 2015

@indutny

This comment has been minimized.

Show comment
Hide comment
@indutny

indutny Apr 3, 2015

Member

I'm especially worried about the "trauma" here. It seems to me that the only pro is eliminating the confusion between the different names.

Though, I might be too orthodox on this.

Member

indutny commented Apr 3, 2015

I'm especially worried about the "trauma" here. It seems to me that the only pro is eliminating the confusion between the different names.

Though, I might be too orthodox on this.

@jbergstroem

This comment has been minimized.

Show comment
Hide comment
@jbergstroem

jbergstroem Apr 3, 2015

Member

From a technical point of view, my personal opinion is that node and io.js have somewhat different goals. If I as a contributor were to join something where I didn't share the same goals with, It'd be hard not to fork again. How can we avoid this?

Member

jbergstroem commented Apr 3, 2015

From a technical point of view, my personal opinion is that node and io.js have somewhat different goals. If I as a contributor were to join something where I didn't share the same goals with, It'd be hard not to fork again. How can we avoid this?

@othiym23

This comment has been minimized.

Show comment
Hide comment
@othiym23

othiym23 Apr 3, 2015

Contributor

My biggest argument in favor of reconciliation is that the usage numbers for Node.js 0.12 dwarf those of io.js of all versions. I don't have any formal numbers I can share with you right now, but some of the high-level analytics (and the flood of support issues that came in when 0.12.2 was released with npm@2.7.4 bundled) lead me to believe that a 10:1 ratio would be on the conservative end. And of course all of those users are dwarfed in turn by the number of people still on 0.10.x and earlier.

All of the hard work we've put into io.js is much less useful if only a fraction of the overall user base is taking advantage of it, and the longer the fork lasts, the harder merging the two code bases will be.

Contributor

othiym23 commented Apr 3, 2015

My biggest argument in favor of reconciliation is that the usage numbers for Node.js 0.12 dwarf those of io.js of all versions. I don't have any formal numbers I can share with you right now, but some of the high-level analytics (and the flood of support issues that came in when 0.12.2 was released with npm@2.7.4 bundled) lead me to believe that a 10:1 ratio would be on the conservative end. And of course all of those users are dwarfed in turn by the number of people still on 0.10.x and earlier.

All of the hard work we've put into io.js is much less useful if only a fraction of the overall user base is taking advantage of it, and the longer the fork lasts, the harder merging the two code bases will be.

@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis Apr 3, 2015

Member

Speaking for StrongLoop, reconciliation is strongly preferable because it gives us the brand name. Speaking for myself, I don't really care about that. The trademark is valuable while io.js is still the lesser known but that's short-term thinking.

I'm uneasy with the legal language around the Foundation and the power it gives to the Board. It was explained that the Board is ultimately legally responsible and therefore needs the final say in things but it still feels to me like it's structured to give corporate interests the upper hand.

Member

bnoordhuis commented Apr 3, 2015

Speaking for StrongLoop, reconciliation is strongly preferable because it gives us the brand name. Speaking for myself, I don't really care about that. The trademark is valuable while io.js is still the lesser known but that's short-term thinking.

I'm uneasy with the legal language around the Foundation and the power it gives to the Board. It was explained that the Board is ultimately legally responsible and therefore needs the final say in things but it still feels to me like it's structured to give corporate interests the upper hand.

@indutny

This comment has been minimized.

Show comment
Hide comment
@indutny

indutny Apr 3, 2015

Member

I got the same feeling, otherwise I don't see a point for corporations to invest money into the Foundation. Investments should give benefits, and if TC is acting on it's own - there is no way to affect it.

This all makes me really worried...

Member

indutny commented Apr 3, 2015

I got the same feeling, otherwise I don't see a point for corporations to invest money into the Foundation. Investments should give benefits, and if TC is acting on it's own - there is no way to affect it.

This all makes me really worried...

@rlidwka

This comment has been minimized.

Show comment
Hide comment
@rlidwka

rlidwka Apr 3, 2015

Contributor

My biggest argument in favor of reconciliation is that the usage numbers for Node.js 0.12 dwarf those of io.js of all versions.

It doesn't really matter how much downloads io.js has. What matters is how fast io.js is growing compared to 0.12.

People who use io.js aren't going to move to 0.12 any time soon. But people who use 0.12 might move to io.js, considering an amount of changes in 0.12 is quite low nowadays and V8 version is hopelessly outdated already.

All of the hard work we've put into io.js is much less useful if only a fraction of the overall user base is taking advantage of it, and the longer the fork lasts, the harder merging the two code bases will be.

Last I checked, the most useful PRs from joyent/node are being constantly merged here with PRs like #1163 . There are changes that are not merged (e.g. bundling ICU), but they were all rejected here for a reason.

So I'd argue there is no benefit in merging the code. It will not gain anything for existing io.js users. And the drawback (that's necessity to discuss every 0.12 change with Joyent) is rather huge.


I agree with @indutny here, only positive thing we get from merging is the Node.js name.

Is it still worth it now? Or maybe it's better to focus on promoting io.js own name, e.g. push it to debian/fedora/etc. distributions so more people could use it?

I'll point out that all this "reconciliation" talk is just stalling io.js now. I've seen people who remain on node.js because "oh well, it is going to be merged soon anyway, why bother migrating now".

Contributor

rlidwka commented Apr 3, 2015

My biggest argument in favor of reconciliation is that the usage numbers for Node.js 0.12 dwarf those of io.js of all versions.

It doesn't really matter how much downloads io.js has. What matters is how fast io.js is growing compared to 0.12.

People who use io.js aren't going to move to 0.12 any time soon. But people who use 0.12 might move to io.js, considering an amount of changes in 0.12 is quite low nowadays and V8 version is hopelessly outdated already.

All of the hard work we've put into io.js is much less useful if only a fraction of the overall user base is taking advantage of it, and the longer the fork lasts, the harder merging the two code bases will be.

Last I checked, the most useful PRs from joyent/node are being constantly merged here with PRs like #1163 . There are changes that are not merged (e.g. bundling ICU), but they were all rejected here for a reason.

So I'd argue there is no benefit in merging the code. It will not gain anything for existing io.js users. And the drawback (that's necessity to discuss every 0.12 change with Joyent) is rather huge.


I agree with @indutny here, only positive thing we get from merging is the Node.js name.

Is it still worth it now? Or maybe it's better to focus on promoting io.js own name, e.g. push it to debian/fedora/etc. distributions so more people could use it?

I'll point out that all this "reconciliation" talk is just stalling io.js now. I've seen people who remain on node.js because "oh well, it is going to be merged soon anyway, why bother migrating now".

@silverwind

This comment has been minimized.

Show comment
Hide comment
@silverwind

silverwind Apr 3, 2015

Contributor

Personally, I don't see any benefit in monetary investments into the project, especially not from for-profit corporations that so far have shown no interest in the well-being of the project. There is a real danger of getting into a situation like with Joyent again.

Adoption rates will naturally rise over time once the broad mass realizes what a bugged mess node.js currently is, and will further be sped up by new features in the pipeline for io.js.

I'd say: Let them bleed.

Contributor

silverwind commented Apr 3, 2015

Personally, I don't see any benefit in monetary investments into the project, especially not from for-profit corporations that so far have shown no interest in the well-being of the project. There is a real danger of getting into a situation like with Joyent again.

Adoption rates will naturally rise over time once the broad mass realizes what a bugged mess node.js currently is, and will further be sped up by new features in the pipeline for io.js.

I'd say: Let them bleed.

@Planeshifter

This comment has been minimized.

Show comment
Hide comment
@Planeshifter

Planeshifter Apr 3, 2015

This is purely from an end-user perspective not directly involved in iojs, but the likely fragmentation of the npm ecosystem in case of a permanent fork worries me, so I would hope for the reconciliation process to bear fruits.

This is purely from an end-user perspective not directly involved in iojs, but the likely fragmentation of the npm ecosystem in case of a permanent fork worries me, so I would hope for the reconciliation process to bear fruits.

@reqshark

This comment has been minimized.

Show comment
Hide comment
@reqshark

reqshark Apr 3, 2015

I do not want to see this reconcile into a monolith.

I like my options for node the same way I like my options for modules.

reqshark commented Apr 3, 2015

I do not want to see this reconcile into a monolith.

I like my options for node the same way I like my options for modules.

@YurySolovyov

This comment has been minimized.

Show comment
Hide comment
@YurySolovyov

YurySolovyov Apr 3, 2015

IMO all current proposals employ too much bureaucracy with all that foundations, processes, commities, which kind of leads back where we started when fork happeded.
I already asked in other topics, but got no answer: how do we ensure that "long node 0.12" never happens again? If thae answer is kind of "we don't" or "we can't", it is almost same as "it will happen again".

IMO all current proposals employ too much bureaucracy with all that foundations, processes, commities, which kind of leads back where we started when fork happeded.
I already asked in other topics, but got no answer: how do we ensure that "long node 0.12" never happens again? If thae answer is kind of "we don't" or "we can't", it is almost same as "it will happen again".

@jmar777

This comment has been minimized.

Show comment
Hide comment
@jmar777

jmar777 Apr 3, 2015

Contributor

Another pro: de-fragmentation (you know, jsdom type stuff). I think that's actually a huge one, especially as incompatibilities are only likely to increase over time as the projects diverge further from whence they split.

Contributor

jmar777 commented Apr 3, 2015

Another pro: de-fragmentation (you know, jsdom type stuff). I think that's actually a huge one, especially as incompatibilities are only likely to increase over time as the projects diverge further from whence they split.

@rlidwka

This comment has been minimized.

Show comment
Hide comment
@rlidwka

rlidwka Apr 3, 2015

Contributor

especially as incompatibilities are only likely to increase over time as the projects diverge further from whence they split.

I don't believe so.

First of all, npm ecosystem is mostly supporting node 0.10+. Some of them are still supporting 0.8, but there are very few packages that don't work with 0.10. So as long as io.js is compatible with 0.10, there shouldn't be any incompatibilities with them.

Secondly, joyent doesn't have the manpower required to make any meaningful changes to node 0.12. I don't expect to see any new features in 0.12, so there is no real source of incompatibility. We might get packages that are running only on io.js, but I don't see how we can get packages for node 0.12 only.

Contributor

rlidwka commented Apr 3, 2015

especially as incompatibilities are only likely to increase over time as the projects diverge further from whence they split.

I don't believe so.

First of all, npm ecosystem is mostly supporting node 0.10+. Some of them are still supporting 0.8, but there are very few packages that don't work with 0.10. So as long as io.js is compatible with 0.10, there shouldn't be any incompatibilities with them.

Secondly, joyent doesn't have the manpower required to make any meaningful changes to node 0.12. I don't expect to see any new features in 0.12, so there is no real source of incompatibility. We might get packages that are running only on io.js, but I don't see how we can get packages for node 0.12 only.

@xjamundx

This comment has been minimized.

Show comment
Hide comment
@xjamundx

xjamundx Apr 3, 2015

Contributor

io.js already has already won. The community has moved on. Commits don't lie. All we need to do is take back the name and the website and the downloads will catch up.

I don't see what cards node really has to play here...they should be joining us :)

Contributor

xjamundx commented Apr 3, 2015

io.js already has already won. The community has moved on. Commits don't lie. All we need to do is take back the name and the website and the downloads will catch up.

I don't see what cards node really has to play here...they should be joining us :)

@jonathanong

This comment has been minimized.

Show comment
Hide comment
@jonathanong

jonathanong Apr 3, 2015

Contributor

i'd rather not reconcile. the benefits are not substantial, and i'm very happy with how iojs has been run. i don't want iojs to change organizationally in the name of reconciliation. for me, iojs' organization is an ultimatum.

i don't really care about naming and recognition. i'd rather just start pushing #!/usr/bin/env iojs and iojs-only (specifically, ES6+) support everywhere. like @rlidwka said, no one makes 0.12-only modules.

Contributor

jonathanong commented Apr 3, 2015

i'd rather not reconcile. the benefits are not substantial, and i'm very happy with how iojs has been run. i don't want iojs to change organizationally in the name of reconciliation. for me, iojs' organization is an ultimatum.

i don't really care about naming and recognition. i'd rather just start pushing #!/usr/bin/env iojs and iojs-only (specifically, ES6+) support everywhere. like @rlidwka said, no one makes 0.12-only modules.

@popomore popomore referenced this issue in nodejs/nodejs-zh-CN Apr 3, 2015

Closed

翻译 Help us reconcile node.js and io.js #154

@antirez

This comment has been minimized.

Show comment
Hide comment
@antirez

antirez Apr 3, 2015

I've some feeling that splitting this into pro/cons makes it somewhat harder to reason about, while at a first glance it looks like to make the problem more rational and addressable. Because at the end of the day, it is a matter of culture match/mismatch. If Io.js developers feel at home thinking at the Node Foundation, believe their idea on how to shape the project will still work within the new org, and don't feel "limited", then it's a good idea to check if there are the prerequisites for joining. If instead they feel like they are going to fight to do what they are doing now freely, there is not even to bother thinking more, IMHO.

antirez commented Apr 3, 2015

I've some feeling that splitting this into pro/cons makes it somewhat harder to reason about, while at a first glance it looks like to make the problem more rational and addressable. Because at the end of the day, it is a matter of culture match/mismatch. If Io.js developers feel at home thinking at the Node Foundation, believe their idea on how to shape the project will still work within the new org, and don't feel "limited", then it's a good idea to check if there are the prerequisites for joining. If instead they feel like they are going to fight to do what they are doing now freely, there is not even to bother thinking more, IMHO.

@NHQ

This comment has been minimized.

Show comment
Hide comment
@NHQ

NHQ Apr 3, 2015

Stay strong! Bad breakups hurt, but they are ultimately better for the health of each party. it's over. Don't go back.

The clear benefit of io.js is uninhibited contribution by a brilliant community. Which is the opposite of old joyent/node, and not what we'd get out of a new "foundation". They want their legacy systems. We want direct community involvement. The twain are not compatible.

The greatness of node came from the community, despite corporate sponsorship of core development. We'll never know how it would have gone w/o joyent. We came out all right, but that doesn't mean it couldn't have been better.

Make them show good faith by sponsoring io.js, sans conditions. They can join the other new co's that will be happy to. Or they can sit it out and smolder.

NHQ commented Apr 3, 2015

Stay strong! Bad breakups hurt, but they are ultimately better for the health of each party. it's over. Don't go back.

The clear benefit of io.js is uninhibited contribution by a brilliant community. Which is the opposite of old joyent/node, and not what we'd get out of a new "foundation". They want their legacy systems. We want direct community involvement. The twain are not compatible.

The greatness of node came from the community, despite corporate sponsorship of core development. We'll never know how it would have gone w/o joyent. We came out all right, but that doesn't mean it couldn't have been better.

Make them show good faith by sponsoring io.js, sans conditions. They can join the other new co's that will be happy to. Or they can sit it out and smolder.

@debunge

This comment has been minimized.

Show comment
Hide comment
@debunge

debunge Apr 3, 2015

I'm no twitterati neither contributor, just simple user but for me io.js is the Name already. A better one than node.

Just one more datapoint for you to consider.

debunge commented Apr 3, 2015

I'm no twitterati neither contributor, just simple user but for me io.js is the Name already. A better one than node.

Just one more datapoint for you to consider.

@rockymadden

This comment has been minimized.

Show comment
Hide comment
@rockymadden

rockymadden Apr 3, 2015

Tossing my hat in with the idea of not reconciling. The io.js project is still very new and I believe a decent chunk of mindshare has already shifted; we will continue to see more as time progresses. The idea that reconciliation should be done because node is more popular/known is a shorter-term "problem". io.js is what node should have been from the start (from governance to technical ideals), stick to your guns and don't settle.

IMO, we are still near the front of this curve (so give it time):

curve

Tossing my hat in with the idea of not reconciling. The io.js project is still very new and I believe a decent chunk of mindshare has already shifted; we will continue to see more as time progresses. The idea that reconciliation should be done because node is more popular/known is a shorter-term "problem". io.js is what node should have been from the start (from governance to technical ideals), stick to your guns and don't settle.

IMO, we are still near the front of this curve (so give it time):

curve

@jmar777

This comment has been minimized.

Show comment
Hide comment
@jmar777

jmar777 Apr 3, 2015

Contributor

@rlidwka

We might get packages that are running only on io.js

I don't think that's an issue to be dismissive of. It's fundamentally a good thing (because it reflects the much faster rate of evolution of io.js), but it's still a problem for the (previously estimated 10:1 or greater) majority of users still running node binaries. There's a lot of us that are philosophically/personally/spiritually/whatever aligned with io.js, but are still pragmatically and/or corporately aligned with node (e.g., I don't have time to set up a production-ready prod-ops system for io.js right now, whereas node is still plug-and-play on Elastic Beanstalk and many other PaaS/IaaS providers).

@xjamundx

io.js already has already won. The community has moved on.

Which community? @rvagg did a great job outlining at the onset of this thread that there's a much wider community than those that closely track commits on GitHub and follow key contributors/influencers on Twitter. And as @othiym23 pointed out, that community seems to still be predominantly using node.

I'm personally split on it. On almost all levels other than pragmatism, I'd rather just move on and see io.js pave it's own path. But, I'm also quite the pragmatist when it comes to actually getting work done; that's the side that usually wins when I'm still writing code at 3:00am, and that's where node and the existing ecosystem still wins out in many cases.

Contributor

jmar777 commented Apr 3, 2015

@rlidwka

We might get packages that are running only on io.js

I don't think that's an issue to be dismissive of. It's fundamentally a good thing (because it reflects the much faster rate of evolution of io.js), but it's still a problem for the (previously estimated 10:1 or greater) majority of users still running node binaries. There's a lot of us that are philosophically/personally/spiritually/whatever aligned with io.js, but are still pragmatically and/or corporately aligned with node (e.g., I don't have time to set up a production-ready prod-ops system for io.js right now, whereas node is still plug-and-play on Elastic Beanstalk and many other PaaS/IaaS providers).

@xjamundx

io.js already has already won. The community has moved on.

Which community? @rvagg did a great job outlining at the onset of this thread that there's a much wider community than those that closely track commits on GitHub and follow key contributors/influencers on Twitter. And as @othiym23 pointed out, that community seems to still be predominantly using node.

I'm personally split on it. On almost all levels other than pragmatism, I'd rather just move on and see io.js pave it's own path. But, I'm also quite the pragmatist when it comes to actually getting work done; that's the side that usually wins when I'm still writing code at 3:00am, and that's where node and the existing ecosystem still wins out in many cases.

@monsanto

This comment has been minimized.

Show comment
Hide comment
@monsanto

monsanto Apr 3, 2015

Contributor

Some thoughts:

  • The most important issue to me is whether the development pace of io.js is kept up. Going at dinosaur speed, or indeed even slightly slower than we are now, should be a deal breaker. It's hard to tell if this will be the case with all of the talk about boards and foundations and other stuff that tbh I don't give a shit about.
  • io.js seems to care about the time of its contributors. I follow the development pretty closely, and I feel like if I opened a ticket here, something would eventually happen with it. Not so much with Node. I also feel like if I actually put in work I could become a collaborator on the repo, which is so rare and refreshing in this age of "if you don't work for the company sponsoring the project you will never have any decision making power." I'm worried that is going to stop, and it's going to be a whoever-is-on-the-foundation circlejerk.
  • I have been evangelizing io.js since the beginning and some of the decisions made by the project are making it harder than usual. For example, the "Known Issues" section scares the hell out of people who don't have time to follow the differences between node/io.js, especially with how #760 has been handled (if it is a regression, why does it require a major version bump to fix? If the regression was in io.js, then why does joyent/node share some of the commits that fix it? Why aren't the implications of the bug more prominently displayed--could it mean that process sends can be out of order? And why is it taking so long?) I can expand more on that if necessary but what I'm trying to say is, io.js adoption could be better than it is now once we get these quirks worked out. Don't assume that the 10:1 ratio will be permanent.
Contributor

monsanto commented Apr 3, 2015

Some thoughts:

  • The most important issue to me is whether the development pace of io.js is kept up. Going at dinosaur speed, or indeed even slightly slower than we are now, should be a deal breaker. It's hard to tell if this will be the case with all of the talk about boards and foundations and other stuff that tbh I don't give a shit about.
  • io.js seems to care about the time of its contributors. I follow the development pretty closely, and I feel like if I opened a ticket here, something would eventually happen with it. Not so much with Node. I also feel like if I actually put in work I could become a collaborator on the repo, which is so rare and refreshing in this age of "if you don't work for the company sponsoring the project you will never have any decision making power." I'm worried that is going to stop, and it's going to be a whoever-is-on-the-foundation circlejerk.
  • I have been evangelizing io.js since the beginning and some of the decisions made by the project are making it harder than usual. For example, the "Known Issues" section scares the hell out of people who don't have time to follow the differences between node/io.js, especially with how #760 has been handled (if it is a regression, why does it require a major version bump to fix? If the regression was in io.js, then why does joyent/node share some of the commits that fix it? Why aren't the implications of the bug more prominently displayed--could it mean that process sends can be out of order? And why is it taking so long?) I can expand more on that if necessary but what I'm trying to say is, io.js adoption could be better than it is now once we get these quirks worked out. Don't assume that the 10:1 ratio will be permanent.
@xjamundx

This comment has been minimized.

Show comment
Hide comment
@xjamundx

xjamundx Apr 3, 2015

Contributor

@jmar777 the community of people building the node platform have clearly moved to io.js. It has won as the de-facto platform of the future. Long term that's what matters.

Short term, most companies and teams are still on node.js obviously and will continue to be for a long time. If io.js can get the node name/brand back, then adoption will be much smoother!

Put it this way. Where is node 1.0?

Contributor

xjamundx commented Apr 3, 2015

@jmar777 the community of people building the node platform have clearly moved to io.js. It has won as the de-facto platform of the future. Long term that's what matters.

Short term, most companies and teams are still on node.js obviously and will continue to be for a long time. If io.js can get the node name/brand back, then adoption will be much smoother!

Put it this way. Where is node 1.0?

@mattkrea

This comment has been minimized.

Show comment
Hide comment
@mattkrea

mattkrea Apr 3, 2015

These compatibility issues do not seem to be as important as what might be lost in merging back into joyent/node.

I don't see how this io.js / node compatibility is any different than the people out there that are still running software that requires 0.10.x or even 0.8.x for example. When they get time to upgrade I hope that they would but the fact is if we're talking about legacy software here. They have packages that they know work and luckily we have a package manager that can handle things like this. If they want to use a newer version of a package they'll just have to upgrade.

When I look at it this way I'm not sure it really is that much of a difference upgrading to io.js or just a newer build of node.

mattkrea commented Apr 3, 2015

These compatibility issues do not seem to be as important as what might be lost in merging back into joyent/node.

I don't see how this io.js / node compatibility is any different than the people out there that are still running software that requires 0.10.x or even 0.8.x for example. When they get time to upgrade I hope that they would but the fact is if we're talking about legacy software here. They have packages that they know work and luckily we have a package manager that can handle things like this. If they want to use a newer version of a package they'll just have to upgrade.

When I look at it this way I'm not sure it really is that much of a difference upgrading to io.js or just a newer build of node.

@AlistairB

This comment has been minimized.

Show comment
Hide comment
@AlistairB

AlistairB Apr 3, 2015

To me io.js has won and it only needs to keep going at the significantly faster pace than node.js to eventually replace it.

io.js is in the position of power and should make few to no concessions to achieve reconciliation, since it will happen naturally as users progressively switch to the superior project.

To me io.js has won and it only needs to keep going at the significantly faster pace than node.js to eventually replace it.

io.js is in the position of power and should make few to no concessions to achieve reconciliation, since it will happen naturally as users progressively switch to the superior project.

@jordonias

This comment has been minimized.

Show comment
Hide comment

no

@jmar777

This comment has been minimized.

Show comment
Hide comment
@jmar777

jmar777 Apr 3, 2015

Contributor

@xjamundx

I don't want to argue over the more subjective stuff (i.e., when has the battle been "won" or not). All I'm asserting is that it's too early to be hand-wavy about modules not supporting the huge majority of users that are still stuck (if that's not too strong of a word) on node. If 90+% of the node ecosystem today can't use something, it becomes relatively less important to assign titles for winners and losers and speculate over what the percentages will be like 2 years for now.

If io.js can get the node name/brand back, then adoption will be much smoother!

That's basically tantamount to reconciliation. It's obviously not even on the table for that to happen in a manner in which Joyent subsumes unilateral control (or otherwise significantly departs from at least the spirit of the current organizational model).

Where is node 1.0?

Hey, you leave semver out of this. :) I understand your point though. Nothing I'm saying here is being dismissive of the undeniable io.js momentum and laughably lopsided commit activity. This is where the action is. But, for whatever reason, that hasn't translated (yet) into this being where the users are, too.

Contributor

jmar777 commented Apr 3, 2015

@xjamundx

I don't want to argue over the more subjective stuff (i.e., when has the battle been "won" or not). All I'm asserting is that it's too early to be hand-wavy about modules not supporting the huge majority of users that are still stuck (if that's not too strong of a word) on node. If 90+% of the node ecosystem today can't use something, it becomes relatively less important to assign titles for winners and losers and speculate over what the percentages will be like 2 years for now.

If io.js can get the node name/brand back, then adoption will be much smoother!

That's basically tantamount to reconciliation. It's obviously not even on the table for that to happen in a manner in which Joyent subsumes unilateral control (or otherwise significantly departs from at least the spirit of the current organizational model).

Where is node 1.0?

Hey, you leave semver out of this. :) I understand your point though. Nothing I'm saying here is being dismissive of the undeniable io.js momentum and laughably lopsided commit activity. This is where the action is. But, for whatever reason, that hasn't translated (yet) into this being where the users are, too.

@phpnode

This comment has been minimized.

Show comment
Hide comment
@phpnode

phpnode Apr 3, 2015

Vote to keep the projects separate. The community has spoken, it's very clear that io.js is where the energy and enthusiasm is and I wouldn't want that spirit to be risked by turning over it back over to a corporation who've squandered and devalued that enthusiasm in the past. Joyent has had their chance, they are no longer in control, the only thing they have that we want is the name / trademark, and that becomes less and less useful as io.js grows.

As @rvagg says, this is about community ownership. io.js has grown because the community has felt empowered, rather than stifled by corporate bureaucracy. We do not need joyent and we do not need a foundation.

phpnode commented Apr 3, 2015

Vote to keep the projects separate. The community has spoken, it's very clear that io.js is where the energy and enthusiasm is and I wouldn't want that spirit to be risked by turning over it back over to a corporation who've squandered and devalued that enthusiasm in the past. Joyent has had their chance, they are no longer in control, the only thing they have that we want is the name / trademark, and that becomes less and less useful as io.js grows.

As @rvagg says, this is about community ownership. io.js has grown because the community has felt empowered, rather than stifled by corporate bureaucracy. We do not need joyent and we do not need a foundation.

@collin

This comment has been minimized.

Show comment
Hide comment
@collin

collin Apr 3, 2015

I'm one of those 'still using node users'.

I think it's important to remember that if they want you back, you have something valuable. It sounds like that thing which is valuable is the independence and self determination of the io.js project. Look around you, are the people who have come the ones you want?

Determining open source projects to use is not quite a science. But I'll go and look at the contributors page for node and io.js. io.js already looks more healthy with more overall contributors and heavier contribution for 2015.

Based on that I have full confidence that if iojs stays independent and npm compatible we'll be making the changeover within a year or two depending on when we have the spare cycles.

collin commented Apr 3, 2015

I'm one of those 'still using node users'.

I think it's important to remember that if they want you back, you have something valuable. It sounds like that thing which is valuable is the independence and self determination of the io.js project. Look around you, are the people who have come the ones you want?

Determining open source projects to use is not quite a science. But I'll go and look at the contributors page for node and io.js. io.js already looks more healthy with more overall contributors and heavier contribution for 2015.

Based on that I have full confidence that if iojs stays independent and npm compatible we'll be making the changeover within a year or two depending on when we have the spare cycles.

@NadyaNayme

This comment has been minimized.

Show comment
Hide comment
@NadyaNayme

NadyaNayme Apr 3, 2015

Here's an opinion of someone who only knows the gist of why the fork happened, the drama with the Foundation management, and who was looking to begin in node development.

Guess what fork I decided to use for dinner?

I say don't merge back. io.js has almost nothing to gain from it and in the future would likely only split again. Learn from history, don't go back.

Here's an opinion of someone who only knows the gist of why the fork happened, the drama with the Foundation management, and who was looking to begin in node development.

Guess what fork I decided to use for dinner?

I say don't merge back. io.js has almost nothing to gain from it and in the future would likely only split again. Learn from history, don't go back.

@Fishrock123 Fishrock123 removed the investigate label Apr 3, 2015

@possibilities

This comment has been minimized.

Show comment
Hide comment
@possibilities

possibilities Apr 3, 2015

Maybe it's a separate discussion but... is anyone thinking about solving the marketing problem? I had no idea that the fork was led by core devs until way after it happened... and I haven't heard of any large companies throwing their support behind io.js. My gut feeling is that if we can solve the marketing problem we can avoid the losing our independence.

Maybe it's a separate discussion but... is anyone thinking about solving the marketing problem? I had no idea that the fork was led by core devs until way after it happened... and I haven't heard of any large companies throwing their support behind io.js. My gut feeling is that if we can solve the marketing problem we can avoid the losing our independence.

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Apr 3, 2015

Member

@bnoordhuis the "power" given to the board is necessary in a legal sense in that for the type of non-profit organization that is being established the board becomes ultimately responsible for any action taken by the foundation. The way things are being set up, the Project TSC will still have full autonomous control over every technical aspect of the converged Node.js / io.js project.

@rvagg ...There is absolutely zero intent here for corporate interests (such as my employer's) to unduly influence the technical direction of the project via Board (political) actions. The only way we intend to influence the project is through technical contributions within the community just like everyone else.

You mention that @mikeal "forced" the discussions into public via his pull requests. If you ask @mikeal, you'll likely find that wasn't the case. There was no "forcing" involved. Over the past few weeks, the representatives from the Linux Foundation (Mike Dolan and Scott Nichols) organized a series of calls inviting folks from IBM, Joyent, Strongloop and others together to begin talking. From the very start of those discussions the intent was to get the discussion out into public as soon as absolutely possible. Mikeal volunteered to do the initial pull request once we felt things were baked enough. There was no forcing action at all. I can tell you for absolute certain that as far as IBM is concerned, this conversation has to continue out in the open. There simply is no room for backroom decision making here. If you truly feel that too many decisions are being made in private, point them out and we'll make sure those bits get discussed in the open.

In your list of cons, you say that "io.js is going to have to interact with very large corporate muscle". I'm curious what exactly you're expecting here? A corporation sponsoring the foundation and even becoming a part of the Board membership does not mean that the corporation automatically gets to force it's point of view or desires onto the TSC and the project as a whole. The project would still be managed autonomously by the TSC and individual Contributors who must prove themselves through the value of their individual contributions. Given that, it's not clear what the actual con is here. Perhaps you'd be willing to elaborate a bit more on your concerns here?

Member

jasnell commented Apr 3, 2015

@bnoordhuis the "power" given to the board is necessary in a legal sense in that for the type of non-profit organization that is being established the board becomes ultimately responsible for any action taken by the foundation. The way things are being set up, the Project TSC will still have full autonomous control over every technical aspect of the converged Node.js / io.js project.

@rvagg ...There is absolutely zero intent here for corporate interests (such as my employer's) to unduly influence the technical direction of the project via Board (political) actions. The only way we intend to influence the project is through technical contributions within the community just like everyone else.

You mention that @mikeal "forced" the discussions into public via his pull requests. If you ask @mikeal, you'll likely find that wasn't the case. There was no "forcing" involved. Over the past few weeks, the representatives from the Linux Foundation (Mike Dolan and Scott Nichols) organized a series of calls inviting folks from IBM, Joyent, Strongloop and others together to begin talking. From the very start of those discussions the intent was to get the discussion out into public as soon as absolutely possible. Mikeal volunteered to do the initial pull request once we felt things were baked enough. There was no forcing action at all. I can tell you for absolute certain that as far as IBM is concerned, this conversation has to continue out in the open. There simply is no room for backroom decision making here. If you truly feel that too many decisions are being made in private, point them out and we'll make sure those bits get discussed in the open.

In your list of cons, you say that "io.js is going to have to interact with very large corporate muscle". I'm curious what exactly you're expecting here? A corporation sponsoring the foundation and even becoming a part of the Board membership does not mean that the corporation automatically gets to force it's point of view or desires onto the TSC and the project as a whole. The project would still be managed autonomously by the TSC and individual Contributors who must prove themselves through the value of their individual contributions. Given that, it's not clear what the actual con is here. Perhaps you'd be willing to elaborate a bit more on your concerns here?

@jkirkpatrick

This comment has been minimized.

Show comment
Hide comment
@jkirkpatrick

jkirkpatrick Apr 3, 2015

No, not at all. Why should we believe that an entity not capable of responding to the community for over a year is now able to - because some of you had private talks for a couple of weeks?

@jasnell - It really sounds like you believe that money isn't an influencing factor to tech business.

No, not at all. Why should we believe that an entity not capable of responding to the community for over a year is now able to - because some of you had private talks for a couple of weeks?

@jasnell - It really sounds like you believe that money isn't an influencing factor to tech business.

@ashnur

This comment has been minimized.

Show comment
Hide comment
@ashnur

ashnur Apr 3, 2015

Money is only good if comes for something already done, and not for something which is expected to be done in the future. Latter situation can very easily lead to conflicts of interest, which are proven to cause honest and well meaning individuals to rationalize even the worst ideas ever.

As for the brand name argument, I think it's inherently flawed. Who cares about the name? People who use Node.js just because it's called Node.js and not because what they can achieve with it do not have my sympathy.

Anyway, I am just a user of io.js and I completely trust the authors and maintainers of it to make the best decision in this matter.

ashnur commented Apr 3, 2015

Money is only good if comes for something already done, and not for something which is expected to be done in the future. Latter situation can very easily lead to conflicts of interest, which are proven to cause honest and well meaning individuals to rationalize even the worst ideas ever.

As for the brand name argument, I think it's inherently flawed. Who cares about the name? People who use Node.js just because it's called Node.js and not because what they can achieve with it do not have my sympathy.

Anyway, I am just a user of io.js and I completely trust the authors and maintainers of it to make the best decision in this matter.

@joshstrange

This comment has been minimized.

Show comment
Hide comment
@joshstrange

joshstrange Apr 3, 2015

As someone who introduced NodeJS into my companies workflow (prior to the split) I can tell you we are still on NodeJS because of this exact issue. We only use NodeJS for gulp (right now) so most people could tell you "yes we use node" but I don't know if any could tell you the version we use off the top of their heads and they have little to no knowledge that iojs even exists.

I almost switched us to iojs after the split but didn't want to give the team whiplash by switching to iojs only to have it merged back into nodejs and then having to switch back again. However if iojs comes out and says "we are not merging back into NodeJS and if anything they will merge into us" then I'd feel comfortable switching over to iojs on all of our dev boxes and servers. I consider iojs the better project I just need it to be sure I'm switching us to something that won't disappear in a few months. Just my 2 cents.

As someone who introduced NodeJS into my companies workflow (prior to the split) I can tell you we are still on NodeJS because of this exact issue. We only use NodeJS for gulp (right now) so most people could tell you "yes we use node" but I don't know if any could tell you the version we use off the top of their heads and they have little to no knowledge that iojs even exists.

I almost switched us to iojs after the split but didn't want to give the team whiplash by switching to iojs only to have it merged back into nodejs and then having to switch back again. However if iojs comes out and says "we are not merging back into NodeJS and if anything they will merge into us" then I'd feel comfortable switching over to iojs on all of our dev boxes and servers. I consider iojs the better project I just need it to be sure I'm switching us to something that won't disappear in a few months. Just my 2 cents.

@NuckChorris

This comment has been minimized.

Show comment
Hide comment
@NuckChorris

NuckChorris Apr 3, 2015

It's clear to me that iojs is the future, organizational structure and breakneck speed and all. Joyent/Node has very little leverage, they lost basically the entire team to iojs and are just coasting on the success of the past. They should accept the community-driven iojs structure and give up their corporate monarchy.

My vote is "hell naw" unless you can keep the open governance. Corporate sponsors having final say is a recipe for a broken system: if their idea is actually good, the community will also support it.

Reduction of breakneck speeds and tighter access controls are inevitable for iojs down the road anyways, so I feel they're fine concessions to make.

It's clear to me that iojs is the future, organizational structure and breakneck speed and all. Joyent/Node has very little leverage, they lost basically the entire team to iojs and are just coasting on the success of the past. They should accept the community-driven iojs structure and give up their corporate monarchy.

My vote is "hell naw" unless you can keep the open governance. Corporate sponsors having final say is a recipe for a broken system: if their idea is actually good, the community will also support it.

Reduction of breakneck speeds and tighter access controls are inevitable for iojs down the road anyways, so I feel they're fine concessions to make.

@YurySolovyov

This comment has been minimized.

Show comment
Hide comment
@YurySolovyov

YurySolovyov Apr 5, 2015

Well, reconcile then :)

Well, reconcile then :)

@jmar777

This comment has been minimized.

Show comment
Hide comment
@jmar777

jmar777 Apr 5, 2015

Contributor

I'm really struggling with understanding a lot of the resistance here. I understand many people feel like we got burned by Joyent, but the sentiment here in general feels out of proportion with the actual sins. io.js seems much better-fated if decision making isn't driven by some "eww, corporate cooties" mentality, and instead derives from informed, intentional choices based on what we've learned.

I trust @mikeal completely to ensure that the terms around the foundation will adequately protect io.js from the conditions that ultimately resulted in the stagnation leading up to the fork. If we can just accept that part as a given, then if the foundation is formed there's a lot more to gain than lose. The upsides are substantial, whereas the downsides seem to be more speculative and largely avoidable so long as care is put into the formation itself.

Contributor

jmar777 commented Apr 5, 2015

I'm really struggling with understanding a lot of the resistance here. I understand many people feel like we got burned by Joyent, but the sentiment here in general feels out of proportion with the actual sins. io.js seems much better-fated if decision making isn't driven by some "eww, corporate cooties" mentality, and instead derives from informed, intentional choices based on what we've learned.

I trust @mikeal completely to ensure that the terms around the foundation will adequately protect io.js from the conditions that ultimately resulted in the stagnation leading up to the fork. If we can just accept that part as a given, then if the foundation is formed there's a lot more to gain than lose. The upsides are substantial, whereas the downsides seem to be more speculative and largely avoidable so long as care is put into the formation itself.

@asbjornenge

This comment has been minimized.

Show comment
Hide comment
@asbjornenge

asbjornenge Apr 5, 2015

Member

I love how I can just follow the thread here and that all the discussions happen in the open. Will we loose that with a foundation? How about when we have to deal with "corporate muscle"?

Member

asbjornenge commented Apr 5, 2015

I love how I can just follow the thread here and that all the discussions happen in the open. Will we loose that with a foundation? How about when we have to deal with "corporate muscle"?

@konobi

This comment has been minimized.

Show comment
Hide comment
@konobi

konobi Apr 5, 2015

The node.js foundation will happen, that's pretty concrete. This is about how to best capture the overall goals and ambitions of the io.js project into that foundation so that everyone can move forward along on the same path.

Remember that while people have issues with "Joyent", what they really mean is that they have issues with the BDFL model that Joyent was purporting. This is no longer the case and node.js is going into a foundation.

konobi commented Apr 5, 2015

The node.js foundation will happen, that's pretty concrete. This is about how to best capture the overall goals and ambitions of the io.js project into that foundation so that everyone can move forward along on the same path.

Remember that while people have issues with "Joyent", what they really mean is that they have issues with the BDFL model that Joyent was purporting. This is no longer the case and node.js is going into a foundation.

@mikeal

This comment has been minimized.

Show comment
Hide comment
@mikeal

mikeal Apr 5, 2015

Member

I love how I can just follow the thread here and that all the discussions happen in the open. Will we loose that with a foundation? How about when we have to deal with "corporate muscle"?

The TSC Charter already states that all discussion must be in the open, like it is today. It's also a requirement of the foundation that the board remain transparent (as a public non-profit entity).

Member

mikeal commented Apr 5, 2015

I love how I can just follow the thread here and that all the discussions happen in the open. Will we loose that with a foundation? How about when we have to deal with "corporate muscle"?

The TSC Charter already states that all discussion must be in the open, like it is today. It's also a requirement of the foundation that the board remain transparent (as a public non-profit entity).

@asbjornenge

This comment has been minimized.

Show comment
Hide comment
@asbjornenge

asbjornenge Apr 5, 2015

Member

@mikeal awesomesauce! I still say we rename the merged project io.js 😝 🙈

Member

asbjornenge commented Apr 5, 2015

@mikeal awesomesauce! I still say we rename the merged project io.js 😝 🙈

@Zayelion

This comment has been minimized.

Show comment
Hide comment
@Zayelion

Zayelion Apr 6, 2015

I agree with @malandrew io.js Foundation sounds like "win", or just a community vote on the name like nwjs' recent rename.

The way I see it :
1.) io/node needs an legal entity to own itself, @mikeal researched and decided on the LF model, 6 months is a long time to be doing research.
2.) Historical perception of the iojs core intention no matter what will look at this fork as a success.
3.) Current perception makes it seem like a fail because the Nodejs Foundation seems like a Joynet creation not a community creation. Some PR work is required. 2 or 3 solid medium.com articles will do the trick.

@mikeal is there a way to deny seats? I'm thinking of IBM and Microsoft specifically.

Zayelion commented Apr 6, 2015

I agree with @malandrew io.js Foundation sounds like "win", or just a community vote on the name like nwjs' recent rename.

The way I see it :
1.) io/node needs an legal entity to own itself, @mikeal researched and decided on the LF model, 6 months is a long time to be doing research.
2.) Historical perception of the iojs core intention no matter what will look at this fork as a success.
3.) Current perception makes it seem like a fail because the Nodejs Foundation seems like a Joynet creation not a community creation. Some PR work is required. 2 or 3 solid medium.com articles will do the trick.

@mikeal is there a way to deny seats? I'm thinking of IBM and Microsoft specifically.

@jeffwhelpley

This comment has been minimized.

Show comment
Hide comment
@jeffwhelpley

jeffwhelpley Apr 6, 2015

This is a crazy thread. I tried to read through everything, but may have missed some points so I apologize if my one small point has been repeated before.

Right now, outside branding and corporate backing (both of which can be solved later), io.js has a tremendous amount of leverage over node.js. The moment reconciliation is agreed upon, all the leverage will almost certainly swing to Joyent because it would be very difficult to make another split in the future if things turn sour.

@mikeal, I think you and @rvagg and the other core members are extremely smart and will make the right decision, but without having all the information you do, it seems at this point like the downsides outweigh the benefits. I have not moved to io.js yet, but I do believe in its future. I think the moment you take a stance "io.js is here to stay and there will be no reconciliation" you will see a mass migration to io.js. I understand what you are saying about certain companies not using a product without corporate backing, but I think that is an easier problem to solve in the future.

This is a crazy thread. I tried to read through everything, but may have missed some points so I apologize if my one small point has been repeated before.

Right now, outside branding and corporate backing (both of which can be solved later), io.js has a tremendous amount of leverage over node.js. The moment reconciliation is agreed upon, all the leverage will almost certainly swing to Joyent because it would be very difficult to make another split in the future if things turn sour.

@mikeal, I think you and @rvagg and the other core members are extremely smart and will make the right decision, but without having all the information you do, it seems at this point like the downsides outweigh the benefits. I have not moved to io.js yet, but I do believe in its future. I think the moment you take a stance "io.js is here to stay and there will be no reconciliation" you will see a mass migration to io.js. I understand what you are saying about certain companies not using a product without corporate backing, but I think that is an easier problem to solve in the future.

@JediMindtrick

This comment has been minimized.

Show comment
Hide comment
@JediMindtrick

JediMindtrick Apr 6, 2015

@jeffwhelpley Others have raised your point, which seems to be coming from the standpoint primarily of a contributor to the project (not saying you are, but that seems like the perspective). An alternative view, from the standpoint of many enterprises might look differently:

  1. NodeJs has already been baked in to make it easy to use on both AWS and Azure clouds (as well as others)
  2. NodeJs has the involvement of several large corporations that probably won't be going away any time soon
  3. NodeJs has been around for quite awhile and decision makers have already made a commitment of time, money, and political capital to it

So if NodeJs becomes a ghost town because the majority of core contributors (eventually) stop working and put their efforts into iojs, how soon would it be before 1 and 2 above came about? And how soon would decision makers be willing to take on 3 again (hint: not for a very long time)? This is the situation an enterprise decision-maker finds themselves in.

The Angular team made some missteps last year, primarily in messaging, but I think the technology will survive although not without damage. Their problem, imo, was that they forgot about or didn't understand the large swaths of adopters who work in their day-to-day in the enterprise. Angular deals with just one small part of the stack, but I have to wonder what the fallout would be if a more significant part of the stack ran into a similar fiasco (as it would be perceived). It's hard to know what will happen, but it would be reasonable to think this would hurt server-side javascript for quite a while. There are already many other hurdles server-side js has to overcome without a (perceived) seismic shift like this could cause.

This is why I really like the general idea of a cutting/bleeding edge distro that feeds into an LTS. It sounds to me like both are needed.

Server-side javascript (and I mean NodeJs or any possible successor) is a very key part of the inevitable javascript revolution. All I am saying is that I hope that those doing the hard work of development and those with influence will take the broader view and try to find a solution that will enable adoption to continue to grow. This requires keeping many, many, factors in mind beyond just the technical decisions or political alliances that must be made.

@jeffwhelpley Others have raised your point, which seems to be coming from the standpoint primarily of a contributor to the project (not saying you are, but that seems like the perspective). An alternative view, from the standpoint of many enterprises might look differently:

  1. NodeJs has already been baked in to make it easy to use on both AWS and Azure clouds (as well as others)
  2. NodeJs has the involvement of several large corporations that probably won't be going away any time soon
  3. NodeJs has been around for quite awhile and decision makers have already made a commitment of time, money, and political capital to it

So if NodeJs becomes a ghost town because the majority of core contributors (eventually) stop working and put their efforts into iojs, how soon would it be before 1 and 2 above came about? And how soon would decision makers be willing to take on 3 again (hint: not for a very long time)? This is the situation an enterprise decision-maker finds themselves in.

The Angular team made some missteps last year, primarily in messaging, but I think the technology will survive although not without damage. Their problem, imo, was that they forgot about or didn't understand the large swaths of adopters who work in their day-to-day in the enterprise. Angular deals with just one small part of the stack, but I have to wonder what the fallout would be if a more significant part of the stack ran into a similar fiasco (as it would be perceived). It's hard to know what will happen, but it would be reasonable to think this would hurt server-side javascript for quite a while. There are already many other hurdles server-side js has to overcome without a (perceived) seismic shift like this could cause.

This is why I really like the general idea of a cutting/bleeding edge distro that feeds into an LTS. It sounds to me like both are needed.

Server-side javascript (and I mean NodeJs or any possible successor) is a very key part of the inevitable javascript revolution. All I am saying is that I hope that those doing the hard work of development and those with influence will take the broader view and try to find a solution that will enable adoption to continue to grow. This requires keeping many, many, factors in mind beyond just the technical decisions or political alliances that must be made.

@jeffwhelpley

This comment has been minimized.

Show comment
Hide comment
@jeffwhelpley

jeffwhelpley Apr 6, 2015

@JediMindtrick it is a good point about Angular and one that I am intimately familiar with as a contributor there. I agree with the general sentiment of your comment and it is a strong argument for some form of reconciliation. Perhaps the best of both worlds is if, as you suggest, they remain separate but agree to work together in some way (like, for example, agree that node.js will commit to pulling in all io.js changes periodically to remain compatible).

@JediMindtrick it is a good point about Angular and one that I am intimately familiar with as a contributor there. I agree with the general sentiment of your comment and it is a strong argument for some form of reconciliation. Perhaps the best of both worlds is if, as you suggest, they remain separate but agree to work together in some way (like, for example, agree that node.js will commit to pulling in all io.js changes periodically to remain compatible).

@localpcguy

This comment has been minimized.

Show comment
Hide comment
@localpcguy

localpcguy Apr 6, 2015

To followup on an excellent comment from @JediMindtrick - the idea some have stated that NodeJS will die because they can't find contributors to continue Node doesn't ring true for me. I'm not saying what the core contributors do is trivial by any means or can easily be replaced, just that there are a lot of really smart developers out there. So I think the chances of NodeJS becoming (and staying, if you feel it is currently there already,) a ghost town are slim. That would increase the level of effort significantly towards trying to get the ideas of points 1 & 2 implemented for IO.js.

I think going to the Foundation + TSC is a solid model, and a lot of the momentum from IO.js should move right over. I also think having a bleeding edge distro that feeds into the LTS that is NodeJS is a really good idea that should be explored more as this process moves forward.

To followup on an excellent comment from @JediMindtrick - the idea some have stated that NodeJS will die because they can't find contributors to continue Node doesn't ring true for me. I'm not saying what the core contributors do is trivial by any means or can easily be replaced, just that there are a lot of really smart developers out there. So I think the chances of NodeJS becoming (and staying, if you feel it is currently there already,) a ghost town are slim. That would increase the level of effort significantly towards trying to get the ideas of points 1 & 2 implemented for IO.js.

I think going to the Foundation + TSC is a solid model, and a lot of the momentum from IO.js should move right over. I also think having a bleeding edge distro that feeds into the LTS that is NodeJS is a really good idea that should be explored more as this process moves forward.

@Zayelion

This comment has been minimized.

Show comment
Hide comment
@Zayelion

Zayelion Apr 6, 2015

Summarizing, TL;DR

  • There needs to be a free openly governed main bleeding branch (io's consern)
  • There needs to be a healthy periodically updated branch for LTS (node's consern)
  • Branding needs to exist under a legal entity.
  • io's conserns have all been addressed via the forming of a foundation or being left in the wild.
  • node's conserns have not been met in io so few have switched to it in production.

I'd bet money if you formed the foundation and said screw the trademark and just kept io little would happen. Joynet would keep pulling in edits to its liking and be a Red Hat flavor of sorts. Wanting the nodejs trademark is a bit greedy but understandable.

Zayelion commented Apr 6, 2015

Summarizing, TL;DR

  • There needs to be a free openly governed main bleeding branch (io's consern)
  • There needs to be a healthy periodically updated branch for LTS (node's consern)
  • Branding needs to exist under a legal entity.
  • io's conserns have all been addressed via the forming of a foundation or being left in the wild.
  • node's conserns have not been met in io so few have switched to it in production.

I'd bet money if you formed the foundation and said screw the trademark and just kept io little would happen. Joynet would keep pulling in edits to its liking and be a Red Hat flavor of sorts. Wanting the nodejs trademark is a bit greedy but understandable.

@micnic

This comment has been minimized.

Show comment
Hide comment
@micnic

micnic Apr 6, 2015

Contributor

@Zayelion, I guess you wanted to write "concern" instead of "consern", beside this I totally agree with an organization like io.js as the latest version and node.js as the conservative LTS version.

Contributor

micnic commented Apr 6, 2015

@Zayelion, I guess you wanted to write "concern" instead of "consern", beside this I totally agree with an organization like io.js as the latest version and node.js as the conservative LTS version.

@ericmdantas

This comment has been minimized.

Show comment
Hide comment

I agree with @Zayelion.

@q2dg

This comment has been minimized.

Show comment
Hide comment
@q2dg

q2dg Apr 6, 2015

I agree too.

q2dg commented Apr 6, 2015

I agree too.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 6, 2015

At this point, I really can't see any benefit for io.js as a technology in this reconciliation. It would just be a bunch of compromises that would end up benefiting joyent's bottom line.

ghost commented Apr 6, 2015

At this point, I really can't see any benefit for io.js as a technology in this reconciliation. It would just be a bunch of compromises that would end up benefiting joyent's bottom line.

@jmar777

This comment has been minimized.

Show comment
Hide comment
@jmar777

jmar777 Apr 6, 2015

Contributor

I really can't see any benefit for io.js as a technology in this reconciliation.

This is the sentiment that I can't understand. How is it a bad thing to re-unify with over 90% of the user base, regain support from nearly all of the PaaS providers, consolidate development efforts, and gain significant corporate backing?

"Joyent" isn't a dirty word. Yes, they did us a disservice, but again, keep a balanced perspective. With a new governance model in place, they can really only help, since, as you said, they're also motivated to see node succeed. I really don't care about Joyent that much. I'm not a "fan" or a "hater". They're just a company that didn't do so well at corporate stewardship. Let's fix that problem and regain what is still a strong brand and bring the community back together.

If you can't see any benefits in reconciliation, you're frankly not looking very hard, IMHO. There's a very valid debate to be had regarding whether those benefits outweigh the drawbacks (which I very clearly believe they do), but there's no point in pretending that the benefits don't exist at all. _STRONG FEELINGS!_ Sorry, I suck at tone control in these threads. Agree or disagree, still love y'all.

Contributor

jmar777 commented Apr 6, 2015

I really can't see any benefit for io.js as a technology in this reconciliation.

This is the sentiment that I can't understand. How is it a bad thing to re-unify with over 90% of the user base, regain support from nearly all of the PaaS providers, consolidate development efforts, and gain significant corporate backing?

"Joyent" isn't a dirty word. Yes, they did us a disservice, but again, keep a balanced perspective. With a new governance model in place, they can really only help, since, as you said, they're also motivated to see node succeed. I really don't care about Joyent that much. I'm not a "fan" or a "hater". They're just a company that didn't do so well at corporate stewardship. Let's fix that problem and regain what is still a strong brand and bring the community back together.

If you can't see any benefits in reconciliation, you're frankly not looking very hard, IMHO. There's a very valid debate to be had regarding whether those benefits outweigh the drawbacks (which I very clearly believe they do), but there's no point in pretending that the benefits don't exist at all. _STRONG FEELINGS!_ Sorry, I suck at tone control in these threads. Agree or disagree, still love y'all.

@JediMindtrick

This comment has been minimized.

Show comment
Hide comment
@JediMindtrick

JediMindtrick Apr 6, 2015

Disclaimer: I'm really just on the fringe of this community, but a very interested observer. In my current job I am often the guy trying to push technological advancement in the enterprise.

@mrseth The benefit would be continuing the adoption curve already started by NodeJS. To me that seems valuable to a technology. Conversely, the con to not merging is that iojs ends up competing against that already-moving adoption.

Also, an adversial/compromise approach isn't the only way to solve disagreements...there's always a possibility of consensus, although much harder. There are a lot of smart people on this project, though, so maybe it's possible :)

Just spit-balling...maybe a situation develops (somehow) that NodeJs is being refreshed at a good pace, but that it is restricted basically to just pulling from iojs. There could be some interesting dynamics in a situation like that.

Disclaimer: I'm really just on the fringe of this community, but a very interested observer. In my current job I am often the guy trying to push technological advancement in the enterprise.

@mrseth The benefit would be continuing the adoption curve already started by NodeJS. To me that seems valuable to a technology. Conversely, the con to not merging is that iojs ends up competing against that already-moving adoption.

Also, an adversial/compromise approach isn't the only way to solve disagreements...there's always a possibility of consensus, although much harder. There are a lot of smart people on this project, though, so maybe it's possible :)

Just spit-balling...maybe a situation develops (somehow) that NodeJs is being refreshed at a good pace, but that it is restricted basically to just pulling from iojs. There could be some interesting dynamics in a situation like that.

@Michael77

This comment has been minimized.

Show comment
Hide comment
@Michael77

Michael77 Apr 6, 2015

@tbranyen yes it is sufficient for myself, but to make it available as a normal package for the popular distributions would be a step in the right direction towards more general acceptance. However I understand that it may not be necessary atm.

@tbranyen yes it is sufficient for myself, but to make it available as a normal package for the popular distributions would be a step in the right direction towards more general acceptance. However I understand that it may not be necessary atm.

@Zayelion

This comment has been minimized.

Show comment
Hide comment
@Zayelion

Zayelion Apr 6, 2015

@jmar777 Joynet's corporate animal first response of "I'm gonna sue you trying to help me" makes us wonder. @mrseth node/io needs a legal entity to own its own name, self promote, and keep up its development cost. The Foundation is effectively a non-profit startup company, its product being the nodejs intellectual property. It can do this without the nodejs name but it will be slower and results in a Python 3/4 situation and I think that is what node is trying to avoid.

One thing I love about this community is that it's leadership has pulled from other server languages and competing platforms and just done everything so right. Where Go, Python, PHP, and C# have just screwed up without repentance. Now it faces completely new issues. I want a Nodejs v2. The issue is how many deals with devils is it going to take to get there without restarting.

If iojs keeps on its own there is no way to know if it is going to be a Joomla/Ubuntu or historical political gambit.

Just a note, I'm seeing support for iojs in more and more places like TravisCI I dont think the mindshare split is as critical as people are making it sound. It's almost as trivial as a project rename.

Zayelion commented Apr 6, 2015

@jmar777 Joynet's corporate animal first response of "I'm gonna sue you trying to help me" makes us wonder. @mrseth node/io needs a legal entity to own its own name, self promote, and keep up its development cost. The Foundation is effectively a non-profit startup company, its product being the nodejs intellectual property. It can do this without the nodejs name but it will be slower and results in a Python 3/4 situation and I think that is what node is trying to avoid.

One thing I love about this community is that it's leadership has pulled from other server languages and competing platforms and just done everything so right. Where Go, Python, PHP, and C# have just screwed up without repentance. Now it faces completely new issues. I want a Nodejs v2. The issue is how many deals with devils is it going to take to get there without restarting.

If iojs keeps on its own there is no way to know if it is going to be a Joomla/Ubuntu or historical political gambit.

Just a note, I'm seeing support for iojs in more and more places like TravisCI I dont think the mindshare split is as critical as people are making it sound. It's almost as trivial as a project rename.

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Apr 6, 2015

Member

For those interested in making progress, the dev-policy draft is moving forward https://github.com/jasnell/dev-policy. Continued constructive feedback is welcome.

Member

jasnell commented Apr 6, 2015

For those interested in making progress, the dev-policy draft is moving forward https://github.com/jasnell/dev-policy. Continued constructive feedback is welcome.

@localpcguy

This comment has been minimized.

Show comment
Hide comment
@localpcguy

localpcguy Apr 6, 2015

Another thing to remember about Joyent - whatever people feel about how they handled Node, it's easy to dismiss it as a faceless corporation (and yes, many people feel corporation == evil). Let's remember there are people working within Joyent that love Node as well and do truly want what's best for it. Despite the mistakes and even the factors that led to the merge, the Node/IO ecosystem is still in a really good place regardless of that.

It's human nature to divide into us/them groups, and them == bad. Let's try to rise above that base knee-jerk reactionary type of thinking.

(Maybe I'm just too far on the periphery of this issue and so haven't been burnt, but I have talked to Joyent devs and they all seemed like good people.)

Another thing to remember about Joyent - whatever people feel about how they handled Node, it's easy to dismiss it as a faceless corporation (and yes, many people feel corporation == evil). Let's remember there are people working within Joyent that love Node as well and do truly want what's best for it. Despite the mistakes and even the factors that led to the merge, the Node/IO ecosystem is still in a really good place regardless of that.

It's human nature to divide into us/them groups, and them == bad. Let's try to rise above that base knee-jerk reactionary type of thinking.

(Maybe I'm just too far on the periphery of this issue and so haven't been burnt, but I have talked to Joyent devs and they all seemed like good people.)

@rlidwka

This comment has been minimized.

Show comment
Hide comment
@rlidwka

rlidwka Apr 6, 2015

Contributor

@jmar777 ,

This is the sentiment that I can't understand. How is it a bad thing to re-unify with over 90% of the user base, regain support from nearly all of the PaaS providers, consolidate development efforts, and gain significant corporate backing?

It's not a bad thing.

But it is going to happen anyway. Regardless of whether reconciliation happens or not. I agree with @jeffwhelpley 's sentiment above:

I think the moment you take a stance "io.js is here to stay and there will be no reconciliation" you will see a mass migration to io.js.

I agree, under Node.js name we will have more users in the short term. Later people will move to io.js anyway because node.js essentially is the maintenance-only mode right now.

But... BUT... quoting @rvagg 's first post:

io.js is going to have to have some tough conversations with those that are driving joyent/node to where it is today, those who have made the same decisions that lead to a fork in the first place. This is going to cause trauma regardless of governance structure ("just vote em out!" isn't going to fly here).

What is changed in node.js in the past few months? Well, nothing. Except for an amount of commits that's exceptionally low for some well-known reason. All the people, and all the reasons for fork, and that year old v8 engine are still there.

We will have to compromise with them. And we will have to review again every single patch that was accepted to Node.js 0.12 because of corporate lobbying and rejected by io.js TC.

Honestly, that still trademarked Node.js name is the only reason one could possibly want merging. And I really doubt it's worth it.

Contributor

rlidwka commented Apr 6, 2015

@jmar777 ,

This is the sentiment that I can't understand. How is it a bad thing to re-unify with over 90% of the user base, regain support from nearly all of the PaaS providers, consolidate development efforts, and gain significant corporate backing?

It's not a bad thing.

But it is going to happen anyway. Regardless of whether reconciliation happens or not. I agree with @jeffwhelpley 's sentiment above:

I think the moment you take a stance "io.js is here to stay and there will be no reconciliation" you will see a mass migration to io.js.

I agree, under Node.js name we will have more users in the short term. Later people will move to io.js anyway because node.js essentially is the maintenance-only mode right now.

But... BUT... quoting @rvagg 's first post:

io.js is going to have to have some tough conversations with those that are driving joyent/node to where it is today, those who have made the same decisions that lead to a fork in the first place. This is going to cause trauma regardless of governance structure ("just vote em out!" isn't going to fly here).

What is changed in node.js in the past few months? Well, nothing. Except for an amount of commits that's exceptionally low for some well-known reason. All the people, and all the reasons for fork, and that year old v8 engine are still there.

We will have to compromise with them. And we will have to review again every single patch that was accepted to Node.js 0.12 because of corporate lobbying and rejected by io.js TC.

Honestly, that still trademarked Node.js name is the only reason one could possibly want merging. And I really doubt it's worth it.

@localpcguy

This comment has been minimized.

Show comment
Hide comment
@localpcguy

localpcguy Apr 6, 2015

@rlidwka The other big reason to merge is because some of us don't believe there will be a mass migration to IO.js if it were announced that there will be no reconciliation. Not enough people are paying that close attention in the broader Node ecosystem. And Node will continue to make updates, version bumps, etc - competition in the form of IO.js would likely do wonders for their desire to improve the Node 0.12 line and make sure it stays relevant.

My biggest fear is that there are 2 divergent lines of development (already started, but close enough they could come back together) that leads to similar but incompatible projects, needing to know whether an NPM package is built for Node or IO, etc.

I am not arguing for a return to the BDFL model under Joyent, but rather moving into a Node Foundation as has been proposed. I see a very large different between those 2 paths.

@rlidwka The other big reason to merge is because some of us don't believe there will be a mass migration to IO.js if it were announced that there will be no reconciliation. Not enough people are paying that close attention in the broader Node ecosystem. And Node will continue to make updates, version bumps, etc - competition in the form of IO.js would likely do wonders for their desire to improve the Node 0.12 line and make sure it stays relevant.

My biggest fear is that there are 2 divergent lines of development (already started, but close enough they could come back together) that leads to similar but incompatible projects, needing to know whether an NPM package is built for Node or IO, etc.

I am not arguing for a return to the BDFL model under Joyent, but rather moving into a Node Foundation as has been proposed. I see a very large different between those 2 paths.

@rlidwka

This comment has been minimized.

Show comment
Hide comment
@rlidwka

rlidwka Apr 6, 2015

Contributor

And Node will continue to make updates

Node won't be able to keep up. 908 issues + 284 pull requests are kinda self-explanatory.

Well I agree those are being accumulated for a long time, but maybe check github pulse?

https://github.com/joyent/node/pulse
https://github.com/iojs/io.js/pulse

Please ignore amount of issues created (joyent/node were getting spammed last week). But amount of merged pull requests (6 for io.js, 0 for node.js) does tell you something.

And here is a summary:


io.js

Excluding merges, 32 authors have pushed 44 commits to v1.x and 105 commits to all branches. On v1.x, 935 files have changed and there have been 89,163 additions and 8,316 deletions.

node.js

Excluding merges, 8 authors have pushed 3 commits to master and 23 commits to all branches. On master, 521 files have changed and there have been 26,938 additions and 6,087 deletions.


23 commits in node.js vs 105 commits in io.js (3 vs 44 into default branch) - that's what I call "node.js is basically done".

Remember that picture referenced by @malandrew above?

All developers are here. Which means users will be eventually.

Contributor

rlidwka commented Apr 6, 2015

And Node will continue to make updates

Node won't be able to keep up. 908 issues + 284 pull requests are kinda self-explanatory.

Well I agree those are being accumulated for a long time, but maybe check github pulse?

https://github.com/joyent/node/pulse
https://github.com/iojs/io.js/pulse

Please ignore amount of issues created (joyent/node were getting spammed last week). But amount of merged pull requests (6 for io.js, 0 for node.js) does tell you something.

And here is a summary:


io.js

Excluding merges, 32 authors have pushed 44 commits to v1.x and 105 commits to all branches. On v1.x, 935 files have changed and there have been 89,163 additions and 8,316 deletions.

node.js

Excluding merges, 8 authors have pushed 3 commits to master and 23 commits to all branches. On master, 521 files have changed and there have been 26,938 additions and 6,087 deletions.


23 commits in node.js vs 105 commits in io.js (3 vs 44 into default branch) - that's what I call "node.js is basically done".

Remember that picture referenced by @malandrew above?

All developers are here. Which means users will be eventually.

@localpcguy

This comment has been minimized.

Show comment
Hide comment
@localpcguy

localpcguy Apr 6, 2015

All "current" developers are here, doesn't mean the remaining maintainers of Node won't find new contributors to Node. That chart is very misleading IMO. The initial spike was to be expected, and it would make sense that Node commits would fall off since the core contributors are here.

If the 2 stay unmerged, and IO.js declares it will not reconcile, I really hope I am completely wrong and everyone rushes to switch over. But I think that is very unrealistic in some of the organizations that currently use NodeJS, as well as the entire community that is either barely following this issue or completely unaware of it. They will just keep going to the NodeJS site to get their Node. I hope I'm dead wrong, but fear that I am not.

All "current" developers are here, doesn't mean the remaining maintainers of Node won't find new contributors to Node. That chart is very misleading IMO. The initial spike was to be expected, and it would make sense that Node commits would fall off since the core contributors are here.

If the 2 stay unmerged, and IO.js declares it will not reconcile, I really hope I am completely wrong and everyone rushes to switch over. But I think that is very unrealistic in some of the organizations that currently use NodeJS, as well as the entire community that is either barely following this issue or completely unaware of it. They will just keep going to the NodeJS site to get their Node. I hope I'm dead wrong, but fear that I am not.

@lukeb-uk

This comment has been minimized.

Show comment
Hide comment
@lukeb-uk

lukeb-uk Apr 6, 2015

If you're one of those saying all corporations are evil, can I ask why you're assuming that those who want to support this project have nefarious intentions?

@Zayelion Why do you want to deny seats to IBM and Microsoft? What have they done that shows they want to corrupt this project or would otherwise use their seats inappropriately?

lukeb-uk commented Apr 6, 2015

If you're one of those saying all corporations are evil, can I ask why you're assuming that those who want to support this project have nefarious intentions?

@Zayelion Why do you want to deny seats to IBM and Microsoft? What have they done that shows they want to corrupt this project or would otherwise use their seats inappropriately?

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Apr 7, 2015

@localpcguy they haven't found any so far, why would anyone start contributing to a semi-dead project such as node when io.js exists? Thinking they would find new contributors in the current state of affairs is non-sense.

And that other guy is on the money: there WILL be a mass migration to io.js if there's no reconciliation. We already got 10% in mere six months with no pr, marketing or any guy with deep pockets selling it. Give it one more year and I am sure there will be more people using io.js than using node. Why are you so desperate for users in the short term? Why are you so willing to make unnecessary compromises when all the contributors are on io.js? Io.js has barely started, why reconciling so soon? Let it grow and then if a reconciliation is a better option, do it. There is absolutely ZERO reason to reconcile so soon with such a promising future ahead free of corporative stiffness holding development back.

I am not saying to discard the idea of a reconciliation, I am just saying to wait until io.js had enough time to grow on its own.

ghost commented Apr 7, 2015

@localpcguy they haven't found any so far, why would anyone start contributing to a semi-dead project such as node when io.js exists? Thinking they would find new contributors in the current state of affairs is non-sense.

And that other guy is on the money: there WILL be a mass migration to io.js if there's no reconciliation. We already got 10% in mere six months with no pr, marketing or any guy with deep pockets selling it. Give it one more year and I am sure there will be more people using io.js than using node. Why are you so desperate for users in the short term? Why are you so willing to make unnecessary compromises when all the contributors are on io.js? Io.js has barely started, why reconciling so soon? Let it grow and then if a reconciliation is a better option, do it. There is absolutely ZERO reason to reconcile so soon with such a promising future ahead free of corporative stiffness holding development back.

I am not saying to discard the idea of a reconciliation, I am just saying to wait until io.js had enough time to grow on its own.

@StyMaar

This comment has been minimized.

Show comment
Hide comment
@StyMaar

StyMaar Apr 7, 2015

We already got 10% in mere six months with no pr, marketing or any guy with deep pockets selling it.

Where is the number from ? Can you name a single commercial product that switched from node to io.js ?

there WILL be a mass migration to io.js if there's no reconciliation.

This is not how real life works ! This has almost never happened in the free software world ! As I said earlier in this discussion, just consider the most successful fork of the past few years : LibreOffice vs OpenOffice
Five years later and after the whole developer community moved to LibreOffice with OpenOffice being abandoned by Oracle in the Apache graveyard, a majority of OpenOffice customers (mostly schools and public administrations) are still using it. And after 5 years most people still don't know what is LibreOffice :
http://www.google.com/trends/explore#q=%2Fm%2F0hvp_%2C%20LibreOffice&cmpt=q&tz=
Even on stackoverflow, OpenOffice still has a huge lead (twice as much question tagged) !

Do you have an idea how little people care about io.js ? The «node.js» brand is here to stay, with 75k tagged questions on stackoverflow and thousands of blog post and tutorial about it, you're just not goind to kill the «node.js» name. Not in 1 year, and most likely not even in ten !

For all of you who believe that we represent the majority of the community, just a gentle reminder of how small we are :
http://www.google.com/trends/explore#q=io.js%2C%20node.js&cmpt=q&tz=

We're just a pale blue dot in the universe of node developers, and if we want to help the whole community moving forward, we must reconcile and take the leadership on node.js. Otherwise the entire node ecosystem will just fossilize in 0.10 and lose all its momentum.

StyMaar commented Apr 7, 2015

We already got 10% in mere six months with no pr, marketing or any guy with deep pockets selling it.

Where is the number from ? Can you name a single commercial product that switched from node to io.js ?

there WILL be a mass migration to io.js if there's no reconciliation.

This is not how real life works ! This has almost never happened in the free software world ! As I said earlier in this discussion, just consider the most successful fork of the past few years : LibreOffice vs OpenOffice
Five years later and after the whole developer community moved to LibreOffice with OpenOffice being abandoned by Oracle in the Apache graveyard, a majority of OpenOffice customers (mostly schools and public administrations) are still using it. And after 5 years most people still don't know what is LibreOffice :
http://www.google.com/trends/explore#q=%2Fm%2F0hvp_%2C%20LibreOffice&cmpt=q&tz=
Even on stackoverflow, OpenOffice still has a huge lead (twice as much question tagged) !

Do you have an idea how little people care about io.js ? The «node.js» brand is here to stay, with 75k tagged questions on stackoverflow and thousands of blog post and tutorial about it, you're just not goind to kill the «node.js» name. Not in 1 year, and most likely not even in ten !

For all of you who believe that we represent the majority of the community, just a gentle reminder of how small we are :
http://www.google.com/trends/explore#q=io.js%2C%20node.js&cmpt=q&tz=

We're just a pale blue dot in the universe of node developers, and if we want to help the whole community moving forward, we must reconcile and take the leadership on node.js. Otherwise the entire node ecosystem will just fossilize in 0.10 and lose all its momentum.

@jmar777

This comment has been minimized.

Show comment
Hide comment
@jmar777

jmar777 Apr 7, 2015

Contributor

@StyMaar I'm guessing the 10% number is just taking the remainder of the 90+% value I've been mentioning, which was originally derived from @othiym23's comment (based on npm download stats and support requests).

Contributor

jmar777 commented Apr 7, 2015

@StyMaar I'm guessing the 10% number is just taking the remainder of the 90+% value I've been mentioning, which was originally derived from @othiym23's comment (based on npm download stats and support requests).

@andrewdeandrade

This comment has been minimized.

Show comment
Hide comment
@andrewdeandrade

andrewdeandrade Apr 7, 2015

Node 0.10 is the IE6 of server-side JavaScript. It was good enough to build a business on top of and then the incentive to keep moving it forward disappeared.

Another thing to consider is that NodeJS/io.js is not the only place that JavaScript is being executed. Every major web browser is moving towards ES6. Eventually server-side JavaScript is going to head in the same direction. There are so many useful features that fix many of the warts in the language. Unlike Python 2 to 3, moving JavaScript forward is inevitable.

io.js has top of mind among the most influential developers in the server-side JavaScript community. Many of the people who have come here to defend NodeJS have admitted directly or indirectly that they haven't followed what io.js is. On the diffusion of innovation curve, these are laggards or at best late adopters.

The only thing NodeJS has right now is the brand, and if io.js keeps up what it's doing, the node.js brand will continue to cede ground to io.js.

The only way reconciliation happens is if control of the NodeJS brand name is ceded to those who actually contribute most of the code and keep moving it forward. Joyent, IBM and the other corporations interested in an LTS release version, can take any version of io.js that they want and bless it as an LTS version and maintain that version with bug and security patches. There is little need for the LTS people to have control of the brand. They just need to be able to license it for the LTS version. There is a much greater need for those moving things forward to control the brand.

What I want to know is why, despite the fact that many people on here have said that control of the brand is the only thing that would make this decision a simple one, no one from the NodeJS side of things has proposed even a single solution that would give control of the brand to the io.js committees so they no longer have to dealing with forking risk should they choose to reconcile.

Node 0.10 is the IE6 of server-side JavaScript. It was good enough to build a business on top of and then the incentive to keep moving it forward disappeared.

Another thing to consider is that NodeJS/io.js is not the only place that JavaScript is being executed. Every major web browser is moving towards ES6. Eventually server-side JavaScript is going to head in the same direction. There are so many useful features that fix many of the warts in the language. Unlike Python 2 to 3, moving JavaScript forward is inevitable.

io.js has top of mind among the most influential developers in the server-side JavaScript community. Many of the people who have come here to defend NodeJS have admitted directly or indirectly that they haven't followed what io.js is. On the diffusion of innovation curve, these are laggards or at best late adopters.

The only thing NodeJS has right now is the brand, and if io.js keeps up what it's doing, the node.js brand will continue to cede ground to io.js.

The only way reconciliation happens is if control of the NodeJS brand name is ceded to those who actually contribute most of the code and keep moving it forward. Joyent, IBM and the other corporations interested in an LTS release version, can take any version of io.js that they want and bless it as an LTS version and maintain that version with bug and security patches. There is little need for the LTS people to have control of the brand. They just need to be able to license it for the LTS version. There is a much greater need for those moving things forward to control the brand.

What I want to know is why, despite the fact that many people on here have said that control of the brand is the only thing that would make this decision a simple one, no one from the NodeJS side of things has proposed even a single solution that would give control of the brand to the io.js committees so they no longer have to dealing with forking risk should they choose to reconcile.

@andrewdeandrade

This comment has been minimized.

Show comment
Hide comment
@andrewdeandrade

andrewdeandrade Apr 7, 2015

Microsoft? What have they done that shows they want to corrupt this project or would otherwise use their seats inappropriately?

Microsoft has done plenty of inappropriate things that suggest that they would. Granted the new Microsoft is a different Microsoft and very pro-open source, but I prefer "trust, but verify". Plus, there always exists the possibility that in a few years time Wall Street decides to no longer support Microsoft's open source strategy and replaces management with someone less friendly to open-source. You want to be prepared for such scenarios.

Microsoft? What have they done that shows they want to corrupt this project or would otherwise use their seats inappropriately?

Microsoft has done plenty of inappropriate things that suggest that they would. Granted the new Microsoft is a different Microsoft and very pro-open source, but I prefer "trust, but verify". Plus, there always exists the possibility that in a few years time Wall Street decides to no longer support Microsoft's open source strategy and replaces management with someone less friendly to open-source. You want to be prepared for such scenarios.

@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis Apr 7, 2015

Member

@StyMaar Comparing io.js with LibreOffice is a bit of an apples and oranges comparison. LO targets lay people, io.js targets developers. I hope and assume the latter are more aware of what's happening in the tech landscape.

Second, AOO is coasting on over a decade of SUN's marketing muscle. My grandmother has never heard of node.js - even though it's been her favorite grandson's main gig for years now - but she knows what OpenOffice is. Joyent may be many things, but when it comes to marketing, they're not SUN.

Can you name a single commercial product that switched from node to io.js ?

There are a few. Uber for example switched over almost right after the first release.

Member

bnoordhuis commented Apr 7, 2015

@StyMaar Comparing io.js with LibreOffice is a bit of an apples and oranges comparison. LO targets lay people, io.js targets developers. I hope and assume the latter are more aware of what's happening in the tech landscape.

Second, AOO is coasting on over a decade of SUN's marketing muscle. My grandmother has never heard of node.js - even though it's been her favorite grandson's main gig for years now - but she knows what OpenOffice is. Joyent may be many things, but when it comes to marketing, they're not SUN.

Can you name a single commercial product that switched from node to io.js ?

There are a few. Uber for example switched over almost right after the first release.

@StyMaar

This comment has been minimized.

Show comment
Hide comment
@StyMaar

StyMaar Apr 7, 2015

My grandmother has never heard of node.js - even though it's been her favorite grandson's main gig for years now - but she knows what OpenOffice is.

Hyper connected grandmother ! Mine barely nows what a computer is ;).

LO targets lay people, io.js targets developers. I hope and assume the latter are more aware of what's happening in the tech landscape.

That's how you're making a mistake. Node.js is now used by non-tech companies with developers that are mostly not passionate people reading tech blog, or contributing to open source project or whatever. Roughly 80% at least (I'm being really conservative here) of the developers on this planet are just working people, doing their job from 8 to 18 (6pm) and forgetting about it when at home. That's why I took figures from stackoverflow, because you cannot deny that stackoverflow also targets developers.

Most developers use a technology because their management decided that it was the best idea. Node.js has just barely get into the management line of sight, after 5 years (in April 2015 node.js had the same amount of google research that io.js now) and you can be sure that io.js will not succeed faster.

StyMaar commented Apr 7, 2015

My grandmother has never heard of node.js - even though it's been her favorite grandson's main gig for years now - but she knows what OpenOffice is.

Hyper connected grandmother ! Mine barely nows what a computer is ;).

LO targets lay people, io.js targets developers. I hope and assume the latter are more aware of what's happening in the tech landscape.

That's how you're making a mistake. Node.js is now used by non-tech companies with developers that are mostly not passionate people reading tech blog, or contributing to open source project or whatever. Roughly 80% at least (I'm being really conservative here) of the developers on this planet are just working people, doing their job from 8 to 18 (6pm) and forgetting about it when at home. That's why I took figures from stackoverflow, because you cannot deny that stackoverflow also targets developers.

Most developers use a technology because their management decided that it was the best idea. Node.js has just barely get into the management line of sight, after 5 years (in April 2015 node.js had the same amount of google research that io.js now) and you can be sure that io.js will not succeed faster.

@JediMindtrick

This comment has been minimized.

Show comment
Hide comment
@JediMindtrick

JediMindtrick Apr 7, 2015

@malandrew Since you brought it up...if the number really is 10%, that would mean iojs doesn't even have all of the early adopters yet. I would personally peg server-side javascript in general only still gaining the majority, taking the entire industry as the whole universe. My personal stance and point about the whole issue is this: try to keep in mind a broader view of the advancement of the industry as a whole and how that might or might not play with the results of this decision. The history of tech is littered with the corpses of technologies that got picked up by early adopters but never really went mainstream. Node does have more than just the brand, and if you think otherwise you're just not seeing it, for whatever reason.

I'm all for progress. Node is not the first ssjs tech I have ever tried, and I'm sure it will not be the last. I would just hope, that if Node 0.10 truly is the IE6 of ssjs...well, I would hope that if possible the innovators pushing us forward could do what they could to keep that from happening (but not at the expense of innovation). Any web-dev who has had to support IE6 in an enterprise feels the pain that causes and understands why I say this.

Let's put it another way...instead of letting Node become the IE6 of ssjs, maybe we could somehow empower it to be the IE10 of ssjs; the first "ever-green" version.

@malandrew Since you brought it up...if the number really is 10%, that would mean iojs doesn't even have all of the early adopters yet. I would personally peg server-side javascript in general only still gaining the majority, taking the entire industry as the whole universe. My personal stance and point about the whole issue is this: try to keep in mind a broader view of the advancement of the industry as a whole and how that might or might not play with the results of this decision. The history of tech is littered with the corpses of technologies that got picked up by early adopters but never really went mainstream. Node does have more than just the brand, and if you think otherwise you're just not seeing it, for whatever reason.

I'm all for progress. Node is not the first ssjs tech I have ever tried, and I'm sure it will not be the last. I would just hope, that if Node 0.10 truly is the IE6 of ssjs...well, I would hope that if possible the innovators pushing us forward could do what they could to keep that from happening (but not at the expense of innovation). Any web-dev who has had to support IE6 in an enterprise feels the pain that causes and understands why I say this.

Let's put it another way...instead of letting Node become the IE6 of ssjs, maybe we could somehow empower it to be the IE10 of ssjs; the first "ever-green" version.

@Zayelion

This comment has been minimized.

Show comment
Hide comment
@Zayelion

Zayelion Apr 7, 2015

Can you name a single commercial product that switched from node to io.js ?

nwjs switch immediately so any product that is updated/launching based on it will be using it. Its supported as an option by TravisCI. Atom.io switched, jsdom switched and broke on purpose so anyone using that is forced to update in newer iterations. Azure is supporting it.

Most important I think Tessel is pretty critical because it makes up a major part of the hardware aspect. Also we have Floobits.

Thats just first Quarter, so over 3 months and no marketing.

Microsoft and IBM are specifically to large to behave and have a history of monopolistic business practices. Microsoft during one era was openly hostile to open source and its recent behavior seems more like a trap more than anything. They write standards for the W3C then turn around and fail to implement them. They have a habit of trying to get premade things and then corrupting them to create steady business lock in.

This wikia article bothers me about IBM, normally its forgivable due to time passage the same people are clearly not working there but the company is still huge. These two company's are legally obligated to only turning a profit.

Zayelion commented Apr 7, 2015

Can you name a single commercial product that switched from node to io.js ?

nwjs switch immediately so any product that is updated/launching based on it will be using it. Its supported as an option by TravisCI. Atom.io switched, jsdom switched and broke on purpose so anyone using that is forced to update in newer iterations. Azure is supporting it.

Most important I think Tessel is pretty critical because it makes up a major part of the hardware aspect. Also we have Floobits.

Thats just first Quarter, so over 3 months and no marketing.

Microsoft and IBM are specifically to large to behave and have a history of monopolistic business practices. Microsoft during one era was openly hostile to open source and its recent behavior seems more like a trap more than anything. They write standards for the W3C then turn around and fail to implement them. They have a habit of trying to get premade things and then corrupting them to create steady business lock in.

This wikia article bothers me about IBM, normally its forgivable due to time passage the same people are clearly not working there but the company is still huge. These two company's are legally obligated to only turning a profit.

@RnbWd

This comment has been minimized.

Show comment
Hide comment
@RnbWd

RnbWd Apr 7, 2015

I think we should define what reconciliation means before discussing its implications. From the standpoint of github, I don't see any benefits of merging the nodejs repository into iojs. Node contributors are free to submit pull requests and merge iojs into the nodejs repository if they so choose. I think it would benefit the nodejs foundation to support iojs - financially and legally - as an independent organization, but that's something they'll have to decide on their own. I believe that the iojs community is strong and we shouldn't let politics prevent or reverse the progress that's happening here.

RnbWd commented Apr 7, 2015

I think we should define what reconciliation means before discussing its implications. From the standpoint of github, I don't see any benefits of merging the nodejs repository into iojs. Node contributors are free to submit pull requests and merge iojs into the nodejs repository if they so choose. I think it would benefit the nodejs foundation to support iojs - financially and legally - as an independent organization, but that's something they'll have to decide on their own. I believe that the iojs community is strong and we shouldn't let politics prevent or reverse the progress that's happening here.

@mikeal

This comment has been minimized.

Show comment
Hide comment
@mikeal

mikeal Apr 7, 2015

Member

I think 200+ comments is enough, time to lock this issue. This thread has collected a lot of concerns that I'll try to summarize and address below but this thread is no longer a productive place for feedback and is instead a magnet for a lot of negativity and borderline trolling. For those who want to continue to comment and debate this process you can do that in the repositories mentioned below.

Concerns seem to be:

  1. Technical governance will be compromised during a reconciliation.
  2. Releases and contributions will return to pre-fork levels because of policy compromises.
  3. Foundation board/donors will compromise the project.

For 1 you can post your concerns about top level governance in the TSC Charter PR joyent/nodejs-advisory-board#30 and concerns about working group governance in my PR joyent/nodejs-advisory-board#33

For 2 you can create new issues or comment on the existing issues related to the dev policy https://github.com/jasnell/dev-policy . Issues there will be elevated to the TSC meeting on Thursday with both io.js TC and node.js core group.

For 3 Bert and I conveyed these concerns to the foundation and node.js advisory board in their public meeting yesterday. Expect some blog posts and other outreach to try and bring better clarify and transparency to the way the non-technical side of the foundation will operate soon. Additionally you can address concerns to them directly in the public advisory board meeting Monday after next.

All the aforementioned documents are drafts and have not been finalized. Once finalized a new issue will be created in io.js to address merging under those policies. Participating in the process to reconcile is not a vote for merging, that vote will come later once it is clear under what terms we would be merging.

Member

mikeal commented Apr 7, 2015

I think 200+ comments is enough, time to lock this issue. This thread has collected a lot of concerns that I'll try to summarize and address below but this thread is no longer a productive place for feedback and is instead a magnet for a lot of negativity and borderline trolling. For those who want to continue to comment and debate this process you can do that in the repositories mentioned below.

Concerns seem to be:

  1. Technical governance will be compromised during a reconciliation.
  2. Releases and contributions will return to pre-fork levels because of policy compromises.
  3. Foundation board/donors will compromise the project.

For 1 you can post your concerns about top level governance in the TSC Charter PR joyent/nodejs-advisory-board#30 and concerns about working group governance in my PR joyent/nodejs-advisory-board#33

For 2 you can create new issues or comment on the existing issues related to the dev policy https://github.com/jasnell/dev-policy . Issues there will be elevated to the TSC meeting on Thursday with both io.js TC and node.js core group.

For 3 Bert and I conveyed these concerns to the foundation and node.js advisory board in their public meeting yesterday. Expect some blog posts and other outreach to try and bring better clarify and transparency to the way the non-technical side of the foundation will operate soon. Additionally you can address concerns to them directly in the public advisory board meeting Monday after next.

All the aforementioned documents are drafts and have not been finalized. Once finalized a new issue will be created in io.js to address merging under those policies. Participating in the process to reconcile is not a vote for merging, that vote will come later once it is clear under what terms we would be merging.

@nodejs nodejs locked and limited conversation to collaborators Apr 7, 2015

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