9 ms·
Io.js and Node.js reconciliation proposal
- simplyluke 12y agoI 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 12y agoThey have to merge otherwise one will die. There is no alternative. I hope it happens sooner rather than later.
- pekk 12y agoMultiple 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?
- unknownian 12y agoBecause they run the same package manager and roughly do the same thing for the same purpose? It's not a JRuby vs Rubinius debate, imo; it's more like YARV vs MRI, you just don't need both. If they were more different I'd agree.
- BinaryIdiot 12y ago> 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 12y agoWelcome to the wonderful world of writing portable C and C++ code across multiple compilers and OSs.
- deleted 12y ago[deleted]
- deleted 12y ago[deleted]
- tbolt 12y agoIf these projects don't get merged, it's going to be a shitshow in my opinion.
- inglor 12y agoWhy? 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 12y agoisn't the reason io was formed because node was so outdated? It had a way old version of v8.
- twerquie 12y agoThe reason io.js was forked, in my opinion, is because a core group of very strong contributors wanted control over Node. They gained that control by forking, giving away control of the fork to the community (open governance model) and working to make the fork a superior product.
- inglor 12y agoIt still does have a way old version of v8 that's unsupported by Google. For the record.
- falcolas 12y agoTechnically, 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/dhh4F8ciZwEJ https://groups.google.com/forum/#!msg/v8-users/UUyavs0KtwE/d...
- dsp1234 12y ago
- inglor 12y agoSimilar 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 12y agoWell, considering the issue was created 6 minutes before you posted this comment, this is facetious and disingenuous.
- inglor 12y agoI didn't notice that - but 42 minutes later I think the comment still stands :) Check out the other top 5 issues - it's mainly a bunch of people talking to themselves. Anyhow - I genuinely wanted to link to both - not trying to poke at node.
- simlevesque 12y agoJust because no one has had the time to read the whole thing, think deeply about his position and state it in the last hour proves nothing.
- inglor 12y agoOk. Here are some issues from joyent/node that have not gotten any comments in over a month: https://github.com/joyent/node/issues/9022 https://github.com/joyent/node/issues/9022 https://github.com/joyent/node/issues/8987 https://github.com/joyent/node/issues/8987 https://github.com/joyent/node/issues/8975 https://github.com/joyent/node/issues/8975 https://github.com/joyent/node/issues/8974 https://github.com/joyent/node/issues/8974 https://github.com/joyent/node/issues/8931 https://github.com/joyent/node/issues/8931 Just randomly went to the issues page and looked
- chc 12y agoI thought you just wanted to link to both proposals and not poke at Node.
- deleted 12y ago[deleted]
- pekk 12y agoThat doesn't make any sense to me. If Node is good enough, or io.js is good enough, then they are no better if the other stops existing, and no worse if the other continues existing.
- xdissent 12y agoBut both require a healthy ecosystem of packages to be any good at all. Right now the existence of io is making package authors choose to support one or the other or do the extra work to support both. Node is getting worse for that. It's a little less of a worry now that node 0.12 is out, but the politicization of the split is just going to make developers choose sides and focus their efforts on one or the other. And considering the fact that both use NPM for package distribution, package management is going to get more difficult, not easier.
- baudehlo 12y agoWhile slightly true, as a popular package author, it's honestly no harder than adding support for another version of node. Supporting node 0.12 was a big enough change (particularly for compiled modules) that thankfully io.js was exactly the same work and required no changes. And thankfully Travis supports both.
- petercooper 12y agoTo be fair, at this stage, supporting both is a bit like supporting both Python 2 and 3. The name change makes it seem bigger a split than it really is.
- drawkbox 12y agoRails 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 12y agoBut 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.
- chris_wot 12y agoIs the Node Foundation truly independent from Joyent? If not, I don't think it could work.
- vezzy-fnord 12y agoFrom 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.
- deleted 12y ago[deleted]
- jballanc 12y agoMy 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 12y agoThis page has a detailed timeline and emails from the GCC/EGCS schism: http://www.softpanorama.org/People/Stallman/history_of_gcc_development.shtml http://www.softpanorama.org/People/Stallman/history_of_gcc_d...
- ac360 12y agoWhy reconcile? This is awesome competition. It involves open-source competitors. Today's gripes will soon be forgotten.
- sagivo 12y agoit'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.
- codyps 12y agoCompetitive pressure isn't just useful for commercial projects, it is also useful for open source projects.
- Demiurge 12y agoIt's not even uncommon to have projects compete inside a company, like linux vs osx for ios in the early days. And in-house or open source competition is much better than a typical commercial competition because the good parts from all sides can be reused, lessons learned. This is why I am against software patents, too.
- ac360 12y agoAwesome points :)
- ac360 12y agoThe 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?
- fr0styMatt2 12y agoWhat's the background to all this? I'm not a JS dev so haven't been following, but the history would be interesting.
- jdub 12y agoOK, so: Henry VIII needed a male heir to ensure his power on the throne...
- Fr0styMatt4 12y agoWell played!
- fapjacks 12y agoOh 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.
- cpeterso 12y agoI have read plenty about the io.js project's technical and political frustrations, but I have not seen much on Joyent's position. I don't understand why Joyent let Node languish when it is an extremely popular project and apparently a significant part of their business. Recalling the GCC/EGCS schism in the late 1990s, I predict that Joyent will support Node 0.12 as an LTS release and io.js will become Node™ master. http://www.softpanorama.org/People/Stallman/history_of_gcc_development.shtml http://www.softpanorama.org/People/Stallman/history_of_gcc_d...
- jsprogrammer 12y agoWhy do you think Joyent will not say yes?
- Tarang 12y ago> these are absolutely reasonable, sensible proposals No they aren't. If you look at the changes to the Technical Comittee. The proposal is to add 3 members to it. I can't help but think there are way more people at Joyent. The TC seems to have alot of power on the direction of the project. It doesn't seem reasonable to effectively stage a coup on node and ask Joyent to give up control over it.
- morgante 12y agoHonestly, 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."
- stingraycharles 12y agoYeah this whole issue can even be interpreted as being passive-agressive. Not saying that it is, but it just has a weird feeling surrounding it, almost as if there is a huge grudge between each other, and being overly political (correct). They are not really starting a discussion, this is more of a "you need to do everything different, or else..", as if they are now building up some evidence that they can later use to support their argument of "hey, /we/ tried to be compatible, but it is /their/ fault". But I'm probably reading too much into this.
- tracker1 12y agoGiven that the majority of development contributers went over to io.js, it makes sense for the structure for technical decisions to more closely resemble io.js while yeilding marketting type things to the new Node.js organization.
- petercooper 12y agoSuch 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.
- somanim 12y agoand 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
- nnain 12y agoFunny 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.
- modarts 12y agoThis is shaping up to be even more entertaining than I previously imagined
- CmonDev 12y ago... or just abandon both and use a proper server-side language?
- runewell 12y agoI 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.
- drderidder 12y agoAll 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.