Io.js 2.0.0 Released
iojs.org
iojs.org
Iojs: 49 authors have pushed 168 commits to master and 572 commits to all branches. On master, 8,474 files have changed and there have been 1,524,012 additions and 708,276 deletions.
Node: 30 authors have pushed 5 commits to master and 95 commits to all branches. On master, 10 files have changed and there have been 294 additions and 36 deletions.
That's for the last month.
That's about 800000 additional lines of code for 49 developers in a months, or ~16000 LOC for each developer. Unless additions and deletions are counted on a different unit, can anyone knowledgeable explain to me how the numbers are reasonable at all?
Pulse [2] is just a neat github feature that gives you an overview of a project.
LOC will always be a shitty metric for anything.
[1] https://github.com/iojs/io.js/commit/56e4255382ad4d2426e0346...
I can imagine this makes up for a portion of it.
At some point people started to believe that this was not necessary. I am not sure of the legal implications, of either choice, just wanted to point out that the joyent people probably were not crazy :)
[0] e.g. a random file from ISC bind https://source.isc.org/git/?p=bind9.git;a=blob;f=bin/rndc/rn...
It certainly was common, though, which is/was probably because the US did not join until 1989, and prior to that US copyright law required a mandatory copyright notice, so a lot of people will have at least worked on projects old enough for this policy to have mattered.
Maybe there should be a convention to add a copyright.txt file to websites like there is robots.txt and humans.txt?
Embedding the license makes sense because otherwise others have to assume they don't have the right to use. The copyright notice on the other hand is pointless.
Or is this just a cosmetic thing and they removed it from the files but kept it in a separate license file?
Maybe the person who removed the copyright was a node contributor?
Heh, maybe its the same person who put the copyright at the top of every file in the first place.
(I have no idea, just a guess)
"The copyright and license notice is already in the LICENSE file. There is no justifiable reason to also require that it be included in every file, since the individual files are not individually distributed except as part of the entire package."
Node.js 0.10.0 was released on March 11, 2013. 0.12.0 was released almost 2 years later on Feb 6, 2015. By all accounts 0.12 isn't even a major change over 0.10.
The io.js team has done more in a few months than Joyent did in 2 years.
I, personally, don't care if node.js and io.js ever merge. One is clearly a superior product with a superior open source governance model.
This seems a bit one-sided. What Joyent has been doing is called "maintaining production software." That's something I've been missing in the web world lately. It's surprisingly hard to find high quality libraries that don't change all the time (that is, break all the time). Libraries like jQuery, normalize.css, and Lodash are the exception here. They're some of the few libraries that I'm comfortable guessing will look pretty much the same they do now a year from now.
That is not to say that I don't want to write my gulpfiles in ES6 as much as everybody else, but you have to understand that this whole forking thing scares off people who are looking for a platform they can invest significant time and money into (that is, write more than a million lines of code for).
With that much change in such a short time, it would be extremely optimistic to think something didnt break. If I had a lot of production code depending on node, those numbers would scare the crap out of me.
You can absolutely migrate angular 1 to angular 2. Following good practices (i.e not having 4k line controllers) that were place since its inception only makes that migration easier.
We have since switched to io.js and I would seriously hesitate to use node.js, due to the seismic gap release pattern, which is actually more likely to create issues. Node.js is definitely not "more stable" as Joyent like to claim.
io.js has almost all of the core developers from the original node.js, which is now basically just a ghost town.
For stability, critical fixes and core developer support go with io.js.
Just like Sun does to Java, Microsoft does to C#, Google does to Golang. It's beneficial.
Joyent is a company of merit that stays out of politics. Integrity trumps popularity, sure it it can ruffle feathers time to time. Why not just enjoy the support and let things coast?
Edit: If anyone has proof otherwise, I'd like to see it. Name one time Joyent ever made a mistake in their open source stewardship.
Failing to ship a new release, how is that Joyent's fault? It's core developers who are to blame.
I don't understand the point of the link you sent me. How would a gender neutral alienate people? The person they were talking about here wasn't an employee.
But why would Joyent consider rejecting a PR for gender pronouns as a fireable offense? Probably a website defacement / practical joke.
Edit: FYI - I don't follow this. I don't understand why a fork even exists.
Because community pressure, basically. When there's an angry mob outside about to burn your company down, do you just give them who they want or let your company burn and have everyone else fired too?
You mean the same core developers of io.js, who clearly are shipping now that Joyent is out of the loop?
That wasn't a rejection because of gender pronouns. That was a rejection because one pronoun was changed from the docs, instead of all of them. This leads to:
- minor change, not suitable for a PR
- inconsistency, either change all of them to match, or leave them alone
You really are out of the loop. The core developers were frustrated at Joyent not pushing their code, so they jumped ship. Joyent was the steward of the codebase, and they were at fault for not incorporating the developers' work.
How would a gender neutral alienate people?
It's the manner in which they handled the issue that was alienating. Screaming about how tolerant they are, all while screwing over one of their primary contributors, demonising him, and saying he'd be fired rather than retrained. They were soapboxing for cheap political points rather than actually being tolerant and understanding. It's why I actually laughed out loud when you described Joyent as a company that doesn't get involved in politics.
The irony is that the developer in question isn't a native speaker of English, and his native tongue is a gendered language, which likely contributed to his blase attitude on the matter. A little understanding, tolerance, and mature discussion and correction (instead of soapboxing) would have gone a long way.
his native tongue is a gendered language, which likely contributed to his blase attitude on the matter.
I never even considered that.I can't some people have such amazing talent, earn our trust, yet display a shocking display of actions that go against their interest.
Linguistics and humanities is basically the art of diversity. Yet, for some people, diversity is just a word to convey a twisted oppression.
I'm confused what you are asking. The parent post indicates that node.js in fact has fewer contributions (over the last month).
Edit: Damn that was quickly downvoted. It seems the HN community is more behind io.js than it was a few months ago. I still think node and io.js using the same package manager is simply untenable so I'm just waiting for something to give before I decide to use io.js beyond experimentation.
I don't think a community of two platforms that are 97% similar with over 145,000 packages can thrive with a fork. Do all 145,000 modules move to the newly forked npm? Do they even have a choice?
I love the ideas behind io.js I just don't understand how it can survive on its own unless it can somehow kill node. I can't see both coexisting for long.
The bigger thing is that security and critical updates are hitting iojs quickly and following semver, they are not hitting node in a timely manner.
Really the biggest sticking point for me is using npm between the two. Node not supporting ES6 is also an issue as you can't write your code using ES6 unless you want to only support io.js or you want to transpile (ugh).
This probably already exists in node world regarding binary dependencies. I use at least one that's only compatible with 0.10 but there's no way to know that until you get a build error on 0.12.
A minor one is that in io.js, `require('events') === require('events').EventEmitter` while that's not true in Node (where require('events') just gives an object with `EventEmitter` and possibly other properties on i.
I like io.js, but I'd much prefer to see a merger (even if it's a 10/90 to io.js favour). Only the name node itself is pretty ingrained, I think everyone would be best served by a merger.
Sort of like the merb/rails merger. Both sides made the harder, more mature decision to join forces even though they both probably had to give up some personal preferences. But I'm sure none of them would regret it now.
There are a whole bunch of packages in npm that are targeted at environments other than node (e.g. the browser).
For me the big difference is not between node/io.js for which a simple setting in your packages.json would be enough to sort out, but rather between es6 style modules and node style modules. I'd probably rather have a separate repository for es6 style modules.
Setting the engine will separate things but this also means your package is now only available for that engine. npm doesn't give you a way to submit the same module multiple times to target different engines. So setting this limits the amount of environments your module. Maybe that's okay but the great thing about node + npm has been the ability to install and use any module you find; separating things would mean you'll come across modules you need and you might not be able to use. This kills the experience in my opinion.
> I'd probably rather have a separate repository for es6 style modules.
Why would you want one repository for ECMAScript 5 modules and one for ECMAScript 6? The end goal is to move everything towards ECMAScript 6 so would you want this to merge back into regular npm after a certain amount of time? Creating a different repository for modules that use language improvements seems like a bad idea to me. It's a good way to segregate modules from one another.
It's not just the language improvements in general, I'm thinking of the es6 module spec in particular. I've experimented with es6 modules that 6to5 post install or things like that, but the way es6 modules interact with npm is a bit kludgy at the moment. I'd like something that made es6 modules feel native, natural and the default.
That is pretty amazing.
I actually thought (just woke up, dizzy) that the news was about the language.
I see it's a fork of Node.js. So people use Node.js to write server programs in Javascript, I heard. So is io.js then "competing" with Node.js then?
Not going to ask what npm is now...
All that he articulated at the conference is pretty much what you see on iojs.org. What struck me in particular was how reasonable and level-headed he was about the entire controversy. While it would be very easy to castigate Joyent for their incompetence, mikeal was positive throughout the whole presentation, without having that positivity detract from the mission of io.js (i.e. he said things that were nice, but not empty or hollow.)
His fellow, emilyrose (also on github), also seemed like a fairly intelligent person.
From that short encounter alone, I would say IO.JS appears have quite to have a healthy community. Here's hoping they can take Node off of Joyent's hands, and merge IO.JS into it.
Significant & controversial.
Was nervous at first, but now I see no reason to use code Node again.
I think node will go down in favor of IO, because they can't keep up.
My only thought is that when io.js/node reaches a point for an LTS release, that they do a major bump for the LTS, and another for the ongoing dev... so that #.x.x is LTS. instead of ~#.#.x
You are not forced to update (in another environment, I have customers with Rails apps in production of version 2.3, 3.0, 3.2, 4.0, 4.2) but you have the option to develop with the latest technology. In those Rails examples: I'll start new projects with Rails 4.2 and Ruby 2.2.2 and not with what I had two years ago. In the JS world, I'd start with ES6 and the latest v8, not the old one from node.
I understand why iojs forked, but I really hate to see communities get abandoned or go stagnant like this.
It's very common for example that projects have an .org for their Open Source software and .com or other for their business behind it (see wordpress.org vs wordpress.com)