
Io.js and Node.js reconciliation proposal - inglor
https://github.com/iojs/io.js/issues/978
======
drawkbox
Rails and Merb did it ([http://yehudakatz.com/2008/12/23/rails-and-merb-
merge/](http://yehudakatz.com/2008/12/23/rails-and-merb-merge/)).

However io.js seems to be setup the right way here. Javascript development
growth is still in massive growth phase. It is hard to prove the singularity
exists when paths keep diverting.

I think it is probably healthy to have 2+ or have one win out in the market.
Or maybe create others as javascript becomes more prevalent. As the overall
javascript development market gets bigger, this will happen more and more. If
it gets crazy divergent then standards come about so they work together
better. Everything is going to be alright.

~~~
amelius
But how does one know which packages run on which platforms?

And how does one not get caught in a dependency trap, where one of the modules
you use ultimately (perhaps after upgrading) needs io.js, and another needs
nodejs.

------
fapjacks
Oh man I love it! There's no way Joyent is going to say yes to this, and the
best part is that these are absolutely reasonable, sensible proposals. I grok
that io.js core devs are totally serious about merging back into Node, but
there's no way Joyent is going to go for this. I expect _at best_ a counter-
proposal (that may not even be public) that doesn't do these points justice.
The ball is absolutely in Joyent's court, and whatever happens next will be at
least entertaining.

~~~
jsprogrammer
Why do you think Joyent will not say yes?

~~~
izolate
Because in doing so they relinquish complete control in favor of io.js
interests. I'm rooting for io.js, but this proposal amounts to what is
essentially a takeover, not a merge.

------
morgante
Honestly, this just makes io.js look even more childish. They're issuing
ultimatums without any reasonable chance of success.

There are completely logical technical reasons for forking node into io.js.
There are even political changes which need to be made.

But instead of trying to reasonably discuss the future of Node in a
collaborative fashion, io.js has essentially issued an ultimatum which
determines the entire governance structure of Node (including an entirely new
management team). It's a desired coup, driven by an ultimatum, in the guise of
a "proposal."

~~~
petercooper
Such a coup does rest on most of the 359 working groups voting in agreeance
according to the provisional and not yet entirely decided, declared, or
ratified by-laws of the tentative constitution of the current committee's
purview of the project, however.

My opinion? I shall say that, as far as we can see, looking at it by and
large, taking one thing with another in terms of the average of the will of
the working groups, then in the final analysis it is probably true to say,
that at the end of the day, in general terms, you would probably find that,
not to put too fine a point on it, there probably isn't an easy way to tell if
they'll vote one way or the other. As far as one can see, at this stage.

I do see that there is a real dilemma here. In that, while it has been the
policy to regard policy as a responsibility of Joyent and administration as a
responsibility of Joyent's officials, the questions of administrative policy
can cause confusion between the policy of administration and the
administration of policy, especially when responsibility for the
administration of the policy of administration conflicts, or overlaps with,
responsibility for the policy of the administration of policy.

~~~
mintplant
Downvoted or not, this is now my favorite comment on the site. Bureaucratic
surrealism is the best way to describe the situation.

~~~
mh-
I can't believe I read it to the end. After, I googled some of the text to see
if this was a variant of some copypasta.

~~~
petercooper
It actually is. The last two paragraphs are reworkings of Sir Humphrey from
Yes Minister, a British political comedy from the early 80s that mocked
bureaucracy and politics (while scarily showing it for what it really was).

------
simplyluke
I really hope we can see a unification of the efforts and work through the
political issues. Having very talented developers working on separate
codebases instead of improving one seems counterproductive.

~~~
BinaryIdiot
They have to merge otherwise one will die. There is no alternative. I hope it
happens sooner rather than later.

~~~
pekk
Multiple languages coexist. Within Javascript, there are multiple module
systems, general utility/polyfill libraries, test runners... for better or
worse, we continue to have many alternatives for almost anything. So why not
also different implementations of a language interpreter?

~~~
BinaryIdiot
> Multiple languages coexist. Within Javascript, there are multiple module
> systems, general utility/polyfill libraries, test runners... for better or
> worse, we continue to have many alternatives for almost anything. So why not
> also different implementations of a language interpreter?

As it was already said they run the same package manager and claim
compatibility. This means you either can't take advantage of any new API in
io.js ever to allow your module to work in both or you take the road where
you're transpiling to support one and the other. It's not sustainable and it's
prone to issues.

~~~
pjmlp
Welcome to the wonderful world of writing portable C and C++ code across
multiple compilers and OSs.

------
vezzy-fnord
From my limited understanding of the situation as a casual observer, I'd say
the optimal (or at least simplest) outcome here would be to do an egcs/gcc-
style switch where io.js is officially christened as the next Node.js, and the
incumbent Node.js deprecated.

That said, I'm not sure if Joyent will be receptive to such a move.

~~~
jballanc
My thoughts exactly. I think anyone not familiar with the history of GCC/EGCS
would do well to read up a bit...the current node.js/io.js situation almost an
exact parallel. I also hope that Joyent takes note that EGCS was probably one
of the best things to happen to GCC, and that the shift in governance model is
likely one of the reasons for GCC's current success.

~~~
cpeterso
This page has a detailed timeline and emails from the GCC/EGCS schism:

[http://www.softpanorama.org/People/Stallman/history_of_gcc_d...](http://www.softpanorama.org/People/Stallman/history_of_gcc_development.shtml)

------
tbolt
If these projects don't get merged, it's going to be a shitshow in my opinion.

~~~
inglor
Why? io is more stable and fixes get backported to node when it's possible to
backport them.

io.js can certainly benefit from these fixes but I don't think it'll be a
"shitshow".

~~~
lbotos
isn't the reason io was formed because node was so outdated? It had a way old
version of v8.

~~~
inglor
It still does have a way old version of v8 that's unsupported by Google. For
the record.

~~~
falcolas
Technically, io.js' v8 version in release 1.4.1 is unsupported as well; it was
released 01/07, and Google's support of v8 ends when it is replaced by the
next version (their release/support cycle is 6 weeks).

[https://groups.google.com/forum/#!msg/v8-users/UUyavs0KtwE/d...](https://groups.google.com/forum/#!msg/v8-users/UUyavs0KtwE/dhh4F8ciZwEJ)

~~~
dsp1234
I'm not sure that this is correct. io.js 1.4.1 just shipped with v8 version
4.1.0.21[0] which was released on 2/24/15[1]. Additionally, the post which you
quoted specifically says that _" 4.1 -> Chrome 41"_ and _" and every branch's
support period is also the same (another ~6 weeks until the next Chrome
version goes on the stable channel)."_

So this means that the branch is supported until Chrome 42 goes in to the
stable channel. Though a case could be made that since 4.1.0.21 is tied to
Chrome 41, which is still on the Beta channel, and _" Our stability
expectations are the same for every branch (once it starts shipping on Chrome
stable, which is roughly 6 weeks after it's been created)"_

[0] -
[https://github.com/iojs/io.js/blob/v1.x/CHANGELOG.md](https://github.com/iojs/io.js/blob/v1.x/CHANGELOG.md)

[1] -
[https://chromium.googlesource.com/v8/v8.git/+/4.1.0.21](https://chromium.googlesource.com/v8/v8.git/+/4.1.0.21)

------
ac360
Why reconcile? This is awesome competition. It involves open-source
competitors. Today's gripes will soon be forgotten.

~~~
sagivo
it's open source, not commercial. there's no point for competition. it's
better to join resources and create equilibrium. the industry will need
standards which will cause one project to die (sooner or later) and we will
loose all the talent and energy spent there.

~~~
ac360
The joint resources/equilibrium broke down. That’s why the fork happened. It's
a natural process.

Open-source competition is critical and beautiful. This is a major function of
Github and a big reason why it’s successful.

Forget what the industry needs. Technology creates the industry. Now we're at
the crossroads between the next great tech and the next great bureaucracy.
Which side sounds cooler?

~~~
couchand
You just made my life sound way more awesome than it is.

------
chris_wot
Is the Node Foundation truly independent from Joyent? If not, I don't think it
could work.

------
runewell
I hope the two groups are able to work out their differences. I would love to
see some of the strengths of io.js transfer into Node.js from both a technical
and organizational perspective. The io.js project has been surprisingly
thorough. So far they have kept on a consistent schedule of updates, provided
excellent transparency regarding their team meetings and working groups, and
they have been very responsive to feedback. I still use Node.js (with the
harmony flag) for my production servers in hopes that there will be a merger
soon but I may be in a dilemma if it doesn't happen within the next few
months.

------
nnain
Funny thing about trying to standardize products or frameworks - You start
with one fine product. Someone wants a bit extra, so they make a fork of the
project. Then someone tries to make an all encompassing product to cover all
the subsets. So there is a third one out there. Now you have to maintain not 2
but 3 separate projects, and document everything. The same story happens so
often, people still try.

------
fr0styMatt2
What's the background to all this? I'm not a JS dev so haven't been following,
but the history would be interesting.

~~~
jdub
OK, so: Henry VIII needed a male heir to ensure his power on the throne...

~~~
Fr0styMatt4
Well played!

------
drderidder
All the core team really lacks now is the node.js label. Joyent's trademark
seems weak, since the term was in prior use for commercial purposes well
before they came along. A trademark challenge might be one possibility. On the
other hand, name changes in other open source projects have worked out just
fine.

------
modarts
This is shaping up to be even more entertaining than I previously imagined

------
CmonDev
... or just abandon both and use a proper server-side language?

------
inglor
Similar thread on NodeJS's GitHub. Booming with comments and interesting
discussion as usual ;)
[https://github.com/joyent/node/issues/9295](https://github.com/joyent/node/issues/9295)

~~~
keslag
Well, considering the issue was created 6 minutes before you posted this
comment, this is facetious and disingenuous.

~~~
shadowmint
Given that the Node guys are publicly saying things like 'Io.js, what's that?'
I think a little bit of snark is justified.

~~~
ak4g
Wow. Can you provide a URL?

~~~
mmorris
>> “IO.js, what’s that?” asked Joyent CEO Scott Hammond in response to my
query about whether projects based on the fork would be able to enter.

[http://readwrite.com/2015/02/03/joyent-nodejs-incubator-
iojs...](http://readwrite.com/2015/02/03/joyent-nodejs-incubator-iojs-node-io-
fork)

Edit: Agreed with @caipre's reply that the quote isn't as bad as it sounds
totally out of context (in hindsight I should have included more of the
context in my reply too), and was probably meant tongue-in-cheek. However, I
think considering the (perceived? real?) animosity between these two projects,
his choice of wording could have been better.

~~~
caipre
The quote in context isn't nearly as damning as GP made it out to be. It seems
to me that Hammond was answering tongue-in-cheek and only meant to emphasize
that his focus was on Node.js alone:

    
    
      One more thing: Developers using IO instead of Node are,
      well, not invited.
    
      “IO.js, what’s that?” asked Joyent CEO Scott Hammond in
      response to my query about whether projects based on the
      fork would be able to enter. “This is a Node.js project
      for Node.js innovations.”
    

I'm not sure I can take the criticism seriously after seeing the source.

------
somanim
and it all goes downhill from there... I was never a big fan on node.js. it's
mainstream popularity seems due to its corporate governance. io has just been
so much more agile and faster, that I really worry that we will see stagnation
now if this all goes through

